Information processing device, information processing system, information processing method, and information processing program

The common key cryptosystem with sequential updates and synchronization mechanisms addresses the vulnerabilities of public key cryptography, ensuring secure and convenient data transmission by avoiding key storage and leveraging quantum-resistant methods.

JP2025115389AActive Publication Date: 2025-08-06JAPAN EXCHANGE CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025009079
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-11
Filing Date
2025-01-22
Publication Date
2025-08-06
Estimated Expiration
2045-01-22

AI Technical Summary

Technical Problem

Existing public key cryptography systems face vulnerabilities due to the potential for private key leakage and the threat of quantum computing, leading to compromised security and increased processing complexity, which affects user convenience.

Method used

A common key cryptosystem is employed where the sender and receiver share common key source data, which is updated sequentially, and the common key is generated using a generation algorithm, with confirmation data and count data transmitted, ensuring synchronization and security without storing the actual key.

Benefits of technology

This approach enhances security and user convenience by minimizing the risk of key leakage and reducing processing complexity, even in the face of quantum computing threats, while maintaining secure data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025115389000001_ABST
    Figure 2025115389000001_ABST
Patent Text Reader

Abstract

To provide an information processing device in which data is more safely transmitted while complication of processing in transmitting data from a transmission side to a reception side is reduced and user convenience is increased.SOLUTION: An information processing device on a transmission side includes: a common key source data generation / update unit that generates and updates common key source data which is transmitted to an information processing device on a reception side; a common key generation unit that generates a common key from the common key source data by using a generation algorithm for generating a common key from the common key source data and generates common key generation number-of-times data; a common key confirmation data generation unit that applies a unidirectional function to the common key generated by the common key generation unit, to generate common key confirmation data; an encryption unit that encrypts a transmission file which is to be transmitted to the information processing device on the reception side by using the common key, to generate an encrypted file; a discarding unit that discards the common key after the encrypted file is generated; and a transmission unit that transmits the encrypted file, the common key generation number-of-times data, and the common key confirmation data to the information processing device on the reception side.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information processing device, an information processing system, an information processing method, and an information processing program, and more particularly to an information processing device, an information processing system, an information processing method, and an information processing program for increasing confidentiality during data transmission and realizing safe transmission and reception of data. [Background technology]

[0002] While it has become easier to transmit various types of data from a sender to a receiver via the Internet, ensuring confidentiality of data management to prevent unauthorized access to, tampering with, etc. has become extremely serious. As methods for ensuring confidentiality between a sender and a receiver, for example, a common key cryptosystem in which the sender and receiver possess a fixed common key to encrypt and decrypt authentication data, a public key cryptosystem in which the sender encrypts and transmits authentication data with the receiver's public key, and the receiver decrypts the transmitted authentication data with its own private key, and a combination of these methods have been proposed (Patent Document 1).

[0003] However, with the recent expansion of the processing power of computing devices such as computers, problems such as unauthorized access and tampering are becoming more apparent. For example, the public key cryptosystem, which is currently widely used as an existing encryption technology, has the following problems.

[0004] In public key cryptography, data encrypted with a public key is decrypted with a private key. By keeping the private key secret, the recipient can prevent decryption by a third party (i.e., unauthorized decryption). However, with existing public key cryptography, (1) there is a possibility that a third party may calculate the private key. Currently, it is not easy for a third party to learn a private key. However, due to the fact that "a private key can decrypt data encrypted with a public key," it is theoretically possible to calculate a paired private key from a public key. In the current public key system, security is ensured by the enormous amount of time required to "calculate a paired private key from a public key." However, in the near future, for example, advances in quantum computer technology are expected to make it possible to perform enormous calculations in a short amount of time, and the collapse of the security mechanism of public key cryptography is imminent.

[0005] In addition, with existing public key cryptography, (2) the private key must be kept secret from the receiving server, etc. However, if there is a vulnerability in the security of the server, etc., the private key may be leaked and may be subject to unauthorized decryption. Public key cryptography will not function without a corresponding private key. Therefore, the receiving party must always store the private key on one of its devices. Existing systems ensure security by keeping the private key secret (by preventing unauthorized access to the device storing the private key). However, since this assumes no unauthorized access, the file may be saved with a filename that makes it easy to guess that it is a private key file. Even if users are not so careless, the file may contain strings such as "PRIVATE KEY" or "ssh-rsa." Therefore, if the device storing the private key is compromised, the private key is likely to be leaked, potentially exposing all communications. However, if an attempt is made to improve the security of existing public key cryptosystems, the processing required for encrypting and decrypting data may become more complicated, which may impair user convenience. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-186122 Summary of the Invention [Problem to be solved by the invention]

[0007] The present invention has been made in consideration of the above points, and aims to provide an information processing device, an information processing system, an information processing method, and an information processing program that reduce the complexity of processing when transmitting data from a sending side to a receiving side, while increasing convenience for users and improving security when transmitting data. [Means for solving the problem]

[0008] This invention is classified as a common key cryptosystem in which data is encrypted and decrypted using a key that is common between the sender and receiver. However, various innovations have been made to overcome the drawback of conventional common key cryptosystems, which is that anyone can decrypt the data if they know the common key.

[0009] That is, the information processing device of the present invention is a sending-side information processing device comprising a common key source data generation / update unit that generates and updates common key source data that is source data of a common key for encrypting a transmission file to be transmitted to a receiving-side information processing device, and further comprises: a common key generation unit that generates the common key from the common key source data using a generation algorithm for generating a common key from the common key source data, and also generates common key generation count data; a common key confirmation data generation unit that generates common key confirmation data by applying a one-way function to the common key generated by the common key generation unit; an encryption unit that encrypts the transmission file to be transmitted to the receiving-side information processing device using the common key to generate an encrypted file; a discarding unit that discards the common key after the encryption unit generates the encrypted file; and a transmission unit that transmits the encrypted file, the common key generation count data, and the common key confirmation data to the receiving-side information processing device, and the common key source data generation / update unit updates the common key source data based on the generated common key after the common key generation unit generates the common key and before the discarding unit discards the common key.

[0010] Moreover, the information processing device of the present invention is a receiving-side information processing device having a receiving unit that receives an encrypted file encrypted with a common key, common key generation count data, and common key confirmation data transmitted from a sending-side information processing device, and further includes: a synchronization unit that synchronizes common key source data that is the source data of the common key with common key source data held by the sending-side information processing device based on the received common key generation count data; a common key generation unit that generates the common key from the common key source data synchronized with the common key source data held by the sending-side information processing device using a generation algorithm for generating the common key, applies a one-way function to the generated common key to confirm that the generated data matches the common key confirmation data, and updates the common key source data using the generated common key; a decryption unit that decrypts the encrypted file received by the receiving unit using the common key and updates the common key source data; and a discarding unit that discards the common key after the decryption unit decrypts the encrypted file and updates the common key source data.

[0011] In addition, the transmitting information processing device may further include a generation algorithm update unit that updates the generation algorithm and generates generation algorithm update count data, and the transmitting unit may further transmit the generation algorithm update count data to the receiving information processing device in addition to the encrypted file, the common key generation count data, and the common key confirmation data.

[0012] In addition, in the receiving information processing device, the receiving unit may further receive generation algorithm update count data in addition to the encrypted file, the common key generation count data, and the common key confirmation data, and the synchronization unit may synchronize the generation algorithm with the generation algorithm possessed by the sending information processing device based on the received generation algorithm update count data.

[0013] Furthermore, in the sending information processing device and the receiving information processing device, when generating the common key, the common key generation unit may encrypt the common key using an encryption method that is different from the encryption method used when the encryption unit generates the encrypted file or when the decryption unit decrypts the encrypted file.

[0014] The information processing system of the present invention is composed of a transmitting information processing device and a receiving information processing device connected to each other by a telecommunications line. [Effects of the Invention]

[0015] According to the information processing device of the present invention, it is possible to improve user convenience and security during data transmission while suppressing the complexity of processing when transmitting data from a sending side to a receiving side. In addition, the information processing system, information processing method, and information processing program similarly improve user convenience and security during data transmission while suppressing the complexity of processing when transmitting data from a sending side to a receiving side. [Brief explanation of the drawings]

[0016] [Figure 1] 1 is a schematic diagram illustrating a configuration of an information processing system according to an embodiment. [Figure 2] FIG. 2 is a block diagram showing a configuration of an information processing device on the transmitting side; [Figure 3] FIG. 2 is a block diagram showing a configuration of a receiving-side information processing device. [Figure 4] FIG. 10 is a conceptual diagram illustrating a common key generation process on the transmitting side. [Figure 5] FIG. 10 is a conceptual diagram illustrating a process of encrypting a file to be transmitted on the transmitting side. [Figure 6] 10 is a flowchart illustrating a processing flow in a transmitting information processing device. [Figure 7] FIG. 10 is a conceptual diagram illustrating a common key generation process and an encrypted file decryption process on the receiving side. [Figure 8]10 is a flowchart illustrating a processing flow in a receiving information processing device. [Figure 9] 1 is a first flowchart illustrating an information processing method of the information processing system according to the embodiment. [Figure 10] 10 is a second flowchart illustrating the information processing method of the information processing system according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0017] As mentioned above, existing public key cryptography has the problem that (1) a third party may calculate the private key. In contrast to this, according to the method of one embodiment of the present invention (hereinafter referred to as "this embodiment") described in detail below, a third party does not know the correct answer to the common key, and therefore cannot decrypt the secret.

[0018] Furthermore, as mentioned above, the existing public key cryptography method (2) requires that the private key be kept secret from the receiving server, etc., but if there is a vulnerability in the security of the server, etc., there is a problem that the private key may be leaked and may be subject to unauthorized decryption. In contrast to this, according to the method of this embodiment, the key (data) used for encryption itself is not stored anywhere.

[0019] The method of this embodiment does not employ the secret key cryptography that is currently mainstream in communication systems around the world, but employs a common key cryptography, but both the sending and receiving sides store only the data that is the source of the common key (hereinafter referred to as "common key source data"), rather than the common key itself. It is extremely difficult for a third party to calculate the common key from the stored common key source data, and this alone makes it possible to prevent a considerable amount of damage from hacking.

[0020] In the method of this embodiment, the common key source data is further changed (updated) for each communication, making it even more difficult for a third party to calculate the common key. Furthermore, if the algorithm used to calculate (generate) the common key from the common key source data is also updated as appropriate, it becomes even more difficult for a third party to calculate the common key. In this way, the method of this embodiment introduces multiple mechanisms to prevent damage from hacking.

[0021] (Information processing device and information processing system) The information processing device and information processing system of this embodiment are a device and system for encrypting a file to be transmitted when the file is transmitted from a transmitting information processing device to a receiving information processing device, and for generating and transmitting information (data) that serves as a key for decrypting the encrypted file. The information processing device is a device (its internal program) installed on the data transmitting and receiving sides, and the information processing system is composed of the data transmitting and receiving information processing devices connected by a telecommunications line. The transmitted file is not particularly limited, but may be, for example, text, images, videos, audio, etc., or digitized data that includes a combination of these.

[0022] The transmission and reception of a transmitted file may be performed asynchronously, not synchronously. For example, the sending and receiving information processing devices may both be clients in a client / server system. In this case, the sending information processing device transmits and stores the transmitted file on a server (such as a file server or mail server), and the receiving information processing device retrieves the transmitted file from the server. In this case, it is important to note that the order in which the transmitted files are retrieved (from the server) by the receiving device does not necessarily match the order in which they were sent by the sending device, and that some transmitted files may not be retrieved by the receiving device for some reason. In other words, since it is not guaranteed that the receiving device will be able to timely grasp updates to the common key source data made by the sending device, the common key source data held by the receiving device may differ from that of the sending device (as a result, the key used by the receiving device to decrypt the encrypted transmitted file may differ from the key used by the sending device to encrypt it, resulting in incorrect decryption). Therefore, a mechanism to prevent this (i.e., a mechanism to ensure that the common key source data on the sending and receiving devices is always the same data (hereinafter referred to as "synchronizing" the data)) must be introduced. In addition, similar problems can occur when updating the algorithm used to calculate (generate) a symmetric key from the symmetric key source data, so a separate mechanism to prevent this (a mechanism to "synchronize" the algorithm) is required. These mechanisms will be described later.

[0023] FIG. 1 is a conceptual diagram showing the configuration of an information processing system 1 of this embodiment. An information processing device 2 (a computer, tablet terminal, smartphone, etc. (hereinafter referred to as a "computer, etc.")) is installed on the sending side, and an information processing device 3 (a computer, etc.) is installed on the receiving side. Both information processing devices 2, 3 are accessible to an internet line 4 via a wired or wireless connection. In this embodiment, various data is transmitted from the transmitting information processing device 2 to the receiving information processing device 3 via the internet line 4. As described above, data may be transmitted and received via a server 5.

[0024] 2 is a block diagram showing the configuration of the information processing device 2 on the transmitting side in the information processing system 1. The information processing device 2 comprises functional units such as a computer required for various operations such as signal transmission and reception, calculation execution, and storage, and is equipped with a calculation unit 11, a ROM 12, a RAM 13, a storage unit 14, an I / O (input / output) interface 15, a transmission / reception unit 16, etc.

[0025] 3 is a block diagram showing the configuration of the receiving-side information processing device 3. The information processing device 3 is made up of functional units such as a computer required for various operations such as signal reception, calculation execution, and storage, and is equipped with a calculation unit 21, a ROM 22, a RAM 23, a storage unit 24, an I / O (input / output) interface 25, a transmission / reception unit 26, etc.

[0026] When each functional unit of a computer or the like is realized by software, the information processing devices 2 and 3 are realized by executing instructions of a program, which is software that realizes each function. The recording medium that supplies this program to the information processing devices 2 and 3 can be a "non-transitory tangible medium," such as a CD, DVD, non-volatile semiconductor memory, or programmable logic circuit. The program may also be supplied to the information processing devices 2 and 3 of the information processing system 1 via any transmission medium capable of transmitting the program (such as the Internet line 4 in FIG. 1, other communication networks, or broadcast waves).

[0027] The storage unit 14 of the information processing device 2 is a known storage device such as an HDD or SSD. The storage unit 14 stores various data, information processing programs, data required to execute the programs, etc. Furthermore, each functional unit that performs calculations such as calculation (generation) of the common key source data and the common key, encryption, etc. is an arithmetic element such as a CPU or GPU implemented as the calculation unit 11. The internet line 4 is connected to an I / O interface 15. The information processing device 2 may be a personal computer (PC), and appropriate input devices such as a keyboard and a mouse and appropriate output devices such as an LCD display (neither of which are shown) are connected to the I / O interface 15. The information processing device 3 on the receiving side has the same hardware as the information processing device 2, and therefore a description thereof will be omitted.

[0028] 2, the calculation unit 11 of the information processing device 2 includes functional units such as a common key source data generation / update unit 110, a sharing unit 120, a common key generation unit 130, a common key verification data generation unit 140, an encryption unit 150, and a discarding unit 160. When updating the algorithm used to calculate (generate) a common key from the common key source data as described above, the calculation unit 11 also includes a generation algorithm update unit 170. The operation and execution of each functional unit in the calculation unit 11 of the information processing device 2 is realized in software terms by programs loaded into the main memory (RAM 13), etc.

[0029] 3, the calculation unit 21 of the receiving-side information processing device 3 includes functional units such as a synchronization unit 210, a common key generation unit 220, a decryption unit 230, and a discard unit 240. The operation and execution of the calculation unit 21 of the receiving-side information processing device 3 is realized in software terms by a program or the like that is loaded into the main memory (RAM 23) and that works in conjunction with the information processing device 2.

[0030] The contents of the processing performed by each functional unit in the calculation unit 11 of the information processing device 2 and the contents of the processing performed by each functional unit in the calculation unit 21 of the information processing device 3 will be described.

[0031] (Common key source data generation and update unit 110) In the calculation unit 11 of the information processing device, the common key source data generation / update unit 110 generates common key source data that is the source of the common key before generating the common key used to encrypt the file to be transmitted on the transmitting side using a generation algorithm described below.

[0032] (Shared key source data) Here, the common key source data is information such as a character string or a sequence of numbers that serves as the source data (seed value) applied to the common key generation algorithm described below. The common key source data is one piece of information shared between the sending and receiving sides, and is also data that is updated sequentially. When the common key source data is updated sequentially, the common key generated from the common key source data is also updated sequentially.

[0033] (Update of shared key source data) The common key source data generation and update unit 110 first randomly generates an initial value for the common key source data based on a random number or the like, and thereafter updates the common key source data based on the most recent common key. That is, the common key source data generation and update unit 110 first generates common key source data (initial value) from a random number or the like, the common key generation unit 130 (described later) generates a common key from the generated common key source data (initial value), the common key source data generation and update unit 110 updates the common key source data from the generated common key, the common key generation unit 130 generates a common key from the updated common key source data, and thereafter, update and generation are repeated in the order of the common key source data and the common key (common key source data (initial value) generated from a random number or the like → common key (first generation) → common key source data (updated value) → common key (second generation) →...). The common key is generated from the common key source data using a common key generation algorithm (described later), but this algorithm can also be used to update the common key source data from the common key.

[0034] (Sharing of common key source data) The initially generated common key source data (initial value) is shared only once in advance between the sending information processing device 2 and the receiving information processing device 3 (i.e., before starting to send and receive the encrypted file to be sent). The common key source data can be shared by any method agreed upon by the sending and receiving users, but from a security standpoint, sharing it offline (for example, by a method that does not involve a network, such as storing it on a recording medium such as a USB memory and transferring it) is ideal. However, sharing the common key source data offline is not only very cumbersome, but is also impractical in terms of time and cost when the users are in remote locations, etc. Therefore, in most cases, the common key source data is shared online (i.e., the common key source data is sent and received). Even when sharing the common key source data online, the risk of decryption can be sufficiently reduced by transmitting the common key source data from the sending side to the receiving side only once in advance and not transmitting it thereafter. The shared common key source data must be stored somewhere on both the sending and receiving sides, but security can be further enhanced by encrypting and storing it using an encryption method (such as AES) different from the encryption method used for the transmitted file and common key.

[0035] (Symmetric key generation algorithm) A common key generation algorithm (hereinafter simply referred to as a "generation algorithm") is a calculation method that defines a specific calculation method (e.g., a specific arithmetic operation, function, or combination thereof) for generating a sequence of numbers (a number of digits) that is set as a common key from the common key source data, and includes specific numerical values (e.g., prime numbers) used in the calculation. As with the common key source data, the generation algorithm may also be updated. By updating the generation algorithm, security against information leakage can be improved.

[0036] (Sharing of generation algorithms) The initial (unupdated) generation algorithm is shared only once between the sender and receiver, for example, by embedding it in an app in advance. Sharing can also be done online, in which case the sender simply transmits the information necessary to identify the algorithm to the receiver.

[0037] As mentioned above, the common key source data is also shared only once between the sender and receiver, but since a common key can be generated once both the generation algorithm and the common key source data are available, the generation algorithm and the common key source data must never be shared at the same time. The generation algorithm and the common key source data must always be shared at different times.

[0038] (Sharing of one-way functions for generating shared key verification data) In this embodiment, the common key verification data generation unit 140 of the information processing device 2 applies a one-way function to the common key to generate common key original data (details will be described later), and this one-way function is also shared only once at the beginning between the sending side and the receiving side. Sharing may be performed online, in which case, it is sufficient to transmit information required to identify the one-way function from the sending side to the receiving side.

[0039] (Example of generation algorithm and its update) A specific example of a common key generation algorithm and its update (hereinafter referred to as "Example 1") will be described below. The common key generation algorithm of Example 1 can be composed of, for example, the following five steps. Step 1: The common key source data is a 32-bit integer value. Step 2: Add the integer value from step 1 and 7517 (discard any excess digits). Step 3: The calculation result in Step 2 is used as input data for the hash function SHA-256 (Secure Hash Algorithm 256-bit) to obtain a 256-bit hash value. Step 4: Convert the hash value obtained in Step 3 into a 32-bit number. Step 5: Multiply the number obtained in step 4 by 563 (discard any excess digits). Here, since hash functions can theoretically be analyzed using brute force attacks, etc., it is possible to make it difficult to guess the common key from the common key source data by introducing a mechanism for updating the algorithm (making the algorithm variable) into the common key generation algorithm that includes the hash function.

[0040] The content of the update process of the generation algorithm in Example 1 can be, for example, "Subtract 200 from the value in step 2." In Example 1, step 2 of the generation algorithm after one update becomes "Calculate the sum with 7517-200×1=7317," and step 2 of the generation algorithm after n updates becomes "Calculate the sum with 7517-200×n." If the sending side updates the generation algorithm, when the sending side sends the next data (for example, an encrypted file) to the receiving side, it always sends data on the number of times the generation algorithm was updated (hereinafter referred to as "generation algorithm update count data") to the receiving side. This allows the receiving side to update the generation algorithm and synchronize it with the generation algorithm used to generate the symmetric key on the sending side, making it possible for the sending side and receiving side to each generate the same symmetric key using the same generation algorithm.

[0041] (Sharing part 120) As described above, the common key source data (initial value) initially generated by the common key source data generating / updating unit 110 is shared only once in advance between the sending and receiving sides (i.e., before starting to send and receive the encrypted file to be sent). If this is done online, the sharing unit 120 shares the common key source data (initial value) by transmitting it to the receiving side's information processing device 3 via the transmitting / receiving unit 16. As described above, the initial (unupdated) generation algorithm is also shared only once in advance between the sending and receiving sides. If this is done online, the sharing unit 120 shares it by transmitting information required to identify the generation algorithm to the receiving side's information processing device 3 via the transmitting / receiving unit 16. Furthermore, as described above, the one-way function is also shared only once in advance between the sending and receiving sides. If this is done online, the sharing unit 120 shares it by transmitting information required to identify the one-way function to the receiving side's information processing device 3 via the transmitting unit 16.

[0042] (Common key generation unit 130) The common key generation unit 130 generates a common key from common key source data using a generation algorithm on the transmitting side. Since the data actually used to encrypt the transmitted file is the common key, the risk of the common key being leaked must be minimized. Therefore, in this embodiment, the continuous use of the common key is avoided, and the common key is generated from the common key source data that is updated sequentially.

[0043] (Data on number of shared key generation times) The common key generation unit 130 also generates data on the number of times a common key has been generated from the common key source data using the generation algorithm (hereinafter referred to as "common key generation count data"). The common key generation count data has an initial value of 0 and is incremented (+1) each time a common key is generated. The common key generation count data is transmitted to the receiving side and used to synchronize the common key source data on the receiving side with the common key source data on the transmitting side, as will be described later.

[0044] As shown in Fig. 4, the common key generation unit 130 generates a common key L1 by applying the common key original data K1 to a generation algorithm Ag. If the common key is encrypted and stored immediately after being generated by the common key generation unit 130, measures can be taken to prevent leakage during the short period from the generation of the common key to the destruction of the common key, which will be described later. The common key can be encrypted using any encryption method, but it is preferable to use an encryption method different from that used when generating the encrypted file, as this increases security.

[0045] (common key) The common key is data (information) used when the sending side encrypts a file to be sent to generate an encrypted file, and when the receiving side decrypts the encrypted file it has received to generate a file to be sent. In this embodiment, the common key is, for example, a numeric sequence (a numerical value with a predetermined number of digits). As described above, the common key is generated from common key source data using a generation algorithm. The common key is discarded immediately after generating the encrypted file. The next time the file to be sent is encrypted, a newly generated (updated) common key is used. In other words, a different common key is used for encryption each time. The discarding of the common key will be described in the section on discarding unit 160 below. The common key must never be transmitted or received between the information processing device 2 and the information processing device 3. This is because if the common key were to be intercepted by a third party, the encrypted transmitted file would immediately be exposed to the risk of being decrypted (i.e., illegally decrypted).

[0046] (Example of common key, common key source data, generation algorithm, and number of common key generation times) Hereinafter, an example (hereinafter referred to as "Example 2") will be used to explain the relationship between the common key, the common key source data generation algorithm, and the number of times the common key is generated in the information processing device (information processing system, information processing method, and information processing program) of this embodiment. First, it is assumed that the common key source data generating / updating unit 110 generates a five-digit number sequence of "12345" as common key source data (initial value) that serves as source data (seed value) for generating a common key. Then, it is assumed that a process of multiplying the common key source data by 7 and adding 3 is set as the generation algorithm, and that this process is executed when the generation algorithm is applied. The generation algorithm of Example 2 uses five digits from the ones digit to the tens digit, and any numbers overflowing from the five digits (i.e., numbers of six or more digits) are discarded. Note that Example 2 is an example of a small number of digits and simple calculations for ease of understanding, but the common key source data and generation algorithm are not limited in any way. When implementing the method of this embodiment, security can be improved by increasing the number of digits of the number or making the generation algorithm a more complex calculation, as in Example 1, for example.

[0047] In Example 2, the generation algorithm is applied to the common key source data (initial value), and the initial common key is calculated as "12345" x 7 + 3 = "86418". At this time, the number of common key generations is "1". After encrypting the file to be sent using this initial common key "86418", the generation algorithm is applied to "86418" to calculate "86418" x 7 + 3 = "04929", and this "04929" becomes the updated common key source data. The common key "86418" is then immediately discarded. When encrypting the next file to be sent, the generation algorithm is applied to the updated common key source data "04929," and the common key is calculated as "04929" x 7 + 3 = "34506." At this time, the number of common key generations becomes "2." After encrypting the file to be sent using this updated common key "34506," the generation algorithm is applied to "34506" to calculate "34506" x 7 + 3 = "41545," and this "41545" becomes the updated common key source data. The common key "34506" is then immediately discarded. The same process is repeated below.

[0048] (Common key verification data generation unit 140) The common key confirmation data generation unit 140 generates common key confirmation data by applying a one-way function to the common key generated by the common key generation unit 130. The common key confirmation data generated by the common key confirmation data generation unit 140 is transmitted to the receiving-side information processing device 3 by the transmission / reception unit 16, which will be described later.

[0049] (Shared key confirmation data) The common key verification data is data (a sequence of numbers; a number with a predetermined number of digits) used to verify whether the common key has been correctly generated on the receiving side. On the receiving side of the sending side, data is obtained by applying the same one-way function as the one-way function used by the common key verification data generation unit 140 (sending side) to the common key held by the receiving side. By verifying that the obtained data matches the common key verification data sent from the sending side, the receiving side can verify that the common key held by the receiving side is the same as the common key held by the sending side (that the common key has been correctly generated on the receiving side). There are no particular restrictions on the one-way function used in common by the sender and receiver. However, if the common key confirmation data sent from the sender to the receiver is intercepted by a third party and the one-way function used in common by the sender and receiver becomes known to that third party, the risk of the common key being leaked increases dramatically. Therefore, one-way functions that are easily guessed by third parties should be avoided.

[0050] (Encryption section 150) The encryption unit 150, on the sending side, encrypts a file to be sent from the sending side to the receiving side using a common key to generate an encrypted file. The algorithm used to encrypt the file to be sent is not particularly limited, and may be any algorithm used in a common key cryptosystem (AES, RC4, DES, 3DES, etc.).

[0051] (Discarding unit 160) The discarding unit 160 discards the common key immediately after the common key verification data generating unit 140 generates the common key verification data, the encryption unit 150 generates the encrypted file, and the common key source data generating / updating unit 110 updates the common key source data. In the transmitting information processing device 2, the discarding unit 160 discards (deletes) the common key each time an encrypted file is generated, thereby avoiding duplicate use of the common key and reducing the possibility of the common key being decrypted by using it only once. As described above, the common key is generated each time encryption is performed by applying a generation algorithm to the common key source data. In addition, by encrypting the common key immediately after the common key generating unit 130 generates it, measures can be taken to prevent leakage of the common key during the short period from its generation to its destruction. When encrypting the common key, a method (e.g., RSA encryption method) different from that used when the encryption unit 140 generates the encrypted file can be used to further enhance security.

[0052] As shown in Figure 5, when there is a file Fa to be sent from the sending side to the receiving side, the file Fa is generated as an encrypted file Fb based on a common key L1 (data). The common key L1 is then discarded (data erased) upon generation of the encrypted file Fb and updating of the common key source data from the common key L1.

[0053] (Transmitter / Receiver 16) The transmitting / receiving unit 16 transmits the encrypted file, the common key generation count data, and the common key confirmation data from the sending side to the receiving side. Furthermore, when the generation algorithm is updated, the transmitting / receiving unit 16 also transmits the generation algorithm update count data. In the information processing system 1 of this embodiment, as described above, a problem may occur in which the common key source data held by the receiving side differs from that held by the sending side (as a result, the key used by the receiving side to decrypt the encrypted transmitted file differs from the key used by the sending side to encrypt it, making the file unreadable). Therefore, a mechanism to prevent this (i.e., a mechanism to synchronize the common key source data between the sending side and the receiving side) is required. Part of this mechanism is the transmitting / receiving unit 16 transmitting the common key generation count data to the receiving side along with the encrypted file. The receiving side uses the common key generation count data to synchronize the common key source data on the receiving side with the common key source data on the sending side, which will be described later.

[0054] Furthermore, when updating the generation algorithm, a mechanism for synchronizing the generation algorithms on the sending and receiving sides is required, and part of this mechanism is for the transmitter / receiver 16 to transmit generation algorithm update count data to the receiving side along with the encrypted file. On the receiving side, the generation algorithm update count data is used to synchronize the receiving side's generation algorithm with the sending side's generation algorithm, which will be described later. By adopting these mechanisms, the sender and receiver can synchronize the common key source data (and generation algorithm) (and as a result, synchronize the common key), so there is no need to send or receive the common key itself. Furthermore, as mentioned above, the common key is discarded (data erased) immediately after the encrypted file is generated.

[0055] Therefore, even if communication between the sender and receiver is intercepted by a third party, the data leaked along with the transmitted file (encrypted file) is not the common key, but the common key generation count data and common key confirmation data (and generation algorithm update count data). Even if a third party obtains this data, it is impossible to restore the common key from this data alone, so security is guaranteed when transmitting encrypted files. Furthermore, because the generation and updating of the common key source data, common key, and common key confirmation data are performed by a program on the information processing device 2, the user does not need to be aware of this, and it does not increase the burden on the user.

[0056] Furthermore, when the common key source data (initial value) initially generated by the common key source data generating / updating unit 110 is shared online between the sending side and the receiving side (performed only once), the sending / receiving unit 16 receives a command from the sharing unit 120 to transmit the common key source data (initial value) to the receiving side information processing device 3. When the initial (unupdated) generation algorithm is shared online between the sending side and the receiving side (performed only once), the sending / receiving unit 16 receives a command from the sharing unit 120 to transmit information required to identify the generation algorithm to the receiving side information processing device 3.

[0057] 6 is a flowchart showing the flow of processing performed by the transmitting-side information processing device 2. However, this flowchart only shows processing from a state where the generation of common key source data (initial value) by the common key source data generating / updating unit 110 and the sharing of the common key source data and the generation algorithm performed by the sharing unit 120 only once with the receiving-side information processing device 3 have already been completed.

[0058] First, the common key generation unit 130 applies a generation algorithm to the common key source data to generate a common key and common key generation count data, and the common key confirmation data generation unit 140 generates common key confirmation data (step S1 in FIG. 6). Next, the encryption unit 150 uses the generated common key to encrypt the file to be transmitted from the sending side to the receiving side, thereby generating an encrypted file (step S2 in FIG. 6). Next, the generated encrypted file, the common key generation count data, and the common key confirmation data (and the generation algorithm update count data if the generation algorithm is updated) are transmitted to the receiving side via the transmitter / receiver 16 (step S3 in FIG. 6).

[0059] Next, the common key source data generating / updating unit 110 updates the common key source data using the common key (step S4 in FIG. 6). Finally, the discarding unit 150 discards the common key, and the series of processes ends (step S5 in FIG. 6). It should be noted that step S4 does not necessarily have to be executed after step S3, but may be executed between step S1 and step S2, or between step S2 and step S3.

[0060] Next, the details of the processing performed by each functional unit in the calculation unit 21 of the information processing device 3 on the receiving side will be described.

[0061] (Transmitter / receiver 26) The transmitting / receiving unit 26 of the information processing device 3 receives the common key source data and the generation algorithm only once at the beginning from the transmitting information processing device 2 (if both are performed online). The transmitting / receiving unit 26 receives the encrypted file, the common key generation count data, and the common key confirmation data (and the generation algorithm update count data if the generation algorithm is updated).

[0062] (Synchronization unit 210) Next, the synchronization unit 210 of the calculation unit 21 of the information processing device 3, which has received the encrypted file and the symmetric key generation count data (and the generation algorithm update count data if the generation algorithm is updated), synchronizes the receiver's symmetric key source data with the transmitter's symmetric key source data based on the received symmetric key generation count data. Normally, the symmetric key generation count data received by the receiver is +1. In this case, the symmetric key source data held by the receiver is synchronized with the transmitter's symmetric key source data, so no updating is necessary. However, when asynchronous communication is performed, it is possible that the difference between the symmetric key generation count data received by the receiver and the symmetric key generation count data held by the receiver is not +1. For example, if the difference is +2, the receiver's symmetric key source data is updated (+2) - (+1) = 1 time to synchronize it with the transmitter's symmetric key source data. To update the symmetric key source data once, it is sufficient to apply the generation algorithm to the symmetric key source data twice in succession. For example, in the above-mentioned Example 2, if the reception of the first encrypted file and the symmetric key generation count data ("1 time") is missed for some reason, the next received symmetric key generation count data will be "2 times." In this case, the symmetric key generation count data held by the receiving side is "0 times," and the difference is +2. Therefore, the symmetric key source data (initial value) "12345" held by the receiving side is updated by (+2) - (+1) = 1 time. That is, the generation algorithm is applied twice to the symmetric key source data (initial value) "12345," and the symmetric key source data on the receiving side is synchronized with the symmetric key source data on the transmitting side by changing "12345" x 7 + 3 = "86418" to "86418" x 7 + 3 = "04929." Then, the symmetric key generation unit 220 (described later) generates a symmetric key from the symmetric key source data "04929" synchronized with the transmitting side by changing "04929" x 7 + 3 = "34506."

[0063] Furthermore, when updating the generation algorithm, synchronization unit 210 synchronizes the generation algorithm with the generation algorithm on the transmitting side based on the generation algorithm update count data. For example, in the case of the above-mentioned Example 1, step 2 is "calculate the sum of 7517-200×n (n is the number of times the generation algorithm is updated)," and by changing the calculation content of step 2 based on the generation algorithm update count data sent from the transmitting side, the generation algorithm on the receiving side can be synchronized with the generation algorithm on the transmitting side.

[0064] (Common key generation unit 220) Next, the common key generation unit 220 applies a generation algorithm to the common key source data that has been synchronized with the receiving side, and generates a common key. 7 As shown in the figure, the common key L1 is generated from the common key source data K1 in the common key generation unit 220 of the receiving-side information processing device 3. At this time, a generation algorithm Ag synchronized with the generation algorithm of the transmitting-side information processing device 2 is used to generate the common key L1 from the common key source data K1. In the case of the above-mentioned example 2, the common key generation unit 220 uses a generation algorithm (synchronized with the generation algorithm of the transmitting side when updating the generation algorithm) based on the common key generation count data (1 in the example) to perform the same calculation as on the transmitting side (multiplying by 7 and adding 3) from the example common key source data "12345" to generate the common key "86418". The common key generation unit 220 calculates data by applying the same one-way function as used by the common key confirmation data generation unit 140 on the transmitting side to the generated common key, and determines whether the calculated data matches the received common key confirmation data. If they match, it is determined that the common key has been correctly generated on the receiving side, and the process proceeds to the next step. If they do not match, an error process is performed and the process is aborted.

[0065] As an abnormality handling, at the very least, the receiving side will notify the sending side that it cannot generate the common key correctly (and therefore cannot decrypt the encrypted file). However, as for the subsequent processing, the sending and receiving sides may attempt recovery by re-sharing / resending the data (in this case, variations such as starting by re-sharing the common key source data / generation algorithm or by re-sending the most recent data are conceivable), or various processing may be conceivable, such as abandoning the sending and receiving of the file, but these are outside the scope of this invention. If it is determined that the common key has been correctly generated on the receiving side, the common key generation unit 220 further updates the common key source data using the generated common key.

[0066] Just as on the sending side, the common key generation unit 220, immediately after generating the common key, encrypts the common key using an encryption method different from that used when the decryption unit 230 decrypts the encrypted file, thereby making it possible to take measures against leakage during the short period from the generation of the common key on the receiving side to its destruction, which will be described later. When encrypting the common key, a method different from that used when the file decryption unit 220 decrypts the encrypted file (for example, an RSA encryption method) can be adopted.

[0067] (Decoding unit 230) The decryption unit 230 decrypts the file to be transmitted from the encrypted file using the common key generated by the common key generation unit 220. As shown in Fig. 7, the original file to be transmitted Fa is decrypted from the encrypted file Fb using the common key L1 generated by the common key generation unit 220 in the receiving information processing device 3. The decryption unit 230 then updates the common key source data from the common key.

[0068] (Discarding unit 240) The discarding unit 230 discards the common key immediately after the file decryption unit 220 decrypts the encrypted file and updates the common key source data.

[0069] 8 is a flowchart showing the flow of processing performed by the receiving-side information processing device 3. However, this flowchart only shows processing from a state where the sharing of the common key source data and the generation algorithm, which are performed only once initially with the transmitting-side information processing device 2, has already been completed.

[0070] First, the transmitter / receiver 26 receives the encrypted file, common key generation count data, and common key confirmation data (and generation algorithm update count data if the generation algorithm is updated) from the transmitting side (step S1 in FIG. 8). Next, based on the received common key generation count data, the synchronization unit 210 determines whether the common key source data is synchronized with the sending side, and if it determines that synchronization is not achieved, it updates the common key source data to synchronize with the sending side. Also, when updating the generation algorithm, it determines whether the generation algorithm is synchronized with the sending side based on the received generation algorithm update count data, and if it determines that synchronization is not achieved, it updates the generation algorithm to synchronize with the sending side. In either case, if it determines that synchronization is achieved, it proceeds to the next process (step S2 in FIG. 8).

[0071] Next, the common key generation unit 220 generates a common key using a generation algorithm from the common key original data that has been synchronized with the receiving side, and generates data by applying the same one-way function to the generated common key as that used by the common key verification data generation unit 140 on the transmitting side (step S3 in Figure 8). If the data generated by applying the same one-way function as that used by the common key confirmation data generation unit 140 on the sending side to the common key does not match the received common key confirmation data, abnormality processing is performed and processing is stopped, but if they match, processing proceeds to the next step (step S4 in Figure 8). Next, the decryption unit 230 decrypts the encrypted file using the common key (step S5 in FIG. 8). Finally, the common key is discarded by the discarding unit 240, and the series of processes ends (step S6 in FIG. 8).

[0072] (Information processing method and information processing program) 9 and 10, an information processing method and an information processing program in the information processing system 1 of this embodiment will be described. However, these flowcharts show a case where the generation of common key source data (initial value) in the transmitting information processing device 2, and the sharing of the common key source data, the sharing of the generation algorithm, and the sharing of the one-way function, which are performed only once initially between the transmitting information processing device 2 and the receiving information processing device 3, are all performed online.

[0073] The information processing method is executed by the calculation unit 11 of the transmitting information processing device 2 and the calculation unit 21 of the receiving information processing device 3 based on an information processing program. The information processing program causes the transmitting information processing device 2 shown in FIGS. 1 and 2 to execute a common key source data generation function, a common key source data sharing function, a generation algorithm sharing function, a one-way function sharing function, a common key generation function, a common key verification data generation function, a transmission file encryption function, an encrypted file or the like transmission function, a common key source data update function, and a common key destruction function. Furthermore, the information processing program causes the receiving information processing device 3 shown in FIGS. 1 and 3 to execute various functions, including a common key source data reception function, a generation algorithm reception function, a one-way function reception function, an encrypted file or the like reception function, a common key source data or the like synchronization function, a common key generation function, a common key verification function, an encrypted file decryption function, a common key source data update function, and a common key destruction function. Note that each function overlaps with the description of each functional unit of the calculation units 11 and 21 of the information processing devices 2 and 3 described above, so details will be omitted.

[0074] 9, the information processing method and information processing program executed by the calculation unit 11 of the transmitting information processing device 2 includes the following steps: a common key source data generation step (S110), a common key source data sharing step (S120), a generation algorithm sharing step (S130), a one-way function sharing step (S140), a common key generation step (S150), a common key verification data generation step (S160), a transmitted file encryption step (S170), an encrypted file or the like transmission step (S180), a common key source data update step (S190), and a common key destruction step (S200). Of course, various steps necessary for the information processing device 2 to control itself are also executed, but these are outside the scope of the present invention. As mentioned above, the sharing of the generation algorithm and the sharing of the common key source data must be performed at different times, so it is desirable that the execution timing of the common key source data sharing step (S120) and the execution timing of the generation algorithm sharing step (S130) be as far apart as possible.

[0075] The common key source data generation function generates common key source data (initial value) for generating a common key (S110; common key source data generation step). The common key source data sharing function transmits the common key source data (initial value) from the sending side to the receiving side to share it between both the sending side and the receiving side (S120; common key source data sharing step). The generation algorithm sharing function transmits the common key generation algorithm from the sending side to the receiving side to share it between both the sending side and the receiving side (S130; generation algorithm sharing step). The one-way function sharing function transmits the one-way function used on the sending side to generate common key verification data from the common key to share it between both the sending side and the receiving side (S140; one-way function sharing step). The common key generation function generates a common key from the common key source data using a generation algorithm, and also generates common key generation count data (S150; common key generation step). The common key verification data generation function applies a one-way function to the common key to generate common key verification data (S160; common key verification data generation step).

[0076] The transmission file encryption function encrypts a transmission file to be transmitted to the reception side information processing device 3 using a common key in the transmission side information processing device 2 to generate an encrypted file (S170; transmission file encryption step). The encrypted file etc. transmission function transmits the encrypted file, common key generation count data, and common key confirmation data from the transmission side information processing device 2 to the reception side information processing device 3 (S180; encryption file etc. transmission step). The common key source data update function updates the common key source data from the common key (S190; common key source data update step). The common key discarding function discards the common key after the transmission file encryption function generates an encrypted file using the common key and the common key source data update function updates the common key source data from the common key (S200; common key discarding step).

[0077] 10, the information processing method and information processing program executed by the calculation unit 21 of the receiving information processing device 3 includes the following steps: a common key source data receiving step (S210), a generation algorithm receiving step (S220), a one-way function receiving step (S230), an encrypted file etc. receiving step (S240), a common key source data etc. synchronizing step (S250), a common key generating step (S260), a common key confirming step (S270), an encrypted file decrypting step (S280), a common key source data updating step (S290), and a common key destroying step (S300). Of course, various steps necessary for the information processing device 3 to control itself are also executed, but these are outside the scope of the present invention.

[0078] The common key source data receiving function receives common key source data (initial value) transmitted from the transmitting information processing device 2 (S210; common key source data receiving step). The generation algorithm receiving function receives a generation algorithm transmitted from the transmitting information processing device 2 (S220; generation algorithm receiving step). The one-way function receiving function receives a one-way function transmitted from the transmitting information processing device 2 (S230; one-way function receiving step). The encrypted file etc. receiving function receives an encrypted file, common key generation count data, and common key confirmation data transmitted from the transmitting information processing device 2 (S240; encrypted file etc. receiving step). The common key source data etc. synchronizing function synchronizes the common key source data with the transmitting side's common key source data from the common key generation count data (S250; common key source data etc. synchronizing step). The common key generation function generates a common key from the synchronized common key source data, and updates the common key source data using the generated common key (S260; common key generation step). The common key confirmation function verifies that the common key generation function on the receiving side has correctly generated the common key by applying the same one-way function as the one-way function used by the common key confirmation data generation function on the generating side to the generated key and verifying that the generated data matches the received common key confirmation data (S270; common key confirmation step). The encrypted file decryption function decrypts the transmitted file from the encrypted file using the common key (S280; encrypted file decryption step). The common key source data update function updates the common key source data from the common key (S290; common key source data update step). The common key destruction function destroys the common key after the encrypted file decryption function decrypts the encrypted file and the common key source data update function updates the common key source data from the common key (S300; common key destruction step).

[0079] The computer program of the present invention described above may be recorded on a processor-readable recording medium, and the recording medium may be a "non-transitory tangible medium" such as a tape, disk, card, non-volatile semiconductor memory, or programmable logic circuit.

[0080] The computer program can be implemented using, for example, a scripting language such as ActionScript or JavaScript (registered trademark), an object-oriented programming language such as Objective-C or Java (registered trademark), or a markup language such as HTML5.

[0081] Although one embodiment of the present invention has been described above, the present invention is not limited to this embodiment and can be modified in various ways. Therefore, the present invention should not be interpreted as being limited based on the embodiment. Modifications of this embodiment will be described below.

[0082] (Variation 1) As mentioned above, the generation algorithm may also be updated, but the generation algorithm may be updated at any timing, not just each time a symmetric key is generated. Updating the generation algorithm at any timing can further enhance security against information leakage. In this case, deliberately not updating the generation algorithm each time a symmetric key is generated can make it difficult for third parties to determine the timing of the update, which is expected to further enhance security. Furthermore, reducing the frequency of updates can also be expected to save processing time. Furthermore, by making it so that a symmetric key cannot be generated without information on the previous generation algorithm when updating, the risk of the symmetric key being decrypted can be further reduced.

[0083] (Variation 2) When generating the common key verification data from the common key, it is also possible to use a common key generation algorithm and then apply a one-way function. In this modification 3, the algorithm for generating the common key verification data from the common key can also be updated, thereby improving security. [Explanation of symbols]

[0084] 1. Information Processing Systems 2,3 Information processing equipment (computers, etc.) 4. Internet connection 5 Server 11,21 Arithmetic unit 12,22 ROM 13,23 RAM 14,24 Storage section 15,25 I / O Interface 16,26 Transmitter / Receiver 110 Common key source data generation and update unit 120 Sharing Department 130,220 Common key generation unit 140 Common key verification data generation unit 150 Encryption section 160 Destruction Section 170,240 Disposal Section 210 Synchronization Unit 230 Decoding Unit K1 Common key source data Ag generation algorithm L1 common key Fa File to be sent Fb encrypted files

Claims

1. A transmitting-side information processing device includes a common key source data generating and updating unit that generates and updates common key source data that is source data of a common key for encrypting a transmission file to be transmitted to a receiving-side information processing device, a common key generation unit that generates the common key from the common key source data using a generation algorithm for generating the common key from the common key source data, and generates common key generation count data; a common key verification data generation unit that generates common key verification data by applying a one-way function to the common key generated by the common key generation unit; an encryption unit that encrypts a file to be transmitted to the receiving information processing device using the common key to generate an encrypted file; a discarding unit that discards the common key after the encryption unit generates the encrypted file; a transmitting unit that transmits the encrypted file, the common key generation count data, and the common key confirmation data to the receiving-side information processing device; Furthermore, The common key source data generation / update unit updates the common key source data based on the generated common key after the common key generation unit generates the common key and before the destruction unit destroys the common key. Information processing device.

2. A receiving-side information processing device includes a receiving unit that receives an encrypted file encrypted with a common key, common key generation count data, and common key confirmation data, which are transmitted from a transmitting-side information processing device, a synchronization unit that synchronizes common key base data, which is base data of the common key, with common key base data held by the transmitting information processing device, based on the received common key generation count data; a common key generation unit that generates the common key from common key source data synchronized with common key source data held by the transmitting information processing device using a generation algorithm for generating the common key, applies a one-way function to the generated common key to verify that the generated data matches the common key verification data, and updates the common key source data using the generated common key; a decryption unit that decrypts the encrypted file received by the receiving unit using the common key and updates the common key source data; the decryption unit decrypts the encrypted file and updates the common key source data, and then discards the common key.

3. 2. The information processing device according to claim 1, further comprising a generation algorithm update unit that updates the generation algorithm and generates generation algorithm update count data, wherein the transmission unit further transmits the generation algorithm update count data to the receiving information processing device in addition to the encrypted file, the common key generation count data, and the common key confirmation data.

4. 3. The information processing device according to claim 2, wherein the receiving unit further receives generation algorithm update count data in addition to the encrypted file, the common key generation count data, and the common key confirmation data, and the synchronization unit synchronizes the generation algorithm with the generation algorithm possessed by the sending information processing device based on the received generation algorithm update count data.

5. The information processing apparatus according to claim 1 , wherein, when generating the common key, the common key generating unit encrypts the common key using an encryption method different from that used when the encryption unit generates the encrypted file.

6. The information processing apparatus according to claim 2 , wherein, when generating the common key, the common key generating unit encrypts the common key using an encryption method different from that used when the decrypting unit decrypts the encrypted file.

7. 10. An information processing system comprising a transmitting information processing device according to claim 1 and a receiving information processing device according to claim 2, which are connected to each other by a telecommunications line.

8. The computer a common key source data generation step of generating common key source data to be transmitted from the transmitting information processing device to the receiving information processing device, the common key source data being the source data of the common key; a common key source data sharing step of transmitting the common key source data from the transmitting information processing device to the receiving information processing device so that the common key source data is shared between both the transmitting information processing device and the receiving information processing device; a generation algorithm sharing step of transmitting a generation algorithm for generating the common key from the common key source data from the transmitting information processing device to the receiving information processing device so that the generation algorithm is shared between the transmitting information processing device and the receiving information processing device; a one-way function sharing step of transmitting a one-way function, which is to be applied to the common key to generate common key verification data, from the transmitting information processing device to the receiving information processing device so as to share the one-way function between the transmitting information processing device and the receiving information processing device; a common key generation step in the information processing device on the transmitting side to generate a common key from the common key source data using the generation algorithm and to generate common key generation count data; a common key verification data generation step of generating common key verification data by applying a one-way function to the common key generated in the common key generation step; an encryption step in the transmitting information processing device to encrypt a transmission file to be transmitted from the transmitting information processing device to the receiving information processing device using the common key to generate an encrypted file; a transmitting step of transmitting the encrypted file, the common key generation count data, and the common key confirmation data from the transmitting information processing device to the receiving information processing device; a common key source data updating step of updating the common key source data based on the common key; a discarding step of discarding the common key after generating an encrypted file in the encryption step and updating the common key source data in the common key source data update step; Run Information processing methods.

9. On the computer, a common key source data generation function for generating common key source data, which is the source data of the common key, to be transmitted from the transmitting information processing device to the receiving information processing device; a common key source data sharing function for transmitting the common key source data from the transmitting information processing device to the receiving information processing device so that the common key source data is shared between both the transmitting information processing device and the receiving information processing device; a generation algorithm sharing function that transmits a generation algorithm for generating the common key from the common key source data from the transmitting information processing device to the receiving information processing device so that the generation algorithm is shared between the transmitting information processing device and the receiving information processing device; a one-way function sharing function that transmits a one-way function, which is applied to the common key to generate common key verification data, from the transmitting information processing device to the receiving information processing device so that the one-way function is shared between the transmitting information processing device and the receiving information processing device; a common key generation function in the information processing device on the transmitting side to generate a common key from the common key source data using the generation algorithm and to generate common key generation count data; a common key verification data generation function that generates common key verification data by applying a one-way function to the common key generated by the common key generation function; an encryption function in the transmitting information processing device to encrypt a transmission file to be transmitted from the transmitting information processing device to the receiving information processing device using the common key to generate an encrypted file; a transmission function of transmitting the encrypted file, the common key generation count data, and the common key confirmation data from the transmitting information processing device to the receiving information processing device; a common key source data update function for updating the common key source data based on the common key; a discarding function that generates an encrypted file by the encryption function, updates the common key source data by the common key source data update function, and then discards the common key; Make it happen Information processing program.

Citation Information

Patent Citations

  • Method and device for exchanging cipher key

    JP2001094548A

  • Cryptographic key sharing device, cryptographic key sharing method, program, and communication equipment

    JP2005268903A

  • Communication system, transmission node, and reception node

    JP2017038143A

  • Reliable cryptographic key update

    US11924341B2

  • Authentication system and authentication method

    JP2001186122A