File provisioning system, file provisioning method, and program

JP7898708B2Active Publication Date: 2026-08-03OPENING LINE CO LTD
View PDF 15 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
OPENING LINE CO LTD
Filing Date
2021-09-07
Publication Date
2026-08-03

AI Technical Summary

Benefits of technology

【0023】 本発明によれば、ファイルを提供する場合に、より簡便に、情報漏洩に対する安全性を向上することが可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007898708000001
    Figure 0007898708000001
  • Figure 0007898708000002
    Figure 0007898708000002
  • Figure 0007898708000003
    Figure 0007898708000003
Patent Text Reader

Abstract

To more easily improve safety against information leakage when a file is provided.SOLUTION: A file providing system 1A includes file encryption means 331 that provides a file from a transmission source terminal 301A operated by a transmission source user to a transmission destination terminal 301B operated by a transmission destination user, encrypts the original file to be transmitted with a password, and generates an encrypted file, password encryption means 335 that encrypts the password and generates an encrypted password, file providing means 321 that provides the encrypted file from the transmission source terminal 301A to the transmission destination terminal 301B, password decryption means 341 that obtains the encrypted password and decrypts the encrypted password, and file decryption means 342 that decrypts a file encrypted with the password.SELECTED DRAWING: Figure 8
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a file providing system, a file providing method, and a program for providing a file from a source terminal operated by a source user to a destination terminal operated by a destination user.

Background Art

[0002] [[ID=十二]]For example, conventionally, a computer capable of accessing a distributed ledger network that distributes and holds transaction information signed with a user's private key to a plurality of nodes receives a message to the user and a destination address of the message, encrypts the received message with a public key corresponding to the user's private key, and encrypts the message with the public key. A computer program has been proposed for executing a process of transmitting the message to a destination address via a distributed ledger network (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 一

Summary of the Invention

Problems to be Solved by the Invention

[0004] By the way, in recent years, when transmitting a file together with a message, in order to improve the safety against information leakage, the source user encrypts the file with a password (encrypts it), transmits it as an attached file of the message, and then transmits a message for communicating the password. Such an operation is performed. In addition, the destination user can confirm the contents of the file by decrypting the file attached to the first email using the password shown in the next received message.

[0005] In recent years, procedures to improve the security of sending files, along with the message itself, have become quite cumbersome. For the sending user, this involves password-protecting the file and then sending a separate message containing the password to the receiving user. For the receiving user, it also involves considerable effort to find a separate message containing the password from the message in which the file was sent, and then use this password to decrypt the file.

[0006] This invention was made to solve these problems, and aims to provide a file provision system, file provision method, and program that can provide files more easily and improve security against information leakage. [Means for solving the problem]

[0007] The first aspect of the present invention is, A file delivery system that provides files from a sending terminal operated by a sending user to a receiving terminal operated by a receiving user, A file encryption method that encrypts the source file to be sent with a password and generates an encrypted file, A password encryption means that encrypts the aforementioned password and generates an encrypted password, A file provision means that provides the encrypted file from the sending terminal to the receiving terminal, A password decryption means for obtaining the encrypted password and decrypting the encrypted password, A file decryption means for decrypting the encrypted file using the aforementioned password, It is characterized by being equipped with [the following features].

[0008] With this configuration, the file delivery system provides files from a source terminal operated by a sending user to a destination terminal operated by a receiving user, and includes file encryption means, password encryption means, file delivery means, password decryption means, and file decryption means. The file encryption method encrypts the source file to be sent with a password and generates an encrypted file. The password encryption method encrypts the password and generates an encrypted password. The file delivery method involves providing encrypted files from the sending terminal to the receiving terminal. The password decryption method involves obtaining the encrypted password and then decrypting the encrypted password. The file decryption method decrypts files that have been encrypted with a password.

[0009] This process allows the file delivery system to generate an encrypted file by encrypting the original file with a password, and then further encrypt this password to generate an encrypted password. The encrypted file is then provided from the sending terminal to the receiving terminal, the encrypted password is decrypted, and the encrypted file is decrypted using the decrypted password. Therefore, to improve security against information leakage, the sending user does not need to password-protect the original file and send a separate message containing the password to the receiving user. Similarly, the receiving user does not need to search for a separate message containing the password and use that password to decrypt the file. Furthermore, since the password used to encrypt the original file is further encrypted, security against information leakage is improved. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0010] A preferred embodiment of the first aspect of the present invention is: It further includes a key generation means for generating a public key and a private key, The password encryption means generates a common key from the public key of the recipient user and the private key of the sender user, encrypts the password with the common key, and generates the encrypted password. The password decryption means generates a common key from the public key of the sending user and the private key of the receiving user, and decrypts the encrypted password using the common key. It is characterized by the following:

[0011] In this configuration, the key generation means generates a public key and a private key. The password encryption method generates a shared key from the recipient user's public key and the sender user's private key, encrypts the password using the shared key, and generates an encrypted password. The password decryption method generates a shared key from the public key of the sending user and the private key of the receiving user, and then uses the shared key to decrypt the encrypted password.

[0012] This allows a shared key to be generated using the recipient user's public key and the sender user's private key. The password can then be encrypted using this shared key and decrypted using the shared key generated from the sender user's public key and the recipient user's private key. Therefore, compared to encryption based solely on the recipient user's public key, for example, security against information leakage is significantly improved.

[0013] Regarding the first aspect of the present invention, other preferred embodiments include: The key generation means updates the public key and / or the private key each time encryption and / or decryption is performed. It is characterized by the following:

[0014] With this configuration, even if the private key used for encryption or decryption is leaked after encryption or decryption, the public key and / or private key have already been updated, thus improving security against information leakage.

[0015] Regarding the first aspect of the present invention, other preferred embodiments include: The key generation means generates the combination of the public key and the private key separately for encryption and decryption, respectively. It is characterized by this.

[0016] According to such a configuration, even if one of the encryption and decryption is leaked, the leakage of the other can be prevented, so the security against information leakage is further improved.

[0017] Regarding the first aspect of the present invention, as another preferred embodiment, It further includes mask generation means for generating a mask for encrypting the password for each file. The password encryption means encrypts the password with the common key and the mask to generate the encrypted password. The password decryption means decrypts the encrypted password with the common key and the mask. It is characterized by this.

[0018] According to such a configuration, the mask generation means generates a mask for encrypting the password for each file. Then, the password encryption means encrypts the password with the common key and the mask to generate the encrypted password. Also, the password decryption means decrypts the encrypted password with the common key and the mask.

[0019] Thereby, compared with the case of encrypting only with the common key, the security against information leakage is further improved. In addition, to decrypt a file, it is necessary to decrypt the password. By providing the mask required for decrypting such a password separately from the common key, it is possible to enable or stop decrypting the file with the mask. For example, even if an encrypted file is accidentally provided (mistransmitted), the file decryption can be stopped by not providing the mask.

[0020] The second aspect of the present invention is A method performed by a file delivery system to provide a file from a sending terminal operated by a sending user to a receiving terminal operated by a receiving user, The steps include encrypting the source file to be sent with a password and generating an encrypted file, The steps include: encrypting the aforementioned password and generating an encrypted password; The steps include providing the encrypted file from the sending terminal to the receiving terminal, The steps include obtaining the encrypted password and decrypting the encrypted password, The steps include: decrypting the encrypted file using the aforementioned password; A method for providing files, characterized by including the following:

[0021] A third aspect of the present invention is, A file delivery system that provides files from a sending terminal operated by the sending user to a receiving terminal operated by the receiving user, A file encryption method that encrypts the source file to be sent with a password and generates an encrypted file. A password encryption means that encrypts the aforementioned password and generates an encrypted password, File provision means for providing the encrypted file from the sending terminal to the receiving terminal, A password decryption means for obtaining the encrypted password and decrypting the encrypted password, A file decryption means that decrypts the encrypted file using the aforementioned password. A program that makes it function as such.

[0022] According to these second and third aspects, the same effects and advantages as those of the file transmission system related to the first aspect are achieved. [Effects of the Invention]

[0023] According to the present invention, it is possible to provide files in a simpler way while improving security against information leakage. [Brief explanation of the drawing]

[0024] [Figure 1] This figure illustrates an overview of a file transmission system according to an embodiment of the present invention. [Figure 2] This is a block diagram showing the hardware configuration of a computer constituting a file transmission system according to an embodiment of the present invention. [Figure 3] This block diagram shows the functional configuration of a file transmission system according to an embodiment of the present invention. [Figure 4] This figure illustrates the function of the key management means in a file transmission system according to an embodiment of the present invention. [Figure 5] This figure illustrates the functions of the encryption and decryption means in a file transmission system according to an embodiment of the present invention. [Figure 6] This figure illustrates a plurality of divided encrypted files in a file transmission system according to an embodiment of the present invention. [Figure 7] This flowchart shows the file transmission process executed by the file transmission system according to an embodiment of the present invention. [Figure 8] This figure illustrates an overview of a file provisioning system according to a modified embodiment of the present invention. [Figure 9] This is a block diagram showing the functional configuration of a file provision system according to a modified embodiment of the present invention. [Figure 10] This figure illustrates the key and password mask in a file provisioning system according to a modified embodiment of the present invention. [Figure 11] This figure illustrates the encryption and decryption process in a file provisioning system according to a modified embodiment of the present invention. [Figure 12] This flowchart shows the file provision process executed by the file provision system according to an embodiment of the present invention. [Modes for carrying out the invention]

[0025] Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the attached drawings.

[0026] <Embodiment> [Overview of the file transfer system] Figure 1 is a diagram illustrating an overview of a file transmission system according to an embodiment of the present invention. The outline of File Transmission System 1 (hereinafter also simply referred to as "the System" or "this System") will be described below. File Transmission System 1 includes a file management device 100, storage means 200 connected to the file management device 100 via a network (e.g., the Internet, a company LAN, etc.) and constituting a blockchain, for example, and a plurality of terminals 300 (300A, 300B in the example shown in Figure 1).

[0027] This system is a system that sends a file from a sending terminal operated by the sending user (e.g., terminal 300A) to a receiving terminal operated by the receiving user (e.g., terminal 300B). In this modified example, "file" and the "source file" described later are files that can be created, edited, and displayed using applications installed on a typical personal computer.

[0028] Specifically, this system generates an encrypted file at the sending terminal (terminal 300A) by encrypting the original file to be sent, and then sends this encrypted file to the receiving terminal (terminal 300B). The receiving terminal (terminal 300B) then decrypts the received encrypted file and retrieves the original file.

[0029] Furthermore, for each original file, this system manages information indicating at least that an encrypted version of the original file has been sent, the recipient user of the encrypted file, that the encrypted file has been decrypted, and the user who decrypted the encrypted file.

[0030] Specifically, when the sending terminal (terminal 300A) sends an encrypted file to the receiving terminal (terminal 300B), it sends transmission history information to the file management device 100. Furthermore, when the receiving terminal (terminal 300B) decrypts the encrypted file received from the sending terminal (terminal 300A), it sends decryption history information to the file management device 100.

[0031] The file management device 100 then generates history information for each original file, which associates the transmission history information and the decryption history information with information indicating the original file (for example, identification information to identify the original file), and stores this history information so that it can be shared by multiple storage means 200.

[0032] [Hardware configuration of the file transfer system] First, the hardware configuration of the computer constituting the file transmission system according to an embodiment of the present invention will be described with reference to Figure 2. Figure 2 is a block diagram showing the hardware configuration of the computer constituting the system. The file management device 100, storage means 200, and terminal 300 constituting the system according to this embodiment are implemented by a general-purpose computer. The computer basically consists of a CPU (Central Processing Unit) 1, ROM (Read Only Memory) 2, RAM (Random Access Memory) 3, storage device 4, input / output interface (hereinafter abbreviated as "IF") 5, mouse 6, keyboard 7, display device 8, printer 9, and communication device 10. The CPU 1, ROM 2, RAM 3, storage device 4, and IF 5 are connected to each other via an internal bus. The mouse 6, keyboard 7, display device 8, printer 9, and communication device 10 are connected to the internal bus via IF 5.

[0033] CPU1 controls and executes the overall operation of the computer, for example, executing the file transfer process described later based on a program. ROM2 stores control programs and other data necessary for controlling the overall operation of the computer. RAM3 provides the necessary workspace and storage area for various data when controlling the execution of CPU1. Storage device 4 is a large-capacity storage device, such as a hard disk drive or solid-state drive, and stores programs and data for executing the file transfer process, etc., as they are installed or downloaded. IF5 exchanges various signals between the mouse 6, keyboard 7, display device 8, printer 9, and communication device 10 and CPU1.

[0034] The mouse 6 is a so-called pointing device and is used to perform selection operations on the screen of the display device 8. The keyboard 7 is used to directly input characters, numbers, etc., on the screen of the display device 8. The display device 8 is, for example, a liquid crystal display and displays character information on the input operation display screen and the output result display screen. The printing device 9 is, for example, an inkjet printer or laser printer and prints, for example, the diagrams displayed on the output result display screen onto paper according to the printing operation. The communication device 10 is connected to terminals or devices on the internet, etc., via a network line not shown in the diagram, and downloads and uploads various data and programs to and from these terminals, etc., in response to web requests.

[0035] In this embodiment, the computer has programs and data for executing file transfer processing pre-installed on the storage device 4. However, since it is basically connected to the internet, it may also be operated by downloading programs and data for executing file transfer processing from other external servers each time.

[0036] Furthermore, in this embodiment, "reception" refers to the storage of files in the file management device 100 through file operations such as uploading via the internet or saving via the company LAN from the terminal 300. Furthermore, in this embodiment, "provision" refers to the storage of files in the terminal 300 through file operations such as uploading via the internet or saving via the company LAN from the file management device 100.

[0037] [System Functional Configuration] Next, we will describe the functional configuration of the system. Figure 3 is a block diagram showing the functional configuration of this system.

[0038] This system, as an example of a computer shown in Figure 2, includes a file management device 100, storage means 200 connected to the file management device 100 via a network (e.g., the Internet, a company LAN, etc.) and constituting, for example, a blockchain, and multiple terminals 300. The multiple storage means 200 may be devices outside this system, or they may be multiple storage areas in the storage device 4 provided by the file management device 100.

[0039] (File management device) The file management device 100 includes a receiving means 110, a key management means 120, a history information management means 130, and a providing means 140.

[0040] The reception means 110 receives user information, which is information about the user performing the operation (for example, user identification information that identifies the user, such as a username, and sending / receiving addresses such as an email address), and public key information that indicates the public key of each user. The reception means 110 may receive user information and public key information from each terminal 300, or from another device (for example, a server that stores user information and public key information), or it may receive user information and public key information based on the operation of an input means (for example, a mouse 6 or keyboard 7) by a person operating the file management device 100.

[0041] Furthermore, the receiving means 110 receives from each terminal 300 information including that an encrypted version of the original file has been sent, transmission history information including information indicating the recipient user of the encrypted file, and decryption history information including that the encrypted file has been decrypted, and information indicating the user who decrypted the encrypted file, and stores this information in a storage device 4 or RAM 3, which are examples of storage means. The receiving means 110 receives transmission history information each time an encrypted version of a given original file is sent, and receives decryption history information each time the encrypted file is decrypted. In other words, the receiving means 110 can receive transmission history information and decryption history information for a given original file one to multiple times.

[0042] Furthermore, the receiving means 110 receives request information from the terminal 300 (a terminal 300 operated by the sending user) requesting the provision of a public key and sending / receiving addresses for a certain user (the receiving user).

[0043] The key management means 120 associates the public key information with the user information received by the reception means 110 and stores it in a storage device 4 or RAM 3, which are examples of storage means. The key management means 120 also sets a public key and a private key for each user and stores them in the storage means.

[0044] Figure 4 is a diagram illustrating the function of the key management means in a file transmission system according to an embodiment of the present invention. The key management means 120 associates a sending user (user A) and a receiving user (user B) on a one-to-one basis and sets their respective public and private keys. Alternatively, the key management means 120 may associate the public and private keys of one sending user (user A) with a single public and private key shared by multiple receiving users (for example, user B, user C, user D, etc.). This makes it possible to send an encrypted version of the original file to multiple users, and for each user to decrypt the encrypted file and obtain the original file.

[0045] Furthermore, the key management means 120 sets a salt, which is a randomly generated bit sequence used to generate a common key, in association with the public and private keys of the sending user and the public and private keys of the receiving user. This salt is provided to the terminals 300 of the sending user and the receiving user, respectively, by the providing means 140.

[0046] Returning to Figure 3, the history information management means 130 generates history information for each original file, including transmission history information and decryption history information received by the reception means 110. That is, the history information is a history of encryption, transmission, and decryption operations performed on the original file, and includes user identification information of the sending user who is the sender of the encrypted file from which the original file was encrypted, user identification information of the recipient user of the encrypted file, transmission date and time information indicating the date and time the encrypted file was sent, user identification information of the user who decrypted the encrypted file, and decryption date and time information indicating the date and time the encrypted file was decrypted.

[0047] In detail, the history information management means 130 generates history information for each original file, which is the hash value of the first transmission history information received by the receiving means 110, using, for example, a known hash function. Subsequently, the history information management means 130 cumulatively generates history information each time the receiving means 110 receives transmission history information or decryption history information.

[0048] For example, when the receiving means 110 receives the initial transmission history information 1 for a given source file, the history information management means 130 generates history information X (transmission history information 1). Subsequently, when the receiving means 110 receives the decryption history information 1, it generates history information X+1 (transmission history information 1 + decryption history information 1). Subsequently, when the receiving means 110 receives the transmission history information 2, it generates history information X+2 (transmission history information 1 + decryption history information 1 + transmission history information 2). The history information management means 130 associates these history information X, history information X+1, and history information X+2 with the identification information of a given source file.

[0049] Furthermore, the history information management means 130 may generate history information using any type of data, not limited to hash values. Also, the history information management means 130 may generate history content information using any type of data, not limited to hash values, as long as it represents cumulative history information.

[0050] The history information management means 130 stores the cumulative history information generated for each original file so that it can be shared among multiple storage means 200.

[0051] The providing means 140 provides the public key information stored in the storage means to the terminal 300. Specifically, when the receiving means 110 receives request information from, for example, the terminal 300 requesting the provision of a public key and sending / receiving addresses for a certain user, the providing means 140 refers to the storage means and provides the public key and sending / receiving addresses of the requested user to the terminal 300 that sent the request information.

[0052] (terminal) The terminal 300 includes an acquisition means 310, a transmission / reception means 320 which is an example of a transmission means, an encryption means 330, and a decryption means 340.

[0053] The acquisition means 310 acquires the public key of the recipient user. Specifically, for example, in response to a user operation, if the recipient user's public key is stored in the storage means, the acquisition means 310 reads the public key from the storage means; if it is not stored, it sends request information to the file management device 100 and receives the public key from the file management device 100.

[0054] The transmitting / receiving means 320 sends request information to the file management device 100, and if terminal 300 functions as a sending terminal, it sends the encrypted message and original file to the receiving terminal, and if terminal 300 functions as a receiving terminal, it receives the encrypted message and original file from the sending terminal. In addition, if terminal 300 functions as a sending terminal, the transmitting / receiving means 320 sends the public key of the sending user along with the encrypted file. The transmitting / receiving means 320 also receives a salt from the file management device 100, which is a randomly generated bit sequence used to generate a common key. Note that the same salt is received whether terminal 300 functions as a sending terminal or a receiving terminal.

[0055] Furthermore, when terminal 300 functions as a sending terminal, if it has sent an encrypted file to another terminal 300 (receiving terminal), the transmitting / receiving means 320 sends transmission history information to the file management device 100, which includes information indicating that the encrypted file of the original file has been sent and information indicating the recipient user of the encrypted file. Also, when terminal 300 functions as a receiving destination, if it has decrypted an encrypted file received from another terminal 300 (sending terminal), the transmitting / receiving means 320 sends decryption history information to the file management device 100, which includes information indicating that the encrypted file has been decrypted and information indicating the user who decrypted the encrypted file.

[0056] The encryption means 330 primarily reads the source file to be sent to another terminal 300 (destination terminal) from the storage means, encrypts it, and generates an encrypted file when terminal 300 functions as a source terminal.

[0057] The decryption means 340 primarily decrypts encrypted files received from other terminals 300 (sender terminals) when terminal 300 functions as a destination terminal, and stores the original files in the storage means.

[0058] Figure 5 is a diagram illustrating the functions of the encryption and decryption means in a file transmission system according to an embodiment of the present invention.

[0059] The encryption means 330 of terminal 300A, which is operated by the sending user (user A) and functions as a sending terminal, uses a symmetric-key encryption algorithm such as AES (Advanced Encryption Standard) CBC mode (Cipher Block Chaining Mode) to generate a symmetric key from the public key of the recipient user (user B) and the private key of the sending user A, using a salt provided by the file management device 100. The original file is then encrypted using the symmetric key and an initialization vector, which is a randomly generated bit sequence, to produce an encrypted file. By generating the encrypted file in this way, also using the initialization vector, the difficulty of decrypting the encrypted file by unauthorized means is increased, thereby further enhancing security.

[0060] Terminal 300A, using a general mail client (such as the mail software installed on terminal 300) that functions as a sending / receiving means 320, sends the encrypted file and the public key of the sender user (user A) to terminal 300B, which is manipulated by the recipient user (user B) and functions as a recipient terminal. Terminal 300A also sends the initialization vector to terminal 300B.

[0061] The decryption means 340 of terminal 300B uses a symmetric-key encryption algorithm and a salt provided by the file management device 100 to generate a symmetric key from the public key of the source user (user A) and the private key of the destination user B received by the transmission / reception means 320. The decryption means uses the initialization vector and symmetric key sent from terminal 300A to decrypt the encrypted file and stores the decrypted original file in the storage means.

[0062] [Application Example 1] If the original file size exceeds the size that can be attached to an email, the file transmission system 1, for example, uses the encryption means 330 of the sending terminal 300A to split the file into multiple encrypted files, the decryption means 340 of the receiving terminal 300B to combine the multiple encrypted files and decrypt the file, and then stores the decrypted original file in the storage means.

[0063] Figure 6 illustrates a plurality of divided encrypted files in a file transmission system according to an embodiment of the present invention. Each of the plurality of encrypted files generated by the encryption means 330 from a single source file comprises a header section and an encrypted content section. The header section includes, for example, a sequence number, the public key of the sending user, and an initialization vector (iv).

[0064] In this way, by splitting a single original file into multiple encrypted files, it becomes possible to send original files that are too large to be attached to an email as email attachments more easily, while also improving security against information leakage.

[0065] [Application Example 2] The file transmission system 1 may, for example, prevent the recipient user's terminal 300 from decrypting the file if the sending user unintentionally sends the original file (encrypted file) to the recipient user, or if the original file (encrypted file) is sent to an unintended recipient user.

[0066] In this case, when the receiving means 110 receives the transmission history information, the history information management means 130 issues a traceability address associated with the original file and generates history information including that address. The history information management means 130 records the transmission history information and the decryption history information in this address and sets a cancellation flag to cancel the decryptable state using metadata functions of the address.

[0067] The history information management means 130 sets a cancellation flag when it receives, for example, decryption denial information from the sending user's terminal 300 indicating that decryption is not permitted.

[0068] In application example 2, when the recipient user's terminal 300 decrypts the encrypted file, the sending / receiving means 320 receives cancellation flag status information from the file management device 100, indicating the status of the cancellation flag. If this cancellation flag status information indicates that the cancellation flag is not set, the decryption means 340 of the recipient user's terminal 300 decrypts the encrypted file; if it indicates that the cancellation flag is set, it terminates the process without decrypting the encrypted file.

[0069] [Application Example 3] In this embodiment, an example was described in which the terminal 300 is equipped with encryption means 330 and decryption means 340. However, the invention is not limited to this example, and the file management device 100 may also be equipped with encryption means 330 and decryption means 340.

[0070] In this case, the file management device 100 stores each user's public key and private key in a storage means. It refers to the storage means to read the private key of the sending user and the public key of the receiving user, uses these to generate a common key, encrypts the original file with the common key, and generates an encrypted file. The file management device 100 also refers to the storage means to read the public key of the sending user and the private key of the receiving user, uses these to generate a common key, and decrypts the encrypted file with the common key.

[0071] With this configuration, the sending user provides the file management device 100 with information specifying the original file and the recipient user via terminal 300. The file management device 100 then provides the encrypted file, which the sending user sends to the recipient user's terminal 300. The recipient user then receives the original file by providing the file management device 100 with information specifying the encrypted file and the sending user via terminal 300.

[0072] [System file transfer process] Next, the file transmission process performed by this system will be described. In the following processing flow diagram (flowchart), the processing order of each step may be changed as long as the relationship between the input and output of each step is not impaired. Figure 7 is a flowchart showing the file transmission process performed by the file transmission system according to an embodiment of the present invention.

[0073] In step S1, the encryption means 330 of terminal 300A obtains the source file specified by the operation of the sending user. Specifically, in this step, the encryption means 330 reads the source file from the storage means, for example.

[0074] In step S2, the encryption means 330 of terminal 300A generates an encrypted file by encrypting the original file obtained in step S1. Specifically, in this step, the encryption means 330 generates a common key using the private key of the sending user and the public key of the receiving user, encrypts the original file with this common key, and generates an encrypted file.

[0075] In step S3, the transmitting / receiving means 320 of terminal 300A sends the encrypted file generated by the encryption means 330 in step S2 to the recipient user's terminal 300B. Specifically, the transmitting / receiving means 320 sends the source user's public key and the encrypted file to the recipient user's terminal 300B, for example, as a message attachment, based on user operation.

[0076] In step S4, the transmitting and receiving means 320 of terminal 300B receives the encrypted file and the public key of the sending user that were sent from terminal 300A in step S3.

[0077] In step S5, the transmission / reception means 320 of terminal 300A transmits transmission history information to the file management device 100, which includes information indicating that an encrypted version of the original file has been transmitted and the recipient user of the encrypted file.

[0078] In step S6, the file management device 100 receives the transmission history information sent from the terminal 300A in step S5 via the receiving means 110.

[0079] In step S7, the decryption means 340 of terminal 300B decrypts the encrypted file received by the transmission / reception means 320 in step S4. Specifically, the decryption means 340 generates a common key from the public key of the sending user and the private key of the receiving user received by the transmission / reception means 320, decrypts the encrypted file using the common key, and stores the decrypted original file in the storage means.

[0080] In step S8, the transmission / reception means 320 of terminal 300B transmits decryption history information to the file management device 100, which includes information indicating that the encrypted file has been decrypted and the user who decrypted the encrypted file.

[0081] In step S9, the file management device 100 receives the transmission history information sent from the terminal 300B in step S8 via the receiving means 110. The file management device 100 generates history information for each original file, including the transmission history information received by the receiving means 110 in step S6 and the decryption history information received in step S9, via the history information management means 130. The cumulative history information generated for each original file is then stored so that it can be shared among multiple storage means 200 (see Figure 3).

[0082] Furthermore, the history information management means 130 of the file management device 100 may generate history information when it receives transmission history information in step S6, and update the history information to include the decryption history information when it receives decryption history information in step S9.

[0083] This system generates an encrypted file by encrypting the original file, sends this encrypted file from the sending terminal 300A to the receiving terminal 300B, and decrypts the encrypted file. Therefore, to improve security against information leakage, the sending user does not need to password-protect the original file and send a separate message containing the password to the receiving user. Also, the receiving user does not need to search for a message containing a password separate from the message in which the file was sent and use this password to decrypt it. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0084] Furthermore, this system allows the original file to be encrypted using the recipient user's public key and the sender user's private key, and then decrypted using the sender user's public key and the recipient user's private key. This provides a greater level of security against information leakage compared to, for example, encryption based solely on the recipient user's public key. Additionally, by sending the sender user's public key along with the encrypted file, the recipient user does not need to search for the recipient user's public key in order to decrypt the encrypted file. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0085] Furthermore, this system keeps a record of who received and decrypted the encrypted file containing the original file, for each original file. Therefore, if the contents of the original file are leaked, it becomes easier to identify the source of the leak. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0086] The file transmission system according to the above embodiment can be the following invention.

[0087] The first aspect of the present invention is, A file transfer system that sends a file from a sending terminal operated by a sending user to a receiving terminal operated by a receiving user, An encryption method that encrypts the source file to be sent and generates an encrypted file, A transmission means for transmitting the encrypted file from the source terminal to the destination terminal, Decryption means for decrypting the encrypted file, It is characterized by being equipped with [the following features].

[0088] With this configuration, the file transmission system transmits a file from a sending terminal operated by a sending user to a receiving terminal operated by a receiving user, and includes encryption means, transmission means, and decryption means. The encryption method encrypts the source file to be sent and generates an encrypted file. The transmission method involves sending the encrypted file and the sending user's public key from the sending terminal to the receiving terminal. The decryption method decrypts the encrypted file based on the public key of the sending user.

[0089] This process generates an encrypted file in the file transmission system by encrypting the original file. This encrypted file is then sent from the sending terminal to the receiving terminal, where it is decrypted. Therefore, to improve security against information leakage, the sending user does not need to password-protect the original file and send a separate message containing the password to the receiving user. Similarly, the receiving user does not need to search for a separate message containing the password and use that password to decrypt the file. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0090] A preferred embodiment of the first aspect of the present invention is: The encryption means generates a shared key from the public key of the recipient user and the private key of the sender user, encrypts the original file with the shared key, and generates the encrypted file. The transmission means transmits the public key of the sending user along with the encrypted file. The decryption means is characterized by generating a common key from the public key of the sending user and the private key of the receiving user, and decrypting the encrypted file using the common key.

[0091] In this configuration, the encryption method generates a shared key from the recipient user's public key and the sender user's private key, encrypts the original file with the shared key, and generates an encrypted file. The transmission method sends the public key of the sending user along with the encrypted file. The decryption method generates a shared key from the public key of the sending user and the private key of the receiving user, and then decrypts the encrypted file using the shared key.

[0092] This allows the original file to be encrypted using the recipient's public key and the sender's private key, and then decrypted using the sender's public key and the recipient's private key. For example, this provides greater security against information leakage compared to encryption based solely on the recipient's public key. Furthermore, by sending the sender's public key along with the encrypted file, the recipient does not need to search for the sender's public key to decrypt the encrypted file. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0093] Regarding the first aspect of the present invention, other preferred embodiments include: History management means that stores, in association with each of the above original files, at least transmission history information including information indicating that the encrypted file of the original file was transmitted and the recipient user of the encrypted file, and at least decryption history information including information indicating that the encrypted file was decrypted and the user who decrypted the encrypted file, It is further characterized by having additional features.

[0094] With this configuration, the file transmission system further includes a history management mechanism. The history management means stores, for each original file, at least transmission history information including information indicating that an encrypted version of the original file was sent and the recipient user of the encrypted file, and at least decryption history information including information indicating that the encrypted file was decrypted and the user who decrypted the encrypted file, in association with each original file.

[0095] This ensures that for each original file, a history is kept of who received and decrypted the encrypted file that contained the original file. Therefore, if the contents of the original file are leaked, it becomes easier to identify the source of the leak. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0096] A second aspect of the present invention is, A method performed by a file transfer system for sending a file from a sending terminal operated by a sending user to a receiving terminal operated by a receiving user, The steps include encrypting the source file to be sent and generating an encrypted file, The steps include sending the encrypted file from the source terminal to the destination terminal, The steps include decrypting the encrypted file, A file transmission method characterized by including the following.

[0097] A third aspect of the present invention is, A file transfer system that sends files from a sending terminal operated by the sending user to a receiving terminal operated by the receiving user, An encryption method that encrypts the source file to be sent and generates an encrypted file. A transmission means for transmitting the encrypted file from the source terminal to the destination terminal. Decryption means for decrypting the encrypted file, A program that makes it function as such.

[0098] According to these second and third aspects, the same effects and advantages as those of the file transmission system related to the first aspect are achieved.

[0099] <Variations> Next, modified examples of embodiments of the present invention will be described. In the following description, components similar to those in the above embodiments and application examples will be denoted by the same reference numerals, and their descriptions will be omitted or simplified.

[0100] [Overview of the file sharing system] Figure 8 is a diagram illustrating an overview of a file provision system according to a modified embodiment of the present invention. The main difference between the file provision system 1A and the file transmission system 1 according to the embodiment is that the random password used to encrypt the file is encrypted using the user's public key, private key, etc.

[0101] The file provision system 1A includes an encryption management device 101, a plurality of terminals 301 (301A, 301B in the example shown in Figure 1) connected to the encryption management device 101 via a network (e.g., the Internet, a company LAN, etc.), and a storage means 201 connected to the plurality of terminals 301 via a network, which constitutes, for example, a blockchain.

[0102] The file provision system 1A is a system that provides files from a source terminal operated by a sending user (e.g., terminal 301A) to a destination terminal operated by a recipient user (e.g., terminal 301B).

[0103] In this modified example, "file" and the "original file" described later are files that can be created, edited, and viewed using applications installed on a typical personal computer.

[0104] Specifically, in the file provision system 1A, the sending terminal (terminal 301A) encrypts the source file to be sent with a password, generates an encrypted file, encrypts this password, and generates an encrypted password.

[0105] As will be explained in more detail later, the sending terminal (terminal 301A) encrypts the password using a shared key generated from the sending user's private key and the recipient user's public key, along with a generated password mask, to produce an encrypted password. The sending terminal (terminal 301A) then sends the generated password to the encryption management device 101.

[0106] Here, the sending user and the receiving user have pre-registered their public keys, which are used for encryption and decryption, with the encryption management device 101 via terminal 301. When the sending terminal (terminal 301A) generates a shared key, it obtains the receiving user's public key from the encryption management device 101.

[0107] The sending terminal (terminal 301A) provides the generated encrypted file and encrypted password to the receiving terminal (terminal 301B).

[0108] In this modified example, "provision" from one terminal 301 to another terminal 301 includes a method in which one terminal 301 directly transmits data such as encrypted files and encrypted passwords to another terminal 301, and a method in which one terminal 301 uploads the data to another device within the file provision system 1A or to a device outside the file provision system 1A, and notifies the other terminal 301 of the address for downloading the uploaded data, thereby enabling the other terminal 301 to obtain the data.

[0109] For example, in this application example, the sending terminal (terminal 301A) can either directly send the encrypted file to the receiving terminal (terminal 301B), or it can upload the encrypted file to a device outside the file provisioning system 1A and notify the receiving terminal (terminal 301B) of the address for downloading the encrypted file. Furthermore, the sending terminal (terminal 301A) provides the encrypted password to the receiving terminal (terminal 301B) via the storage means 201 that constitutes the blockchain.

[0110] The recipient terminal (terminal 301B) then obtains the encrypted file and encrypted password. The recipient terminal (terminal 301B) also obtains the source user's public key and password mask from the encryption management device 101.

[0111] The recipient terminal (terminal 301B) decrypts the encrypted password using a shared key generated from the sender user's public key and the recipient user's private key, along with the obtained password mask. Using this password, it decrypts the encrypted file and obtains the original file.

[0112] [Hardware configuration of the file sharing system] The encryption management device 101, storage means 201, and terminal 301 that constitute the file provision system 1A according to this modified example are implemented by a general-purpose computer, as shown in Figure 2. The computer basically consists of a CPU (Central Processing Unit) 1, ROM (Read Only Memory) 2, RAM (Random Access Memory) 3, storage device 4, input / output interface (hereinafter abbreviated as "IF") 5, mouse 6, keyboard 7, display device 8, printer 9, and communication device 10. The CPU 1, ROM 2, RAM 3, storage device 4, and IF 5 are connected to each other via an internal bus. The mouse 6, keyboard 7, display device 8, printer 9, and communication device 10 are connected to the internal bus via IF 5.

[0113] [Functional Configuration of the File Sharing System] Next, we will describe the functional configuration of the file provision system. Figure 9 is a block diagram showing the functional configuration of file provision system 1A.

[0114] The file provision system 1A, as an example of a computer shown in Figure 2, includes an encryption management device 101, storage means 201 connected to the encryption management device 101 via a network (e.g., the Internet, a company LAN, etc.) and constituting, for example, a blockchain, and a plurality of terminals 301. The plurality of storage means 201 may be devices outside the file provision system 1A, or they may be multiple storage areas in the storage device 4 provided by the encryption management device 101.

[0115] (encryption management device) The encryption management device 101 comprises a receiving means 111, a key management means 121, a mask management means 131, and a providing means 141. In the following description of the receiving means 111, the key management means 121, and the providing means 141, the same functions as those of the receiving means 110, the key management means 120, and the providing means 140 of the file management device 100 in the above embodiment will not be described.

[0116] In this modified example, "reception" refers to the storage of data in the encryption management device 101 through file operations such as uploading via the internet or saving via the company LAN from terminal 301. Also in this modified example, "provision" refers to the storage of data in terminal 301 through file operations such as uploading via the internet or saving via the company LAN from the encryption management device 101.

[0117] The reception means 111 receives user information, which is information about the user performing the operation (for example, user identification information that identifies the user, such as a username, and sending / receiving addresses such as an email address), and public key information that indicates the public key of each user. The reception means 111 may receive user information and public key information from each terminal 301, or from another device (for example, a server that stores user information and public key information), or it may receive user information and public key information based on the operation of an input means (for example, a mouse 6 or keyboard 7) by a person operating the encryption management device 101.

[0118] The receiving means 111 receives from the source terminal 301 the password mask generated for each encrypted file on the terminal 301, along with file identification information that identifies the encrypted file.

[0119] Furthermore, the receiving means 111 receives public key request information from the sending terminal 301, requesting the recipient user's decryption public key, and from the receiving terminal 301, requesting the sending user's encryption public key. The receiving means 111 also receives password mask request information from the receiving terminal 301, requesting a password mask, along with file identification information that identifies the encrypted file. The receiving means 111 also receives invalidation request information from the sending terminal 301, requesting to disable the password mask, along with file identification information that identifies the encrypted file.

[0120] Furthermore, the receiving means 111 receives request information from terminal 301 (terminal 301 operated by the sending user) requesting the provision of a public key and sending / receiving addresses for a certain user (receiving user).

[0121] The key management means 121 associates the public key information with the user information received by the reception means 111 and stores it in a storage device 4 or RAM 3, which are examples of storage means.

[0122] When the receiving means 111 receives a password mask along with file identification information that identifies an encrypted file, the mask management means 131 associates the password mask with the file identification information and stores it in a storage device 4 or RAM 3, which is an example of a storage means. Furthermore, when the receiving means 111 receives invalidation request information along with file identification information that identifies an encrypted file, the mask management means 131 performs a process to invalidate the password mask associated with the file identification information (for example, deletion).

[0123] The providing means 141 provides the terminal 301 with the public key information and password mask stored in the storage means. Specifically, when the receiving means 111 receives request information from, for example, terminal 301 requesting the provision of a public key and sending / receiving addresses for a certain user, the providing means 141 refers to the storage means and provides the public key and sending / receiving addresses of the requested user to terminal 301 that sent the request information.

[0124] Furthermore, when the receiving means 111 receives password mask request information from the destination terminal 301, along with file identification information that identifies the encrypted file, the providing means 141 provides the terminal 301 with the password mask associated with the file identification information.

[0125] (terminal) Terminal 301 includes acquisition means 311, file provision means 321, file encryption means 331, key generation means 333, mask generation means 334, password encryption means 335, password decryption means 341, file decryption means 342, and password management means 351.

[0126] The acquisition means 311 acquires the encrypted file provided by the sending terminal 301. The acquisition means 311 may, for example, receive the encrypted file directly from the sending terminal 301, or, if the sending terminal 301 notifies the acquisition means 311 of an address for downloading the encrypted file, it may access that address, download the encrypted file, and store it in a storage device.

[0127] When encrypting the original file, the acquisition means 311 obtains the recipient user's decryption public key and send / receive address from the encryption management device 101. Specifically, when the password encryption means 335 encrypts, it sends request information to the encryption management device 101 requesting the recipient user to provide the decryption public key and send / receive address, in response to the user's operation. The acquisition means 311 receives the decryption public key and send / receive address from the encryption management device 101.

[0128] Furthermore, when decrypting an encrypted file, the acquisition means 311 obtains the source user's encryption public key from the encryption management device 101. Specifically, when decrypting, the password decryption means 341 sends public key request information to the encryption management device 101 requesting the source user's encryption public key. The acquisition means 311 obtains the encryption public key from the encryption management device 101.

[0129] Furthermore, when decrypting an encrypted file, the acquisition means 311 obtains the password mask from the encryption management device 101. Specifically, if the password decryption means 341 obtains an encrypted file from, for example, the sending user's terminal 301, it sends password mask request information to the encryption management device 101 requesting the password mask of the encrypted file. The acquisition means 311 obtains the password mask from the encryption management device 101.

[0130] The file provision means 321 provides the encrypted file, encrypted by the file encryption means 331, to the recipient user's terminal 301.

[0131] The file encryption means 331 primarily functions as a sending terminal when terminal 301 is acting as a sending terminal. Based on user operations (for example, dragging a source file to a predetermined area of ​​the display device 8, or selecting and encrypting a source file), it reads the source file to be sent to another terminal 301 (the receiving terminal) from the storage means, encrypts it with a randomly generated password, and generates an encrypted file. The file encryption means 331 may encrypt one or more source files.

[0132] When terminal 301 functions as a sending terminal, if password encryption means 335 encrypts the password, key generation means 333 updates the encryption public key and private key. Also, when terminal 301 functions as a receiving terminal, if password decryption means 341 decrypts the encrypted password, key generation means 333 updates the decryption public key and private key. Note that key generation means 333 may update only one of the public key or the private key, or both.

[0133] Figure 10 illustrates a key and password mask in a file provision system according to a modified embodiment of the present invention. As shown in Figure 10, the key generation means 333 generates a key pair of the user's public key and private key, separated into encryption and decryption keys.

[0134] When the key generation means 333 generates or updates a public key and private key pair, it transmits the user information of the terminal 301 and the public key information indicating the public key to the encryption management device 101, as shown by the dotted arrow in Figure 10.

[0135] Returning to Figure 9, the mask generation means 334 generates a password mask for each encrypted file when the terminal 301 functions as a sending terminal and the file encryption means 331 generates an encrypted file.

[0136] When the mask generation means 334 generates a password mask, it sends the password mask for each encrypted file to the encryption management device 101, as shown by the dotted arrow in Figure 10. The mask generation means 334 may also associate the generated password mask with the transaction hash generated by the password management means 351 (described later) and send it to the encryption management device 101.

[0137] Furthermore, the mask generation means 334 may, based on user operations, send invalidation request information to the encryption management device 101 to invalidate the password mask for each encrypted file that has been sent to the encryption management device 101, along with file identification information that identifies the encrypted file.

[0138] For example, the file provision means 321 of the sending terminal 301 uploads the encrypted file to another device within the file provision system 1A or to a device outside the file provision system 1A, and notifies the receiving terminal 301 of the address for downloading the encrypted file. In such a case, the sending terminal 301 may display an upload status screen on its display device that shows the status of the encrypted file upload, and may also display a disable button on this upload status screen for sending disable request information to the encryption management device 101 to disable the password mask. This means that, for example, if you upload an encrypted file to make it available for download to a user, and then later realize that you should not have provided that encrypted file to that user (if you realize it was a mistaken transmission), you can immediately disable the password mask, preventing the user from decrypting the encrypted password, and consequently preventing them from decrypting the encrypted file.

[0139] When terminal 301 functions as a sending terminal, the password encryption means 335 generates a shared key from the public key of the recipient user and the private key of the sending user, encrypts the password with the shared key, and generates an encrypted password. Alternatively, the password encryption means 335 may encrypt the password using the generated shared key and the password mask generated by the mask generation means 334, and generate an encrypted password.

[0140] In detail, the password encryption means 335 generates a shared key from the decryption public key of the recipient user obtained by the acquisition means 311 and the encryption secret key of the sender user generated by the key generation means 333. Then, it encrypts the password using the generated shared key and the password mask generated by the mask generation means 334 to generate an encrypted password.

[0141] When terminal 301 functions as a destination terminal, the password decryption means 341 generates a shared key from the public key of the sending user and the private key of the destination user, and decrypts the encrypted password with the shared key. Alternatively, the password decryption means 341 may decrypt the encrypted password using the generated shared key and the password mask obtained by the acquisition means 311 to obtain the password.

[0142] In detail, the password decryption means 341 generates a shared key from the public encryption key of the sending user obtained by the acquisition means 311 and the private decryption key of the receiving user generated by the key generation means 333. Then, using the generated shared key and the password mask obtained by the acquisition means 311, it decrypts the encrypted password and obtains the password.

[0143] The file decryption means 342 primarily decrypts encrypted files obtained from another terminal 301 (sending terminal) using the password decrypted by the password decryption means 341 when terminal 301 functions as a receiving terminal, and stores the original file in the storage means.

[0144] When terminal 301 functions as a sending terminal, if the password has been encrypted by password encryption means 335, password management means 351 generates a transaction hash indicating the encryption history, associates the generated transaction hash with the encrypted password, and sends it to storage means 201.

[0145] Furthermore, when terminal 301 functions as a destination terminal, if an encrypted file is obtained by acquisition means 311, password management means 351 receives the encrypted password from storage means 201 based on the transaction hash at the time the password for the encrypted file was encrypted.

[0146] Furthermore, when terminal 301 functions as a destination terminal, if the encrypted password is decrypted, the password management means 351 generates a transaction hash indicating the decryption history, associates the generated transaction hash with the encrypted password, and sends it to the storage means 201.

[0147] The password management means 351 generates history information for each password, including encrypted history and decryption history. That is, the history information is a history of encryption and decryption operations performed on the password, and may include user identification information of the sending user who sent the encrypted password, user identification information of the receiving user of the encrypted password, transmission date and time information indicating the date and time the encrypted password was sent, user identification information of the user who decrypted the encrypted password, and decryption date and time information indicating the date and time the encrypted password was decrypted.

[0148] In detail, the password management means 351 generates history information, which is the transaction hash of the encryption, for each password, for example, using a known hash function, if the password has been encrypted by the password encryption means 335. Subsequently, the password management means 351 cumulatively generates history information each time the encrypted password is decrypted by the password decryption means 341.

[0149] For example, the password management means 351 generates history information X when a password is encrypted at terminal 301 which functions as a sending terminal, then generates history information X+1 which includes history information X when the password decryption means 341 decrypts the encrypted password at terminal 301 which functions as a receiving terminal, and then generates history information X+2 which includes history information X+1 when the password decryption means 341 decrypts the encrypted password at another terminal 301 which functions as a receiving terminal.

[0150] Furthermore, the password management means 351 may generate history information using any type of data, not limited to hash values. Also, the password management means 351 may generate history information using any type of data, not limited to hash values, as long as the information represents cumulative history information.

[0151] The password management means 351 stores the cumulative history information generated for each password so that it can be shared among multiple storage means 201.

[0152] Next, we will explain the process from encryption to decryption of the original file in the modified file provision system 1A. Figure 11 is a diagram illustrating the encryption and decryption process in a file provision system according to a modified embodiment of the present invention.

[0153] First, at the sending terminal 301, the file encryption means 331 encrypts the original file with a random password, obtains an encrypted file, and provides it to the receiving terminal 301.

[0154] Next, at the sending terminal 301, the password encryption means 335 generates a shared key from the recipient user's decryption public key and the sending user's encryption private key. Then, the password encryption means 335 encrypts the password using the generated shared key and the password mask generated by the mask generation means 334, generating an encrypted password. This encrypted password is transmitted to the recipient terminal 301 via the storage means 201 (chain block). The password mask is transmitted from the sending terminal 301 to the encryption management device 101.

[0155] Next, at the destination terminal 301, the encrypted password is received from the storage means 201 and the password mask is received from the encryption management device 101. Then, at the destination terminal 301, the password decryption means 341 generates a common key from the destination user's decryption secret key and the source user's encryption public key. This common key is identical to the common key generated by the password encryption means 335 at the source terminal 301. Then, the password decryption means 341 decrypts the encrypted password using the generated common key and the received password mask to obtain the password.

[0156] Then, at the receiving terminal 301, the file decryption means 342 decrypts the provided encrypted file using the password to obtain the original file.

[0157] [File sharing process] Next, the file provision process executed by the file provision system 1A will be described. In the following processing flow diagram (flowchart), the processing order of each step may be changed as long as the relationship between the input and output of each step is not impaired. Figure 12 is a flowchart of the file provision process executed by the file provision system according to an embodiment of the present invention. The processing from step S10 to step S16 is performed by the sending terminal 301A, and the processing from step S20 to step S26 is performed by the receiving terminal 301B.

[0158] In step S10, the file encryption means 331 of terminal 301A reads the source file to be sent to the destination terminal 301B from the storage means based on the user's operation, encrypts it with a randomly generated password, and generates an encrypted file.

[0159] In step S11, the acquisition means 311 of terminal 301A obtains the decryption public key of the recipient user from the encryption management device 101.

[0160] In step S12, the password encryption means 335 of terminal 301A generates a shared key from the decryption public key of the recipient user obtained in step S11 and the encryption secret key of the sender user generated by the key generation means 333.

[0161] In step S13, the mask generation means 334 of terminal 301A generates a password mask specifically for the encrypted file generated by the file encryption means 331 in step S10.

[0162] In step S14, the password encryption means 335 of terminal 301A encrypts the password using the common key generated in step S12 and the password mask generated by the mask generation means 334 in step S13, thereby generating an encrypted password.

[0163] In step S15, the file provision means 321 of terminal 301A provides the encrypted file encrypted by the file encryption means 331 to the terminal 301 of the recipient user.

[0164] In step S16, the password management means 351 of terminal 301A generates a transaction hash indicating the encryption history, associates the generated transaction hash with the encrypted password generated by the password encryption means 335 in step S14, and transmits it to the storage means 201.

[0165] In step S20, the acquisition means 311 of terminal 301B acquires the encrypted file provided by terminal 301A in step S15.

[0166] In step S21, the password management means 351 of terminal 301B receives the encrypted password that terminal 301A sent to the storage means 201 in step S16 from the storage means 201.

[0167] In step S22, the acquisition means 311 of terminal 301B obtains the public encryption key of the source user from the encryption management device 101.

[0168] In step S23, the password decryption means 341 of terminal 301B generates a shared key from the encryption public key of the sending user obtained in step S22 and the decryption secret key of the receiving user generated by the key generation means 333.

[0169] In step S24, the acquisition means 311 of terminal 301B obtains the password mask for the encrypted file obtained in step S20 from the encryption management device 101.

[0170] In step S25, the password decryption means 341 of terminal 301B decrypts the encrypted password received in step S21 using the common key generated in step S23 and the password mask obtained by the acquisition means 311 in step S24, thereby obtaining the password.

[0171] In step S26, the file decryption means 342 of terminal 301B decrypts the encrypted file acquired by the acquisition means 311 in step S20 using the password decrypted by the password decryption means 341, obtains the original file, and stores it in the storage means.

[0172] According to this file delivery system 1A, the system generates an encrypted file by encrypting the original file with a password, and then further encrypts this password to generate an encrypted password. The encrypted file is then provided from the sending terminal to the receiving terminal, the encrypted password is decrypted, and the encrypted file is decrypted using the decrypted password. Therefore, to improve security against information leakage, the sending user is saved the trouble of setting a password on the original file and sending a separate message containing the password to the receiving user. Similarly, the receiving user is saved the trouble of searching for a message containing a password separate from the message in which the file was sent and using this password to decrypt it. Furthermore, since the password used to encrypt the original file is further encrypted, security against information leakage is improved. Therefore, it becomes possible to send files more easily and with improved security against information leaks.

[0173] Furthermore, according to file provision system 1A, a common key is generated using the recipient user's public key and the sender user's private key. This common key is used to encrypt the password, and it can be decrypted using the common key generated from the sender user's public key and the recipient user's private key. Therefore, compared to, for example, encryption based solely on the recipient user's public key, security against information leakage is significantly improved.

[0174] Furthermore, according to file provision system 1A, even if the private key used for encryption or decryption is leaked after encryption or decryption, the public key and / or private key have already been updated, thus further improving security against information leakage.

[0175] Furthermore, according to file provision system 1A, the combination of public and private keys is generated separately for encryption and decryption. Therefore, even if either the encryption key or the decryption key is leaked, the leakage of the other key can be prevented, thus further improving security against information leakage.

[0176] Furthermore, according to the file provision system 1A, the mask generation means 334 generates a mask for encrypting the password for each file. The password encryption means 335 encrypts the password using the shared key and the mask to generate an encrypted password. The password decryption means 341 decrypts the encrypted password using the shared key and the mask.

[0177] This improves security against information leakage compared to using only a shared key for encryption. Furthermore, decrypting a file requires decrypting the password. By creating a separate mask for this password decryption, distinct from the shared key, it becomes possible to enable or prevent file decryption based on the mask. For example, even if an encrypted file is mistakenly provided (sent) to someone, decryption can be prevented by not providing the mask.

[0178] Although embodiments and variations of the present invention have been described above, it goes without saying that the technical scope of the present invention is not limited to the above embodiments and applications. It will be obvious to those skilled in the art that various changes or improvements can be made to the above embodiments and variations. It is also clear from the claims that such modified or improved forms are included in the technical scope of the present invention. Furthermore, the embodiments, applications, and variations can be combined in any way as long as they do not contradict each other. [Explanation of symbols]

[0179] 1 CPU 2 ROM 3 RAM 4 Storage device 6 mice 7 Keyboard 8 Display device 9 Printing device 10. Communication equipment 1A File Provisioning System 101 Encryption management device 111 Reception methods 121 Key management means 131 Mask management methods 141 Means of provision 201 Storage means Terminals 301, 301A, and 301B 311 Acquisition means 321 File Delivery Method 331 File encryption methods 333 Key generation means 334 Mask generation means 335 Password encryption methods 341 Password decryption method 342 File Decryption Methods 351 Password management methods

Claims

1. A file delivery system that provides files from a sending terminal operated by a sending user to a receiving terminal operated by a receiving user, A file encryption method that encrypts the source file to be sent with a password and generates an encrypted file, A password encryption means that encrypts the aforementioned password and generates an encrypted password, A file provision means that provides the encrypted file from the sending terminal to the receiving terminal, A password decryption means for obtaining the encrypted password and decrypting the encrypted password, A file decryption means for decrypting the encrypted file using the aforementioned password, A key generation means for generating a public key and a private key, A mask generation means for each file that generates a password mask for encrypting the password, A mask management means that associates the password mask with the file identification information that identifies the encrypted file and stores it in a storage means, Equipped with, The key generation means generates combinations of the public key and the private key, separating them into encryption and decryption types. The password encryption means generates a common key from the public key for decryption of the recipient user and the private key for encryption of the source user, encrypts the password using the common key and the password mask, and generates the encrypted password. The password decryption means generates a common key from the public key for encryption of the sending user and the private key for decryption of the receiving user, and decrypts the encrypted password using the common key and the password mask. The mask management means, when invalidation request information to invalidate the password mask is transmitted from the source terminal along with the file identification information, invalidates the password mask associated with the file identification information. A file provisioning system characterized by the following features.

2. The key generation means updates the public key and / or the private key each time encryption and / or decryption is performed. The file provision system according to claim 1.

3. A method performed by a file delivery system to provide a file from a sending terminal operated by a sending user to a receiving terminal operated by a receiving user, The steps include encrypting the source file to be sent with a password and generating an encrypted file, For each file, the steps include generating a password mask for encrypting the password, The steps include associating the password mask with the file identification information that identifies the encrypted file and storing it in a storage means, The steps include: encrypting the aforementioned password and generating an encrypted password; The steps include providing the encrypted file from the sending terminal to the receiving terminal, The steps include obtaining the encrypted password and decrypting the encrypted password, The steps include decrypting the encrypted file using the aforementioned password, This includes the step of generating a public key and a private key, The public key and the private key combination are divided into encryption and decryption versions, and each is generated separately. A shared key is generated from the public key for decryption of the recipient user and the private key for encryption of the sender user, the password is encrypted using the shared key and the password mask, and the encrypted password is generated. A common key is generated from the public key for encryption of the sending user and the private key for decryption of the receiving user, and the encrypted password is decrypted using the common key and the password mask. If invalidation request information to disable the password mask is sent from the sending terminal along with the file identification information, the password mask associated with the file identification information is disabled. A method for providing files characterized by the following features.

4. A file delivery system that provides files from a sending terminal operated by the sending user to a receiving terminal operated by the receiving user, A file encryption method that encrypts the source file to be sent with a password and generates an encrypted file. A password encryption means that encrypts the aforementioned password and generates an encrypted password, File provision means for providing the encrypted file from the sending terminal to the receiving terminal, A password decryption means that obtains the encrypted password and decrypts the encrypted password, A file decryption means that decrypts the encrypted file using the aforementioned password. Key generation means for generating public and private keys, A mask generation means for each file that generates a password mask for encrypting the password, The system functions as a mask management means that associates the password mask with the file identification information that identifies the encrypted file and stores it in a storage means. The key generation means generates combinations of the public key and the private key, separating them into encryption and decryption types. The password encryption means generates a common key from the public key for decryption of the recipient user and the private key for encryption of the source user, encrypts the password using the common key and the password mask, and generates the encrypted password. The password decryption means generates a common key from the public key for encryption of the sending user and the private key for decryption of the receiving user, and decrypts the encrypted password using the common key and the password mask. The mask management means is a program that, when invalidation request information to invalidate the password mask is transmitted from the sending terminal along with the file identification information, invalidates the password mask associated with the file identification information.