Information providing device, information providing method, and information providing program

The information providing device addresses the limitations of secure computing systems by allowing analysts to access pseudo data matching the original distribution, improving analysis efficiency while respecting privacy regulations.

JP7720512B2Active Publication Date: 2025-08-08NTT DOCOMO BUSINESS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2022060294
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-31
Publication Date
2025-08-08
Estimated Expiration
2042-03-31

AI Technical Summary

Technical Problem

Conventional secure computing systems fail to provide analysts with sufficient information about data kept secret, limiting analysis efficiency and accuracy due to restrictions on sharing personal data.

Method used

An information providing device that identifies the distribution of fragmented data through secret sharing, creates pseudo data matching the identified distribution, and provides it to analysts, ensuring compliance with data privacy regulations.

Benefits of technology

Enables analysts to access detailed information beyond statistics, enhancing analysis efficiency while maintaining data privacy by providing pseudo data that adheres to privacy laws.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007720512000001
    Figure 0007720512000001
  • Figure 0007720512000002
    Figure 0007720512000002
  • Figure 0007720512000003
    Figure 0007720512000003
Patent Text Reader

Abstract

To provide analysis personnel with sufficient information regarding data that is concealed by a secure computing system.SOLUTION: An information provision device identifies the distribution type of original data that is stored in a plurality of servers in the state of being fragmented by secret distribution and shared. The information provision device creates pseudo data in accordance with the identified type of distribution. For example, the pseudo data may be the one that is generated at random according to distribution. When the distribution of original data is a normal distribution, the information provision device generates random data that conforms to the normal distribution. The information provision device provides the created pseudo data to analysis personnel.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an information providing device, an information providing method, and an information providing program. [Background technology]

[0002] Conventionally, a secure computing system performs statistical computations while keeping data secret, and provides the user with the statistics obtained as a result of the computations. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] International Publication No. 2019 / 124260 Summary of the Invention [Problem to be solved by the invention]

[0004] However, conventional techniques have a problem in that they may not be able to provide analysts with sufficient information about data kept secret by a secure computing system.

[0005] For example, analysts can perform more efficient and accurate analysis by viewing not only statistics calculated from data but also the data records themselves and scatter plots, etc.

[0006] On the other hand, providing the data records themselves or the scatter plots may violate the restrictions on providing personal information to third parties and using it for purposes other than those specified in the Personal Information Protection Act. [Means for solving the problem]

[0007] In order to solve the above-mentioned problems and achieve the objectives, the system is characterized by having an identification unit that identifies the type of distribution of original data that has been fragmented by secret sharing and stored in a shared state on multiple servers, a creation unit that creates pseudo data according to the type of distribution identified by the identification unit, and a provision unit that provides the pseudo data created by the creation unit. [Effects of the Invention]

[0008] According to the present invention, it is possible to provide an analyst with sufficient information regarding data kept secret by a secure computing system. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating a secure computing system according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of the information providing device according to the embodiment. [Figure 3] FIG. 3 is a diagram illustrating a test using quantiles. [Figure 4] FIG. 4 is a flowchart showing a flow of processing performed by the information providing device according to the embodiment. [Figure 5] FIG. 5 is a diagram illustrating an example of a computer that executes an information providing program. DETAILED DESCRIPTION OF THE INVENTION

[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An information providing apparatus, an information providing method, and an information providing program according to the present invention will be described in detail below with reference to the accompanying drawings. However, the present invention is not limited to the following embodiments.

[0011] In the embodiments, the information providing device, the information providing method, and the information providing program are realized by some of the functions of a secure computing system.

[0012] 1 is a diagram illustrating a secure computation system according to an embodiment. As shown in FIG. 1, the secure computation system 1 includes a server group 10 and an information providing device 20.

[0013] The server group 10 includes a server 10a, a server 10b, and a server 10c. The number of servers included in the server group 10 is not limited to that shown in Fig. 1, and may be two or more.

[0014] Furthermore, the secure computing system 1 can exchange data between an analyst terminal 30 used by an analyst and an administrator terminal 40 used by an administrator.

[0015] In the secure computation system 1, data is divided into a plurality of pieces called shares. The shares are distributed and stored among a server 10a, a server 10b, and a server 10c included in a server group 10 (secret sharing).

[0016] The secure computation system 1 performs secure computation by carrying out multi-party computation in which data is calculated and exchanged between a plurality of servers included in the server group 10 .

[0017] Each share stored on each server in the server group 10 is meaningless data. Therefore, it is not possible to restore the original data from a single share. However, it is possible to restore the original data by collecting multiple shares.

[0018] For example, data relating to the attributes and physical condition of each individual may be registered in the secure computation system 1. The data relating to the attributes and physical condition is personal information, and includes, for example, age, sex, height, weight, etc. The secure computation system 1 stores fragmented shares of the registered data on each server.

[0019] On the other hand, users of the data cannot view the registered data itself, but can view statistics based on the registered data. For example, if the data includes individuals' gender and weight, users cannot view each individual's gender and weight, but can view the "average weight of men."

[0020] In addition, at this time, the secure computation system 1 can calculate the "average weight of men" without restoring the shares stored in each server.

[0021] The secure computation system 1 can perform various statistical calculations without restoring shares. For example, the secure computation system 1 can perform table operations such as row joins and column joins, tally the number of records, calculate statistics such as sums, averages, maximum values, minimum values, and sample variances, and perform statistical tests such as t-tests (hereinafter sometimes simply referred to as tests). Furthermore, the secure computation system 1 can perform analyses such as regression analysis and principal component analysis.

[0022] As an example, the secure computation system 1 can perform secret sharing using a technique called Shamir's threshold secret sharing scheme. In this case, the secure computation system 1 stores three coordinates that pass through a polynomial with the original data as an intercept as shares on each server. Furthermore, since the slope of the polynomial is determined randomly, the shares are not necessarily the same each time even if the original data is the same.

[0023] The secure computation system 1 can restore the original data from multiple shares. If the polynomial is a linear expression, the secure computation system 1 can find the intercept (corresponding to the original data) from the intersection of the axis and a straight line connecting two coordinates (corresponding to shares). On the other hand, the original data cannot be restored from a single coordinate because a straight line cannot be determined.

[0024] Furthermore, the secure computation system 1 can perform computations using the original data without restoring the shares. For example, the result of adding shares represented by coordinates corresponds to the share resulting from adding the original data of each share.

[0025] The information providing device 20 provides the analyst with information based on the shares stored in the server group 10. The information providing device 20 provides pseudo data as well as statistics calculated from the shares.

[0026] The pseudo data is data that is created to resemble the data that is the source of the share. For example, the pseudo data is random data that follows the same data distribution as the original data. Note that the distribution in the following description may be referred to as a probability distribution.

[0027] The flow of processing related to providing pseudo data will be described with reference to Fig. 1. First, the secure computing system 1 stores the data in each server of the server group 10 in a secret sharing manner (step S1).

[0028] The data stored in the server group 10 is personal information and cannot be shared. Therefore, analysts cannot view the data stored in the server group 10.

[0029] Therefore, the analyst requests the administrator to provide pseudo data to be used for the analysis (step S2). For example, the analyst makes the request to the administrator terminal 40 via the analyst terminal 30.

[0030] The administrator obtains the data distribution type of the data for which the administrator has been requested to create pseudo data by secure computation (step S3). At this time, the information providing device 20 performs secure computation to verify the original data to identify the distribution type, and presents the identified distribution type to the administrator.

[0031] Then, the administrator checks the presented type of distribution and inputs the data distribution via the administrator terminal 40 (step S4). The data distribution is a characteristic parameter according to the type of distribution. For example, if the presented type of distribution is a normal distribution, the administrator inputs the mean value μ and variance value σ 2 Enter.

[0032] The data distribution may be specified by an analyst, or may be automatically determined by the information providing device 20 based on the results of a test.

[0033] The information providing device 20 generates pseudo data based on the specified data distribution (step S5). For example, the type of distribution is a normal distribution, and the mean value μ and the variance value σ 2 is specified, the information providing device 20 calculates a value where the mean value is μ and the variance value is σ 2 Generate random data that follows a normal distribution where .

[0034] The number of pieces of data generated by the information providing device 20 may be a number designated by an administrator. Furthermore, since the pseudo data is not personal information, it can be shared. Furthermore, the pseudo data may be provided in a state that allows an unspecified number of users to download it. Furthermore, the information providing device 20 may provide an analysis environment in which the pseudo data can be used.

[0035] The configuration of the information providing device 20 will be described with reference to Fig. 2. Fig. 2 is a diagram showing an example of the configuration of the information providing device according to the embodiment.

[0036] The following describes each unit of the information providing device 20. As shown in FIG.

[0037] The communication unit 21 communicates data with other devices. For example, the communication unit 21 is a network interface card (NIC). The communication unit 21 can send and receive data to and from other devices.

[0038] The storage unit 22 is a storage device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), an optical disk, etc. Note that the storage unit 22 may be a data-rewritable semiconductor memory such as a RAM (Random Access Memory), a flash memory, or an NVSRAM (Non Volatile Static Random Access Memory). The storage unit 22 stores an OS (Operating System) and various programs executed by the information providing device 20.

[0039] The control unit 23 controls the entire information providing device 20. The control unit 23 is, for example, an electronic circuit such as a CPU (Central Processing Unit), MPU (Micro Processing Unit), or GPU (Graphics Processing Unit), or an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). The control unit 23 also has an internal memory for storing programs that define various processing procedures and control data, and executes each process using the internal memory.

[0040] The control unit 23 functions as various processing units by running various programs. For example, the control unit 23 includes an identifying unit 231, a creating unit 232, and a providing unit 233.

[0041] The identification unit 231 identifies the type of distribution of the original data that has been fragmented by secret sharing and stored in the form of shares in a plurality of servers (server group 10).

[0042] The identification unit 231 can identify the type of distribution by performing a statistical test using secure computation. For example, the identification unit 231 performs a t-test, a chi-square test, or the like using the shares.

[0043] Testing a distribution using secure computation requires checking whether the original data records follow the distribution, but restoring the records is undesirable due to the nature of secret sharing.

[0044] Therefore, the specifying unit 231 performs a statistical test using a predetermined quantile number as a representative value when the records of the original data are sorted, thereby enabling the specifying unit 231 to perform the test at high speed without restoring the records.

[0045] A statistical test using quantiles as representative values will be described with reference to Fig. 3. Fig. 3 is a diagram for explaining a test using quantiles.

[0046] For example, if the original data follows a certain probability distribution, when the records contained in the original data are sorted in ascending order, the record at p% of the quantile number is considered to follow the p% quantile number of the probability distribution.

[0047] Therefore, the identification unit 231 performs testing using a quantile function and predetermined quantiles of the original data as representative values. For example, if the original data or the normalized original data follows a standard normal distribution, the quantiles for p=20, 40, 60, and 80 are approximately −0.842, −0.253, 0.253, and 0.842, as shown in FIG. 3.

[0048] In this way, by checking for a match with the distribution using a sufficient number of quantiles, the specifying unit 231 can perform testing at high speed.

[0049] The creating unit 232 creates pseudo data in accordance with the type of distribution identified by the identifying unit 231 .

[0050] For example, if the specifying unit 231 specifies that the type of distribution is a normal distribution, the creating unit 232 creates, as pseudo data, random data that follows a normal distribution having a specified mean value and variance value.

[0051] The providing unit 233 provides the pseudo data created by the creating unit 232. The providing unit 233 may store the pseudo data on a predetermined server and distribute a URL from which the pseudo data can be downloaded from the server.

[0052] 4 is a flowchart showing the flow of processing performed by the information providing device 20 according to the embodiment. As shown in FIG. 4, first, the information providing device 20 identifies the type of data distribution of the original data stored as shares by secret sharing (step S101).

[0053] Next, the information providing device 20 receives a designation of a data distribution (step S102). For example, the information providing device 20 receives an input of characteristic parameters (for example, a mean value and a variance value) according to the type of distribution that has been identified.

[0054] Next, the information providing device 20 creates pseudo data based on the specified data distribution (step S103). Then, the information providing device 20 provides the created pseudo data (step S104). Note that steps S101 and S103 are performed by secure computation.

[0055] [Effects of the embodiment] As explained above, the specifying unit 231 specifies the type of distribution of original data that has been fragmented by secret sharing and stored in the form of shares on multiple servers. The creating unit 232 creates pseudo data in accordance with the type of distribution specified by the specifying unit 231. The providing unit 233 provides the pseudo data created by the creating unit 232.

[0056] In this way, the information providing device 20 creates pseudo data in addition to statistics and provides it to the analyst. As a result, according to the embodiment, it is possible to provide the analyst with sufficient information regarding the data kept secret by the secure computing system.

[0057] When the identification unit 231 identifies the type of distribution as a normal distribution, the creation unit 232 creates random data that follows a normal distribution having a specified mean value and variance value as pseudo data. This allows the creation of pseudo data according to the analyst's wishes.

[0058] The identification unit 231 identifies the type of distribution by performing a statistical test using secure computation, thereby making it possible to provide pseudo data that follows the same distribution as the original data.

[0059] The specification unit 231 performs a statistical test using a predetermined quantile number as a representative value when the records of the original data are sorted, thereby enabling the test to be performed at high speed.

[0060] [System configuration, etc.] Furthermore, the components of each device shown in the figure are functional concepts and do not necessarily have to be physically configured as shown. In other words, the specific form of distribution and integration of each device is not limited to that shown, and all or part of the devices can be functionally or physically distributed or integrated in any unit depending on various loads, usage conditions, etc. Furthermore, all or any part of the processing functions performed by each device can be realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or can be realized as hardware using wired logic. Note that the program may be executed not only by the CPU but also by other processors such as a GPU.

[0061] Furthermore, among the processes described in this embodiment, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using a known method.In addition, the information including the processing procedures, control procedures, specific names, various data and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified.

[0062] [program] In one embodiment, the information providing device 20 can be implemented by installing an information providing program that executes the above-described information providing process as package software or online software on a desired computer. For example, by executing the above-described information providing program on an information processing device, the information processing device can function as the information providing device 20. The information processing device referred to here includes desktop and notebook personal computers. In addition, the information processing device also includes mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants).

[0063] The information providing device 20 may also be implemented as an information providing server device that provides services related to the information providing process to a client terminal device used by a user. For example, the information providing server device may be implemented as a server device that provides an information providing service that receives the specification of original data as input and outputs pseudo data.

[0064] 5 is a diagram showing an example of a computer that executes an information provision program. The computer 1000 includes, for example, a memory 1010 and a CPU 1020. The computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.

[0065] The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1090. The disk drive interface 1040 is connected to a disk drive 1100. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example. The video adapter 1060 is connected to a display 1130, for example.

[0066] The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the information providing device 20 is implemented as a program module 1093 in which computer-executable code is written. The program module 1093 is stored, for example, in the hard disk drive 1090. For example, a program module 1093 for executing processes similar to those of the functional configuration of the information providing device 20 is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced with an SSD (Solid State Drive).

[0067] Furthermore, setting data used in the processing of the above-described embodiment is stored as program data 1094, for example, in the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 or the program data 1094 stored in the memory 1010 or the hard disk drive 1090 into the RAM 1012 as necessary, and executes the processing of the above-described embodiment.

[0068] The program module 1093 and program data 1094 are not limited to being stored in the hard disk drive 1090, but may also be stored in, for example, a removable storage medium and read by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and program data 1094 may be stored in another computer connected via a network (such as a local area network (LAN) or a wide area network (WAN)). The program module 1093 and program data 1094 may then be read by the CPU 1020 from the other computer via the network interface 1070. [Explanation of symbols]

[0069] 1. Secure Computing System 10 Servers 10a, 10b, 10c servers 20 Information provision device 21 Communications Department 22 Memory section 23 Control Unit 30 Analyst terminal 40 Administrator terminal 231 Specific section 232 Creation Department 233 Provision Department

Claims

1. an identification unit that identifies the type of distribution of original data that has been fragmented by secret sharing and stored in a plurality of servers in the form of shares; a generating unit that generates pseudo data in accordance with the type of distribution identified by the identifying unit; a providing unit that provides the pseudo data created by the creating unit; An information providing device comprising:

2. The information providing device according to claim 1, characterized in that when the identification unit identifies the type of distribution as a normal distribution, the creation unit creates random data that follows a normal distribution having a specified mean value and variance value as the pseudo data.

3. 3. The information providing device according to claim 1, wherein the identifying unit identifies the type of distribution by performing a statistical test using secure computation.

4. 4. The information providing device according to claim 3, wherein the specifying unit performs a statistical test using a predetermined quantile number obtained when the records of the original data are sorted as a representative value.

5. An information providing method executed by an information providing device, comprising: an identification step of identifying the type of distribution of data fragmented by secret sharing and stored in a plurality of servers in the form of shares; a creating step of creating pseudo data in accordance with the type of distribution identified in the identifying step; a providing step of providing the pseudo data created by the creating step; An information providing method comprising:

6. An information providing program for causing a computer to function as the information providing device according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • System, method, device, and program for using secret calculation data

    WO2016178291A1

  • Secure computation system and method

    WO2019124260A1