Data Communication Systems

The data communication system uses secret sharing and multiple connections to securely transmit confidential data, addressing integration challenges and enhancing security by distributing data across different paths.

JP7825250B1Active Publication Date: 2026-03-06ZENMUTECH INC +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2025183171
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-10-30
Publication Date
2026-03-06
Estimated Expiration
2045-08-06

AI Technical Summary

Technical Problem

Existing data communication systems for highly confidential data, such as medical data, face challenges in ensuring secure transmission and are difficult to integrate into existing hospital or clinic systems due to the need for specialized relay routes.

Method used

A data communication system that uses secret sharing technology to distribute data into multiple pieces, transmitted via multiple communication connections, including TCP and VPN sessions, ensuring secure transmission by distributing the data across different paths and requiring minimal system modifications.

Benefits of technology

The system enhances security by distributing data across multiple connections, making it easier to integrate into existing systems and preventing data restoration from intercepted data pieces, even if some connections are compromised.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007825250000001_ABST
    Figure 0007825250000001_ABST
Patent Text Reader

Abstract

A data communication system and program that can be easily introduced into an existing communication system and that can enhance communication security are provided. [Solution] A data communication system 1 for securely transmitting target data between a transmitting device (client 10) and a receiving device (proxy server 40), wherein the transmitting device has a terminal calculation unit 13 having the function of establishing two or more communication connections with the receiving device, the function of secretly distributing the target data into multiple distributed data, and the function of allocating and transmitting the multiple distributed data among the two or more communication connections established with the receiving device 40, and the receiving device 40 has a proxy communication unit 43 having the function of establishing two or more communication connections with the transmitting device 10 and the function of receiving the multiple distributed data allocated and transmitted among the two or more communication connections established with the transmitting device 10.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a data communication system that uses secret sharing technology to securely transmit and receive highly confidential data. [Background technology]

[0002] Conventionally, a technology has been disclosed for securely transmitting data by distributing target data to be transmitted into multiple distributed data using secret sharing and transmitting these multiple distributed data via multiple relay routes (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2024-098810 Summary of the Invention [Problem to be solved by the invention]

[0004] In recent years, growing awareness of security has led to a demand for communication technologies that can transmit data more securely. In particular, with the widespread use of AI, in the medical field as well, there is a demand for services that send medical data such as patient symptoms, medical records, and prescriptions from personal computers installed in hospitals and clinics to an AI server, where the data is analyzed and the analysis results are then sent to the hospital or clinic's personal computer. However, because medical data is highly confidential and corresponds to the patient's personal information, it is necessary to ensure secure communication between the hospital or clinic's personal computer and the AI ​​server. Therefore, as in Patent Document 1, a method is conceivable in which medical data is divided into multiple distributed data and transmitted, and each of the multiple distributed data is transmitted via a different relay route. However, the method described in Patent Document 1 requires the preparation of a source node with special functions, such as setting up relay routes so that the same relay node is not shared between different relay routes, and this often makes it difficult to easily introduce the system in hospitals and clinics.

[0005] An object of the present invention is to provide a data transmission system and a data transmission program that can be easily introduced into an existing system and that can enhance the security of communications. [Means for solving the problem]

[0006] The present invention provides the following (1) to ( 5 The present invention relates to a data communication system according to any one of the above. (1) A data communication system for securely transmitting target data between a transmitting device and a receiving device, wherein the transmitting device has a transmitting-side connection establishing means for establishing two or more communication connections with the receiving device, a secret sharing means for secretly sharing the target data into a plurality of distributed data, and a transmitting means for allocating and transmitting the plurality of distributed data to the two or more communication connections established with the receiving device, and the receiving device has a receiving-side connection establishing means for establishing the two or more communication connections with the transmitting device, and a receiving means for receiving the plurality of distributed data allocated and transmitted to the two or more communication connections established with the transmitting device. the transmitting-side connection establishment means determines the number of communication connections to be established with the receiving device in accordance with the data capacity of the distributed data or the number of data pieces of the distributed data. Data communication system. ( 2 ) the secret sharing means distributes the target data into the distributed data by the AONT method, and the sending-side connection establishment means determines the number of communication connections so that the number of data pieces of the distributed data to be transmitted via one communication connection is less than the number of data pieces of the distributed data necessary to restore the target data, 1 ) A data communication system according to the present invention. ( 3 2. The data communication system according to claim 1, wherein the plurality of communication connections transmit the plurality of distributed data via different communication paths. ( 4 ) The data communication system described in (1) above, wherein the transmitting device not only establishes a TCP connection as the communication connection with the receiving device by the transmitting side connection establishment means, but also establishes a TLS connection or a VPN session with the receiving device or another communication device. ( 5 ) The data communication system described in (1) above, wherein the receiving device further has a reply means for, when sending reply data created based on the target data from the receiving device to the transmitting device, sending the reply data using a communication connection established between the transmitting device and the receiving device. The present invention also provides the following ( 6 ) or ( 7) The outline of the program is as follows. ( 6 ) In a data communication system for transmitting target data between a transmitting device and a receiving device, a program executed by the transmitting device includes a connection establishment function for establishing two or more communication connections between the transmitting device and the receiving device, a secret sharing function for secretly sharing the target data into a plurality of shared data, and a transmission function for allocating the plurality of shared data to the two or more communication connections and transmitting the shared data. the connection establishment function determines the number of communication connections to be established with the receiving device according to a data capacity of the distributed data or a data number of the distributed data. program. ( 7 ) The program runs in the background, and the user can send the target data after installing the program by performing the same operation as before installing the program. 6 ) The program described in [Effects of the Invention]

[0007] According to the present invention, a data communication system and program can be provided that can be easily introduced into an existing communication system by simply installing or updating a program on a transmitting device and a receiving device that constitute an existing communication system, and that can also increase the security of communication by allocating and transmitting multiple distributed data obtained by secretly sharing target data to two or more communication connections. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a diagram for explaining an overview of a data communication system according to an embodiment of the present invention; [Figure 2] 1 is a diagram for explaining features of a data communication system according to an embodiment of the present invention; [Figure 3] 1 is a configuration diagram of a data communication system according to an embodiment of the present invention. [Figure 4] FIG. 1 is a diagram for explaining the secret sharing process (AONT conversion) according to the present embodiment. [Figure 5] FIG. 1 is a diagram for explaining the secret sharing process (inverse AONT transformation) according to the present embodiment. [Figure 6] 10 is a flowchart illustrating a medical data analysis process according to the present embodiment. [Figure 7] 10 is a flowchart showing a medical data transmission process according to the present embodiment. [Figure 8] 10 is a flowchart illustrating an analysis result transmission process according to the present embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0009] An embodiment of a data communication system according to the present invention will be described with reference to the drawings. Figure 1 is a configuration diagram showing a data communication system 1 according to this embodiment. As shown in Figure 1, the data communication system 1 according to this embodiment includes a client 10, an AI server 20, a VPN server 30, and a proxy server 40, and aims to ensure secure communication between the client 10 and the AI ​​server 20.

[0010] In this embodiment, the data communication system 1 according to the present embodiment will be described by exemplifying a scenario in which a client 10 installed in a hospital, clinic, or the like transmits patient medical data to an AI server 20 owned by a medical AI service provider that analyzes medical data using AI. The AI ​​server 20 then performs data analysis based on the transmitted medical data, and transmits the analysis results from the AI ​​server 20 to the client 10. Furthermore, in this embodiment, in addition to securely transmitting highly confidential medical data from the client 10 to the AI ​​server 20, the AI ​​server 20 also performs data analysis based on the medical data received from the client 10, and securely transmits the analysis results from the AI ​​server 20 to the client 10. In particular, this embodiment is characterized by the fact that, as shown in FIG. 1 , a proxy server 40 acts as a proxy for communication with the client 10, and the medical data and the analysis results are secretly shared and transmitted between the client 10 and the proxy server 40, thereby securely transmitting and receiving the medical data and the analysis results.

[0011] When medical data is sent from client 10 to AI server 20, client 10 functions as a transmitting device of the present invention, proxy server 40 functions as a receiving device of the present invention, and the medical data sent from client 10 to AI server 20 becomes the target data to be sent. When analysis results are sent from AI server 20 to client 10, proxy server 40 functions as a transmitting device of the present invention, client 10 functions as a receiving device of the present invention, and the analysis results sent from AI server 20 to the client become the target data to be sent.

[0012] FIG. 2 is a diagram illustrating the data configuration in a communication path according to this embodiment. In this embodiment, as shown in FIG. 2, the client 10 secretly distributes medical data into multiple pieces of distributed data and establishes a TCP connection with the proxy server 40 to transmit the multiple pieces of distributed data via the multiple TCP connections. In this embodiment, the client 10 also establishes a VPN session with the VPN server 30 to transmit the multiple pieces of distributed data via the VPN session. On the path from the VPN server 30 to the proxy server 40, the multiple pieces of distributed data transmitted from the client 10 are transmitted via the multiple TCP connections established between the client 10 and the proxy server 40. The multiple pieces of distributed data are then restored by the proxy server 40, and the restored medical data is transmitted from the proxy server 40 to the AI ​​server 20.

[0013] Furthermore, when the AI ​​server 20 transmits the results of medical analysis to the client 10, the AI ​​server 20 first transmits the results to the proxy server 40. The proxy server 40 secretly distributes the results of analysis into multiple pieces of shared data, and then transmits the multiple pieces of shared data to the VPN server 30 via multiple TCP connections established with the client 10. The multiple pieces of shared data are also transmitted via the VPN session established with the VPN server 30 on the path from the VPN server 30 to the client 10. The client 10 then receives the shared data via the VPN session established with the VPN server 30 and the TCP connection established with the proxy server 40, and restores the received multiple pieces of shared data to obtain the analysis results. The following describes the details of the configuration of the data communication system 1 according to this embodiment with reference to FIG. 3. Note that FIG. 3 is a configuration diagram of the data communication system 1 according to this embodiment, and the VPN server 30 is not shown.

[0014] The client 10 is a personal computer, tablet, or the like installed in a hospital or clinic, and is a terminal used by medical professionals such as doctors, nurses, pharmacists, and medical clerks. In this embodiment, as shown in FIG. 3 , the client 10 has a terminal input unit 11, a terminal display unit 12, a terminal calculation unit 13, a terminal storage unit 14, and a terminal communication unit 15, and is capable of communicating with a proxy server 40 via the terminal communication unit 15 and an internet line. When a user inputs an instruction via the terminal input unit 11, the terminal calculation unit 13 executes a program for data communication processing stored in the terminal storage unit 14, thereby performing data communication processing according to this embodiment.

[0015] Specifically, the terminal processing unit 13 executes a terminal-side secret sharing function, a terminal-side connection establishment function, and a terminal-side data transmission / reception function to execute the data communication processing according to this embodiment. In this embodiment, the client 10 can execute the terminal-side secret sharing function, the terminal-side connection establishment function, and the terminal-side data transmission / reception function by installing the data communication program according to this embodiment in an existing client. Even when the data communication program according to this embodiment is installed, the user can transmit target data using the same operations as in existing data communication processing. When the user instructs transmission of target data, the terminal-side secret sharing function, the terminal-side connection establishment function, and the terminal-side data transmission / reception function according to this embodiment are executed in the background. Hereinafter, the terminal-side secret sharing function, the terminal-side connection establishment function, and the terminal-side data transmission / reception function according to this embodiment are collectively referred to as a terminal-side proxy function. Each function of the terminal-side proxy function of the terminal processing unit 13 is described below.

[0016] The terminal-side secret sharing function of the terminal computing unit 13 performs secret sharing processing to secretly share target data to be transmitted into multiple pieces of shared data. The secret sharing processing according to this embodiment can be performed, for example, by the method described in International Publication No. 2019 / 225735. FIG. 4 is a diagram for explaining the secret sharing processing according to this embodiment, specifically, a diagram for explaining the processing (AONT conversion) of secretly sharing a plaintext data file into multiple shares. As shown in FIG. 4, the terminal-side secret sharing function segments the plaintext data file into multiple input blocks x[1], x[2], ..., x[n], each having a first block length l. The first block length l is equal to the block length specific to the block cipher-type symmetric key cryptography (e.g., 128 bits for AES). Next, a random bit string K is generated having a bit length (e.g., 256 bits) equal to an integer multiple of the first block length l (two times the first block length in the example shown in FIG. 4). Then, the terminal-side secret sharing function uses a key based on the random bit string K to encrypt each input block x[1], x[2], ··· x[n] using a block cipher-type symmetric key encryption method (e.g., AES) and derives encrypted intermediate blocks x'[1], x'[2], ··· x'[n].

[0017] The terminal-side secret sharing function then concatenates the intermediate blocks x'[1], x'[2], ... x'[n] to form output blocks y[1], y[2], ... y[m-1] each having a second block length (e.g., 256 bits). Here, p consecutive intermediate blocks (two each in the example shown in Figure 4) are selected and concatenated together. The terminal-side secret sharing function then calculates the exclusive OR between all the formed output blocks y[1], y[2], ... y[m-1] and the random bit string K to derive a further output block y[m]. Next, the terminal-side secret sharing function concatenates one or more output blocks y[1], y[2],...y[m-1] that have been repeatedly generated and an output block y[m] derived by calculating an exclusive OR between the random bit string K and the output block y[1], y[2],...y[m-1] / y[m] to form an encrypted bit string y[1] / y[2] / ...y[m-1] / y[m] (note that " / " indicates concatenation). Then, the terminal-side secret sharing function distributes the encrypted bit string y[1] / y[2] / ...y[m-1] / y[m] into two or more shared bit strings FG1, FG2,..., each of which includes at least one of the output blocks. Each shared bit string FG1, FG2,..., constitutes a shared data item in this embodiment. Note that the terminal-side secret sharing function erases the random bit string K upon completion of the AONT transformation. In this manner, in this embodiment, the medical data to be transmitted is secretly shared into two or more shared data items.

[0018] Furthermore, in this embodiment, when the client 10 transmits distributed medical data to the proxy server 40, the proxy server 40 restores the medical data from the distributed medical data and transmits the restored medical data to the AI ​​server 20. The AI ​​server 20 performs AI-based data analysis of the medical data based on the medical data received from the proxy server 40 and transmits the analysis results to the proxy server 40. The proxy server 40 then secretly shares the analysis results into multiple pieces of distributed data and transmits them to the client 10. In this way, in this embodiment, since the proxy server 40 transmits distributed data of the analysis results, the terminal-side secret sharing function of the terminal computing unit 13 also has the function of restoring these multiple pieces of distributed data received from the proxy server 40 to obtain the analysis results.

[0019] 5 is a diagram for explaining the process (inverse AONT transformation) of restoring plaintext file data (analysis results) from multiple shared data segments. The terminal-side secret sharing function concatenates two or more shared bit strings (corresponding to shared data) FG1, FG2,... associated with the file data to be restored to form an encrypted bit string FG1 / FG2 / .... The terminal-side secret sharing function also segments the encrypted bit string FG1 / FG2 / ... into multiple input blocks y[1], y[2],... y[m-1], y[m] having a second block length (e.g., 256 bytes).

[0020] Next, the terminal-side secret sharing function calculates the exclusive OR between the segmented multiple input blocks y[1], y[2], y[m-1], y[m] to recover the random bit string K. The recovered random bit string K may be the same as the key used to decrypt each block using a symmetric key cryptosystem. Alternatively, the random bit string K may be a larger bit string that includes the key used to decrypt each block. Next, the terminal-side secret sharing function separates each of the multiple input blocks y[1], y[2], y[m-1] into a predetermined number (two each in the example shown in FIG. 5) of intermediate blocks x'[1], x'[2], x'[n]. As a result, the block length of the intermediate blocks becomes equal to the first block length l. Furthermore, the terminal-side secret sharing function decrypts the intermediate blocks x'[1], x'[2], ... x'[n] using a symmetric key cryptosystem with a key based on the restored random bit string K, deriving a predetermined number of output blocks x[1], x[2], ... x[n].The terminal-side secret sharing function then concatenates the multiple output blocks x[1], x[2], ... x[n] to restore the plaintext file data (analysis results), which is the original bit string.The terminal-side secret sharing function then erases the random bit string K once the AONT inverse transformation is complete.

[0021] 4 and 5 are merely examples, and the steps do not necessarily have to be executed in the order shown. For example, some processing steps may be executed in parallel. Furthermore, additional processing steps may be employed, or some processing steps may be omitted.

[0022] As described above, the secret sharing process (modified CTRT method) according to this embodiment eliminates the constraint that k≦l between block length l and key length k, which is present in the existing CTRT method, and enables the implementation of AONT transformation / inverse AONT transformation using a combination of a block cipher encryption method and key length with stronger security. Furthermore, like the existing CTRT method, the secret sharing process according to this embodiment does not include computationally expensive processing such as the decompression of hash values ​​required by the OAEP method. Furthermore, the increase in data size of the encrypted bit string relative to the original bit string is only the amount of padding bits and one output block (y[m] in the example shown in FIG. 5 ). Therefore, the secret sharing process according to this embodiment can achieve stronger security by selecting a longer key length while maintaining the advantage of the AONT method, which is that it can be easily used in a variety of systems or devices with resource limitations in various aspects, such as processing power, communication performance, or storage capacity.

[0023] Furthermore, in the secret sharing process according to this embodiment, if the encryption method is the Advanced Encryption Standard (AES), which has a unique block length of 128 bits, an encryption key with a key length of 256 bits is selected. In this case, the key length k is exactly twice the block length l. Therefore, during the AONT conversion, two intermediate blocks after AES encryption are concatenated to form output blocks, and the encryption key can be easily spread throughout the entire message and concatenated by performing an exclusive OR between these output blocks and the encryption key. Furthermore, the repetition of concatenation / separation of bit strings in block units and the calculation of the exclusive OR is suitable for high-speed sequential processing on a general-purpose processor or for further speedup through parallelization.

[0024] Furthermore, in the data communication system 1 according to this embodiment, plaintext data cannot be restored unless a specific number of secretly shared shared data pieces are collected, and even if some shared data pieces transmitted over one communication connection are intercepted by a malicious third party, confidential medical data cannot be restored from these shared data pieces unless shared data pieces transmitted over other communication connections are intercepted. This further enhances security in data communication.

[0025] The terminal-side connection establishment function of the terminal computing unit 13 establishes two or more communication connections with the proxy server 40 even when transmitting one piece of target data (medical data). Specifically, the terminal-side connection establishment function first determines the number of communication connections to be established depending on the data volume of the target data, the data volume of the distributed data, or the number of pieces of distributed data. More specifically, the terminal-side connection establishment function can establish a larger number of communication connections the larger the data volume of the target data, the larger the data volume of the distributed data, or the larger the number of pieces of distributed data. In this embodiment, the client 10 stores in advance, as a table or a certain relational expression, the relationship between the data volume of the target data, the data volume of the distributed data, or the number of pieces of distributed data and the number of communication connections to be established. The terminal-side connection establishment function can use this table or relational expression to determine the number of communication connections to be established based on the data volume of the target data, the data volume of the distributed data, or the number of pieces of distributed data. For example, if the target data is 1 GB and the target data is distributed by the terminal-side secret sharing function into 10 pieces of distributed data of 100 MB each, the terminal-side connection establishment function can refer to a pre-stored table or relational expression and determine the number of communication connections to be established as 10. Note that even when the target data is distributed into 10 pieces of distributed data as described above, the terminal-side connection establishment function can also be configured to determine the number of communication connections as 5, for example, if two pieces of distributed data are sent over one communication connection.

[0026] Then, the terminal-side connection establishment function establishes the determined number of communication connections with the proxy server 40 via the terminal communication unit 15. Specifically, in this embodiment, the terminal-side connection establishment function establishes the determined number of TCP connections with the proxy server 40.

[0027] Furthermore, in this embodiment, the terminal-side connection establishment function can be configured to establish a TLS connection or a VPN session in addition to a TCP connection. Specifically, the terminal-side connection establishment function can establish a TLS connection by confirming the encryption method, checking the server certificate, exchanging keys, etc. with the proxy server 40, and can establish a VPN session by confirming the encryption method, checking the server certificate, exchanging keys, and authenticating with the VPN server 30. The protocol used for the VPN is not particularly limited, and examples include SSL, IPSec, L2TP / IPSec, SSTP, and OpenVPN.

[0028] The terminal-side data transmission / reception function of the terminal computing unit 13 transmits the distributed data of the target data (medical data) generated by the terminal-side secret sharing function via the terminal communication unit 15 over the communication connection established by the terminal-side connection establishment function. In particular, in this embodiment, multiple communication connections are established with the AI ​​server 20 depending on the data volume of the target data, the data volume of the distributed data, or the number of pieces of distributed data, and the terminal-side data transmission / reception function distributes and transmits the multiple distributed data among these multiple communication connections. The terminal-side data transmission / reception function also has the function of receiving the multiple distributed data transmitted from the proxy server 40.

[0029] Next, we will explain the proxy server 40. The proxy server 40 is located on the Internet and is a server that communicates securely with the client 10 on behalf of the AI ​​server 20. In this embodiment, as shown in Figure 3, the proxy server 40 has a proxy calculation unit 41, a proxy storage unit 42, and a proxy communication unit 43, and is able to communicate with the client 10 via the proxy communication unit 43 via an Internet line.

[0030] The proxy computation unit 41 can perform the data communication processing according to this embodiment by executing a program stored in the proxy storage unit 42. Specifically, in order to perform the data communication processing according to this embodiment, the proxy computation unit 41 has a server-side connection establishment function, a server-side data transmission / reception function, and a server-side secret sharing function. Each function of the proxy computation unit 41 will be described below. Note that, hereinafter, the server-side secret sharing function, server-side connection establishment function, and server-side data transmission / reception function will also be collectively referred to as the server-side proxy function.

[0031] The server-side connection establishment function of the proxy calculation unit 41 establishes a communication connection with the client 10 via the proxy communication unit 43. For example, when the server-side connection establishment function cooperates with the terminal-side connection establishment function to establish a TCP connection, it can establish multiple TCP connections with the client 10 by receiving information for establishing a connection (e.g., a SYN flag) from the client 10, assigning port numbers according to the number of connections, and returning information including an ACK flag.

[0032] The server-side data transmission / reception function of the proxy computation unit 41 receives multiple pieces of shared data transmitted from the client 10 via the proxy communication unit 43, via multiple communication connections established with the client 10 by the server-side connection establishment function. The server-side data transmission / reception function also transmits multiple pieces of shared data generated by the server-side secret sharing function (described later) to the client 10 via the proxy communication unit 43, via multiple communication connections established with the client 10 by the server-side connection establishment function. The server-side data transmission / reception function also has the function of transmitting and receiving data to and from the AI ​​server 20.

[0033] The server-side secret sharing function of the proxy computing unit 41 restores multiple pieces of shared data received from the client 10. Note that the method for restoring shared data using the server-side secret sharing function can be executed by the AONT inverse conversion process shown in Figure 5, similar to the method for restoring shared data using the terminal-side secret sharing function of the terminal computing unit 13. The server-side secret sharing function also has the function of secretly sharing the analysis results of medical data generated by the AI ​​server 20 into multiple pieces of shared data. The secret sharing method using the server-side secret sharing function can be executed by the AONT conversion process shown in Figure 4, similar to the secret sharing method using the terminal secret sharing function of the terminal computing unit 13.

[0034] Next, we will explain the AI ​​server 20. The AI ​​server 20 is an AI server located on the Internet that runs programs such as generative AI using large-scale language models (LLMs) and image recognition AI. In this embodiment, it is a server provided by a medical AI service provider that analyzes medical data using AI. The AI ​​server 20 can provide AI services by performing known AI analysis processing.

[0035] Next, a medical data analysis process using the data communication process according to this embodiment will be described. FIG. 6 is a flowchart showing the medical data analysis process according to this embodiment. In the medical data analysis process according to this embodiment, medical data held by the client 10 is transmitted to the AI ​​server 20 using the data communication process according to this embodiment, and when the AI ​​server 20 performs data analysis using AI, the analysis results are transmitted to the client 10 using the data communication process according to this embodiment. Below, details of the medical data analysis process according to this embodiment will be described based on FIG. 6.

[0036] As shown in Fig. 6, medical data transmission processing is performed in step S101. Here, Fig. 7 is a flowchart showing the medical data transmission processing in step S101. Specifically, as shown in Fig. 7, first, in step S201, secret sharing of medical data is performed by the terminal-side secret sharing function of the client 10. Specifically, the terminal-side secret sharing function of the client 10 secretly shares the medical data using the AONT conversion, as shown in Fig. 4, to generate multiple shared data from the medical data.

[0037] In step S202, the terminal-side connection establishment function of the client 10 determines the number of TCP connections to be established between the client 10 and the proxy server 40. Specifically, the terminal-side connection establishment function determines the number of TCP connections depending on the data volume of the medical data, the data volume of the distributed data, or the number of pieces of distributed data. For example, if the data volume of the medical data is approximately 1 GB and the data volume of the distributed data is approximately 10 MB, or if the number of pieces of distributed data is 100, by setting the number of TCP connections to 10 in advance, when the target data is 1 GB and is secretly shared into 100 pieces of distributed data each approximately 10 MB, 10 TCP connections can be established so that approximately 100 MB of distributed data can be transmitted per communication connection.

[0038] Furthermore, in step S202, when the terminal-side connection establishment function determines the number of TCP connections according to the number of pieces of distributed data, it is preferable to determine the number of communication connections so that the number of pieces of distributed data transmitted via one communication connection is less than the number of pieces of distributed data required to restore the target data. For example, in this embodiment, the target data is secretly shared into distributed data using the AONT conversion process. Therefore, the medical data cannot be restored from the distributed data unless all of the distributed data are collected. However, for example, the terminal-side secret sharing function can distribute the medical data into n pieces of distributed data using (t, n) threshold secret sharing. In this case, the terminal-side connection establishment function can restore the medical data from the distributed data when t pieces of distributed data are collected from the n pieces of distributed data. In such a case, if more than t pieces of distributed data are transmitted via one communication connection, there is a risk that the medical data may be restored if all of the distributed data (t pieces of distributed data) are intercepted via that communication connection. On the other hand, by making the number of distributed data transmitted over one communication connection less than the number of distributed data required to restore the medical data (less than t), it is possible to prevent the medical data from being restored even if all of the distributed data over that communication connection is intercepted.

[0039] In step S203, a VPN session is established between the client 10 and the VPN server 30. For example, the terminal-side connection establishment function of the client 10 can establish a VPN session by performing authentication with the VPN server 30, such as checking the encryption method, checking the server certificate, and exchanging keys, and also by inputting an ID and password, a one-time password, etc.

[0040] In step S204, a TCP connection is established between the client 10 and the proxy server 40. For example, the terminal-side connection establishment function of the client 10 transmits a handshake message including a connection number, a sending port number, and a SYN flag to the proxy server 40, and the server-side connection establishment function of the proxy server 40 transmits a handshake message including a connection number, a receiving port number, and an ACK flag to the client 10. In response, the terminal-side connection establishment function of the client 10 again transmits a handshake message including the received ACK flag to the proxy server 40, thereby establishing a TCP connection. In this embodiment, TCP connections are established for the number of communication connections determined in step S202. For example, if the number of TCP connections is determined to be 10 in step S202, the terminal-side connection establishment function and the server-side connection establishment function will establish 10 TCP connections.

[0041] In step S205, the terminal-side data transmission / reception function of the client 10 transmits the multiple pieces of shared data secretly shared in step S201 to the proxy server 40 via the terminal communication unit 15, the VPN session established in step S203, and the TCP connection established in step S204. For example, the terminal-side data transmission / reception function assigns header information to each piece of shared data for transmission over the TCP connection, encrypts each piece of shared data with the TCP header according to the VPN protocol, and transmits the decrypted data to the VPN server 30. The VPN server 30 decrypts the encrypted shared data and transmits it to the proxy server 40, whereby the proxy server 40 receives the shared data corresponding to each TCP connection. As a result, the server-side data transmission / reception function of the proxy server 40 receives the shared data transmitted in step S205 via the proxy communication unit 43.

[0042] In step S206, the server-side secret sharing function of the proxy server 40 restores the medical data from the multiple shared data received in step S205. Specifically, the server-side secret sharing function can restore the medical data from the multiple shared data by performing the secret sharing process (inverse AONT conversion process) shown in Figure 5. Then, the server-side sending and receiving function of the proxy server 40 transmits the restored medical data to the AI ​​server 20.

[0043] Next, returning to Figure 6, in step S102, the AI ​​server 20 performs data analysis using AI based on the medical data acquired in the medical data transmission process in step S101. The AI ​​server 20 can be configured to analyze the medical data based on programs, models, learning data, etc. stored in a memory unit of the AI ​​server 20, and can also be configured to analyze the medical data by interacting with other AI servers.

[0044] Next, in step S103, an analysis result transmission process is performed in which the analysis result generated by the AI ​​server 20 is sent to the client 10. Figure 8 is a flowchart showing the analysis result transmission process in step S103. Specifically, in step 301, the analysis result is first transmitted from the AI ​​server 20 to the proxy server 40, and the analysis result obtained in step S102 is secret shared using the server-side secret sharing function of the proxy server 40, as shown in Figure 8. Specifically, the server-side secret sharing function secretly shares the analysis result using AONT conversion, as shown in Figure 4, to generate multiple pieces of shared data by secret sharing the analysis result.

[0045] In step S302, the server-side data transmission / reception function of the proxy server 40 transmits the shared data of the analysis result secretly shared in step S301 to the client 10. At the time of transmitting the shared data in step S302, the communication connections established in steps S203 and S204 exist between the client 10 and the proxy server 40 (and the VPN server 30), so the server-side data transmission / reception function can use these communication connections to transmit the shared data of the analysis result to the client 10. In particular, in this embodiment, multiple TCP connections are established, and the server-side data transmission / reception function distributes the multiple shared data among the multiple TCP connections for transmission. As a result, the terminal-side data transmission / reception function of the client 10 receives the shared data of the analysis result transmitted from the proxy server 40.

[0046] In step S303, the multiple shared data received in step S302 are restored by the terminal-side secret sharing function of the client 10. Specifically, the terminal-side secret sharing function can restore data indicating the analysis result from the multiple shared data by performing the secret sharing process (inverse AONT conversion process) shown in FIG. 5. The client 10 can store the restored analysis result in the terminal storage unit 14 or display it on the terminal display unit 12 to present the analysis result to the user (healthcare professional) of the client 10. After the proxy server 40 transmits the shared data of the analysis result to the client 10, the client 10 and the proxy server 40 can terminate the communication connection between the client 10 and the proxy server 40.

[0047] As described above, the data communication system 1 according to this embodiment includes the client 10 and the proxy server 40, and is characterized in that the client 10 establishes two or more communication connections with the proxy server 40, secretly distributes target data (medical data) into a plurality of distributed data, and distributes and transmits the plurality of distributed data among the two or more communication connections established with the proxy server 40, and the proxy server 40 establishes the two or more communication connections with the client 10 and receives the plurality of distributed data distributed and transmitted among the two or more communication connections established with the client 10. As a result, in the data communication system 1 according to this embodiment, even if distributed data of medical data is intercepted in one communication connection, the medical data cannot be restored unless distributed data is intercepted in other communication connections, thereby improving communication security.

[0048] Furthermore, the data communication processing according to this embodiment can be realized by adding or modifying software in the configuration of a transmitting device and a receiving device that perform general data communication processing, so that the data communication system 1 according to this embodiment can be easily introduced to an existing client 10 by simply installing the data communication program according to this embodiment in the client 10, such as a personal computer. Furthermore, the data communication processing according to this embodiment operates in the background, and the user can send target data using the data communication processing according to this embodiment while continuing with conventional data transmission operations.

[0049] Furthermore, in this embodiment, the client 10 can achieve stronger security by establishing a VPN session in addition to a TCP connection as a communication connection. In addition, in this embodiment, by determining the number of communication connections to be established between the client 10 and the proxy server 40 according to the data volume of the target data, the data volume of the distributed data, or the number of pieces of distributed data, even if the data volume of the target data or the distributed data is large, the target data can be distributed and transmitted, allowing for faster transmission of the target data. Furthermore, even if the number of pieces of distributed data is large, the number of pieces of distributed data transmitted via each communication connection can be kept small. Therefore, even if eavesdropping is performed on one communication connection, the amount of eavesdropped data can be kept small, allowing for more secure data transmission.

[0050] Furthermore, in this embodiment, when sending data from the proxy server 40 to the client 10, the data is sent using the communication connection established between the client 10 and the proxy server 40 when sending data from the client 10 to the proxy server 40, so that data can be sent quickly and safely, just like when sending data from the client 10 to the proxy server 40.

[0051] Furthermore, in the data communication process according to this embodiment, medical data is distributed into multiple pieces of distributed data, and the number of communication connections is determined so that the number of pieces of distributed data transmitted over one communication connection is less than the number of pieces of distributed data required to restore the target data. This ensures that even if the distributed data is intercepted over one communication connection, the target data cannot be restored from the intercepted distributed data, thereby achieving more secure communication.

[0052] Although the preferred embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the above-described embodiments. Various modifications and improvements can be made to the above-described embodiments, and such modifications and improvements are also included in the technical scope of the present invention.

[0053] For example, in the above-described embodiment, when the proxy server 40 receives distributed medical data from the client 10, it restores the received multiple distributed data to plaintext medical data and sends it to the AI ​​server 20, thereby allowing the AI ​​server 20 to analyze the medical data. However, this configuration is not limited to this. For example, if the distributed data is secretly shared using Shamir's secret sharing scheme, linear secret sharing scheme, etc., the proxy server 40 can send the received multiple distributed data to the AI ​​server 20 as is, and the AI ​​server 20 can perform secret calculations on the distributed medical data as is.

[0054] Furthermore, in the above-described embodiment, a configuration in which the client 10 establishes a VPN session with the VPN server 30 has been exemplified, but the present invention is not limited to this configuration, and a configuration in which a VPN session is established between the client 10 and the proxy server 40 by having part of the proxy server 40 function as a VPN server may also be adopted. Furthermore, a configuration in which a TLS server is installed instead of the proxy server 40 may also be adopted in which a TLS connection is established between the client 10 and the TLS server. Furthermore, in the above-described embodiment, a configuration in which the client 10 establishes a single VPN session with the VPN server 30 has been exemplified, but the present invention is not limited to this configuration, and a configuration in which multiple VPN sessions are established may also be adopted. In addition, in the above-described embodiment, a configuration in which a VPN session is established in addition to a TCP connection has been exemplified, but the present invention is not limited to this configuration, and for example, a configuration in which only a TCP connection is established may also be adopted.

[0055] Furthermore, in the above-described embodiment, a situation is illustrated in which a client 10 installed in a hospital, clinic, or the like transmits patient medical data to an AI server 20 of a medical AI service provider that analyzes medical data using AI, and the AI ​​server 20 performs data analysis based on the transmitted medical data and transmits the analysis results from the AI ​​server 20 to the client 10. However, the present invention is not limited to this configuration and can also be applied to a configuration in which highly confidential data such as personal information, financial data, payment information, and trade secrets is transmitted between two information processing devices. Also, in the above-described embodiment, a situation in which communication is performed between the client 10 and the AI ​​server 20 is illustrated, but the present invention is not limited to this configuration and can also be configured to transmit information between two or more clients or two or more servers.

[0056] Additionally, in the above-described embodiment, when multiple pieces of distributed data are distributed and transmitted over multiple communication connections, the communication paths for each communication connection can be configured to be different. For example, one path can be used for transmission over an Internet line using Wi-Fi or the like, and another path can be used for transmission over a mobile phone communication line. This ensures that even if the distributed data is intercepted over one communication path, the medical data cannot be restored unless the distributed data is intercepted over the other communication paths, thereby further enhancing security. [Explanation of symbols]

[0057] 1...Data communication system 10. Client 11...Terminal input section 12...Terminal display 13...Terminal calculation unit 14...Device memory section 15...Terminal communication unit 20…AI Server 30…VPN servers 40...Proxy server 41...Proxy calculation unit 42...Proxy storage unit 43...Proxy communication section

Claims

1. A data communication system for securely transmitting target data between a transmitting device and a receiving device, comprising: The transmitting device a transmitting-side connection establishing means for establishing two or more communication connections with the receiving device; secret sharing means for secretly sharing the target data into a plurality of shared data; a transmitting means for distributing and transmitting the plurality of distributed data to the two or more communication connections established with the receiving device, The receiving device a receiving-side connection establishing means for establishing the two or more communication connections with the transmitting device; a receiving means for receiving the plurality of pieces of distributed data that have been distributed and transmitted through the two or more communication connections established with the transmitting device, A data communication system, wherein the transmitting-side connection establishing means determines the number of communication connections to be established with the receiving device in accordance with the data capacity of the distributed data or the number of data pieces of the distributed data.

2. the secret sharing means distributes the target data into n pieces of the distributed data by (t, n) threshold secret sharing; 2. The data communication system according to claim 1, wherein the transmitting side connection establishment means determines the number of communication connections so that the number of data pieces of the distributed data to be transmitted via one communication connection is less than the number t of distributed data pieces required to restore the target data.

3. 2. The data communication system according to claim 1, wherein the plurality of distributed data are transmitted via different communication paths in the two or more communication connections.

4. 2. The data communication system according to claim 1, wherein the transmitting device, in addition to establishing a TCP connection as the communication connection with the receiving device by the transmitting side connection establishment means, also establishes a TLS connection or a VPN session with the receiving device or another communication device.

5. The data communication system according to claim 1, wherein the receiving device further has a reply means for transmitting reply data created based on the target data from the receiving device to the transmitting device using a communication connection established between the transmitting device and the receiving device.

6. In a data communication system for transmitting target data between a transmitting device and a receiving device, a program executed by the transmitting device, a connection establishment function for establishing two or more communication connections between the transmitting device and the receiving device; A secret sharing function that secretly shares target data into multiple shared data; a transmission function of allocating the plurality of distributed data to the two or more communication connections and transmitting the data; The connection establishment function determines the number of communication connections to be established with the receiving device according to the data capacity of the distributed data or the number of data items in the distributed data.

7. The program runs in the background, 7. The program according to claim 6, wherein the user can transmit the target data after installation of the program by performing the same operation as before installation of the program.

Citation Information

Patent Citations

  • Communication device

    JP2003115869A

  • Data transmission method and apparatus

    JP2005094540A

  • Data transmission system, transmission controller, and transmitter

    JP2010114692A

  • Distribution route determination device of content distribution system

    JP2011139240A

  • Information processing apparatus, control method of the same, and program

    JP2016076857A