Communication system and program
The communication system and program enhance privacy protection by encrypting and randomly transmitting data among terminals and a server, addressing the leakage risk in existing shuffling devices and improving data utility.
Patent Information
- Application Number
- JP2021146642
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-09
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2041-09-09
AI Technical Summary
Existing differential privacy technologies require a separate device for data shuffling, which can lead to leakage of noise-reduced data, compromising privacy protection.
A communication system and program that includes a server and terminals, utilizing cryptographic keys for data encryption and random transmission destinations among terminals and the server, reducing noise at the data collection source while ensuring anonymity and privacy.
The system effectively suppresses noise at the data collection source, maintains data anonymity, and enhances privacy protection strength while improving statistical data utility without the need for a separate shuffling device.
Smart Images

Figure 0007701220000001 
Figure 0007701220000002 
Figure 0007701220000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a communication system and a program.
Background Art
[0002] As a technique for analyzing collected data while suppressing the disclosure of personal information included in the collected data to others and protecting privacy, differential privacy technology is known. In differential privacy technology, privacy protection strength is improved by adding statistical noise to data at the data collection source to randomize it, or anonymizing the data collection source by shuffling and swapping the data (see, for example, Non-Patent Document 1). In particular, by combining noise addition at the data collection source and data shuffling, it is possible to reduce the necessary noise while ensuring the non-identifiability of the data in the device that collects the data.
Prior Art Documents
Non-Patent Documents
[0003]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the technology disclosed in Non-Patent Document 1, in addition to the device for collecting data, a device for shuffling data is required. In the device for shuffling, the data before shuffling will be collected. Therefore, when the noise added to the data is reduced, if the data before shuffling leaks in the device for shuffling, since the noise of the leaked data is small, it becomes easy to identify information about an individual. In this case, it may be difficult to achieve appropriate privacy protection.
[0005] The present disclosure has been made to solve such problems. The object is to provide a communication system and a program capable of collecting data while reducing the noise added at the data collection source, ensuring the anonymity of the collected data, achieving both an improvement in the usefulness as statistical data and an improvement in the privacy protection strength.
Means for Solving the Problems
[0006] The communication system according to the present disclosure is a communication system including a server and a plurality of terminals. The server includes a cryptographic key management unit that manages a public key and a private key for decrypting information encrypted with the public key. Each of the terminals includes a storage unit that stores target data, a noise addition unit that adds noise to the target data stored in the storage unit of the terminal, an encryption unit that encrypts the target data with noise added thereto using the public key, a transmission destination determination unit that randomly determines a transmission destination of the target data stored in the storage unit of the terminal from among the server and other terminals other than the terminal, a transmission unit that transmits the target data encrypted by the encryption unit to the transmission destination determined by the transmission destination determination unit, and a terminal reception unit that receives target data transmitted from other terminals other than the terminal. The transmission destination determination unit further randomly determines a transmission destination of the target data received by the terminal reception unit from among the server and other terminals other than the terminal. The transmission unit further transmits the target data received by the terminal reception unit to the transmission destination determined by the transmission destination determination unit. The server further includes a server reception unit that receives target data transmitted from the terminal, and a decryption unit that decrypts the target data received by the server reception unit using the private key.
[0007] The program according to the present disclosure is a program to be executed by a terminal of a communication system including a server and a plurality of terminals, and includes adding noise to target data stored in a storage unit of the terminal, encrypting the target data with noise added thereto using a public key managed by the server, randomly determining a transmission destination of the target data stored in the storage unit of the terminal from among the server and other terminals other than the terminal, transmitting the encrypted target data to the determined transmission destination, receiving target data transmitted from other terminals other than the terminal, randomly determining a transmission destination of the received target data from among the server and other terminals other than the terminal, and transmitting the received target data to the determined transmission destination, which are executed by the terminal.
Advantages of the Invention
[0008] According to the communication system and program according to the present disclosure, it is possible to suppress the noise added at the data collection source to a small level, ensure the anonymity of the collected data, and achieve both an improvement in the usefulness as statistical data and an improvement in the privacy protection strength while collecting data.
Brief Description of the Drawings
[0009]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Modes for Carrying Out the Invention
[0010] Modes for implementing the communication system and program according to the present disclosure will be described with reference to the accompanying drawings. In each figure, the same or corresponding parts are denoted by the same reference numerals, and duplicate explanations are appropriately simplified or omitted. In the following description, for convenience, the positional relationship of each structure may be expressed based on the illustrated state. Note that the present disclosure is not limited to the following embodiments, and within the scope not departing from the gist of the present disclosure, a free combination of each embodiment, a modification of any component of each embodiment, or an omission of any component of each embodiment is possible.
[0011] Embodiment 1. Referring to FIGS. 1 to 7, Embodiment 1 of the present disclosure will be described. FIG. 1 is a diagram showing the overall configuration of a communication system. FIG. 2 is a block diagram showing the configuration of a server included in the communication system. FIG. 3 is a block diagram showing the configuration of a terminal included in the communication system. FIG. 4 is a diagram for explaining an example of processing at a terminal in the communication system. FIG. 5 is a diagram for explaining an example of processing in the communication system. FIG. 6 is a diagram for explaining an example of processing in a modified example of the communication system. FIG. 7 is a diagram for explaining an example in the case where the transmission destination of target data in the communication system is determined from among adjacent terminals.
[0012] As shown in FIG. 1, the communication system 400 according to this embodiment includes a server 100 and terminals 200. In the communication system 400, the server 100 and the terminals 200 are communicably connected via a network 300. The communication system 400 includes n terminals 200. Here, n is an integer of 2 or more. The server 100 is for collecting data stored in the terminals 200 owned by users via the network 300. In the description of the present disclosure, the data to be collected by the server 100 is referred to as "target data". The target data may include information regarding the individual user who is the owner of the terminal 200 in which the target data is stored. The server 100 is for analyzing the collected target data while suppressing the disclosure of the personal information included in the collected target data to others, that is, for protecting privacy, and obtaining its statistical properties, characteristics, etc.
[0013] The network 300 plays a role of connecting one or more terminals 200 and one or more servers 100. That is, the network 300 means a communication network that provides a connection path so that data can be transmitted and received after the terminal 200 is connected to the server 100. One or more parts of the network 300 may or may not be a wired network or a wireless network.
[0014] The network 300 can include, for example, an Ad Hoc Network, an intranet, an extranet, a Virtual Private Network (VPN), a Local Area Network (LAN), a Wireless LAN (WLAN), a Wide Area Network (WAN), a Wireless WAN (WWAN), a Metropolitan Area Network (MAN), a part of the Internet, a part of the Public Switched Telephone Network (PSTN), a mobile phone network, ISDN (Integrated Service Digital Networks), a wireless LAN, LTE (Long Term Evolution), CDMA (Code Division Multiple Access), Bluetooth (registered trademark), or satellite communication, etc., or a combination of two or more of these. The network 300 can include one or more networks 300.
[0015] The terminal 200 can be any terminal as long as it can realize the functions of the embodiments according to the present disclosure. The terminal 200 includes, for example, a smartphone, a mobile phone (feature phone), a computer (e.g., a desktop PC, a laptop PC, a tablet PC, etc.), a media computer platform (e.g., a cable, a satellite set-top box, a digital video recorder), a handheld computer device (e.g., a PDA (Personal Digital Assistant), an email client, etc.), a wearable terminal (a glasses-type device, a watch-type device, etc.), or other types of computers, or a communication platform. Also, the terminal 200 may be expressed as an information processing terminal.
[0016] Server 100 is provided with a function of providing a predetermined service to terminal 200. In addition to the function of collecting the target data described above, server 100 may or may not have a function of providing a messaging service that causes terminals 200 to transmit and receive content, for example.
[0017] Server 100 may be any device as long as it is an information processing device capable of realizing the functions of the embodiments according to the present disclosure. Server 100 includes, for example, a server device, a computer (e.g., a desktop PC, a laptop PC, a tablet PC, etc.), a media computer platform (e.g., a cable, a satellite set-top box, a digital video recorder), a handheld computer device (e.g., a PDA, an email client, etc.), or other types of computers, or a communication platform. Further, server 100 may be expressed as an information processing device. When there is no need to distinguish between server 100 and terminal 200, server 100 and terminal 200 may or may not be respectively expressed as information processing devices.
[0018] The configurations of the respective terminals 200 are basically the same. Next, the configuration of terminal 200 will be described with reference to FIG. 2. Terminal 200 includes a terminal control unit 230, a terminal storage unit 220, a terminal communication unit 210, an input / output unit 240, a display unit 250, a microphone 260, a speaker 270, and a camera 280. Each component of the hardware of terminal 200 is interconnected via a bus, for example. Note that it is not essential to include all the components described here as the hardware configuration of terminal 200. For example, terminal 200 may or may not be configured to remove individual components such as microphone 260 and camera 280, or a plurality of components.
[0019] The terminal control unit 230 has a circuit physically structured to execute functions realized by codes or instructions included in a program, and is realized, for example, by a data processing device built into hardware. Therefore, the terminal control unit 230 may or may not be expressed as a control circuit.
[0020] The terminal control unit 230 includes, for example, a central processing unit (CPU), a microprocessor, a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), and the like.
[0021] The terminal storage unit 220 has a function of storing various programs and various data required for the operation of the terminal 200. The terminal storage unit 220 includes various storage media such as a hard disk drive (HDD), a solid state drive (SSD), a flash memory, a random access memory (RAM), and a read only memory (ROM). Also, the terminal storage unit 220 may or may not be expressed as a memory.
[0022] The terminal 200 stores a program in the terminal storage unit 220, and by executing this program, the terminal control unit 230 executes processes as each unit included in the terminal control unit 230. That is, the program stored in the terminal storage unit 220 causes the terminal 200 to realize each function executed by the terminal control unit 230. In other words, the processor executes the program stored in the memory in the terminal 200, and the functions of each unit provided in the terminal 200 are realized by the cooperation of the hardware and software of the terminal 200. Note that this program may or may not be expressed as a program module.
[0023] The terminal communication unit 210 transmits and receives various data via the network 300. Such communication may be performed either by wire or wirelessly, and any communication protocol may be used as long as mutual communication can be executed. The terminal communication unit 210 has a function of communicating with the server 100 via the network 300. The terminal communication unit 210 includes a terminal transmission unit 211 and a terminal reception unit 212. The terminal transmission unit 211 transmits various data to the server 100 according to an instruction from the terminal control unit 230. The terminal reception unit 212 receives various data transmitted from the server 100 and transmits them to the terminal control unit 230. The terminal communication unit 210 may be expressed as a terminal communication I / F (interface). Also, when the terminal communication unit 210 is composed of physically structured circuits, it may be expressed as a terminal communication circuit.
[0024] The input / output unit 240 includes an input unit and an output unit. The input unit is a device for inputting various operations to the terminal 200. The output unit is a device for outputting the processing result processed by the terminal 200. The input / output unit 240 may have the input unit and the output unit integrated, may be separated into the input unit and the output unit, or may be otherwise.
[0025] The input unit is realized by any one or a combination of all types of devices that can receive an input from a user and transmit information related to the input to the terminal control unit 230. The input unit includes, for example, hardware keys such as a touch panel, a touch display, a keyboard, a pointing device such as a mouse, a camera (operation input via moving images), and a microphone (operation input by voice).
[0026] The output unit is realized by any one or a combination of all types of devices that can output the processing result processed by the terminal control unit 230. The output unit includes, for example, a touch panel, a touch display, a speaker (voice output), a lens (e.g., 3D (Three Dimensions) output or hologram output), a printer, and the like.
[0027] The display unit 250 can be implemented by any one of all types of devices that can display according to the display data written in the frame buffer, or a combination thereof. The display unit 250 includes, for example, a touch panel, a touch display, a monitor (e.g., a liquid crystal display, an OELD (Organic Electroluminescence Display), etc.), a head-mounted display (HDM: Head Mounted Display), projection mapping, a hologram, a device that can display image, text information, etc. in the air (it may or may not be a vacuum). Note that these display units 250 may or may not be able to display display data in 3D.
[0028] The terminal control unit 230 has a function of controlling the display of the display unit 250. The terminal control unit 230 generates display data related to the display screen to be displayed on the display unit 250. Then, the terminal control unit 230 performs a process of causing the generated display data to be displayed on the display unit 250. That is, the terminal control unit 230 has a function of converting the display data into pixel information and writing it into the frame buffer of the display unit 250.
[0029] Note that when the input / output unit 240 has a touch panel, the input / output unit 240 and the display unit 250 may be arranged to face each other with substantially the same size and shape.
[0030] The microphone 260 is used for input of audio data. The speaker 270 is used for output of audio data. The camera 280 is used for acquisition of moving image data and / or still image data.
[0031] Next, with reference to FIG. 3, the configuration of the server 100 will be described. The server 100 includes a server control unit 130, a server storage unit 120, and a server communication unit 110. Each component of the hardware of the server 100 is interconnected via, for example, a bus.
[0032] The server control unit 130 has a physically structured circuit for executing functions realized by codes or instructions included in a program, and is realized, for example, by a data processing device built into hardware. The server control unit 130 is typically a central processing unit (CPU), and may alternatively be a microprocessor, a processor core, a multiprocessor, an ASIC, an FPGA, etc., or not. In the present disclosure, the server control unit 130 is not limited thereto.
[0033] The server storage unit 120 has a function of storing various programs and various data required for the operation of the server 100. The server storage unit 120 is realized by various storage media such as an HDD, an SSD, and a flash memory. However, in the present disclosure, the server storage unit 120 is not limited thereto. Also, the server storage unit 120 may or may not be expressed as a memory.
[0034] The server communication unit 110 transmits and receives various data via the network 300. The communication may be performed either wired or wirelessly, and any communication protocol may be used as long as mutual communication can be executed. The server communication unit 110 has a function of executing communication with the terminal 200 via the network 300. The server communication unit 110 includes a server transmission unit 111 and a server reception unit 112. The server transmission unit 111 transmits various data to the terminal 200 according to an instruction from the server control unit 130. Also, the server communication unit 110 receives various data transmitted from the terminal 200 and transmits them to the server control unit 130. Also, the server communication unit 110 may be expressed as a server communication I / F (interface). Also, when the server communication unit 110 is composed of a physically structured circuit, it may be expressed as a server communication circuit.
[0035] Note that the server 100 may include an input / output unit and a display as its hardware configuration. The input / output unit is realized by a device for inputting various operations to the server 100. The input / output unit is realized by any one or a combination of all types of devices that can receive an input from a user and transmit information related to the input to the server control unit 130. The display is typically realized by a monitor (e.g., a liquid crystal display, an OELD, etc.). In this case, for example, the hardware of the server 100 may or may not be configured to remove the display.
[0036] The server 100 stores a program in the server storage unit 120 and, by executing this program, the server control unit 130 executes the processes as each part included in the server control unit 130. That is, the program stored in the server storage unit 120 causes the server 100 to realize each function executed by the server control unit 130. In other words, the processor executes the program stored in the memory in the server 100, and the functions of each part provided in the server 100 are realized by the cooperation of the hardware and software of the server 100. Note that this program may or may not be expressed as a program module.
[0037] Note that the terminal control unit 230 of the terminal 200 and / or the server control unit 130 of the server 100 may or may not realize each process by a logic circuit (hardware) formed in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)), etc. or a dedicated circuit, in addition to a CPU having a control circuit. Further, these circuits may be realized by one or a plurality of integrated circuits, and it may or may not be the case that a plurality of processes shown in the embodiments according to the present disclosure are realized by one integrated circuit. Also, LSI may sometimes be referred to as VLSI, super LSI, ultra LSI, etc. depending on the degree of integration.
[0038] Also, the program (e.g., software program, computer program, or program module) according to the embodiments of the present disclosure may or may not be provided in a state stored in a computer-readable storage medium. The storage medium can store the program in a "non-transitory tangible medium". Also, the program may or may not be for realizing a part of the functions of the embodiments of the present disclosure. Further, it may or may not be a so-called difference file (difference program) that can realize the functions of the embodiments of the present disclosure in combination with a program already recorded in the storage medium.
[0039] The storage medium can include one or more semiconductor-based or other integrated circuits (ICs) (e.g., field-programmable gate arrays (FPGAs) or application-specific ICs (ASICs), etc.), hard disk drives (HDDs), hybrid hard drives (HHDs), optical disks, optical disk drives (ODDs), magneto-optical disks, magneto-optical drives, floppy disks, floppy disk drives (FDDs), magnetic tapes, solid state drives (SSDs), RAM drives, secure digital cards, or drives, any other suitable storage medium, or any suitable combination of two or more of these. The storage medium may, where appropriate, be volatile, non-volatile, or a combination of volatile and non-volatile. Note that the storage medium is not limited to these examples, and any device or medium capable of storing the program may be used. Also, the storage medium may or may not be expressed as memory.
[0040] Also, the program of the present disclosure may or may not be provided to the server 100 and / or the terminal 200 via any transmission medium (such as a communication network or broadcast wave) capable of transmitting the program. When the program is provided via the transmission medium, the server 100 and / or the terminal 200 can realize the functions of the plurality of functional units shown in each embodiment, for example, by executing the program downloaded via the Internet or the like.
[0041] In addition, the embodiments according to the present disclosure can also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission. Also, at least a part of the processing in the server 100 and / or the terminal 200 may or may not be realized by cloud computing configured by one or more computers. Also, at least a part of the processing in the terminal 200 may or may not be performed by the server 100. In this case, at least a part of the processing of each functional part of the terminal control unit 230 of the terminal 200 may or may not be performed by the server 100. Also, at least a part of the processing in the server 100 may or may not be performed by the terminal 200. In this case, at least a part of the processing of each functional part of the server control unit 130 of the server 100 may or may not be performed by the terminal 200.
[0042] Note that the program of the present disclosure can be implemented using, for example, script languages such as ActionScript and JavaScript (registered trademark), object-oriented programming languages such as Objective-C and Java (registered trademark), markup languages such as HTML5, and the like.
[0043] As shown in FIG. 3, the server storage unit 120 of the server 100 includes a cryptographic key storage unit 121. Information on public keys and private keys is stored in the cryptographic key storage unit 121. The public key is for encrypting information. The private key is for decrypting information encrypted with the public key. The server 100 has a cryptographic key management unit 131 as a function realized by the server control unit 130. The public key and the private key are paired. For example, the public key is generated from the paired private key. The cryptographic key management unit 131 manages each pair of public keys and private keys. Under the management by the cryptographic key management unit 131, the public key is disclosed to at least the terminal 200 communicating with the server 100. On the other hand, the private key is kept secret.
[0044] In the communication system 400 according to this embodiment, the terminal storage unit 220 of each terminal 200 is a storage unit that stores target data. For example, the terminal storage unit 220 stores user information of the owner of the terminal 200, information related to usage history, setting information of the terminal 200, user answers to specific questions or questionnaires input by the user, and the like. The user information includes, for example, information associated with the user, such as the name of the user input by the user, the user's icon image, the user's age, the user's gender, the user's address, the user's hobbies, the user's identifier, and the like. Some or all of such user information, information related to usage history, setting information, and user answer content can be target data.
[0045] As shown in FIG. 2, each terminal 200 has, as functions realized by the terminal control unit 230, a noise addition unit 231, a public key encryption unit 232, and a transmission destination determination unit 233. The noise addition unit 231 adds noise to the target data stored in the terminal storage unit 220 of the terminal 200. The noise addition unit 231 adds noise to the target data by a predetermined statistical operation.
[0046] Next, an example of noise addition by the noise addition unit 231 will be described. In this example, it is assumed that the target data is binary data that can take two values. Examples of binary data include biological sex (male or female), answer (Yes or No), presence or absence (present or absent), and the like. Here, it is assumed that the target data takes values of 0 and 1. The noise addition unit 231 inverts the value of the target data with a preset probability p (0 < p < 1). That is, when the true value of the target data is 0, the value of the target data after noise addition becomes 1 with probability p and 0 with probability (1 - p). Also, when the true value of the target data is 1, the value of the target data after noise addition becomes 0 with probability p and 1 with probability (1 - p).
[0047] The public key encryption unit 232 is an encryption unit that encrypts the target data with added noise by the noise addition unit 231. The public key used for this encryption is managed by the encryption key management unit 131 of the server 100. In the communication between the server 100 and the terminal 200, the server transmission unit 111 transmits the public key to the terminal 200. The terminal reception unit 212 receives the public key transmitted from the server 100. The public key encryption unit 232 encrypts the target data with added noise using the public key thus obtained.
[0048] The transmission destination determination unit 233 randomly determines the transmission destination of the target data stored in the terminal storage unit 220 of the terminal from among other terminals 200 other than the server 100 and the terminal 200 itself. In the following description, other terminals 200 other than the terminal 200 itself are also simply referred to as other terminals 200. Here, if the probability of determining each of the other terminals 200 as the transmission destination is p1, and the probability of determining the server 100 as the transmission destination is p2, then p1 and p2 are set in advance so as to satisfy the following equations (1) to (3).
[0049] p1×(n - 1)+p2 = 1 ··· (1) 0 < p1 < 1 ··· (2) 0 < p2 < 1 ··· (3)
[0050] The terminal transmission unit 211 transmits the target data encrypted by the public key encryption unit 232 to the transmission destination determined by the transmission destination determination unit 233. That is, the terminal transmission unit 211 transmits the target data encrypted by the public key encryption unit 232 to any one of the other terminals 200 or to the server 100.
[0051] When the transmission destination determination unit 233 of any other terminal 200 determines that the transmission destination is the terminal 200, encrypted target data is transmitted from the other terminal 200 to the terminal 200. The terminal reception unit 212 receives the target data transmitted from a terminal 200 other than the terminal 200. When the terminal reception unit 212 of the terminal 200 receives the target data transmitted from another terminal 200, the transmission destination determination unit 233 of the terminal 200 further randomly determines the transmission destination of the target data received by the terminal reception unit 212 of the terminal 200 from among the server 100 and other terminals 200 other than the terminal 200. Then, the terminal transmission unit 211 of the terminal 200 transmits the target data received by the terminal reception unit 212 of the terminal 200 to the transmission destination determined by the transmission destination determination unit 233 of the terminal 200.
[0052] The server reception unit 112 of the server 100 receives the encrypted target data transmitted from each terminal 200. As shown in FIG. 2, in the communication system 400 according to this embodiment, the server 100 includes a decryption unit 132 and a data analysis unit 133 as functions realized by the server control unit 130. The server storage unit 120 further includes a target data storage unit 122. The decryption unit 132 decrypts the target data received by the server reception unit 112 with a secret key. The secret key used for this decryption is managed by the encryption key management unit 131. The target data storage unit 122 stores and accumulates the target data decrypted by the decryption unit 132.
[0053] The data analysis unit 133 statistically processes and analyzes the target data stored in the target data storage unit 122 to obtain properties, characteristics, etc. of the entire target data and outputs them as analysis results. Note that the statistical processing of the target data by the data analysis unit 133 is performed in consideration of the content of the above-described predetermined statistical operations performed when noise is added by the noise addition unit 231 of each terminal 200. Then, the server transmission unit 111 outputs the analysis results to the designated output destination.
[0054] In the communication system 400 according to this embodiment, each terminal 200 may or may not delete one or both of the target data stored in the terminal storage unit 220 of the terminal 200 and the target data received by the terminal receiving unit 212, with a preset probability. When deleting one or both of the target data stored in the terminal storage unit 220 and the target data received by the terminal receiving unit 212 with a preset probability, each terminal 200 further includes a data deletion unit 234 as a function realized by the terminal control unit 230.
[0055] The data deletion unit 234 deletes the target data stored in the terminal storage unit 220 and / or the target data received by the terminal receiving unit 212 with a probability p3. And when not deleting, the transmission destination of the target data is determined by the transmission destination determination unit 233. That is, the aforementioned probabilities p1 and p2 and the probability p3 are preset so as to satisfy the aforementioned equations (2) and (3), and the following equations (1’) and (4).
[0056] p1×(n - 1)+p2 + p3 = 1 ··· (1’) 0 < p3 < 1 ··· (4)
[0057] Note that the communication of the target data between the terminals 200 may or may not be end - to - end encrypted via the server 100. When the communication of the target data between the terminals 200 is via the server 100 and is end - to - end encrypted, as shown in FIG. 2, each terminal 200 further includes an end - to - end encryption unit 235 as a function realized by the terminal control unit 230. Also, as shown in FIG. 3, the server 100 further includes an end - to - end communication management unit 134 as a function realized by the server control unit 130.
[0058] In this case, when the transmission destination determination unit 233 determines that the transmission destination of the target data is another terminal 200, the communication of the target data between these terminals 200 is performed via the server 100. At this time, the communication between the terminals 200 via the server 100 is managed by the end-to-end communication management unit 134 of the server 100. Also, when transmitting the target data from one terminal 200 to another terminal 200, end-to-end encryption is performed. That is, when the transmission destination determination unit 233 determines that the transmission destination of the target data is another terminal 200, the end-to-end encryption unit 235 encrypts the target data.
[0059] Next, an example of the processing in the terminal 200 in the communication system 400 configured as described above will be described with reference to FIG. 4. First, when the terminal reception unit 212 receives a data transmission command from the server 100 (step S11), the terminal control unit 230 then performs the processing of step S12. In step S12, the noise addition unit 231 adds noise to the target data stored in the terminal storage unit 220. Then, the public key encryption unit 232 encrypts the target data with the noise added by the noise addition unit 231 using the public key.
[0060] In the subsequent step S13, either the determination of the transmission destination of the target data by the transmission destination determination unit 233 or the deletion of the target data by the data deletion unit 234 is performed, and as a result, one of the processes from step S14 to S16 is randomly performed. That is, with a probability p2, the transmission destination determination unit 233 determines that the transmission destination of the target data is the server 100. In this case, the terminal transmission unit 211 transmits the target data to the server 100 (step S14). Also, for each of the other terminals 200, with a probability p1, the transmission destination determination unit 233 determines that the transmission destination of the target data is another terminal 200. In this case, the target data is encrypted by the end-to-end encryption unit 235 and then transmitted to the other terminal 200 by the terminal transmission unit 211 (step S15). And with a probability p3, the data deletion unit 234 deletes the target data (step S16).
[0061] Also, when the terminal receiving unit 212 receives the target data transmitted from another terminal 200 (step S17), in step S13, deletion of the target data or determination of the transmission destination is randomly performed. As a result, any one of the processes from step S14 to S16 is randomly performed.
[0062] In this way, in the terminal 200 according to this embodiment, at least the following processes are executed by a program for execution by the terminal 200 of the communication system 400, for example. · Adding noise to the target data stored in the terminal storage unit 220 of the terminal 200 · Encrypting the target data with added noise using the public key managed by the server 100 · Randomly determining the transmission destination of the target data stored in the terminal storage unit 220 of the terminal 200 from among the server 100 and other terminals 200 · Transmitting the encrypted target data to the determined transmission destination · Receiving the target data transmitted from another terminal 200 · Randomly determining the transmission destination of the received target data from among the server 100 and other terminals 200 · Transmitting the received target data to the determined transmission destination
[0063] Next, an example of the processing in the entire communication system 400 configured as described above will be described with reference to FIG. 5. In the example shown in the figure, first, in the terminal 200 of User 1, noise is added to the target data stored in the terminal storage unit 220 by the noise adding unit 231 (A in the figure). Next, as shown in (B) in the figure, the target data with added noise is encrypted by the public key encryption unit 232 using the public key of the server 100. As a result, the content of the target data can be viewed only by the server 100 having the secret key corresponding to the public key, and eavesdropping by devices other than the server 100 can be prevented.
[0064] The target data is transmitted to other terminals 200 via the server 100 with a probability p1 ((D) in the figure). In the illustrated example, the target data is transmitted from the terminal 200 of user 1 to the terminal 200 of user 2, from the terminal 200 of user 2 to the terminal 200 of user 3, and from the terminal 200 of user 3 to the terminal 200 of user n. At this time, as shown in (C) in the figure, the communication between each terminal 200 is encrypted end-to-end. This can prevent eavesdropping by a third party other than the destination terminal 200.
[0065] The target data is transmitted to the server 100 with a probability p2 ((E) in the figure). In the illustrated example, the target data of the terminal 200 of user 1 is finally transmitted from the terminal 200 of user n to the server 100. Then, the server 100 can obtain the target data of the terminal 200 of user 1 by decrypting the received data using the private key in the decryption unit 132 ((F) in the figure). In this way, at the server 100, it is not possible to see the content of the target data exchanged between each terminal 200, but it is possible to be able to see the content of the target data finally transmitted to the server 100. Note that, as shown in (G) in the figure, the target data may be deleted at each terminal 200 with a probability p3.
[0066] In this way, according to the communication system 400 according to this embodiment, after adding noise to the target data at each terminal 200, while randomly exchanging the target data between the terminals 200, the target data is transmitted from the terminal 200 to the server 100 with a certain probability. Therefore, without the need for a device for shuffling and replacing the target data, anonymity similar to that obtained by shuffling the target data can be achieved. Thus, while suppressing the noise added to the target data on the terminal 200 side to a small level, the anonymity of the data on the server 100 side that collects the data can be improved, and both the improvement in the usefulness as statistical data and the improvement in the privacy protection strength can be achieved. Also, since there is no need for a device for shuffling and replacing the target data, the risk of leakage of the target data set before shuffling can be suppressed.
[0067] Moreover, by providing the data deletion unit 234, the same effect as when performing random extraction on the target data to be collected can be obtained. Therefore, it is possible to further improve the privacy protection strength. Also, since the number of target data communicated between the terminals 200 decreases, the communication data volume between the terminals 200 is reduced, and the communication load can be reduced. In particular, by deleting the target data stored in its own terminal by the data deletion unit 234 with a certain probability p3, the communication load can be effectively reduced.
[0068] Also, by encrypting the communication between the terminals 200 end-to-end, eavesdropping by a third party other than the destination terminal 200 can be prevented. As a result, regarding the communication of the target data between the terminals 200, the server 100 cannot even view it, so the anonymity of the data in the server 100 that collects the data can be more reliably maintained.
[0069] Next, a first modification example and a second modification example of the communication system 400 according to this embodiment will be described. In these first and second modification examples, the destination determination unit 233 randomly determines the transmission destination of the target data stored in the terminal storage unit 220 of the terminal 200 from among other terminals. That is, the target data stored in the own terminal is not directly sent to the server 100.
[0070] Then, regarding the target data received by the terminal reception unit 212, that is, the target data transmitted from another terminal 200, the candidates for the transmission destination change depending on the number of times of communication of the target data between the terminals 200. First, in the first modification example, the destination determination unit 233 randomly determines the transmission destination of the target data received by the terminal reception unit 212 from among other terminals 200 until the target data is communicated between the terminals 200 a preset number of times. Then, after the target data has been communicated between the terminals 200 the preset number of times, the destination determination unit 233 determines that the transmission destination of the target data received by the terminal reception unit 212 is the server 100.
[0071] The preset number of times at this time is determined according to the number of terminals 200 included in the communication system 400. For example, the preset number of times is set to be the smallest integer greater than or equal to the natural logarithm ln(n) of the number n of terminals 200 included in the communication system 400.
[0072] For example, when communication between terminals 200 is performed via server 100, in communication system 400, the number of times target data is communicated between terminals 200 can be easily counted by server 100. Further, even when communication between terminals 200 is not performed via server 100, by having each terminal 200 notify server 100 of the number of times it has received target data transmitted from another terminal 200, the communication count can be counted by server 100. Then, server 100 notifies each terminal 200 of the counted number of times target data has been communicated between terminals 200, or whether the number of times target data has been communicated between terminals 200 is equal to or greater than a reference number of times, so that each terminal 200 can determine a transmission destination according to the communication count.
[0073] In this way, in the first modification example, first, the target data stored in the own terminal is transmitted to another terminal 200, and until the number of times target data is communicated between terminals 200 reaches the reference number of times, communication of the target data between terminals 200 is repeated without sending the target data to server 100. Then, when the number of times target data is communicated between terminals 200 becomes equal to or greater than the reference number of times, the target data is transmitted from each terminal 200 to server 100. As a result, the target data is exchanged between terminals 200 a certain number of times or more, and anonymity similar to that obtained by shuffling the target data can be more reliably ensured. In particular, by setting the reference number of times to the smallest integer greater than or equal to the natural logarithm ln(n) of the number n of terminals 200 included in communication system 400, anonymity equivalent to collecting the target data of all terminals 200 and shuffling it at once can be obtained.
[0074] Also, in the second modification example, until the target data received by terminal receiving unit 212 is communicated between terminals 200 the aforementioned reference number of times, transmission destination determination unit 233 randomly determines the transmission destination of the target data from among the other terminals 200, similar to the first modification example. Then, after the target data received by terminal receiving unit 212 has been communicated between terminals 200 the aforementioned reference number of times, transmission destination determination unit 233 determines the transmission destination of the target data from among server 100 and the other terminals 200, which is different from the first modification example.
[0075] In this way, in the second modification example, first, the target data stored in the own terminal is transmitted to another terminal 200, and until the number of communications of the target data between the terminals 200 reaches the reference number, the communication of the target data between the terminals 200 is repeated without sending the target data to the server 100. Then, when the number of communications of the target data between the terminals 200 becomes equal to or more than the reference number, the target data is transmitted from the terminal 200 to the server 100 or another terminal 200. Even in this case, as in the first modification example, the target data will be exchanged between the terminals 200 a certain number of times or more, and the same anonymity as when the target data is shuffled can be more reliably ensured.
[0076] Note that also in these first and second modification examples, each terminal 200 may or may not have a data deletion unit 234. And when the terminal 200 has a data deletion unit 234, the data deletion unit 234 may or may not change whether to delete the target data depending on the number of times the communication of the target data between the terminals 200 has occurred. When changing whether to delete the target data depending on the number of times the communication of the target data between the terminals 200 has occurred, for example, the data deletion unit 234 does not delete the target data until the number of communications of the target data between the terminals 200 reaches the above-mentioned reference number. Then, after the communication of the target data between the terminals 200 of the above-mentioned reference number has occurred, the target data received by the terminal receiving unit 212 is deleted at the above-mentioned probability p3.
[0077] Next, an example of the processing in the terminal 200 in the second modification example configured as described above will be described with reference to FIG. 6. First, when the terminal receiving unit 212 receives a data transmission command from the server 100 (step S21), the terminal control unit 230 then performs the processing of step S22. In step S22, the noise addition unit 231 adds noise to the target data stored in the terminal storage unit 220. Then, the public key encryption unit 232 encrypts the target data to which noise has been added by the noise addition unit 231 with the public key.
[0078] In the subsequent step S23, the transmission destination determination unit 233 determines the transmission destination of the target data, and as a result, the process of step S24 is performed. In step S24, the transmission destination of the target data is determined to be another terminal 200 by the transmission destination determination unit 233. In this case, the target data is encrypted by the end-to-end encryption unit 235 and then transmitted to the other terminal 200 by the terminal transmission unit 211.
[0079] Also, when the terminal reception unit 212 receives the target data transmitted from another terminal 200 (step S25), the processes of steps S23 and S24 are performed until the target data is communicated between the terminals 200 the specified number of times as described above. That is, the target data received by the terminal reception unit 212 is encrypted by the end-to-end encryption unit 235 and then transmitted to the other terminal 200 by the terminal transmission unit 211.
[0080] On the other hand, after the number of communications of the target data between the terminals 200 reaches the specified number of times as described above, when the terminal reception unit 212 receives the target data transmitted from another terminal 200 (step S31), in the subsequent step S32, either the transmission destination determination unit 233 determines the transmission destination of the target data or the data deletion unit 234 deletes the target data, and as a result, one of the processes from steps S33 to S35 is randomly performed. That is, with a probability p2, the transmission destination of the target data is determined to be the server 100 by the transmission destination determination unit 233. In this case, the terminal transmission unit 211 transmits the target data to the server 100 (step S33). Also, with a probability p1 for each of the other terminals 200, the transmission destination of the target data is determined to be another terminal 200 by the transmission destination determination unit 233. In this case, the target data is encrypted by the end-to-end encryption unit 235 and then transmitted to the other terminal 200 by the terminal transmission unit 211 (step S34). And with a probability p3, the target data is deleted by the data deletion unit 234 (step S35).
[0081] In the configuration example described above, when the destination determination unit 233 randomly determines the destination of the target data, the other terminals 200 that are candidates for the destination are all the terminals 200 other than the terminal 200, that is, (n - 1) terminals 200. However, when the destination determination unit 233 randomly determines the destination of the target data, all (n - 1) terminals 200 other than the terminal 200 may be used as candidates for the destination, or only a part of the terminals 200 other than the terminal 200 may be used as candidates for the destination.
[0082] Here, as the logical topology of the virtual network with each terminal 200 as a node, for example, various known forms such as a ring type, a mesh type, a star type, a full - connect type, a bus type, and a tree type can be considered. The destination determination unit 233 may determine the other terminals 200 that are candidates for the destination according to the logical topology of the virtual network with each terminal 200 as a node. In this case, for example, in the logical topology of the network with each terminal 200 as a node, it is conceivable that the destination determination unit 233 sets the terminals 200 of the nodes adjacent to the terminal 200 as candidates for the destination of the target data.
[0083] Next, with reference to FIG. 7, an example of the case of determining the destination of the target data from among the adjacent terminals 200 will be described. In the logical topology in the illustrated network, the terminal 200 of user 1 is adjacent to the terminal 200 of user 2 and the terminal 200 of user 3. Also, the terminal 200 of user 2 is adjacent to the terminal 200 of user 4 and the terminal 200 of user 5. And the terminal 200 of user 3 is adjacent to the terminal 200 of user 5 and the terminal 200 of user 6.
[0084] In such a network, in the initial state shown in FIG. 7(a), the destination determination unit 233 of the terminal 200 of user 1 randomly determines the destination of the target data of the terminal 200 from among the terminal 200 of user 2 and the terminal 200 of user 3 adjacent to the terminal 200. In the illustrated example, the destination is determined to be the terminal 200 of user 2. Then, the target data of the terminal 200 of user 1 is transmitted to the terminal 200 of user 2.
[0085] Next, as shown in FIG. 7(b), the terminal 200 of user 2 receives the target data transmitted from the terminal 200 of user 1. The destination determination unit 233 of the terminal 200 of user 2 randomly determines the destination of the received target data from among the terminals 200 of user 4 and user 5 adjacent to the terminal 200. In the illustrated example, the destination is determined to be the terminal 200 of user 5. Then, the target data is transmitted to the terminal 200 of user 5. Then, as shown in FIG. 7(c), the terminal 200 of user 5 receives the target data transmitted from the terminal 200 of user 2.
[0086] In this way, the destination determination unit 233 randomly determines the destination of the target data from among the terminals 200 of the nodes adjacent to the terminal 200 in the logical topology of the network with each terminal 200 as a node. Thereby, the path length when the target data is transmitted between the terminals 200 can be shortened, and it is possible to reduce the communication load in the network 300.
[0087] Although the invention according to the present disclosure has been described based on the drawings and examples, it should be noted that those skilled in the art can easily make various modifications and corrections based on the present disclosure. Therefore, it should be noted that these modifications and corrections are included in the scope of the invention according to the present disclosure. For example, the functions included in each part, each means, each step, etc. can be rearranged so as not to be logically contradictory, and a plurality of means and steps, etc. can be combined into one or divided. Also, it is possible to appropriately combine the configurations shown in the embodiments described above.
[0088] The communication system and program according to the present disclosure include a server and a plurality of terminals, and can be utilized in a communication system and program in which the server collects target data from the plurality of terminals.
Description of Reference Numerals
[0089] 100 Server 110 Server Communication Unit 111 Server Transmission Unit 112 Server Reception Unit 120 Server Memory Unit 121 Encryption Key Memory Unit 122 Target Data Memory Unit 130 Server Control Unit 131 Encryption Key Management Unit 132 Decryption Unit 133 Data Analysis Unit 134 End-to-End Communication Management Unit 200 Terminal 210 Terminal Communication Unit 211 Terminal Transmission Unit 212 Terminal Reception Unit 220 Terminal Memory Unit 230 Terminal Control Unit 231 Noise Addition Unit 232 Public Key Encryption Unit 233 Transmission Destination Determination Unit 234 Data Deletion Unit 235 End-to-End Encryption Unit 240 Input / Output Unit 250 Display Unit 260 Microphone 270 Speaker 280 Camera 300 Network 400 Communication System
Claims
1. A communication system including a server and a plurality of terminals, wherein the server includes a cryptographic key management unit that manages a public key and a secret key for decrypting information encrypted with the public key, each of the terminals includes a storage unit that stores target data, a noise addition unit that adds noise to the target data stored in the storage unit of the terminal, an encryption unit that encrypts the target data to which noise has been added by the noise addition unit with the public key, a transmission destination determination unit that randomly determines a transmission destination of the target data stored in the storage unit of the terminal from among the server and other terminals other than the terminal, a transmission unit that transmits the target data encrypted by the encryption unit to the transmission destination determined by the transmission destination determination unit, a terminal reception unit that receives target data transmitted from other terminals other than the terminal, and the transmission destination determination unit further randomly determines a transmission destination of the target data received by the terminal reception unit from among the server and other terminals other than the terminal, the transmission unit further transmits the target data received by the terminal reception unit to the transmission destination determined by the transmission destination determination unit, and further includes a data deletion unit that deletes the target data stored in the storage unit of the terminal and / or the target data received by the terminal reception unit with a preset probability, the server includes a server reception unit that receives target data transmitted from the terminal, and a decryption unit that decrypts the target data received by the server reception unit with the secret key.
2. A communication system including a server and a plurality of terminals, wherein the server includes a cryptographic key management unit that manages a public key and a secret key for decrypting information encrypted with the public key, each of the terminals includes a storage unit that stores target data, a noise addition unit that adds noise to the target data stored in the storage unit of the terminal, an encryption unit that encrypts the target data to which noise has been added by the noise addition unit with the public key, a transmission destination determination unit that randomly determines a transmission destination of the target data stored in the storage unit of the terminal from among the server and other terminals other than the terminal, a transmission unit that transmits the target data encrypted by the encryption unit to the transmission destination determined by the transmission destination determination unit, a terminal reception unit that receives target data transmitted from other terminals other than the terminal, and The destination determination unit randomly determines the transmission destination of the target data received by the terminal reception unit from among the other terminals other than the terminal until the target data communication between the terminals is performed a preset number of reference times, and after the target data communication between the terminals of the reference number of times is performed, it determines to the server. The transmission unit further transmits the target data received by the terminal reception unit to the transmission destination determined by the destination determination unit. After the target data communication between the terminals of the reference number of times is performed, it further includes a data deletion unit that deletes the target data received by the terminal reception unit with a preset probability. The server A server reception unit that receives the target data transmitted from the terminal, A decryption unit that decrypts the target data received by the server reception unit with the private key.
3. A communication system including a server and a plurality of terminals, The server includes a cryptographic key management unit that manages a public key and a private key for decrypting information encrypted with the public key. Each of the terminals A storage unit that stores target data, A noise addition unit that adds noise to the target data stored in the storage unit of the terminal, An encryption unit that encrypts the target data to which noise has been added by the noise addition unit with the public key, A destination determination unit that randomly determines the transmission destination of the target data stored in the storage unit of the terminal from among the server and the other terminals other than the terminal, A transmission unit that transmits the target data encrypted by the encryption unit to the transmission destination determined by the destination determination unit, A terminal reception unit that receives the target data transmitted from the other terminals other than the terminal. The destination determination unit randomly determines the transmission destination of the target data received by the terminal reception unit from among the other terminals other than the terminal until the target data communication between the terminals is performed a preset number of reference times, and after the target data communication between the terminals of the reference number of times is performed, it randomly determines from among the server and the other terminals other than the terminal. The transmission unit further transmits the target data received by the terminal reception unit to the transmission destination determined by the destination determination unit. After the target data communication between the terminals of the reference number of times is performed, it further includes a data deletion unit that deletes the target data received by the terminal reception unit with a preset probability. The server A server receiving unit that receives target data transmitted from the terminal; A decryption unit that decrypts the target data received by the server receiving unit with the private key; and further includes.
4. A communication system including a server, a first terminal, and other terminals, The server includes a cryptographic key management unit that manages a public key and a private key for decrypting information encrypted with the public key, The first terminal is A storage unit that stores target data; A noise addition unit that adds noise to the target data stored in the storage unit of the first terminal; An encryption unit that encrypts the target data to which noise has been added by the noise addition unit with the public key; A transmission unit that transmits the target data encrypted by the encryption unit to (i) the server with a predetermined probability and (ii) other terminals with a predetermined probability; A terminal receiving unit that receives target data transmitted from other terminals; and includes. The transmission unit transmits the target data received by the terminal receiving unit to (i) the server with a predetermined probability and (ii) other terminals with a predetermined probability, Other terminals that receive target data from the first terminal transmit the received target data to (i) the server with a predetermined probability and (ii) other terminals with a predetermined probability, The server is A server receiving unit that receives target data transmitted from the first terminal or other terminals; A decryption unit that decrypts the target data received by the server receiving unit with the private key; and further includes.
5. A program for execution by a terminal in a communication system including a server and a plurality of terminals, Adding noise to the target data stored in the storage unit of the terminal; Encrypting the target data to which noise has been added with the public key managed by the server; Randomly determining the transmission destination of the target data stored in the storage unit of the terminal from among the server and other terminals other than the terminal; Transmitting the encrypted target data to the determined transmission destination; Receiving target data transmitted from other terminals other than the terminal; Randomly determining the transmission destination of the received target data from among the server and other terminals other than the terminal; Transmitting the received target data to the determined transmission destination; Deleting the target data stored in the storage unit of the terminal and / or the received target data with a preset probability; Is executed by the terminal.
6. A program for being executed by a terminal of a communication system including a server and a plurality of terminals, adding noise to target data stored in a storage unit of the terminal, encrypting the target data with noise added thereto using a public key managed by the server, randomly determining a transmission destination of the target data stored in the storage unit of the terminal from among the server and other terminals other than the terminal, transmitting the encrypted target data to the determined transmission destination, receiving target data transmitted from other terminals other than the terminal, randomly determining the transmission destination of the received target data from among other terminals other than the terminal until communication of the target data between the terminals is performed a preset reference number of times, and determining the transmission destination to be the server after the communication of the target data between the terminals has been performed the reference number of times, transmitting the received target data to the determined transmission destination, deleting the received target data at a preset probability after the communication of the target data between the terminals has been performed the reference number of times, is executed by the terminal.
7. A program for being executed by a terminal of a communication system including a server and a plurality of terminals, adding noise to target data stored in a storage unit of the terminal, encrypting the target data with noise added thereto using a public key managed by the server, randomly determining a transmission destination of the target data stored in the storage unit of the terminal from among the server and other terminals other than the terminal, transmitting the encrypted target data to the determined transmission destination, receiving target data transmitted from other terminals other than the terminal, randomly determining the transmission destination of the received target data from among other terminals other than the terminal until communication of the target data between the terminals is performed a preset reference number of times, and randomly determining the transmission destination from among the server and other terminals other than the terminal after the communication of the target data between the terminals has been performed the reference number of times, transmitting the received target data to the determined transmission destination, deleting the received target data at a preset probability after the communication of the target data between the terminals has been performed the reference number of times, is executed by the terminal.
8. A program for being executed by the terminal of a communication system including a server and a plurality of terminals, adding noise to target data stored in the storage unit of the terminal, encrypting the target data with added noise using a public key managed by the server, transmitting the target data encrypted by the terminal to (i) the server with a predetermined probability and (ii) other terminals with a predetermined probability, receiving target data transmitted from other terminals other than the terminal, transmitting the received target data to (i) the server with a predetermined probability and (ii) other terminals with a predetermined probability, is executed by the terminal.
Citation Information
Patent Citations
Methods and systems for transmitting anonymized information
US11050723B1
Method for the anonymized provision of data of a first vehicle for a vehicle-external server device, and anonymization apparatus and motor vehicle
WO2020207755A1