Organization-specific encryption key storage method and storage system

The method and system for organization-specific encryption keys securely manage encryption keys for each submitter and recipient, reducing information leakage risk and costs by using unique keys and passphrases, enhancing convenience and security in data transfer systems.

JP7762911B2Active Publication Date: 2025-10-31ATSYSTEM CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022026188
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-22
Publication Date
2025-10-31
Estimated Expiration
2042-02-22

AI Technical Summary

Technical Problem

Existing data transfer systems face challenges in preventing information leakage, particularly when multiple recipients or submitters are involved, leading to increased complexity, human error, and management costs, while existing solutions like common key encryption complicate the process and require transmission of passphrases, which is inconvenient and costly.

Method used

A method and system for storing organization-specific encryption keys, where encryption keys are managed separately for each submitter and recipient using unique public and private keys, with passphrases, ensuring that neither the server administrator nor the server can decrypt the keys, and data is encrypted and decrypted using these keys.

Benefits of technology

This approach reduces the risk of information leakage, enhances convenience for both submitters and recipients, and decreases transmission and management costs without compromising security, by ensuring that only the respective passphrases are needed for decryption, thus improving overall security and usability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007762911000001
    Figure 0007762911000001
  • Figure 0007762911000002
    Figure 0007762911000002
  • Figure 0007762911000003
    Figure 0007762911000003
Patent Text Reader

Abstract

To realize further reduction of information leakage risk by safely storing an encryption key and reducing the risk of information leakage while improving convenience for a recipient and a submitter and reducing transmission and management costs without compromising the effectiveness of information leakage prevention measures when data encrypted with an encryption key is stored in a server connected via a network to one or more submitter terminals that are data submitters and have a submitter ID, and one or more recipient terminals that are recipients of the data and have a recipient ID.SOLUTION: An encryption key is encrypted and stored using a generated submitter's public key and a generated recipient's public key, and is encrypted and stored using a submitter's passphrase generated by a submitter's private key and a recipient's passphrase generated by a recipient's private key, and each of the passphrases is automatically notified to the submitter contact and recipient contact and is not stored in a system.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a method and system for storing encryption keys, and more particularly to a method and system for storing organization-specific encryption keys that are suitable for transferring data between different organizations. [Background technology]

[0002] Conventionally, various methods have been used for encrypting data. Encryption is particularly essential when exchanging data over a network to prevent information leakage.

[0003] For example, in high school entrance examinations, a school report containing highly confidential and sensitive personal information must be handed over from the submitter's alma mater (e.g., junior high school) to the recipient's school (e.g., high school).

[0004] The applicant has developed a system that involves submitting a research report in the form of data from a submitter to a recipient via a network (see, for example, Patent Document 1).

[0005] When highly confidential or secret data, i.e., confidential data, is submitted by multiple or an unspecified number of people, or when there are multiple recipients, or when there are multiple submitters and recipients, it is also possible that the data will be temporarily stored on a server connected to the Internet between the time it is submitted by the submitter and the time it is received by the recipient.

[0006] The applicant has developed a system that involves securely submitting investigation report data from the submitter to the recipient by encrypting the data using a common key method and storing it on a server, and further encrypting the common key used for encryption with a passphrase issued to the submitter and recipient, respectively, and storing it on the server (see, for example, Patent Document 2). [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Patent No. 6715423 [Patent Document 2] Patent No. 6752480 Summary of the Invention [Problem to be solved by the invention]

[0008] Higher measures are always required to prevent information leaks in all data transfers over networks, including the systems described in Patent Documents 1 and 2. However, simply strengthening the measures to prevent information leaks generally complicates the business flow, which may lead to human error.

[0009] Although Patent Document 2 achieves a high level of information leakage prevention, from the recipient's perspective, the passphrase must be transmitted from the recipient to the submitter by some means, which poses problems in terms of convenience and transmission costs. Also, from the submitter's perspective, if there are multiple recipients, a different passphrase must be managed for each recipient, which also poses problems in terms of convenience and management costs.

[0010] The present invention has been made in consideration of the above circumstances, and aims to further reduce the risk of information leakage by safely storing encryption keys and reducing the risk of information leakage, while improving the convenience of recipients and submitters and reducing transmission and management costs without compromising the effectiveness of measures to prevent information leakage.In this application, the keys used for encryption and the keys used for decryption are collectively referred to as "encryption keys." [Means for solving the problem]

[0011] In order to achieve the above-mentioned objective, the inventors of the present application have sought a method for safely storing encryption keys on a server when encrypting data and storing it on a server on the Internet, and after much trial and error, in order to achieve the strict management required especially when the data is confidential, they have invented the present invention, which stores encryption keys in a way that even the server administrator cannot decrypt or decipher them, thereby reducing the risk of information leakage.

[0012] A first aspect of the present invention is a system including one or more web servers connected via a network to one or more submitter terminals that are submitters of data and have submitter IDs, and one or more recipient terminals that are recipients of the data and have recipient IDs; one or more database servers interconnected to the web server; A group of servers with multiple types of server functions, including A method for storing encryption keys for encrypting the data separately between the sender and the recipient, a recipient encryption key storage box generating step in which the server group generates, for each recipient, a recipient public key, a recipient private key corresponding to the recipient public key, and a recipient encryption key storage box that uses the recipient private key as a box management key to encrypt the data, encrypts the data with the recipient public key, stores the encrypted data in association with the submitter ID of the submitter, and enables the encryption key to be decrypted and retrieved using the recipient private key; and a recipient passphrase generating step in which the server group automatically generates a recipient passphrase for encrypting the recipient private key; a recipient private key encryption step in which the server group encrypts the recipient private key with the recipient passphrase and stores the encrypted recipient private key and the recipient public key in the database server; a recipient passphrase notification step in which the server group notifies a predetermined recipient notification destination of the recipient passphrase and does not store the recipient passphrase in the database server; and a submitter login accepting step in which the server group accepts a login from the submitter terminal; a submitter encryption key storage box generation step in which the server group generates, for each submitter, a submitter public key, a submitter private key corresponding to the submitter public key, and a submitter encryption key storage box in which the submitter private key is used as a box management key, an encryption key for encrypting the data with the submitter public key, the encryption key is stored in association with the recipient ID of the recipient of the data, and the encryption key can be decrypted with the submitter private key and retrieved; and a submitter passphrase generation step in which the server group generates a submitter passphrase for encrypting the submitter private key; a submitter private key encryption step in which the server group encrypts the submitter private key with the submitter passphrase and stores the encrypted submitter private key and the submitter public key in the database server; a submitter passphrase notification step in which the server group notifies a predetermined submitter notification destination of the submitter passphrase and does not store the submitter passphrase in the database server; The present invention provides a method for storing an organization-specific encryption key, comprising:

[0013] A "server group" includes not only a combination of multiple servers, but also a single server with multiple types of server functions. Each server may be a physically independent server, multiple types of servers may be physically the same server, or one server may be physically composed of multiple servers. The database may be located within one of the servers, on an independent server, or distributed across multiple servers.

[0014] A "submitter" is treated as one "submitter" in one organization, and multiple people may be included in the "submitter." Similarly, a "recipient" is treated as one "recipient" in a different organization from the "submitter," and multiple people may be included in the "recipient."

[0015] In the present invention, the data passed from the submitter to the recipient may be data expressed in a tabular format such as CSV, Excel (registered trademark), or tab-delimited data, or may be XML or JSON data, and the type of data is not limited.

[0016] According to the first aspect of the present invention, an encryption key encrypted using a submitter public key and an encryption key encrypted using a recipient public key are stored. Therefore, the submitter and recipient do not share a common public / private key pair. This allows the encryption keys to be safely stored and reduces the risk of information leakage. This also improves convenience for the submitter and submitter and reduces transmission and management costs without compromising the effectiveness of measures to prevent information leakage, thereby further reducing the risk of information leakage. Furthermore, since the private keys corresponding to each public key are encrypted with their respective passphrases, the encryption keys can be stored more safely, further reducing the risk of information leakage. Furthermore, the submitter only needs to manage the submitter's passphrase, and the recipient only needs to manage the recipient's passphrase, providing greater convenience. Furthermore, since neither the submitter's passphrase nor the recipient's passphrase is stored on the server, neither the submitter's private key nor the recipient's private key can be decrypted by a server attack, further reducing the risk of information leakage.

[0017] a data receiving step in which the server group receives an input of the submitter passphrase from the submitter terminal, allows the submitter to select a recipient of the data, and receives an upload of the data; a submitter's encryption key encryption and storage step in which, if there is no encryption key associated with the recipient ID of the selected recipient in the submitter's encryption key storage box, the server group generates an encryption key associated with the submitter ID and the recipient ID, encrypts it with the submitter's public key, and stores it in the submitter's encryption key storage box in association with the recipient ID; a recipient's encryption key encryption and storage step in which the server group encrypts the encryption key generated in the submitter's encryption key encryption and storage step with the recipient's public key of the selected recipient and stores the encryption key in the recipient's encryption key storage box of the selected recipient in association with the submitter ID; a submitter's private key decryption step in which the server group decrypts the submitter's private key using the submitter's passphrase when the submitter's private key is stored in the submitter's private key storage box and when the private key has been stored in the submitter's private key encryption storage step; a submitter's encryption key decryption step in which the server group decrypts an encryption key associated with the recipient ID from the submitter's encryption key storage box using the submitter's private key; a data storage step in which the server group encrypts the data with an encryption key decrypted with the submitter's private key, and stores the data in the database server in association with the submitter ID and the recipient ID; It is preferred that the compound contains:

[0018] The submitter simply needs to enter a submitter passphrase and select a recipient, which automatically encrypts the data when it is uploaded, resulting in high security and convenience. Furthermore, because data is encrypted for each submitter and recipient, the risk of data information leaking can be reduced. There are no restrictions on the encryption method for the encryption key, but a common key is preferable from the standpoint of convenience. The encryption key used to encrypt the data is itself encrypted using different public keys for the submitter and recipient, further reducing the risk of information leaks.

[0019] a view acceptance step in which the server group allows the submitter terminal to select a recipient of the data, accepts input of the submitter passphrase, and accepts a view request; a data decryption step (submitter) in which the server group decrypts the submitter's private key with the submitter's passphrase, decrypts the encryption key stored in the submitter's encryption key storage box in association with the recipient ID of the selected recipient, and decrypts the data stored in the database server in association with the recipient ID and the submitter's ID, using the encryption key decrypted with the submitter's private key; a data display step in which the server group displays the decrypted data on the submitter terminal; It is preferred that the compound contains:

[0020] The submitter can decrypt the data stored on the server using the submitter's passphrase and check the contents. This provides high security while eliminating the need for cumbersome operations, making it highly convenient. Even if there are multiple recipients, if they all have the same submitter ID, the submitter's passphrase is shared, making management easy.

[0021] an output receiving step in which the server group allows the recipient terminal to select a submitter of the data, receives input of the recipient passphrase, and receives an output request; a data decryption step (recipient) in which the server group decrypts the recipient's private key with the recipient's passphrase, decrypts the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter, and decrypts the data stored in the database server in association with the recipient ID and the submitter ID, using the encryption key decrypted with the recipient's private key; a data output step in which the server group outputs the decrypted data to the recipient terminal; It is preferred that the compound contains:

[0022] The recipient can decrypt the data stored on the server using the recipient passphrase and obtain the data. This provides high security while eliminating the need for cumbersome operations, making it highly convenient. Even if there are multiple submitters, if they all have the same recipient ID, they all share the same recipient passphrase, making management easy.

[0023] It is also preferable that the data is school report data, the submitter is the alma mater, and the recipient is the school the student is taking the exam in. The data transferred from the submitter to the recipient is highly confidential, and the submitter and recipient are multiple separate organizations, so high security creates significant added value.

[0024] A second aspect of the present invention is a system including one or more web servers connected via a network to one or more submitter terminals that are submitters of data and have submitter IDs, and one or more recipient terminals that are recipients of the data and have recipient IDs; one or more database servers interconnected to the web server; A group of servers with multiple types of server functions, including A system in which the sender and the recipient store encryption keys for encrypting the data separately, The server group a recipient encryption key storage box generating means for generating, for each recipient, a recipient public key, a recipient private key corresponding to the recipient public key, and a recipient encryption key storage box which uses the recipient private key as a box management key, encrypts an encryption key for encrypting the data with the recipient public key, stores the encryption key in association with the submitter ID of the submitter of the data, and from which the encryption key can be decrypted and retrieved with the recipient private key; and a recipient passphrase generating means for automatically generating a recipient passphrase for encrypting the recipient private key; a recipient private key encryption means for encrypting the recipient private key with the recipient passphrase and storing the encrypted recipient private key and the recipient public key in the database server; a recipient passphrase notification means for notifying a predetermined recipient notification destination of the recipient passphrase and preventing the database server from storing the recipient passphrase; submitter login accepting means for accepting login from the submitter terminal; a submitter encryption key storage box generating means for generating, for each submitter, a submitter public key, a submitter private key corresponding to the submitter public key, and a submitter encryption key storage box which uses the submitter private key as a box management key, encrypts an encryption key for encrypting the data with the submitter public key, stores the encryption key in association with a recipient ID of the recipient of the data, and enables the encryption key to be decrypted and retrieved with the submitter private key; and a submitter passphrase generating means for generating a submitter passphrase for encrypting the submitter private key; a submitter private key encryption means for encrypting the submitter private key with the submitter passphrase and storing the encrypted submitter private key and the submitter public key in the database server; submitter passphrase notification means for notifying a predetermined submitter notification destination of the submitter passphrase and preventing the database server from storing the submitter passphrase; The present invention provides an organization-specific encryption key storage system, which comprises:

[0025] According to the second aspect of the present invention, an encryption key encrypted using a submitter public key and an encryption key encrypted using a recipient public key are stored. Therefore, the submitter and recipient do not share a common public / private key pair. This allows the encryption keys to be safely stored and reduces the risk of information leakage. This also improves convenience for the submitter and submitter and reduces transmission and management costs without compromising the effectiveness of measures to prevent information leakage, thereby further reducing the risk of information leakage. Furthermore, since the private keys corresponding to each public key are encrypted with their respective passphrases, the encryption keys can be stored more safely, further reducing the risk of information leakage. Furthermore, the submitter only needs to manage the submitter's passphrase, and the recipient only needs to manage the recipient's passphrase, providing greater convenience. Furthermore, since neither the submitter's passphrase nor the recipient's passphrase is stored on the server, neither the submitter's private key nor the recipient's private key can be decrypted by a server attack, further reducing the risk of information leakage.

[0026] The server group further comprises: a data receiving means for receiving an input of the submitter's passphrase from the submitter terminal, prompting the submitter to select a recipient of the data, and receiving an upload of the data; a submitter's encryption key encryption storage means for generating an encryption key associated with the submitter ID and the recipient ID when the submitter's encryption key storage box does not contain an encryption key associated with the recipient ID of the selected recipient, encrypting the encryption key with the submitter's public key, and storing the encryption key in the submitter's encryption key storage box in association with the recipient ID; a recipient's encryption key encryption storage means for encrypting the encryption key generated by the submitter's encryption key encryption storage means with the recipient's public key of the selected recipient and storing the encrypted encryption key in a recipient's encryption key storage box of the selected recipient in association with the submitter's ID; a submitter's private key decryption means for decrypting the submitter's private key using the submitter's passphrase when an encryption key associated with the recipient ID is stored in the submitter's encryption key storage box; an encryption key decryption means for decrypting an encryption key associated with the recipient ID from the encryption key storage box for the submitter using the submitter's private key; a data storage means for encrypting the data with an encryption key decrypted with the submitter's private key and storing the data in the database server in association with the submitter ID and the recipient ID; It is preferred that the compound has the following structure:

[0027] Furthermore, the server group further comprises: a view acceptance means for allowing the submitter terminal to select a recipient of the data, accepting input of the submitter passphrase, and accepting a view request; a data decryption means (submitter) for decrypting the submitter's private key with the submitter's passphrase, decrypting an encryption key stored in a submitter's encryption key storage box in association with the recipient ID of a selected recipient with the submitter's private key, and decrypting the data stored in the database server in association with the recipient ID and the submitter ID with the encryption key decrypted with the submitter's private key; a data display means for displaying the decrypted data on the submitter terminal; It is preferred that the compound has the following structure:

[0028] The server group further comprises: an output receiving means for allowing the recipient terminal to select a submitter of the data, receiving an input of the recipient passphrase, and receiving an output request; a data decryption means (recipient) that decrypts the recipient's private key with the recipient's passphrase, decrypts the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter, and decrypts the data stored in the database server in association with the recipient ID and the submitter ID, using the encryption key decrypted with the recipient's private key; data output means for outputting the decrypted data to the recipient terminal; It is preferred that the compound has the following structure:

[0029] It is also preferable that the data is school report data, the submitter is the alma mater, and the recipient is the school to which the student is taking the exam. [Effects of the Invention]

[0030] According to the present invention, it is possible to further reduce the risk of information leakage by safely storing cryptographic keys and reducing the risk of information leakage, while improving convenience for recipients and submitters and reducing transmission and management costs without compromising the effectiveness of information leakage prevention measures. [Brief explanation of the drawings]

[0031] [Figure 1]FIG. 1 is a diagram showing a network configuration of a first embodiment of an organization-specific encryption key storage system according to the present invention. [Figure 2] FIG. 2 is a diagram showing a server configuration of the organization-specific encryption key storage system according to the first embodiment of the present invention. [Figure 3] FIG. 10 is an image diagram of the database server when a submitter's encryption key storage box is created in the first embodiment of the method for storing encryption keys by organization of the present invention. [Figure 4] FIG. 10 is a conceptual diagram of the database server when a recipient encryption key storage box is created in the first embodiment of the organization-specific encryption key storage method of the present invention. [Figure 5] FIG. 10 is a diagram showing the flow of generating an encryption key storage box for an alma mater in the first embodiment of the method for storing an organization-specific encryption key of the present invention. [Figure 6] FIG. 2 is a diagram showing an example of an alma mater table in the first embodiment of the organization-specific encryption key storage system of the present invention. [Figure 7] FIG. 10 is a conceptual diagram of the database server when uploaded data is encrypted and stored in the first embodiment of the method for storing an organization-specific encryption key of the present invention. [Figure 8] FIG. 2 is a diagram showing the flow of data encryption processing in the first embodiment of the method for storing an organization-specific encryption key of the present invention. [Figure 9] FIG. 10 is a diagram showing an example of a recipient (school taking the exam) table in the first embodiment of the organization-specific encryption key storage method of the present invention. [Figure 10] 10 is an example of an investigation report table in the first embodiment of the method for storing an encryption key by organization of the present invention. [Figure 11] 10A and 10B are diagrams showing examples of an alma mater encryption key table and an examination school encryption key table in the first embodiment of the organization-specific encryption key storage method of the present invention. [Figure 12] FIG. 1 is a conceptual diagram showing a key storage state in a database server in a first embodiment of the method for storing an organization-specific encryption key of the present invention. [Figure 13] FIG. 1 is a diagram showing the flow of data retrieval in a first embodiment of a method for storing an organization-specific encryption key according to the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0032] The organization-specific encryption key storage system of the present invention is realized by a computer terminal (including a server) having a processor such as a CPU and storage devices such as RAM and a hard disk. A program for realizing the organization-specific encryption key storage system of the present embodiment, which will be described later, is stored on the hard disk of the computer terminal. This program is loaded into RAM or the like by a predetermined operation, and its functions (means) are executed by the processor, thereby performing predetermined processing. Information stored as storage means used for such processing is stored in storage devices such as RAM and a hard disk in various file storage formats, such as a database or data file, and is read out as appropriate during processing to perform predetermined processing. The results of processing are also written to storage devices such as RAM and a hard disk and stored as appropriate. The functions of the various means in the present invention are merely logically distinct, and may physically or practically constitute the same area.

[0033] In addition, in the organization-specific encryption key storage system of this embodiment described below, the data submitter is the school taking the exam and the recipient is the school administering the exam, but they may also be general examinees and the institution where the exam is being taken. The data submitter and recipient are different organizations, but in this application, "organization" is not limited to school units, but may also be company or group units, department units, individual units, or different levels, such as one being an individual and the other being a company.

[0034] Hereinafter, preferred embodiments of the method and system for storing organization-specific encryption keys according to the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to these. [Example]

[0035] This embodiment is a method for safely storing a key used for encryption and a key used for decryption when highly confidential data is encrypted and stored on a server. In this embodiment, when one or an unspecified number of data submitters (submitters) submit data to one or more recipients (recipients) via the Internet, the data needs to be temporarily stored on a server connected to the Internet until the administrator of the recipient (recipient) receives the data. If the data is highly confidential, the data is encrypted and stored, and further, the data cannot be decrypted or deciphered even by the server administrator.

[0036] {composition} In this embodiment, as an example, the exchange of school report data in a high school entrance examination for which applications are accepted over the Internet is described, and the "data" is school report data of the applicant (examinee), but it is not limited to high school entrance examinations and can be other entrance examinations such as university entrance examinations and junior high school entrance examinations, or even various certification examinations. Applicants can be examinees for entrance examinations as well as certification examinations, and the data exchanged is not limited to school report data and can be other data, but is more suitable for handling highly confidential and secret data. Note that the school to which the applicant attends is referred to as the alma mater, and the school to which the applicant is applying is referred to as the exam school.

[0037] FIG. 1 is a diagram showing a network configuration of a first embodiment of an organization-specific encryption key storage system according to the present invention. In this embodiment, the organization-specific encryption key storage system includes a server group consisting of one or more servers. The server group includes one or more web servers 6 and one or more database servers 7 interconnected to the web servers 6. Each server may be physically configured as one or more servers and function as a single type of server, or a single server may physically perform the functions of multiple types of servers. For example, the database server may be located within a web server. Furthermore, the database may be located within a single database server, or may be distributed across multiple database servers. In this embodiment, the web server and database server are physically connected to each other, but they may also be located within the same server, or may be connected via a network and accessible to each other.

[0038] In this embodiment, as shown in FIG. 1, one or more submitter terminals 2 (terminals of the administrator of the alma mater in this embodiment) that are submitters (alumnae schools in this embodiment) of data (school report data in this embodiment) and have submitter IDs, one or more recipient terminals 3 (terminals of the administrator of the school being examined in this embodiment) that are recipients (schools being examined in this embodiment) of data (school report data in this embodiment) and have recipient IDs, and a web server 6 are connected via the Internet. A server administrator terminal 5 may be directly connected to a group of servers including the web server 6 and database server 7, or may be connected via the Internet as shown in FIG. 1. The submitter logs in using the submitter ID, and the recipient logs in using the recipient ID. A known method using a password can be used as the login method. There may be multiple submitter terminals with the same submitter ID within the same organization. There may also be multiple recipient terminals with the same recipient ID within the same organization, separate from the submitter.

[0039] The organization-specific encryption key storage system of this embodiment is a system in which the encryption keys for encrypting the above-mentioned data are stored separately for the submitter and the recipient, and the server group generates (A) a recipient public key, a recipient private key corresponding to the recipient public key, and a recipient encryption key storage box in which the recipient private key is used as a box management key to encrypt data, and the encryption key is encrypted with the recipient public key and stored in association with the submitter ID of the data submitter, and the encryption key can be decrypted with the recipient private key and retrieved. The server group generates (B) a recipient encryption key storage box in which the recipient private key is used as a box management key to encrypt data, and the database server stores the recipient encryption key. (B) recipient encryption key storage box generation means for storing a key storage box in association with each recipient ID; (C) recipient passphrase generation means for automatically generating a recipient passphrase for encrypting a recipient private key; (D) recipient private key encryption means for encrypting a recipient private key with a recipient passphrase and storing the encrypted recipient private key and recipient public key in a database server; and (E) recipient passphrase notification means for notifying a predetermined recipient notification destination of the recipient passphrase and not storing the recipient passphrase in the database server. (E) submitter login acceptance means for accepting login from the submitter terminal; and (F) a submitter encryption key storage box for each submitter, which uses the submitter private key as a box management key to encrypt data, encrypts the data with the submitter public key, stores the encrypted data in association with the recipient ID of the data recipient, and decrypts the data with the submitter private key, and stores the encrypted data in association with the recipient ID of the data recipient, and decrypts the data with the submitter private key. The submitter encryption key storage box is generated for each submitter, and the submitter encryption key storage box is stored in the database server as a file for each submitter. (G) submitter's passphrase generation means for generating a submitter's passphrase for encrypting the submitter's private key; (H) submitter's private key encryption means for encrypting the submitter's private key with the submitter's passphrase and storing the encrypted submitter's private key and submitter's public key in the database server; and (I) submitter's passphrase notification means for notifying a specified submitter notification destination of the submitter's passphrase and not storing the submitter's passphrase in the database server.

[0040] The server group also includes (J) a data accepting means for accepting input of a submitter's passphrase from the submitter's terminal, allowing the submitter to select a recipient of the data, and accepting upload of the data; (K) a submitter's encryption key encryption storage means for, if there is no encryption key associated with the recipient ID of the selected recipient in the submitter's encryption key storage box, generating an encryption key associated with the submitter ID and the recipient ID of the selected recipient, encrypting it with the submitter's public key, and storing it in the submitter's encryption key storage box in association with the recipient ID of the selected recipient; and (L) a submitter's encryption key encryption storage means for encrypting the encryption key generated by the submitter's encryption key encryption storage means with the recipient's public key of the selected recipient, and storing it in the submitter's encryption key storage box in association with the recipient ID of the selected recipient. (M) a submitter's private key decryption means for decrypting the submitter's private key with the submitter's passphrase when an encryption key associated with the recipient ID of the selected recipient is present or stored in the submitter's encryption key storage box; (N) a submitter's encryption key decryption means for decrypting the encryption key associated with the recipient ID of the selected recipient from the submitter's encryption key storage box with the submitter's private key; and (O) a data storage means for encrypting data with the encryption key decrypted with the submitter's private key and storing it in a database server in association with the submitter ID and the recipient ID of the selected recipient.

[0041] The server group further includes (P) a view acceptance means for allowing the submitter terminal to select a recipient of data, accepting input of the submitter's passphrase, and accepting a view request; (Q) a data decryption means (submitter) for decrypting the submitter's private key using the submitter's passphrase, decrypting the encryption key stored in the submitter's encryption key storage box in association with the recipient ID of the selected recipient using the submitter's private key, and decrypting the data stored in the database server in association with the recipient ID of the selected recipient and the submitter ID using the encryption key decrypted with the submitter's private key; and (R) a data display means for displaying the decrypted data on the submitter terminal.

[0042] Furthermore, the server group has (S) an output accepting means for selecting a data submitter from the recipient terminal, accepting input of the recipient's passphrase, and accepting an output request; (T) a data decryption means (recipient) for decrypting the recipient's private key with the recipient's passphrase, using the decrypted recipient's private key to decrypt the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter, and using the encryption key decrypted with the recipient's private key to decrypt the data stored in the database server in association with the recipient ID and the submitter ID of the selected submitter; and (U) a data output means for outputting the decrypted data to the recipient terminal.

[0043] In this embodiment, the means (A) to (U) are provided in the Web server 6, but some of the means may be provided in other servers within the server group. Both the Web server 6 and the database server 7 may communicate via their respective front-end units so that the control unit does not need to be aware of which server it is located on. Each front-end unit has a program that runs within each server and coordinates processing. In this embodiment, each means in both the Web server 6 and the database server 7 is controlled by its respective front-end unit.

[0044] In this embodiment, the communication means, input means, and display means are located within the submitter terminal 2 and the recipient terminal 3. The web server 6 includes a memory, a CPU, storage (hardware) such as a secondary storage device (e.g., a magnetic disk), a control means (a control device including an operating system and device drivers), and a communication means (a communication control device including a LAN board). The magnetic disk stores an organization-specific encryption key storage program and various web page contents, and the control unit executes various program processes. The web server 6 also includes a local connection means with the database server 7, and can temporarily store information in nonvolatile memory for multiple exchanges between the submitter terminal 2 and the recipient terminal 3. The database server 7 includes a memory, a CPU, storage (hardware), and a local connection means with the web server 6, but may also include a communication means, input means, display, and other output means. The web server 6 and the database server 7 cooperate with each other to perform the encryption key storage process of the present invention based on operation commands from the web server 6. The web server 6 and the database server 7 are equipped with clock functions and other features typically found in servers.

[0045] FIG. 2 is a diagram showing the server configuration of a first embodiment of the organization-specific encryption key storage system of the present invention. In this embodiment, the web server 6 is described as a single server that functions as a-web server for submitters and b-web server for recipients. However, these functions may be separate web servers, or there may be multiple web servers equipped with a load balancer to handle concentrated access. Furthermore, one or more web servers may be cloud servers on a cloud. A cloud server is a virtual server, and in reality, multiple physical servers may be used as a single cloud server. In this case, memory and CPU (number of cores) can be instantly expanded or contracted.

[0046] The submitter terminal 2 and the recipient terminal 3 are directed to a single URL (Uniform Resource Locator) as a connection destination and are allowed to access it. A load balancer receives access to that URL and distributes the access to multiple web servers 6 connected to the load balancer, thereby balancing the load on each web server. Another method for avoiding the concentration of web access is a system that uses round robin in the DNS (Domain Name System). The connection destination URL created by the web server 6 is a web page within a virtual web server. Furthermore, to display a specific web page on a virtual server, a URL containing a virtual directory may be used as the connection destination URL. When creating a specific access web page, an existing access web page may be duplicated.

[0047] The server group 5 can transmit and receive information to and from the submitter terminal 2 and the recipient terminal 3 via a communication network such as the Internet, a LAN, or a WAN. The submitter terminal 2 and the recipient terminal 3 may be, for example, personal computers (PCs) including notebook PCs and tablet PCs.

[0048] The Web server 6 also has data for a submitter data submission form screen 68, which includes a screen for accepting uploads of investigation report data, and a recipient data management screen 69, which includes a screen for accepting downloads of investigation report data. The database server 7 stores submitter IDs (login IDs) assigned to each submitter for login in association with a password, URL, and submitter identifier, and recipient IDs (login IDs) assigned to each recipient for login in association with a password, URL, and recipient identifier. The submitter passphrases and recipient passphrases are not stored in the server group.

[0049] The database server 7 stores a confidential data management database 71, and the confidential data management database 71 stores the submitter-specific recipient-specific data 31-37, which is confidential data encrypted for each submitter and each recipient, in an encrypted form, i.e., with decryption keys 311-371, respectively. Each encrypted data is unique data, and a known method can be used for encryption.

[0050] 3 is a conceptual diagram of the database server when an encryption key storage box for a submitter is created in the first embodiment of the method for storing an encryption key for each organization of the present invention. The confidential data management database 71 stores encryption key storage boxes 11 to 14 for each submitter and encryption key storage boxes 21 and 22 for each recipient. The encryption key storage boxes are virtual boxes in the database server, and are folders that encrypt and store one or more encryption key data associated with each other in a predetermined manner.

[0051] 3, an encryption key storage box 11 for submitter A, an encryption key storage box 12 for submitter B, an encryption key storage box 13 for submitter C, an encryption key storage box 14 for submitter D, an encryption key storage box 21 for recipient X, an encryption key storage box 22 for recipient Y, data 31 of submitter A recipient X, data 32 of submitter B recipient X, data 33 of submitter C recipient X, data 34 of submitter A recipient Y, data 35 of submitter B recipient Y, and data 36 of submitter C recipient Y are each encrypted and stored in the confidential data management database 71, i.e., with a decryption lock for each submitter and recipient. Destination X is recipient X, and destination Y is recipient Y. In this embodiment, each box is stored in the confidential data management database 71, but may also be stored in another database within the database server 7.

[0052] The database server 7 also includes a submitter database, a recipient database, etc. The submitter database stores an alma mater table and an alma mater encryption key table, and records session information, submitter notification destinations and submitter notification destination types for passphrases, etc. The recipient database stores an examination school table and an examination school encryption key table, and records session information, recipient notification destinations and recipient notification destination types for passphrases, etc. In this embodiment, email addresses are stored as both the submitter notification destination and the recipient notification destination, but the passphrase notification destination may also be a mobile phone number, fax number, or device identifier used when the app is downloaded. The submitter notification destination type and recipient notification destination type store identifiers indicating whether the destination is a mobile phone number, fax number, email address, etc., and when the passphrase is automatically notified to each destination, notification is made according to the type.

[0053] In this embodiment, the database server 7 is a dedicated server located in a data center along with the web server 6, but both may be located within the school. In this case, the school's terminal and the web server are connected via the campus LAN, not via the Internet. In this embodiment, the database server 7 is a dedicated server, and since a physical server is used exclusively (solely), database I / O processing is fast. In this embodiment, the database server 7 maintains a mirrored database for system availability, i.e., to prevent the loss of important confidential information even if the server goes down and to enable quick recovery. The original database is the master database, and the mirrored database is the slave database. The slave database cannot be written to and can only be read. When the system writes, the data is written to the master database. When a write is made to the master database, the data is instantly mirrored and written to the slave database as well.

[0054] The organization-specific encryption key storage program installed in the Web server 6 causes the computer to generate, for each recipient, (A) a recipient public key, a recipient private key corresponding to the recipient public key, and a recipient encryption key storage box that uses the recipient private key as a box management key to encrypt data, encrypts the data with the recipient public key, stores the encrypted data in association with the submitter ID of the data submitter, and decrypts the encrypted data with the recipient private key, and stores the encrypted data in association with the recipient ID. The program also causes the database server to store the recipient encryption key storage box in association with the recipient ID. (a) a recipient passphrase generation function that automatically generates a recipient passphrase for encrypting the recipient private key; (c) a recipient private key encryption function that encrypts the recipient private key with the recipient passphrase and stores the encrypted recipient private key and recipient public key in the database server; (d) a recipient passphrase notification function that notifies a specified recipient notification destination of the recipient passphrase and does not store the recipient passphrase in the database server; (e) a submitter login acceptance function that accepts logins from the submitter terminal; and (f) a submitter private key encryption function that encrypts the recipient private key with the recipient passphrase and stores the encrypted recipient private key and recipient public key in the database server. a submitter's encryption key storage box generation function that generates for each submitter a submitter's public key, a submitter's private key corresponding to the submitter's public key, and a submitter's encryption key storage box that uses the submitter's private key as a box management key and encrypts an encryption key for encrypting data with the submitter's public key, stores the encryption key in association with the recipient ID of the data recipient, and decrypts and retrieves the encryption key with the submitter's private key, and stores the submitter's encryption key storage box in association with each submitter ID in the database server; and (g) a submitter's passphrase that generates a submitter's passphrase for encrypting the submitter's private key. (H) a submitter's private key encryption function that encrypts the submitter's private key with the submitter's passphrase and stores the encrypted submitter's private key and submitter's public key in the database server; (I) a submitter's passphrase notification function that notifies the submitter's specified notification destination of the submitter and does not store the submitter's passphrase in the database server; (J) a data acceptance function that accepts input of the submitter's passphrase from the submitter's terminal, allows the submitter to select a data recipient, and accepts data upload; and (K) a submitter's encryption key storage box that stores,(i) a submitter's encryption key encryption storage function that, if there is no encryption key associated with the recipient ID of the selected recipient, generates an encryption key associated with the submitter ID and the recipient ID of the selected recipient, encrypts it with the submitter's public key, and stores it in the submitter's encryption key storage box in association with the recipient ID of the selected recipient; (ii) a recipient's encryption key encryption storage function that encrypts the encryption key generated by the submitter's encryption key encryption storage function with the selected recipient's public key, and stores it in the recipient's encryption key storage box in association with the submitter ID; and (iii) a recipient's encryption key encryption storage function that encrypts the encryption key generated by the submitter's encryption key encryption storage function with the selected recipient's public key, and stores it in the recipient's encryption key storage box in association with the submitter ID. (a) a submitter's private key decryption function that decrypts the submitter's private key with the submitter's passphrase if there is an encryption key associated with the recipient ID of the selected recipient in the submitter's encryption key storage box or if it is stored in the submitter's encryption key storage box; (c) a submitter's encryption key decryption function that decrypts the encryption key associated with the recipient ID of the selected recipient from the submitter's encryption key storage box with the submitter's private key; (d) a data storage function that encrypts data with the encryption key decrypted with the submitter's private key and stores it in a database server in association with the submitter's ID and the recipient ID of the selected recipient; ) a view acceptance function that allows the submitter terminal to select a recipient of data, accepts the input of the submitter's passphrase, and accepts a view request; (h) a data decryption function (submitter) that decrypts the submitter's private key using the submitter's passphrase, decrypts the encryption key stored in the submitter's encryption key storage box in association with the recipient ID of the selected recipient using the submitter's private key, and decrypts the data stored in the database server in association with the recipient ID of the selected recipient and the submitter ID using the encryption key decrypted with the submitter's private key; and (k) a data decryption function (submitter) that sends the decrypted data to the submitter terminal. (t) an output acceptance function that allows the recipient terminal to select a data submitter, accepts input of the recipient's passphrase, and accepts an output request; (g) a data decryption function (recipient) that decrypts the recipient's private key with the recipient's passphrase, decrypts the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter, and decrypts the data stored in the database server in association with the recipient ID and the submitter ID of the selected submitter, using the encryption key decrypted with the recipient's private key;(a) A program for realizing a data output function that outputs the decrypted data to the recipient terminal.

[0055] The Web server 6 realizes the function of a computer capable of performing organization-specific encryption key storage processing of the present invention by having the CPU of the Web server 6 load an organization-specific encryption key storage program of the Web server 6 into the memory of the Web server 6 and execute it. The CPUs of the Web server 6 and the database server 7 are arithmetic processing units installed in ordinary computers, and can execute various programs and perform various controls.

[0056] In this embodiment, the Web server 6 functions as each of the above-mentioned means (A) to (U) by using the above-mentioned hardware configuration and organization-specific encryption key storage program.

[0057] The Web server 6 is equipped with a program for storing organization-specific encryption keys, as well as other related programs and other programs.

[0058] The data recipient may distribute submitter screen information to each submitter in advance, which includes the URL of the submitter's data submission form screen (a web page created for each submitter). The data format to be exchanged may also be distributed or downloaded. The submitter creates the data to be submitted to the recipient and saves (outputs) it on the desktop of the submitter's terminal. The submitter can upload data (in this embodiment, investigation report data) on the submitter's data submission form screen, which is displayed on the submitter's terminal by the organization-specific encryption key storage system of this embodiment.

[0059] {Treatment process} The method for storing organization-specific encryption keys in this embodiment is a method for storing organization-specific encryption keys in which a group of servers having the functions of multiple types of servers, including one or more web servers connected via a network to one or more submitter terminals that are data submitters and have submitter IDs, and one or more recipient terminals that are recipients of the data and have recipient IDs, and one or more database servers interconnected to the web servers, store encryption keys that encrypt data separately for the submitter and recipient.The method for storing an organization-specific encryption key in this embodiment includes (Step 10) a recipient encryption key storage box generation step in which a server group generates, for each recipient, a recipient public key, a recipient private key corresponding to the recipient public key, and a recipient encryption key storage box that uses the recipient private key as a box management key to encrypt data, encrypts the data with the recipient public key, stores the encrypted data in association with the submitter ID of the data submitter, and enables the encryption key to be decrypted and retrieved with the recipient private key; and (Step 20) a recipient passphrase generation step in which the server group automatically generates a recipient passphrase for encrypting the recipient private key; (Step 30) a recipient private key encryption step in which the server group encrypts the recipient private key with the recipient passphrase and stores the encrypted recipient private key and recipient public key in a database server; and (Step 40) a recipient passphrase notification step in which the server group notifies a predetermined recipient notification destination of the recipient passphrase and does not store the recipient passphrase in the database server; and further, (Step 50) the server group a submitter login acceptance step for accepting login from a submitter terminal; (Step 60) a group of servers for each submitter generates a submitter public key, a submitter private key corresponding to the submitter public key, and a submitter encryption key storage box for storing an encryption key for encrypting data using the submitter private key as a box management key, encrypting the data with the submitter public key and storing the encryption key in association with the recipient ID of the data recipient, and from which the encryption key can be decrypted with the submitter private key and retrieved; and a submitter encryption key storage box for storing the submitter encryption key storage box in association with the submitter ID of each submitter in a database server. (Step 70) a submitter passphrase generation step in which the server group generates a submitter passphrase for encrypting the submitter private key; (Step 80) a submitter private key encryption step in which the server group encrypts the submitter private key with the submitter passphrase and stores the encrypted submitter private key and submitter public key in the database server; and (Step 90) a submitter passphrase notification step in which the server group notifies a predetermined submitter notification destination of the submitter passphrase and does not store the submitter passphrase in the database server.

[0060] This embodiment further includes (Step 100) a data receiving step in which the server group receives input of a submitter's passphrase from the submitter's terminal, selects a recipient of the data, and receives upload of the data; (Step 110) a submitter's encryption key encryption and storage step in which, if there is no encryption key associated with the recipient ID of the selected recipient in the submitter's encryption key storage box, the server group generates an encryption key associated with the submitter ID and the recipient ID of the selected recipient, encrypts it with the submitter's public key, and stores it in the submitter's encryption key storage box in association with the recipient ID of the selected recipient; and (Step 120) a submitter's encryption key encryption and storage step in which the server group encrypts the encryption key generated in the submitter's encryption key encryption and storage step with the recipient's public key of the selected recipient, and stores it in the submitter's encryption key storage box in association with the recipient ID of the selected recipient. The method includes a recipient's encryption key encryption and storage step of storing the encryption key in a recipient's encryption key storage box in association with the submitter's ID; (Step 130) a submitter's private key decryption step of the server group decrypting the submitter's private key with the submitter's passphrase if the encryption key associated with the recipient ID of the selected recipient is present or stored in the submitter's encryption key storage box; (Step 140) a submitter's encryption key decryption step of the server group decrypting the encryption key associated with the recipient ID of the selected recipient from the submitter's encryption key storage box with the submitter's private key; and (Step 150) a data storage step of the server group encrypting data with the encryption key decrypted with the submitter's private key and storing it in a database server in association with the submitter's ID and the recipient ID of the selected recipient.

[0061] This embodiment further includes (Step 160) a view acceptance process in which the server group selects a recipient of the data from the submitter terminal, accepts input of the submitter's passphrase, and accepts a view request; (Step 170) a data decryption process (submitter) in which the server group decrypts the submitter's private key with the submitter's passphrase, decrypts the encryption key stored in the submitter's encryption key storage box in association with the recipient ID of the selected recipient with the submitter's private key, and decrypts the data stored in the database server in association with the recipient ID and submitter ID of the selected recipient with the encryption key decrypted with the submitter's private key; and (Step 180) a data display process in which the server group displays the decrypted data on the submitter terminal.

[0062] In addition, this embodiment further includes (Step 190) an output receiving process in which the server group selects a data submitter from the recipient terminal, receives input of the recipient's passphrase, and receives an output request; (Step 200) a data decryption process (recipient) in which the server group decrypts the recipient's private key with the recipient's passphrase, decrypts the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter, and decrypts the data stored in the database server in association with the recipient ID and the submitter ID of the selected submitter, using the encryption key decrypted with the recipient's private key; and (Step 210) a data output process in which the server group outputs the decrypted data to the recipient terminal.

[0063] Of the above steps, Steps 10 to 40 are a series of flows for the process of generating an encryption key storage box for the recipient (encryption key storage box for the school being examined), Steps 50 to 90 are a series of flows for the process of generating an encryption key storage box for the submitter (encryption key storage box for the alma mater), Steps 100 to 150 are a series of flows for the process of encrypting data (report report data), Steps 160 to 180 are a series of flows for the process of displaying data (report report data) on the submitter's terminal, and Steps 190 to 210 are a series of flows for the process of retrieving data (report report data) to the recipient's terminal.

[0064] In this embodiment, the organization-specific encryption key storage program causes a computer to execute the above-mentioned steps, each of which will be described in detail below.

[0065] <Generation of encryption key storage box for recipient> (Step 10: Recipient encryption key storage box generation process) A Web server 6 of the server group generates a recipient public key, a recipient private key, and a recipient encryption key storage box for each recipient, associates the recipient encryption key storage box with each recipient ID, and stores them in the database server 7. The recipient encryption key storage box uses the recipient private key as a box management key, encrypts an encryption key for encrypting data with the recipient public key, stores the encryption key in association with the submitter ID of the data submitter, and can decrypt and retrieve the encryption key with the recipient private key.

[0066] For example, if X High School (destination X) is the recipient and the recipient ID (school ID) assigned to X High School is 21, the Web server 6 generates a recipient public key for X High School and a recipient private key for X High School that corresponds to (is paired with) the recipient public key of X High School, generates recipient X's encryption key storage box 21, which is a recipient encryption key storage box for X High School that can be unlocked with the recipient private key of X High School, and stores it in association with the recipient ID of X High School in the confidential data management database 71. The recipient X's encryption key storage box 21 generated here is a box that can encrypt, with the recipient public key of X High School, an encryption key for encrypting data and associated with X High School for each submitter, and store it in association with the submitter ID of the data submitter, as will be described later, and is also a box that can decrypt an encryption key encrypted with the recipient public key of X High School using the recipient private key of X High School and retrieve it for each submitter. Similarly, if Y High School (submission destination Y) is the recipient and the recipient ID (exam school ID) assigned to Y High School is 22, the web server 6 generates a recipient public key for Y High School and a recipient private key for Y High School that corresponds to (is paired with) the recipient public key for Y High School, generates recipient Y's encryption key storage box 22, which is a recipient encryption key storage box for Y High School that can be unlocked with the recipient private key for Y High School, and stores it in the confidential data management database 71 in association with the recipient ID of Y High School.

[0067] Fig. 4 is an image diagram of the database server when a recipient encryption key storage box is created in the first embodiment of the organization-specific encryption key storage method of the present invention. Fig. 4 shows the state in which the recipient Z encryption key storage box 23, which is the recipient encryption key storage box for Z High School, has been created. The Web server 6 generates a recipient public key for Z High School and a recipient private key for Z High School that corresponds to (is paired with) the recipient public key for Z High School, creates the recipient Z encryption key storage box 23 that can be unlocked with the recipient private key for Z High School, and stores it in the confidential data management database 71 in association with the recipient ID of Z High School.

[0068] (Step 20: Recipient passphrase generation process) Next, the Web server 6 automatically generates a recipient passphrase for encrypting the recipient private key. For example, the recipient passphrase for X High School for encrypting the recipient private key of X High School is a unique passphrase that differs from recipient passphrases for encrypting the recipient private keys of other high schools.

[0069] (Step 30: Recipient's private key encryption process) Next, the Web server 6 encrypts the recipient's private key with the recipient's passphrase and stores the encrypted recipient's private key and recipient's public key in the database server. The box management key (recipient's private key) is protected by the recipient's passphrase.

[0070] For example, the recipient's private key of X High School is encrypted using the recipient's passphrase of X High School. Then, the recipient ID of X High School, the school name of X High School, the recipient's public key of X High School, and the encrypted recipient's private key of X High School are associated and stored in the recipient table, which is in the recipient database (the school to be applied to database). The recipient's private key of X High School is not stored in the database server.

[0071] In the recipient X encryption key storage box 21, the encryption key associated with the submitter and X High School is encrypted and stored in the box using the recipient public key of X High School, which is stored in association with the recipient ID of X High School, as described below. Therefore, the recipient public key of X High School serves as an input port for the encryption key in the box. Meanwhile, the encryption key stored in the box is decrypted using the recipient private key of X High School, so the recipient private key of X High School serves as a box management key in the box. Because the recipient private key of X High School is encrypted, it is impossible to extract the encryption key associated with the submitter and X High School from the recipient X encryption key storage box 21, i.e., to decrypt the encryption key, unless it is decrypted. Therefore, according to this embodiment, the encryption key storage security level is high. Therefore, the risk of information leakage due to leakage of the encryption key is extremely low.

[0072] (Step 40: Recipient passphrase notification process) Next, the Web server 6 notifies the specified recipient notification destination of the recipient passphrase and does not store the recipient passphrase in the database server. Because neither the recipient private key nor the recipient passphrase is stored in the database server, even if the server is attacked, the encrypted recipient private key cannot be decrypted by either the submitter terminal 2 or the server administrator terminal 5. This further enhances the security level of encryption key storage and reduces the risk of information leakage due to the leakage of the encryption key. In this embodiment, the recipient passphrase is notified by email, but it may also be automatically notified using other notification methods. For example, SMS, smartphone push notification, or fax transmission may be used. Alternatively, an authentication code may be sent and the recipient passphrase may be displayed on the screen by entering the authentication code. The passphrase may also be displayed using an app downloaded to a smartphone, etc. For example, in the case of notification by SMS to a smartphone mobile phone number, once the recipient passphrase is automatically generated, the Web server 6 notifies the mobile phone number stored in the database server as the recipient notification destination of the recipient passphrase via SMS. This allows the recipient to enter the recipient passphrase into the recipient's terminal. The automatically generated recipient passphrase remains in memory until notification, but it is not memorized, so it is not stored anywhere on the servers after notification is complete. The same applies to notification of the submitter passphrase, which will be described later.

[0073] For example, the recipient passphrase for X High School is sent by X High School to a pre-registered email address for the administrator of X High School. Because the recipient passphrase for X High School is not stored in the database server 7, the possibility that the encryption key stored in the recipient X encryption key storage box 21 will be decrypted is extremely small, and furthermore, the possibility that the data for each submitter (school report data) will be decrypted using an encryption key decrypted with X High School's recipient private key is even smaller.

[0074] <Submitter's encryption key storage box generation process> (Step 50: Submitter login acceptance process) The web server 6 accepts logins from the submitter's terminal. The login is accepted using a login ID and password notified to each submitter in advance. Figure 5 is a diagram showing the flow of generating an encryption key storage box for the alma mater in embodiment 1 of the organization-specific encryption key storage method of the present invention. The encryption key storage box for the alma mater, i.e., the submitter's encryption key storage box, is generated according to the flow shown in Figure 5. In this embodiment, when logging in from the submitter's terminal for the first time, the web server 6 accepts registration of an email address that can be received on the submitter's device as the submitter's notification destination. The web server 6 generates a submitter ID, sets the email address as the submitter's communication destination, and stores the email address as the communication destination and the communication destination type as email in the database server 7 in association with the submitter ID.

[0075] (Step 60: Create a cryptographic key storage box for the submitter) The Web server 6 generates a submitter public key, a submitter private key, and a submitter encryption key storage box for each submitter, associates the submitter encryption key storage box with the respective submitter ID, and stores them in the database server 7. The submitter encryption key storage box uses the submitter private key as a box management key, encrypts an encryption key for encrypting data with the submitter public key, stores the encryption key in association with the recipient ID of the data recipient, and can decrypt and retrieve the encryption key with the submitter private key.

[0076] For example, if Junior High School A is the submitter and the submitter ID (alma mater ID) assigned to Junior High School A is 11, Web server 6 generates a submitter public key for Junior High School A and a submitter private key for Junior High School A that corresponds to (is paired with) the submitter public key for Junior High School A, generates submitter A's encryption key storage box 11, which is a submitter's encryption key storage box for Junior High School A that can be unlocked with the submitter's private key for Junior High School A, and stores it in association with the submitter ID of Junior High School A in confidential data management database 71. As will be described later, submitter A's encryption key storage box 11 is a box that can encrypt the submitter's encryption key for Junior High School A for each recipient that encrypts data with the submitter's public key for Junior High School A and store it in association with the submitter ID of Junior High School A, and is also a box that can decrypt and retrieve the submitter's encryption key for Junior High School A for each recipient with the recipient's private key for Junior High School A. Similarly, if B Junior High School is the submitter and the submitter ID (alma mater ID) assigned to B Junior High School is 12, the web server 6 generates a submitter public key for B Junior High School and a submitter private key for B Junior High School that corresponds (is paired) to the submitter public key for B Junior High School, and generates submitter B's cryptographic key storage box 12, which is a submitter's cryptographic key storage box for B Junior High School that can be unlocked with the submitter's private key for B Junior High School, and stores it in the confidential data management database 71 in association with the submitter ID for B Junior High School.

[0077] (Step 70: Generate a passphrase for the submitter) Next, the Web server 6 automatically generates a submitter passphrase for encrypting the submitter private key. For example, the submitter passphrase for A Junior High School for encrypting the submitter private key for A Junior High School is a unique passphrase that differs from submitter passphrases for encrypting the submitter private keys of other junior high schools.

[0078] (Step 80: Submitter's private key encryption step) Next, the Web server 6 encrypts the submitter's private key with the submitter's passphrase and stores the encrypted submitter's private key and submitter's public key in the database server. The box management key (submitter's private key) is protected by the submitter's passphrase.

[0079] For example, the submitter's private key for Junior High School A is encrypted using the submitter's passphrase for Junior High School A. Then, the submitter ID for Junior High School A, the school name for Junior High School A, the submitter's public key for Junior High School A, and the encrypted submitter's private key for Junior High School A are associated and stored in the alma mater table, which is a submitter table in the submitter database (alma mater database). The submitter's private key for Junior High School A is not stored in the database server.

[0080] FIG. 6 is a diagram showing an example of an alma mater table in the first embodiment of the organization-specific encryption key storage system of the present invention. As shown in FIG. 6, in the alma mater table, 11, 12, and 13 are assigned to A Junior High School, B Junior High School, and C Junior High School, respectively, as alma mater IDs, which are submitter IDs, and are stored in association with each other. For each junior high school, an encrypted submitter private key, which is obtained by encrypting the submitter private key with a submitter passphrase, and a submitter public key (public key A, B, or C) as a public key are stored in association with the submitter ID (alma mater ID) and the submitter (school name). Public key A is dedicated to A Junior High School, public key B is dedicated to B Junior High School, and public key C is dedicated to C Junior High School. The column for C Junior High School is blank because the submitter has not yet logged in for the first time on the terminal, and therefore a pair of submitter public key and submitter private key for C Junior High School has not yet been created. Therefore, an encrypted submitter private key for C Junior High School has not yet been created. In this state, the submitter's encryption key storage box for C Junior High School has not yet been generated. In Figure 5, for the junior high school with submitter ID 14 (D Junior High School), a pair of submitter's public key and submitter's private key has been generated, and an encrypted submitter's private key has been generated, and therefore submitter D's encryption key storage box, which is D Junior High School's encryption key storage box, has been generated. Note that in Figure 5, the submitter D's encryption key storage box 14 does not yet store an encryption key for encrypting data.

[0081] In addition, in the alma mater table, the submitter ID of A Junior High School is stored in association with the submitter's communication destination and communication destination type of A Junior High School.

[0082] In the encryption key storage box 11 for submitter A, the encryption key associated with the A junior high school and the recipient is encrypted and stored in the box using the submitter public key of the A junior high school, which is stored in association with the submitter ID of the A junior high school, as described below. Therefore, the submitter public key of the A junior high school serves as an input port for the encryption key in the box. Meanwhile, the encryption key stored in the box is decrypted using the submitter private key of the A junior high school, so the submitter private key of the A junior high school serves as a box management key in the box. Because the submitter private key of the A junior high school is encrypted, it is impossible to extract the encryption key associated with the A junior high school and the recipient from the encryption key storage box 11 for submitter A, i.e., to decrypt the encryption key associated with the A junior high school and the recipient, unless it is decrypted. Therefore, according to this embodiment, the encryption key storage security level is high. Therefore, the risk of information leakage due to leakage of the encryption key is extremely low.

[0083] (Step 90: Submitter passphrase notification process) Next, the Web server 6 of the server group notifies the submitter's passphrase to a specified submitter notification destination and does not store the submitter's passphrase in the database server. Because neither the submitter's private key nor the submitter's passphrase is stored in the database server, even if the server is attacked, the encrypted submitter's private key cannot be decrypted by the recipient terminal 3 or the server administrator terminal 5. This further enhances the security level of encryption key storage and reduces the risk of information leakage due to the leakage of the encryption key. In this embodiment, the submitter's passphrase is notified by email, but it may also be automatically notified using other notification methods, such as SMS, smartphone push notification, or fax transmission. Alternatively, an authentication code may be sent and the submitter's passphrase may be displayed on the screen by entering the authentication code. The passphrase may also be displayed using an app downloaded to a smartphone or the like.

[0084] For example, the submitter's passphrase for A Junior High School is sent to the email address that A Junior High School will notify the submitter of. In this embodiment, the submitter's notification address is the email address of the administrator of the alma mater. Because the submitter's passphrase for A Junior High School is not stored in the database server 7, the possibility that the encryption key stored in A Junior High School's submitter's encryption key storage box 11 will be decrypted is extremely small, and furthermore, the possibility that the data for each recipient (school report data) will be decrypted using an encryption key decrypted with A Junior High School's submitter's private key is even smaller.

[0085] <Data encryption processing> (Step 100: Data reception process) Fig. 7 is an image diagram of the database server when the uploaded data is encrypted and stored in the first embodiment of the method for storing an organization-specific encryption key of the present invention. Fig. 7 shows the state when school report data is submitted by the system of this embodiment from D Junior High School (submitter D) with submitter ID 14 to Y High School (recipient Y) with recipient ID 22.

[0086] The Web server 6 accepts input of the submitter's passphrase from the submitter's terminal, prompts the data recipient to select the school they are applying to, and accepts data upload. Figure 8 is a diagram showing the flow of data encryption processing in the first embodiment of the method for storing organization-specific encryption keys of the present invention. The school report encryption processing, i.e., data encryption processing, is performed according to the flow shown in Figure 8.

[0087] For example, the encryption process for school report data to be submitted from D Junior High School to Y High School is performed as shown in Figures 7 and 8. A data submission form screen for the submitter displayed from Web server 6 is displayed on the administrator terminal of D Junior High School, who has accessed the system of this embodiment using a login ID and password, and input of the notified passphrase for the submitter of D Junior High School is accepted from the administrator terminal of D Junior High School.

[0088] (Step 110: Encryption key encryption storage process) Next, if there is no encryption key associated with the recipient ID of the selected recipient in the submitter's encryption key storage box, the Web server 6 generates an encryption key associated with the submitter ID and the recipient ID of the selected recipient, encrypts it with the submitter's public key, and stores it in the submitter's encryption key storage box in association with the recipient ID of the selected recipient. 7, if submitter D's encryption key storage box 14, which is the submitter's encryption key storage box (encryption key storage box for the alma mater) of D Junior High School (submitter D), does not yet contain submitter D's recipient Y's encryption key 424, which is an encryption key associated with the recipient IDs of D Junior High School and Y High School (destination Y), i.e., if submitter D's recipient Y's encryption key 424 has not been generated, submitter D's recipient Y's encryption key 424, which is an encryption key for the school report data to be submitted from D Junior High School to Y High School, is generated for Y High School, and the generated submitter D's recipient Y's encryption key 424 is encrypted with D Junior High School's submitter's public key, i.e., stored in submitter D's encryption key storage box 14 in association with the recipient ID of Y High School. FIG. 7 shows the state in which submitter D's recipient Y's encryption key 424 is stored in submitter D's encryption key storage box 14, i.e., encrypted and stored. 7, the encryption keys for each submitter and recipient are stored in the submitter A's encryption key storage box 11, the submitter B's encryption key storage box 12, and the submitter C's encryption key storage box 13. That is, the encryption key for each submitter and recipient is encrypted and stored in the database for each submitter.

[0089] (Step 120: Recipient's encryption key encryption and storage process) The Web server 6 encrypts the encryption key generated in Step 110 with the recipient's public key of the selected recipient and stores it in the recipient's encryption key storage box of the selected recipient in association with the submitter ID. In Figure 7, for example, when D Junior High School selects Y High School, the submitter D's recipient Y's encryption key 424 generated in Step 110 is encrypted with Y High School's recipient public key and stored in recipient Y's encryption key storage box 22, which is the recipient's encryption key storage box for Y High School, in association with the submitter ID of D Junior High School.

[0090] (Step 130: Decryption process of the submitter's private key) If an encryption key associated with the recipient ID of the selected recipient is present or stored in the submitter's encryption key storage box, the web server 6 decrypts the submitter's private key with the submitter's passphrase. As shown in Figure 7, if submitter D's recipient Y's encryption key 424 is stored in submitter D's encryption key storage box 14, the web server 6 decrypts the submitter's private key for D Junior High School with D Junior High School's submitter passphrase. If it was stored in Step 120, the web server 6 then decrypts the submitter's private key for D Junior High School with D Junior High School's submitter passphrase. Through this process, the submitter's private key for D Junior High School for submitter D's encryption key storage box 14, i.e., the box management key, is obtained.

[0091] (Step 140: Submitter's encryption key decryption process) The Web server 6 uses the submitter's private key to decrypt the encryption key associated with the recipient ID of the selected recipient from the submitter's encryption key storage box. In Figure 7, the box management key of the submitter's encryption key storage box 14 is used to decrypt, i.e., retrieve, the submitter's recipient Y encryption key 424 from the submitter's encryption key storage box 14.

[0092] According to this embodiment, even if the server is attacked, the submitter's private key cannot be decrypted because the server does not have the submitter's passphrase, thereby reducing the possibility of the investigation report data, which is confidential data, being leaked.

[0093] (Step 150: Data storage process) The Web server 6 encrypts the data with the encryption key and stores it in the database server 7 in association with the submitter ID and the recipient ID of the selected recipient. However, the encryption key itself is not stored in the data server 7. In FIG. 7, the submitter D recipient Y's data 37, which is the school report data uploaded from the submitter terminal 2 of D junior high school to be submitted to Y high school, is encrypted using the submitter D recipient Y's encryption key 424 retrieved from the submitter D's encryption key storage box 14, i.e., the submitter D recipient Y's decryption lock 371 is applied and the encrypted submitter D recipient Y's data 37 is stored in the database server 71. The encrypted submitter D recipient Y data 37 is associated with the submitter ID of D junior high school and the recipient ID of Y high school.

[0094] For recipients, a recipient school table similar to that shown in FIG. 6 is also created. FIG. 9 is a diagram showing an example of a recipient (exam school) table in the first embodiment of the organization-specific encryption key storage method of the present invention. In the exam school table, X High School, Y High School, and Z High School are assigned exam school IDs (recipient IDs) 21, 22, and 23, respectively, and stored in association with each other. For each high school, an encrypted recipient private key obtained by encrypting the recipient private key with a recipient passphrase and recipient public keys (public keys X, Y, and Z) as public keys are stored in association with the recipient ID (exam school ID) and recipient (school name). Public key X is dedicated to X High School, public key Y is dedicated to Y High School, and public key Z is dedicated to Z High School.

[0095] This completes the process from creating the recipient's encryption key storage box and the submitter's encryption key storage box to encrypting the uploaded data. According to this embodiment, the encryption keys for encrypting data can be encrypted and stored separately for the submitter and the recipient.

[0096] 10 shows an example of a school report table in the first embodiment of the organization-specific encryption key storage method of the present invention. Uploaded school report data is encrypted and stored in the database server 7, and the school report data (encrypted data) is stored in association with the school report ID (ID of the data to be encrypted), alma mater ID (submitter ID), school ID (recipient ID), and examinee ID. In FIG. 10, for example, data with school report ID 1001 is encrypted with encryption key AX (encryption key for submitter A, recipient X) and stored in association with alma mater ID 11 of A Junior High School, school ID 21 of X High School being studied, and examinee ID 2101. Data with school report ID 1004 is encrypted with encryption key BX (encryption key for submitter B, recipient X) and stored in association with alma mater ID 12 of B Junior High School, school ID 21 of X High School being studied, and examinee ID 2103.

[0097] 11 is a diagram showing an example of the alma mater encryption key table and the exam-taking school encryption key table in the first embodiment of the organization-specific encryption key storage method of the present invention. The encryption key of the uploaded school report data is encrypted and stored, and the alma mater encryption key ID (ID of the encryption key to be encrypted (submitter)), alma mater ID (submitter ID), and exam-taking school ID (recipient ID) are stored in association with the submitter's encrypted encryption key (encryption key in the submitter's encryption key storage box).

[0098] In FIG. 11, for example, the encryption key with alma mater encryption key ID 101 is the encryption key for school report data for the combination of alma mater A Junior High School and school being taken X High School, and is encryption key AX (encryption key for submitter A, recipient X 411). Encryption key AX is in the encryption key storage box 11 for submitter A. In other words, encryption key AX is encrypted with public key A. Encryption key AX encrypted with public key A is stored as an encrypted encryption key in association with the alma mater ID of A Junior High School (submitter A), the school being taken X High School (recipient X), and the alma mater encryption key ID.

[0099] In FIG. 11, for example, the encryption key with the applied school encryption key ID 201 is the encryption key for school report data for the combination of alma mater A Junior High School and applied school X High School, and is encryption key AX (encryption key for submitter A, recipient X 411). Encryption key AX is in encryption key storage box 21 for recipient X. In other words, encryption key AX is encrypted with public key X. Encryption key AX encrypted with public key X is stored as an encrypted encryption key in association with the alma mater ID of A Junior High School (submitter A), the applied school ID of X High School (recipient X), and the applied school encryption key ID.

[0100] 12 is a conceptual diagram showing the key storage state in a database server in a first embodiment of the organization-specific encryption key storage method of the present invention. The encryption key with alma mater encryption key ID 101 is the submitter A recipient X encryption key 411 stored in the submitter A encryption key storage box 11, and the encryption key with the school being studied encryption key ID 201 is the submitter A recipient X encryption key 411 stored in the recipient X encryption key storage box 21. Both are the same encryption key, but are encrypted with different public keys and stored in different boxes. The submitter A recipient X encryption key 411 is a key for unlocking the submitter A recipient X decryption lock 311 placed on the submitter A recipient X data 31, i.e., a key for decrypting the submitter A recipient X data 31 encrypted and stored using the submitter A recipient X decryption lock 311.

[0101] Similarly, the decryption lock 321 of submitter B Recipient X placed on submitter B Recipient X's data 32 is unlocked with the submitter B Recipient X's encryption key 412, the decryption lock 331 of submitter C Recipient X placed on submitter C Recipient X's data 33 is unlocked with the submitter C Recipient X's encryption key 413, the decryption lock 341 of submitter A Recipient Y placed on submitter A Recipient Y's data 34 is unlocked with the submitter A Recipient Y's encryption key 421, the decryption lock 351 of submitter B Recipient Y placed on submitter B Recipient Y's data 35 is unlocked with the submitter B Recipient Y's encryption key 422, and the decryption lock 361 of submitter C Recipient Y placed on submitter C Recipient Y's data 36 is unlocked with the submitter C Recipient Y's encryption key 423. In Figures 3, 7, 4, and 12, keys with the same shading and pattern indicate the same key, and data encrypted with each key has a lock with the same shading and pattern to indicate that they correspond to each other.

[0102] According to this embodiment, the investigation report data is encrypted, i.e., a decryption lock is placed over it, and the encryption key that matches the lock is one if the submitter and recipient combination is the same, but since it is encrypted separately for each submitter and recipient, the possibility of leakage is reduced.

[0103] <Data display processing> (Step 160: Viewing acceptance process) The Web server 6 allows the submitter terminal 2 to select a recipient for the data, accepts input of the submitter's passphrase, and accepts a request to view. In FIG. 12, for example, from the submitter terminal 2 of A Junior High School, input of the A Junior High School passphrase is accepted, and the selection of, for example, Y High School as the recipient is accepted, and a request to view the school report data (submitter A, recipient Y data 34) encrypted and stored in the database server 7 is accepted. For security reasons, it is desirable to limit IP addresses and the retrieval period. Furthermore, it is desirable to perform two-step authentication, such as sending an automatically issued authentication code to a registered email address and confirming its entry.

[0104] (Step 170: Data decryption process (submitter)) The Web server 6 decrypts the submitter's private key with the submitter's passphrase, decrypts the encryption key stored in the submitter's encryption key storage box in association with the recipient ID of the selected recipient with the submitter's private key, and decrypts the data stored in the database server 7 in association with the recipient ID and submitter ID of the selected recipient with the encryption key decrypted with the submitter's private key. In Figure 12, in Step 170, input of the passphrase for A Junior High School is accepted from the submitter terminal of A Junior High School, and if Y High School is selected as the recipient, the submitter A's recipient Y's data 34 is decrypted using the private key for A Junior High School decrypted with the submitter A's passphrase from the submitter A's encryption key storage box 11, i.e., the submitter A's recipient Y's data 34 is decrypted, i.e., the submitter A's recipient Y's decryption lock 341 is unlocked and retrieved.

[0105] (Step 180: Data display process) The Web server 6 displays the decrypted data on the submitter terminal 2. If the data decrypted in Step 180 is data 34 of submitter A, receiver Y, the Web server 6 displays data 34 of submitter A, receiver Y on the submitter terminal of A Junior High School.

[0106] According to this embodiment, the submitter does not need to perform complicated operations and can view only the data for some of the recipients out of the data uploaded by the submitter for one or more recipients, which is highly convenient and can reduce information leakage.

[0107] <Data extraction process> (Step 190: Output acceptance process) FIG. 13 is a diagram showing the flow of data retrieval in the first embodiment of the method for storing organization-specific encryption keys of the present invention. The web server 6 prompts the recipient terminal to select the data submitter, accepts input of the recipient's passphrase, and accepts an output request. One or more data submitters can be selected. In this embodiment, if no submitter is selected, it is assumed that all submitters who have already submitted investigation report data have been selected.

[0108] (Step 200: Data decryption process (recipient)) The Web server 6 decrypts the recipient's private key with the recipient's passphrase, uses the decrypted recipient's private key to decrypt the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter, and uses the encryption key decrypted with the recipient's private key to decrypt the data stored in the database server in association with the recipient ID and the submitter ID of the selected submitter.

[0109] For example, if the recipient terminal is a terminal of X High School and the report data uploaded and submitted by A Junior High School and the report data uploaded and submitted by B Junior High School are to be output, the recipient's private key is first decrypted using the recipient's passphrase, i.e., the box management key of recipient X's encryption key storage box 21 is obtained.

[0110] The Web server 6 determines whether or not the database server contains the school report data 31 for submitter A, recipient X, which was submitted to X High School by one of the selected submitters (in this case, junior high school A) and encrypted (figuratively shown with a decryption lock attached in the figure). If the database contains the encrypted school report data 31 for submitter A, recipient X, the Web server 6 uses the decrypted recipient's private key to retrieve the encryption key stored in the recipient X's encryption key storage box 21 in association with the submitter ID of the selected submitter (in this case, junior high school A). That is, first, the encryption key 411 for submitter A, recipient X, which is stored in the recipient's encryption key storage box 21 in association with the submitter ID of the selected junior high school A (alma mater ID is 11), is decrypted.

[0111] Next, the submitter A recipient X's encryption key 411, decrypted with the recipient's private key, is used to decrypt the submitter A recipient X's data 31, which is data stored in the database server in association with the recipient ID (the school ID being applied to is 21) and the submitter ID (the alma mater ID is 11).

[0112] The data for submitter A and recipient X may be one data for all applicants, or may be individual data for each applicant. If there is multiple data for submitter A and recipient X, decryption is repeated using the same encryption key 411 until there is no undecrypted encrypted investigation report data.

[0113] The Web server 6 determines whether or not the database server contains the school report data 32 of submitter B, recipient X, which was submitted to X High School by another submitter (in this case, junior high school B) among the selected submitters and encrypted (figuratively indicated with a decryption lock in the figure), and if so, as in the case of junior high school A described above, it decrypts the encryption key 412 of submitter B, recipient X, which is stored in the encryption key storage box for recipient X, 21, which is associated with the submitter ID of the selected junior high school B (alma mater ID is 12), and uses the encryption key 412 of submitter B, recipient X, to decrypt data 32 of submitter B, recipient X, which is data stored in the database server in association with the recipient ID (school ID of the school being examined is 21) and the submitter ID (alma mater ID is 12).

[0114] The Web server 6 repeats the decryption process until there is no undecrypted investigation report data in the database server for all selected submitters, with recipient X as the recipient.

[0115] (Step 210: Data output process) The Web server 6 outputs the decrypted data to the recipient terminal. For example, if the data is data 31 of submitter A, recipient X, and data 32 of submitter B, recipient X, the Web server 6 outputs data 31 of submitter A, recipient X, and data 32 of submitter B, recipient X, to the recipient terminal at X High School. The output may be displayed, printed, or downloaded. If there are multiple pieces of data, they may be grouped together in a list and displayed, for example.

[0116] According to this embodiment, the recipient is not required to perform complicated operations and can safely output only the data of the selected submitter from among the data uploaded by one or an unspecified number of submitters, which is highly convenient and reduces information leakage.

[0117] Although the present embodiment illustrates and describes a case where there is only one submitter ID and one recipient ID, both the submitter and the recipient may have multiple IDs. In this case, it is preferable that the submitter notification address, recipient notification address, and encryption key storage box are set for each ID. The encryption key generated when the submitter initially uploads data to a recipient using a single submitter ID is automatically stored in the submitter encryption key storage box associated with that ID, and is also automatically stored in the submitter encryption key storage box associated with the submitter's other IDs. Furthermore, if the recipient has multiple IDs, it is preferable that such encryption keys are automatically stored in the recipient encryption key storage box for each recipient ID. Storing the same submitter-recipient encryption key in each encryption key storage box means that the same submitter-recipient encryption key is encrypted using a different public / private key pair for each ID. This provides convenience for both the submitter and the recipient, as even if one person has trouble, another person can safely and quickly carry out their work.

[0118] {effect} According to this embodiment, the submitter uses a submitter public key, and the recipient uses a recipient public key. Therefore, the public keys are not shared, and the encryption keys are securely stored, reducing the risk of information leakage. This further reduces the risk of information leakage by improving convenience for the submitter and the recipient and reducing transmission and management costs without compromising the effectiveness of the information leakage prevention measures. Furthermore, since the private keys corresponding to each public key are encrypted with their respective passphrases, the encryption keys can be stored more securely, further reducing the risk of information leakage. Furthermore, the submitter only needs to manage the submitter passphrase, and the recipient only needs to manage the recipient passphrase, providing greater convenience. Furthermore, since neither the submitter passphrase nor the recipient passphrase is stored on the server, neither the submitter's private key nor the recipient's private key can be decrypted by a server attack, further reducing the risk of information leakage.

[0119] According to this embodiment, the submitter simply needs to enter a submitter passphrase and select a recipient, and data is automatically encrypted when uploaded, resulting in high security and convenience. Furthermore, data is encrypted for each submitter and each recipient, reducing the risk of data information leaks. While the encryption key is not limited, a common key is preferred for convenience. The encryption key itself used to encrypt the data is encrypted using different public keys for the submitter and recipient, further reducing the risk of information leaks.

[0120] According to this embodiment, even if a common key is used as the encryption key for decrypting the school report data, different passphrases are used for decryption at the alma mater and the school being applied to, which provides superior security. The data transferred from the submitter to the recipient is highly confidential, and the submitter and recipient are from multiple different organizations, so the added value created by high security is significant.

[0121] According to this embodiment, the submitter can decrypt the data stored on the server using the submitter's passphrase and check the contents. Therefore, while achieving high security, it is convenient because it does not require cumbersome operations. Even if there are many recipients, management is easy because the submitter's passphrase is common.

[0122] According to this embodiment, the recipient can decrypt the data stored on the server using the recipient's passphrase and obtain the data. Therefore, while achieving high security, it is convenient because it does not require any cumbersome operations. Furthermore, since the common key used to decrypt the data is different from that of the submitter, it is highly effective in preventing information leakage.

[0123] This embodiment is also suitable when the data transferred from the submitter to the recipient is highly confidential data and the submitter and recipient are different organizations.

[0124] The present invention is not limited to the above-described embodiments, and various modifications and variations are possible without departing from the spirit of the invention. Furthermore, the components of the above-described embodiments can be combined in any manner without departing from the spirit of the invention.

[0125] For example, the submitter and recipient may be a medical institution instead of a school, and the data may be medical records or other sensitive data instead of school report data. [Explanation of symbols]

[0126] 2. Submitter's terminal 3. Recipient terminal 4 Network 5. Server administrator terminal 6 Web Server 68 Submitter's data submission form screen 69 Recipient data submission form screen 7 Database Server 71 Confidential Data Management Database 11 Encryption key storage box for submitter A 12 Encryption key storage box for submitter B 13 Encryption key storage box for submitter C 14. Encryption key storage box for submitter D 21 Encryption key storage box for recipient X 22 Encryption key storage box for recipient Y 23 Encryption key storage box for recipient Z 31 Data of submitter A and recipient X 311 Decryption key for submitter A and recipient X 32 Submitter B's recipient X's data 321 Decryption key for submitter B and recipient X 33 Submitter C, Recipient X's data 331 Decryption key for submitter C and recipient X 34 Data of submitter A and recipient Y 341 Decryption key for submitter A and recipient Y 35 Data of submitter B and recipient Y 351 Decryption key for submitter B and recipient Y 36 Data of submitter C and recipient Y 361 Decryption key for submitter C and recipient Y 37 Data of submitter D and recipient Y 371 Decryption key for submitter D and recipient Y 411 Encryption key for submitter A and recipient X 412 Encryption key for submitter B and recipient X 413 Encryption key for submitter C and recipient X 421 Encryption key for submitter A and recipient Y 422 Encryption key for submitter B and recipient Y 423 Encryption key for submitter C and recipient Y 424 Encryption key for submitter D and recipient Y

Claims

1. one or more web servers connected via a network to one or more submitter terminals that are submitters of data and have submitter IDs, and one or more recipient terminals that are recipients of the data and have recipient IDs; one or more database servers interconnected to the web server; A group of servers with multiple types of server functions, including A method for storing encryption keys for encrypting the data separately between the sender and the recipient, a recipient encryption key storage box generating step in which the server group generates, for each recipient, a recipient public key, a recipient private key corresponding to the recipient public key, and a recipient encryption key storage box that uses the recipient private key as a box management key to encrypt the data, encrypts the data with the recipient public key, stores the encrypted data in association with the submitter ID of the submitter, and enables the encryption key to be decrypted and retrieved using the recipient private key; and a recipient passphrase generating step in which the server group automatically generates a recipient passphrase for encrypting the recipient private key; a recipient private key encryption step in which the server group encrypts the recipient private key with the recipient passphrase and stores the encrypted recipient private key and the recipient public key in the database server; a recipient passphrase notification step in which the server group notifies a predetermined recipient notification destination of the recipient passphrase and does not store the recipient passphrase in the database server; and a submitter login accepting step in which the server group accepts a login from the submitter terminal; a submitter encryption key storage box generation step in which the server group generates, for each submitter, a submitter public key, a submitter private key corresponding to the submitter public key, and a submitter encryption key storage box in which an encryption key for encrypting the data is encrypted with the submitter public key using the submitter private key as a box management key, the encryption key for encrypting the data is stored in association with the recipient ID of the recipient of the data, and the encryption key can be decrypted with the submitter private key and retrieved; and a submitter passphrase generation step in which the server group generates a submitter passphrase for encrypting the submitter private key; a submitter private key encryption step in which the server group encrypts the submitter private key with the submitter passphrase and stores the encrypted submitter private key and the submitter public key in the database server; a submitter passphrase notification step in which the server group notifies a predetermined submitter notification destination of the submitter passphrase and does not store the submitter passphrase in the database server; A method for storing an organization-specific encryption key, comprising:

2. a data receiving step in which the server group receives an input of the submitter passphrase from the submitter terminal, allows the submitter to select a recipient of the data, and receives an upload of the data; a submitter's encryption key encryption and storage step in which, if there is no encryption key associated with the recipient ID of the selected recipient in the submitter's encryption key storage box, the server group generates an encryption key associated with the submitter ID and the recipient ID, encrypts it with the submitter's public key, and stores it in the submitter's encryption key storage box in association with the recipient ID; a recipient's encryption key encryption and storage step in which the server group encrypts the encryption key generated in the submitter's encryption key encryption and storage step with the recipient's public key of the selected recipient and stores the encryption key in the recipient's encryption key storage box of the selected recipient in association with the submitter ID; a submitter's private key decryption step in which the server group decrypts the submitter's private key using the submitter's passphrase when the submitter's private key is stored in the submitter's private key storage box and when the submitter's private key is stored in the submitter's private key encryption storage step; a submitter's encryption key decryption step in which the server group decrypts an encryption key associated with the recipient ID from the submitter's encryption key storage box using the submitter's private key; a data storage step in which the server group encrypts the data with an encryption key decrypted with the submitter's private key, and stores the data in the database server in association with the submitter ID and the recipient ID; 2. The method for storing an organization-specific encryption key according to claim 1, further comprising:

3. a viewing acceptance step in which the server group allows the submitter terminal to select a recipient of the data, accepts input of the submitter passphrase, and accepts a viewing request; a data decryption step (submitter) in which the server group decrypts the submitter's private key with the submitter's passphrase, decrypts the encryption key stored in the submitter's encryption key storage box in association with the recipient ID of the selected recipient, and decrypts the data stored in the database server in association with the recipient ID and the submitter's ID, using the encryption key decrypted with the submitter's private key; a data display step in which the server group displays the decrypted data on the submitter terminal; 3. The method for storing an organization-specific encryption key according to claim 2, further comprising:

4. an output receiving step in which the server group allows the recipient terminal to select a submitter of the data, receives input of the recipient passphrase, and receives an output request; a data decryption step (recipient) in which the server group decrypts the recipient's private key with the recipient's passphrase, decrypts the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter, and decrypts the data stored in the database server in association with the recipient ID and the submitter ID, using the encryption key decrypted with the recipient's private key; a data output step in which the server group outputs the decrypted data to the recipient terminal; 3. The method for storing an organization-specific encryption key according to claim 2, further comprising:

5. 5. The method for storing an organization-specific encryption key according to claim 1, wherein the data is school report data, the submitter is the alma mater, and the recipient is the school to which the student is taking an exam.

6. one or more web servers connected via a network to one or more submitter terminals that are submitters of data and have submitter IDs, and one or more recipient terminals that are recipients of the data and have recipient IDs; one or more database servers interconnected to the web server; A group of servers with multiple types of server functions, including A system in which the sender and the recipient store encryption keys for encrypting the data separately, The server group a recipient encryption key storage box generating means for generating, for each recipient, a recipient public key, a recipient private key corresponding to the recipient public key, and a recipient encryption key storage box which uses the recipient private key as a box management key, encrypts an encryption key for encrypting the data with the recipient public key, stores the encryption key in association with the submitter ID of the data submitter, and from which the encryption key can be decrypted and retrieved with the recipient private key; and a recipient passphrase generating means for automatically generating a recipient passphrase for encrypting the recipient private key; a recipient private key encryption means for encrypting the recipient private key with the recipient passphrase and storing the encrypted recipient private key and the recipient public key in the database server; a recipient passphrase notification means for notifying a predetermined recipient notification destination of the recipient passphrase and preventing the database server from storing the recipient passphrase; submitter login accepting means for accepting login from the submitter terminal; a submitter's encryption key storage box generating means for generating, for each submitter, a submitter's public key, a submitter's private key corresponding to the submitter's public key, and a submitter's encryption key storage box which uses the submitter's private key as a box management key and encrypts an encryption key for encrypting the data with the submitter's public key, stores the encryption key in association with a recipient ID of a recipient of the data, and which can decrypt and retrieve the encryption key with the submitter's private key; and a submitter passphrase generating means for generating a submitter passphrase for encrypting the submitter private key; a submitter private key encryption means for encrypting the submitter private key with the submitter passphrase and storing the encrypted submitter private key and the submitter public key in the database server; submitter passphrase notification means for notifying a predetermined submitter notification destination of the submitter passphrase and preventing the database server from storing the submitter passphrase; 1. A system for storing encryption keys by organization, comprising:

7. The server group further a data receiving means for receiving an input of the submitter's passphrase from the submitter terminal, prompting the submitter to select a recipient of the data, and receiving an upload of the data; a submitter's encryption key encryption storage means for generating an encryption key associated with the submitter's ID and the recipient ID if the submitter's encryption key storage box does not contain an encryption key associated with the recipient ID of the selected recipient, encrypting the encryption key with the submitter's public key, and storing the encryption key in the submitter's encryption key storage box in association with the recipient ID; a recipient's encryption key encryption storage means for encrypting the encryption key generated by the submitter's encryption key encryption storage means with the recipient's public key of the selected recipient and storing the encrypted encryption key in a recipient's encryption key storage box of the selected recipient in association with the submitter ID; a submitter's private key decryption means for decrypting the submitter's private key using the submitter's passphrase when an encryption key associated with the recipient ID is stored in the submitter's encryption key storage box; an encryption key decryption means for decrypting an encryption key associated with the recipient ID from the encryption key storage box for the submitter using the submitter's private key; a data storage means for encrypting the data with an encryption key decrypted with the submitter's private key and storing the data in the database server in association with the submitter ID and the recipient ID; 7. The system for storing encryption keys by organization according to claim 6, further comprising:

8. The server group further a view acceptance means for allowing the submitter terminal to select a recipient of the data, accepting input of the submitter passphrase, and accepting a view request; a data decryption means (submitter) for decrypting the submitter's private key with the submitter's passphrase, decrypting an encryption key stored in a submitter's encryption key storage box in association with the recipient ID of a selected recipient with the submitter's private key, and decrypting the data stored in the database server in association with the recipient ID and the submitter ID with the encryption key decrypted with the submitter's private key; a data display means for displaying the decrypted data on the submitter terminal; 8. The system for storing encryption keys by organization according to claim 7, further comprising:

9. The server group further an output receiving means for allowing the recipient terminal to select a submitter of the data, receiving an input of the recipient passphrase, and receiving an output request; data decryption means (recipient) for decrypting the recipient's private key with the recipient's passphrase, decrypting the encryption key stored in the recipient's encryption key storage box in association with the submitter ID of the selected submitter with the decrypted recipient's private key, and decrypting the data stored in the database server in association with the recipient ID and the submitter ID with the encryption key decrypted with the recipient's private key; data output means for outputting the decrypted data to the recipient terminal; 8. The system for storing encryption keys by organization according to claim 7, further comprising:

10. 10. The system for storing encryption keys by organization according to claim 6, wherein the data is school report data, the submitter is the alma mater, and the recipient is the school to which the student is taking an exam.

Citation Information

Patent Citations

  • File exchange system, file exchange server and file exchange program

    JP2012160110A

  • Matching method of application data and written investigation data

    JP2021174075A

  • How to match application data with study report data

    JP6715423B1

  • How to match application data with study report data

    JP6752480B1

  • Secure communication of payload data

    US20210258287A1