WO2018124104A1 - データ解析方法およびデータ解析システム - Google Patents
データ解析方法およびデータ解析システム Download PDFInfo
- Publication number
- WO2018124104A1 WO2018124104A1 PCT/JP2017/046729 JP2017046729W WO2018124104A1 WO 2018124104 A1 WO2018124104 A1 WO 2018124104A1 JP 2017046729 W JP2017046729 W JP 2017046729W WO 2018124104 A1 WO2018124104 A1 WO 2018124104A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- terminal
- engine
- data
- terminals
- attribute
- Prior art date
Links
- 238000007405 data analysis Methods 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004458 analytical method Methods 0.000 claims abstract description 107
- 238000006243 chemical reaction Methods 0.000 claims description 93
- 238000012545 processing Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 43
- 230000036772 blood pressure Effects 0.000 description 37
- 230000010354 integration Effects 0.000 description 28
- 230000008520 organization Effects 0.000 description 28
- 239000008280 blood Substances 0.000 description 19
- 210000004369 blood Anatomy 0.000 description 19
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 11
- 239000008103 glucose Substances 0.000 description 11
- 210000002700 urine Anatomy 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000000747 cardiac effect Effects 0.000 description 8
- 201000010099 disease Diseases 0.000 description 7
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 7
- 230000004304 visual acuity Effects 0.000 description 7
- 239000000470 constituent Substances 0.000 description 5
- 208000010125 myocardial infarction Diseases 0.000 description 4
- 238000011282 treatment Methods 0.000 description 4
- 206010028980 Neoplasm Diseases 0.000 description 3
- 201000011510 cancer Diseases 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000035622 drinking Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000000391 smoking effect Effects 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000037396 body weight Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 206010012601 diabetes mellitus Diseases 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010012289 Dementia Diseases 0.000 description 1
- 238000012351 Integrated analysis Methods 0.000 description 1
- 238000012356 Product development Methods 0.000 description 1
- 241000238370 Sepia Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000000291 postprandial effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/22—Social work or social welfare, e.g. community support activities or counselling services
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/88—Medical equipments
Definitions
- the present invention relates to a method and system for analyzing data.
- Non-Patent Document 1 or 2 a data analysis method for obtaining a common set, union set or size of data of a plurality of institutions has been proposed (for example, see Non-Patent Document 1 or 2).
- data is collected and stored independently at each institution such as a hospital.
- data stored in each institution is handled as a set of a plurality of elements belonging to one attribute, and it is determined whether each institution has the same element.
- Non-Patent Document 1 has a problem that it takes much time as the number of engines increases. Further, the data analysis method of Non-Patent Document 2 requires a reliable organization for concealing the data of each organization, that is, an organization that can obtain data of other organizations (so-called data depository organization), and is therefore difficult to be practical. There's a problem.
- the present invention has been made in view of such a problem, and provides a data analysis method that reduces the time required for data analysis, does not require a reliable engine, and has improved practicality.
- the data analysis method provides a client terminal with respect to a collation attribute for a plurality of engine terminals holding a database indicating a plurality of elements for each of one or more attributes.
- each of the plurality of engine terminals performs a conversion process including encryption on an element belonging to the collation attribute in the database of the engine terminal. And transmitting the conversion data obtained by the conversion process to an outsource terminal, and the outsource terminal generates a plurality of the conversion data transmitted from the plurality of engine terminals to generate integrated conversion data.
- the integrated conversion data is transmitted to each of the plurality of engine terminals, and each of the plurality of engine terminals By collating the integrated conversion data transmitted from the end with each of a plurality of elements belonging to the collation attribute in the database of the engine terminal, at least two or more of the engine terminals An element belonging to the collation attribute that is commonly held in the engine terminal is specified as a common element.
- Each of the plurality of institution terminals holds a database of examination results obtained in an organization such as a hospital or a school.
- the conversion data transmitted from each of the plurality of engine terminals are integrated by the outsource terminal, and the integrated conversion data including the integrated plurality of conversion data is transmitted to each of the plurality of engine terminals. . That is, it is possible to consolidate a part of the calculation of each engine terminal to the outsource terminal without incurring all of the calculations required for the analysis of the matching attribute to each of the plurality of engine terminals. As a result, even if the number of engine terminals to be analyzed, that is, the number of engines increases, the overall amount of calculation required for data analysis can be suppressed, and data analysis, that is, matching of matching attributes is required. Time can be shortened. That is, conventionally, the data analysis load depends on the number of engines, but the dependence can be suppressed. In addition, data can be prevented from being collected by one institution, and a calculation depending on the number of institutions can be requested to the outsource terminal.
- the outsource terminal since the conversion data transmitted from each of the plurality of engine terminals to the outsource terminal is encrypted, the outsource terminal can decrypt the conversion data into elements even if the conversion data is acquired. Can not. However, even if the converted data cannot be decoded, the integrated converted data required for specifying the common element is generated by the outsource terminal. Therefore, in the data analysis method according to the present invention, the outsource terminal does not need to be a reliable institutional terminal device for concealing data, and the practicality can be improved.
- the integrated conversion data transmitted from the outsource terminal to each of the plurality of engine terminals is data obtained by integrating a plurality of conversion data. Therefore, each of the plurality of engine terminals cannot know what elements other than the common elements were held even if the integrated conversion data is obtained from the outsource terminal and further decoded. . Therefore, the contents of the database held by each of the plurality of engine terminals can be kept secret from other engine terminals and outsource terminals. As a result, for example, privacy can be protected.
- the client terminal is one engine terminal of the plurality of engine terminals, the remaining plurality of engine terminals excluding the client terminal of the plurality of engine terminals, with respect to the verification attribute May be required to be analyzed.
- the outsource terminal is one of the plurality of engine terminals, and the integration is performed with respect to the plurality of engine terminals other than the outsource terminal of the plurality of engine terminals. The conversion data may be transmitted.
- each of the plurality of engine terminals includes at least one integer value by applying a Bloom filter to the element when performing the conversion process on the element belonging to the matching attribute. It may be converted into a BF value and the BF value may be encrypted.
- the client terminal further requests each of the plurality of engine terminals to analyze a necessary attribute, and each of the plurality of engine terminals is further indicated by the database held by the engine terminal.
- an element associated with the common element may be selected as an output element, and the common element and the output element may be transmitted to the client terminal as an analysis result.
- data stored in each organization is handled as a set of a plurality of elements belonging to one attribute.
- the conventional data analysis method cannot handle data having the plurality of attributes and is not suitable for actual use.
- the client terminal may further acquire the analysis results transmitted from each of the plurality of engine terminals and integrate output elements included in each of the plurality of analysis results.
- the client terminal may add a condition for obtaining the analysis result to each of the plurality of engine terminals in the analysis request for the required attribute. For example, in the request for analysis of the necessary attribute, the client terminal adds, as the condition, that the necessary attribute is included in two or more engine terminals of the plurality of engine terminals.
- the data analysis method of the present invention can reduce the time required for data analysis and improve the practicality.
- FIG. 1 is a configuration diagram of a data analysis system according to an embodiment.
- FIG. 2 is a diagram illustrating processing of the client terminal, the outsource terminal, and the engine terminal in the data analysis system according to the embodiment.
- FIG. 3 is a flowchart showing the processing operation of the data processing system in the embodiment.
- FIG. 4 is a diagram illustrating an example of analysis by the data analysis system according to the embodiment.
- FIG. 5 is a diagram illustrating another example of analysis by the data analysis system in the embodiment.
- FIG. 6 is a diagram illustrating still another example of analysis by the data analysis system in the embodiment.
- FIG. 7 is a diagram illustrating still another example of analysis by the data analysis system in the embodiment.
- FIG. 8 is a diagram illustrating still another example of analysis by the data analysis system in the embodiment.
- FIG. 1 is a configuration diagram of a data analysis system according to an embodiment.
- FIG. 2 is a diagram illustrating processing of the client terminal, the outsource terminal, and the engine terminal in the data analysis
- FIG. 9 is a diagram illustrating still another example of analysis by the data analysis system in the embodiment.
- FIG. 10 is a diagram for explaining PDDI.
- FIG. 11 is a diagram for explaining the system model.
- FIG. 12 is a diagram showing system operation and features.
- FIG. 13 is a diagram showing an introduction outline of the PDDI system.
- FIG. 14 is a diagram illustrating a first application example.
- FIG. 15 is a diagram illustrating a second application example.
- FIG. 16 is a diagram illustrating a third application example.
- FIG. 17 is a diagram illustrating a fourth application example.
- FIG. 18 is a diagram illustrating a fifth application example.
- FIG. 19 is a diagram illustrating the integration based on the reconciliation attribute that is performed only in a part of the organizations.
- FIG. 20 is a diagram showing the integration of data with overlapping collision attributes in the engine.
- FIG. 21 is a diagram illustrating the sequential extension of the matching attribute.
- FIG. 22 is a
- each of the embodiments described below shows a comprehensive or specific example.
- the numerical values, shapes, materials, constituent elements, arrangement positions and connecting forms of the constituent elements, steps, order of steps, and the like shown in the following embodiments are merely examples, and are not intended to limit the present invention.
- constituent elements that are not described in the independent claims indicating the highest concept are described as optional constituent elements.
- Each figure is a mimetic diagram and is not necessarily illustrated strictly.
- symbol is attached
- FIG. 1 is a configuration diagram of a data analysis system in the present embodiment.
- the data analysis system 100 includes a client terminal 101, an outsource terminal 102, and engine terminals 111 to 114, each connected via a network such as the Internet.
- the client terminal 101 is a terminal device operated by a requester who requests data analysis.
- Each of the institution terminals 111 to 114 is a terminal device installed in a data holding institution (hereinafter simply referred to as an institution) such as a hospital, a company, or a school, and holds a database generated or acquired by the institution. Yes. That is, the engine terminal 111 holds the database S1, the engine terminal 112 holds the database S2, the engine terminal 113 holds the database S3, and the engine terminal 114 holds the database S4.
- a data holding institution hereinafter simply referred to as an institution
- the engine terminal 111 holds the database S1
- the engine terminal 112 holds the database S2
- the engine terminal 113 holds the database S3
- the engine terminal 114 holds the database S4.
- Databases S1 to S4 indicate a plurality of attributes and a plurality of elements belonging to each of the plurality of attributes.
- each of the plurality of attributes includes name, height, weight, work presence / absence, hobby, household structure, employment rate, exercise history, drinking, community, medical insurance, smoking, bedtime, blood pressure, fasting blood glucose, urine sugar Or neutral fat.
- the element may be a numerical value, a character, a character string, or a flag indicating presence / absence.
- the outsource terminal 102 is a terminal device that acquires and processes data from each of the engine terminals 111 to 114.
- the client terminal 101 transmits an analysis attribute request to the engine terminals 111 to 114.
- the analysis attribute request indicates a collation attribute and a necessary attribute.
- the collation attribute is, for example, “name”.
- Each of the engine terminals 111 to 114 of each organization that has received such an analysis attribute request selects a collation attribute (for example, “name”) indicated by the analysis attribute request from a plurality of attributes indicated in the database held by itself. To do. Then, each of the engine terminals 111 to 114 generates conversion data to be described later using elements belonging to the collation attribute, and transmits the conversion data to the outsource terminal 102. Specifically, the engine terminal 111 generates conversion data using the element “Alice” belonging to the attribute “name”.
- a collation attribute for example, “name”
- the outsource terminal 102 acquires conversion data from each of the engine terminals 111 to 114 of each engine, and generates integrated conversion data from the conversion data. Then, the outsource terminal 102 transmits the generated integrated conversion data to each of the engine terminals 111 to 114.
- each of the agency terminals 111 to 114 acquires the integrated conversion data from the outsource terminal 102
- the engine terminals 111 to 114 collate the integrated conversion data with each element belonging to the collation attribute in the database held by the institution terminal 111-114.
- Each of the engine terminals 111 to 114 finds elements that belong to the collation attributes of the databases S1 to S4 as common elements by the collation. For example, each of the engine terminals 111 to 114 finds the element “Alice” that belongs to the collation attribute “name” of each of the databases S1 to S4 as a common element.
- each of the engine terminals 111 to 114 selects a necessary attribute indicated by the above-described analysis attribute request from a plurality of attributes indicated in the database held by itself. Specifically, the engine terminal 111 selects the attribute “weight” as a necessary attribute. The engine terminal 112 selects the attribute “drinking” as a necessary attribute. The engine terminal 113 selects the attribute “smoking” as a necessary attribute. The engine terminal 114 selects the attribute “blood pressure” as a necessary attribute.
- each of the engine terminals 111 to 114 selects, as an output element, an element associated with the common element belonging to the above-described collation attribute from among a plurality of elements belonging to the necessary attribute of the database held by itself.
- Each of the engine terminals 111 to 114 transmits the common element and the output element to the client terminal 101 as an analysis result.
- FIG. 2 is a diagram illustrating processing of the client terminal 101, the outsource terminal 102, and the engine terminal 111 in the data analysis system 100. 2 shows the processing of the engine terminal 111, each of the engine terminals 112 to 114 performs the same processing as the engine terminal 111.
- processing is performed in six phases from the 0th phase to the 5th phase.
- the 0th phase is an initial setting phase.
- the engine terminal 111 performs initial setting for performing cryptographic communication between the client terminal 101 and the outsource terminal 102.
- the first phase is an analysis attribute input phase.
- the client terminal 101 acquires a collation attribute and a necessary attribute based on, for example, an operation by the client. Then, the client terminal 101 transmits an analysis attribute request indicating the collation attribute and the necessary attribute to each of the engine terminals 111 to 114.
- the second phase is a conversion data generation phase.
- the engine terminal 111 generates the above-described conversion data and transmits it to the outsource terminal 102.
- the third phase is a conversion data integration phase.
- the outsource terminal 102 generates integrated conversion data by integrating the conversion data acquired from each of the engine terminals 111 to 114.
- the outsource terminal 102 transmits the generated integrated conversion data to each of the engine terminals 111 to 114.
- the fourth phase is an analysis result output phase.
- the engine terminal 111 collates the database S1 held by itself with the integrated conversion data, and outputs the above-described common element as a part of the analysis result.
- the fifth phase is a required attribute output phase.
- the engine terminal 111 selects, as an output element, an element associated with the common element from among a plurality of elements belonging to the necessary attributes in the database S1 held by the engine terminal 111. Is transmitted to the client terminal 101 as an analysis result.
- FIG. 3 is a flowchart showing the processing operation of the data analysis system 100.
- i is an identifier for identifying any one of n (n is an integer of 2 or more) engines (or engine terminals).
- i identifies any one of the four engines 1 to 4 (or the engine terminals 111 to 114).
- y i is disclosed as a public key of the engine terminal i to each engine terminal other than the engine terminal i.
- x i is the secret key of the engine terminal i.
- the client terminal 101 notifies each engine terminal of the collation attribute and the required attribute by transmitting an analysis attribute request to each engine terminal.
- each institution terminal receives a notification of a collation attribute and a necessary attribute from the client terminal 101, it extracts only a plurality of elements belonging to the collation attribute notified from the database held by itself.
- the BF value is data of an array composed of m (m is an integer of 1 or more) binary values (0 or 1).
- Each of BFi (0),..., BFi (m ⁇ 1) is an array element and is a binary value of 0 or 1.
- the BF value is handled as an array composed of m binary values, but multiple values may be used instead of binary values. That is, the BF value may be an array composed of m integer values.
- This array consists of m 0 or -1 elements.
- An array is encrypted for each element contained in the array. In this case, a homomorphic encryption such as a power ElGamal encryption is used for the encryption.
- the power of m that is, g m is encrypted instead of m.
- the institutional terminal i generates [E (BFi [0] -1),..., E (BFi [m-1] -1)], that is, E (BF (Si) -1). To do. Then, the engine terminal i transmits the E (BF (Si) -1) to the outsource terminal 102 as converted data.
- outsourced terminal 102 [E ( ⁇ BFi [0] -n) r0, ⁇ , E ( ⁇ BFi [m-1] -n) rm-1] to E (r (IBU ( ⁇ Si) Calculate as -n)).
- the outsource terminal 102 transmits E (r (IBU ( ⁇ Si) ⁇ n)) as integrated conversion data to n engine terminals.
- the element of the collation attribute set Si is common to n engine terminals. It is determined whether or not it is an element ( ⁇ Si).
- Each element BF (Si) of the collation attribute set Si is an array composed of m elements of 0 or 1, as described above.
- R (IBU ( ⁇ Si) ⁇ n) [( ⁇ BFi [0] ⁇ n) r0 ,..., ( ⁇ BFi [m ⁇ 1] ⁇ n) rm ⁇ 1 ] An array of elements.
- conversion data corresponding to a common element in n engine terminals is transmitted from the n engine terminals to the outsource terminal 102, one element included in the common original BF (Si) is r In (IBU ( ⁇ Si) ⁇ n), it is included as a zero element.
- the 0 element included in the common original (BF (Si) -1) exists as the 0 element even if conversion data integration and randomization are performed.
- the original BF (Si) common to n engine terminals is an array of (1, 0, 1, 1,..., 0, 1)
- r (IBU ( ⁇ Si) ⁇ n) is , (0, a, 0, 0,..., B, 0) (a and b are arbitrary values). Therefore, the engine terminal i arranges the 1 element at the same position as the 0 element of r (IBU ( ⁇ Si) ⁇ n) among the plurality of original BF (Si) included in the set Si held by the engine terminal i.
- the element of Si corresponding to the BF (Si) being made is found as a common element.
- the engine terminal i outputs an element associated with the common element ( ⁇ Si) among the plurality of elements belonging to the required attribute in the database held by itself. To retrieve from that database.
- the engine terminal i encrypts the common element and the output element, and transmits the encrypted common element and output element to the client terminal 101 as an analysis result.
- the outsource terminal 102 since the outsource terminal 102 generates integrated conversion data, the time required for data analysis can be shortened. Moreover, since the conversion data transmitted from each of the n engine terminals to the outsource terminal 102 is encrypted, the outsource terminal 102 decrypts the conversion data into elements even if the conversion data is acquired. Can not do it. However, even if the converted data cannot be decoded, the integrated converted data required for specifying the common element is generated by the outsource terminal 102. Therefore, in the data analysis method according to the present embodiment, the outsource terminal 102 does not need to be a reliable institutional terminal device for concealing data, and can improve practicality.
- the integrated conversion data transmitted from the outsource terminal 102 to each of the n engine terminals is data obtained by integrating a plurality of conversion data. Therefore, each of the n engine terminals can know what elements other than the common elements are held even if the integrated conversion data is obtained from the outsource terminal 102 and further decoded. I can't. Therefore, the contents of the database held by each of the n engine terminals can be kept secret from the other engine terminals and the outsource terminal 102. As a result, for example, privacy can be protected.
- FIG. 4 is a diagram showing an example of analysis by the data analysis system 100.
- the client terminal 101 receives (weight, blood pressure) as (matching attribute, necessary attribute) based on the operation by the client. Then, the client terminal 101 transmits an analysis attribute request indicating the (weight, blood pressure) to the engine terminals 111 to 113.
- the client terminal 101 acquires the analysis result transmitted from the engine terminals 111 to 113.
- the client terminal 101 determines the blood pressure associated with “90”, which is a common attribute value (common element) belonging to body weight in each of the databases S1 to S3 from the databases S1 to S3 of the engine terminals 111 to 113. Get the attribute value (output element).
- the client terminal 101 outputs or displays the weight “90” and the blood pressure attribute values “160”, “160”, “160”, “120”, and “110” associated with the weight “90”. To do.
- the requester who operates the client terminal 101 wants to collect attribute values associated with the verification attributes in a state where the examination data of each institution (institution terminal) is concealed. Can be requested.
- FIG. 5 is a diagram showing another example of the analysis by the data analysis system 100.
- the client terminal 101 receives (weight, blood pressure) as (matching attribute, necessary attribute) based on the operation by the client.
- the collation attribute is an attribute that is a condition for analysis
- the necessary attribute is an attribute that is a target of analysis.
- the client terminal 101 transmits an analysis attribute request indicating the (weight, blood pressure) to the engine terminals 111 to 113.
- the client terminal 101 acquires the analysis result transmitted from the engine terminals 111 to 113.
- the client terminal 101 determines the blood pressure associated with “90”, which is a common attribute value (common element) belonging to body weight in each of the databases S1 to S3 from the databases S1 to S3 of the engine terminals 111 to 113. Get the attribute value (output element).
- the client terminal 101 outputs or displays the total result of the blood pressure attribute value associated with the weight “90”.
- the client terminal 101 has five persons with a weight of “90” and three persons with a weight of “90” and a blood pressure of “160” in each of the engine terminals 111 to 113. Is displayed.
- a client who operates the client terminal 101 obtains a statistical value related to a matching attribute in a state where examination data of each institution (institution terminal) is concealed. be able to.
- FIG. 6 is a diagram showing still another example of analysis by the data analysis system 100.
- the institution terminal 111 holds information acquired in the hospital A which is an institution for treating diabetes as the database S1.
- ID, urine sugar, blood glucose, HbA1c, and the like in the database S1 are attributes of the diabetic patient.
- Such a database S1 shows a plurality of elements belonging to those attributes.
- the institutional terminal 112 holds information acquired in the hospital B, which is an institution that performs medical treatment for myocardial infarction, as a database S2.
- ID, electrocardiogram, chest CT, chest MRI, and the like in the database S2 are attributes of the myocardial infarction patient.
- Such a database S2 shows a plurality of elements belonging to those attributes.
- the client terminal 101 receives (ID, (urine sugar, blood glucose)) for the hospital A as (matching attribute, necessary attribute), for example, based on an operation by the client, and (ID, cardiac catheter) for the hospital B. Is received as (matching attribute, required attribute). Then, the client terminal 101 transmits an analysis attribute request indicating (ID, (urine sugar, blood sugar)) to the institution terminal 111 of the hospital A, and sends an analysis attribute request indicating (ID, cardiac catheter) to the institution terminal of the hospital B. 112.
- the engine terminals 111 and 112 perform respective processes of the above-described initial setting phase, conversion data generation phase, analysis result output phase, and necessary attribute output phase.
- the client terminal 101 acquires the analysis result transmitted from the engine terminals 111 and 112. That is, the client terminal 101 outputs, from the databases S1 and S2, elements of urine sugar, blood glucose, and cardiac catheter associated with “John” that is a common element belonging to ID in each of these databases S1 and S2. Get as an element. Further, the client terminal 101 outputs from the databases S1 and S2 the elements of urine sugar, blood glucose, and cardiac catheter that are associated with “Dave” that is a common element belonging to the ID in each of these databases S1 and S2. Get as an element. Then, the client terminal 101 integrates the output elements of urine sugar, blood glucose, and cardiac catheter associated with ID “John”, and outputs the output elements of urine sugar, blood glucose, and cardiac catheter associated with ID “Dave”. Integrate. Here, the client terminal 101 deletes the ID “John” and the ID “Dave” in the integration. Thereby, the confidentiality of data can be further improved.
- each of the engine terminals 111 and 112 does not transmit an element belonging to the ID (for example, “John” or “Dave”), converts the element belonging to the ID into a collator, and encrypts and transmits the collator. May be.
- FIG. 7 is a diagram showing still another example of the analysis by the data analysis system 100.
- the institution terminal 111 holds information recorded by the examination in the hospital A which is an institution as the database S1.
- the institution terminal 112 holds information recorded by the examination in the hospital B as an institution as the database S2.
- the institution terminal 113 holds information recorded by the examination in the hospital C as an institution as the database S3.
- Each of the databases S1 to S3 shows height, weight, blood pressure, and the like as attributes of examination items, and shows a plurality of elements belonging to those attributes.
- the client terminal 101 receives (weight, (height, blood pressure, blood, visual acuity, LDH)) for the hospitals A to C as (matching attribute, necessary attribute), for example, based on an operation by the client. Then, the client terminal 101 transmits an analysis attribute request indicating (weight, (height, blood pressure, blood, visual acuity, LDH)) to the engine terminals 111 to 113 of the hospitals A to C.
- the engine terminals 111, 112, and 113 perform the above-described initial setting phase, conversion data generation phase, analysis result output phase, and necessary attribute output phase, respectively.
- the client terminal 101 acquires the analysis result transmitted from the engine terminals 111, 112, and 113. That is, the client terminal 101 obtains from each of the databases S1, S2, and S3 the height, blood pressure, blood associated with “90” that is a common element belonging to the weight in each of the databases S1, S2, and S3. , Visual acuity, and LDH elements are obtained as output elements. As a result, the client terminal 101 can acquire the height, blood pressure, blood, visual acuity, and LDH values of a person having a weight of “90” examined in each of the hospitals A to C. As a result, more data can be collected by collecting data from a plurality of institutions (hospitals in the above example). That is, since the collation result of the data of a plurality of institutions can be used, the collected data can be increased and a good analysis result can be obtained. For example, an analysis result that the blood pressure of an obese patient is high can be received.
- the client who operates the client terminal 101 records the examination records of the patient whose weight is “90” while the examination data of the hospitals A to C are kept secret from each other.
- FIG. 8 is a diagram showing still another example of analysis by the data analysis system 100.
- the institution terminal 111 holds information on accidents occurring at the school A, which is an institution, as the database S1.
- the institution terminal 112 holds information on accidents occurring at the school B, which is an institution, as a database S2.
- the institution terminal 113 holds information on accidents occurring at the school C, which is an institution, as a database S3.
- Each of the databases S1 to S3 indicates the name, symptom, location, hospitalization (presence / absence of hospitalization), and the like as accident information attributes, and a plurality of elements belonging to these attributes.
- the client terminal 101 accepts (hospitalization, location) for schools A to C as (matching attribute, necessary attribute) based on, for example, an operation by the client. Then, the client terminal 101 transmits an analysis attribute request indicating the (hospitalization, place) to the institutional terminals 111 to 113 of the schools A to C.
- the engine terminals 111, 112, and 113 perform the above-described initial setting phase, conversion data generation phase, analysis result output phase, and necessary attribute output phase, respectively.
- the client terminal 101 acquires the analysis result transmitted from the engine terminals 111, 112, and 113. That is, the client terminal 101 outputs, from each of the databases S1, S2, and S3, a location element associated with “1” that is a common element belonging to hospitalization in each of the databases S1, S2, and S3. Get as an element.
- more data can be collected by collecting data from a plurality of institutions (schools in the above example). That is, since the collation result of the data of a plurality of institutions can be used, the collected data can be increased and a good analysis result can be obtained. That is, in the above example, the client terminal 101 can grasp where the hospital accident occurred in each of the schools A to C. For example, in a swing, it can be understood that there are many hospitalization accidents.
- the data analysis system 100 collects the data of the schools A to C while ensuring the privacy between the respective institutions of the schools A to C and the individual, so that the cause of the accident can be investigated. It can be strengthened.
- FIG. 9 is a diagram showing still another example of analysis by the data analysis system 100.
- the institution terminal 111 holds information recorded by a medical examination in an elementary school as an institution as the database S1.
- the institutional terminal 112 holds information recorded by medical examination at a university as an institution as a database S2.
- the institution terminal 113 holds information recorded by the medical examination at a company that is an institution as a database S3.
- Each of the databases S1 to S3 shows the name, sex, height, weight, etc. as the attributes of the examination items.
- the database S1 further indicates BMI as the attribute of the examination item
- the database S2 further indicates BP (blood pressure) as the attribute of the examination item
- the database S3 further includes BP, FBS ( Fasting blood glucose) and PBG (postprandial blood glucose) are shown.
- the databases S1 to S1 show a plurality of elements belonging to those attributes.
- the client terminal 101 receives ((name, gender), (height, weight)) for the elementary school as (matching attribute, necessary attribute) based on, for example, an operation by the client. Then, the client terminal 101 transmits an analysis attribute request indicating the ((name, gender), (height, weight)) to the institutional terminal 111 of the elementary school. Furthermore, the client terminal 101 receives ((name, gender), (height, weight, BP)) for the university as (collation attribute, necessary attribute) based on, for example, an operation by the client. Then, the client terminal 101 transmits an analysis attribute request indicating the ((name, gender), (height, weight, BP)) to the university institution terminal 112.
- the client terminal 101 receives ((name, gender), (height, weight, BP, FBS, PBG)) as a (matching attribute, necessary attribute) for a company based on, for example, an operation by the client. Then, the client terminal 101 transmits an analysis attribute request indicating the ((name, gender), (height, weight, BP, FBS, PBG)) to the institutional terminal 113 of the company.
- the engine terminals 111, 112, and 113 perform the above-described initial setting phase, conversion data generation phase, analysis result output phase, and necessary attribute output phase, respectively.
- the client terminal 101 acquires the analysis result transmitted from the engine terminals 111, 112, and 113. That is, the client terminal 101 determines the height, weight associated with “Dave, M”, which is a common element belonging to the name and sex in each of the databases S1, S2, and S3 from the databases S1, S2, and S3. , BP, FBS, and PBG elements are obtained as output elements. Further, the client terminal 101 determines the height, weight associated with “Cate, G”, which is a common element belonging to the name and gender in each of the databases S1, S2, and S3 from the databases S1, S2, and S3. , BP, FBS, and PBG elements are obtained as output elements. As a result, the client terminal 101 can acquire numerical values such as the height and weight of the same person who has undergone screening at an elementary school, a university, and a company. That is, the client terminal 101 can acquire the analysis result in the human growth process.
- the data analysis system 100 it is possible to integrate time-series data relating to the same person across the institutions in a state where the data of the institutions of the elementary school, the university, and the company are kept secret. .
- each of the institutional terminals 111 to 113 encrypts and transmits each element of name and gender (such as “Dave” or “Cate”), but as in the example shown in FIG.
- the element may be converted into a collator, and the collator may be encrypted and transmitted.
- each of the engine terminals 111 to 114 includes a conversion process including encryption for elements belonging to the collation attribute in the database of the engine terminal.
- the conversion data obtained by the conversion process is transmitted to the outsource terminal 102.
- the outsource terminal 102 generates integrated conversion data by integrating a plurality of conversion data transmitted from the engine terminals 111 to 114, and the integrated conversion data is generated as the engine terminals 111 to 114. Send to each of the.
- each of the engine terminals 111 to 114 obtains the integrated conversion data transmitted from the outsource terminal 102 and each of a plurality of elements belonging to the collation attribute in the database of the engine terminal. By collating, elements belonging to the collation attribute that are commonly held in the engine terminals 111 to 114 are specified as common elements.
- the conversion data transmitted from each of the engine terminals 111 to 114 is integrated by the outsource terminal 102, and the integrated conversion data including the plurality of integrated conversion data is provided to each of the engine terminals 111 to 114.
- Sent. a part of the calculation of each engine terminal 111 to 114 is aggregated to the outsource terminal 102 without causing all of the calculations required for the matching attribute analysis, that is, matching of matching attribute matching, to each of the engine terminals 111 to 114. can do.
- the data analysis load depends on the number of engines, but the dependence can be suppressed.
- data can be prevented from being collected by one institution, and a calculation depending on the number of institutions can be requested to the outsource terminal 102.
- the outsource terminal 102 since the conversion data transmitted from each of the engine terminals 111 to 114 to the outsource terminal 102 is encrypted, the outsource terminal 102 decrypts the conversion data into elements even if the conversion data is acquired. Can not do it. However, even if the converted data cannot be decoded, the integrated converted data required for specifying the common element is generated by the outsource terminal 102. Therefore, in the data analysis method according to the present invention, the outsource terminal 102 does not need to be a reliable institutional terminal device for concealing data, and the practicality can be improved.
- the integrated conversion data transmitted from the outsource terminal 102 to each of the engine terminals 111 to 114 is data obtained by integrating a plurality of conversion data. Therefore, each of the engine terminals 111 to 114 knows what elements other than the common elements were held even if the integrated conversion data is obtained from the outsource terminal 102 and further decoded. I can't. Therefore, the contents of the databases S1 to S4 held by the engine terminals 111 to 114 can be kept secret from the other engine terminals and the outsource terminal 102. As a result, for example, privacy can be protected.
- each of the engine terminals 111 to 114 when each of the engine terminals 111 to 114 performs conversion processing on an element belonging to the collation attribute, it applies at least one element to the element by applying a Bloom filter to the element. It converts to a BF value consisting of a numerical value and encrypts the BF value.
- the client terminal 101 further requests each of the engine terminals 111 to 114 to analyze the necessary attributes.
- Each of the engine terminals 111 to 114 further selects, as an output element, an element associated with the common element from among a plurality of elements belonging to the necessary attributes indicated by the database held by the engine terminal, The output element is transmitted to the client terminal 101 as an analysis result.
- data stored in each organization is handled as a set of a plurality of elements belonging to one attribute.
- the conventional data analysis method cannot handle data having the plurality of attributes and is not suitable for actual use.
- the present embodiment as described above, not only the matching attribute but also the necessary attribute is analyzed. Thereby, data having a plurality of general attributes (that is, a database) can be handled, and the practicality can be further improved.
- an analysis request for a required attribute is made as an analysis attribute request together with an analysis request for a matching attribute.
- the analysis request for the required attribute may be made after the analysis request for the matching attribute.
- the client terminal 101 further acquires the analysis results transmitted from each of the engine terminals 111 to 114 and integrates output elements included in each of the plurality of analysis results.
- the common element and the output element transmitted from each of the engine terminals 111 are acquired by the client terminal 101, and the common elements and output elements of the engine terminals 111 to 114 are integrated by the client terminal 101.
- the integration of an arbitrary database can be securely realized without depending on the number of institutions and regulating the number of database attributes while protecting privacy.
- the client terminal 101 is a terminal device independent of the engine terminals 111 to 114, but may be one engine terminal of the engine terminals 111 to 114.
- the engine terminal as the client terminal 101 requests analysis of the collation attribute from the engine terminals 111 to 114 except for the client terminal 101.
- the outsource terminal 102 may be one of the engine terminals 111 to 114.
- the engine terminal as the outsource terminal 102 transmits the integrated conversion data to a plurality of remaining engine terminals other than the outsource terminal 102 among the engine terminals 111 to 114.
- each of the n engine terminals that have received the analysis attribute request specifies a common element that is commonly held in all of the n engine terminals.
- each of the n engine terminals that have received the analysis attribute request may specify a common element that is commonly held in only d (2 ⁇ d ⁇ n ⁇ 1) engine terminals.
- the engine terminal i has a BF in which one element is arranged at the same position as the element of the value d of IBU ( ⁇ Si) among the plurality of original BFs (Si) included in the set Si held by the engine terminal i.
- the element of (Si) is found as a common element.
- FIG. 10 is a diagram for explaining PDDI.
- the PDDI system realizes data integration owned by multiple organizations without worrying about information leakage.
- the following (1) to (3) can be realized by PDDI.
- the PDDI system has the following features (1) to (4).
- FIG. 11 is a diagram for explaining the system model.
- the data holding organization provides data and sets usage permission attributes.
- the PDDI computer performs calculation processing depending on the number of engines. In addition, the PDDI computer cannot know the data.
- the client terminal
- the client may also be a data holding organization. Information is managed in a distributed manner and is not sent from each organization to other organizations.
- the matching attribute is an attribute used as a matching element
- the necessary attribute is an attribute sent to the client after the matching.
- FIG. 12 is a diagram showing the system operation and features.
- the reconciliation data owned by the data holding organization is not output to the outside of the organization but is completely concealed.
- the client obtains only the attributes that each organization has permitted to publish, and does not obtain any other information. Since all communication paths are encrypted, only authorized organizations can decrypt them.
- FIG. 13 is a diagram showing an introduction outline of the PDDI system.
- the PDDI system performs matching by encrypting irreversibly compressed data, and encrypts the integrated data and transmits it to the user, so that each organization independently performs data matching while storing the data.
- the reconciliation data does not come out from each organization.
- the integrated data is kept secret from all outside the necessary institutions.
- FIG. 14 is a diagram showing a first application example.
- the first application is the integration of medical data across institutions.
- the medical data of patients who go to multiple medical institutions are managed independently at each medical institution, but by analyzing and integrating the same patient data in a more multifaceted manner It becomes possible.
- PDDI system it is possible to collate and integrate data of the same patient with respect to medical data independently owned by each medical institution without providing privacy information such as name and date of birth to the outside.
- FIG. 15 is a diagram showing a second application example.
- the second application example is the integration of medical examination data.
- the PDDI system By integrating personal examination data, it is possible to analyze how test values in childhood affect lifestyle-related diseases during adulthood. Thereby, health guidance, such as lifestyle-related disease, can be performed effectively.
- the PDDI system it is possible to integrate long-term individual examination data by integrating examination data of the same person while protecting privacy from examination data stored independently at schools and companies.
- the PDDI system collates personal checkup data and outputs the personal name in order to return the checkup data to the individual, as in the example shown in FIG. 9.
- medical examination data can be returned to an individual.
- the required attribute includes a matching attribute.
- the PDDI system deletes the personal name.
- FIG. 16 is a diagram showing a third application example.
- the third application example is the integration of accident information on electric wheelchairs.
- FIG. 17 is a diagram showing a fourth application example.
- the fourth application is the integration of treatments for the same disease.
- FIG. 18 is a diagram showing a fifth application example.
- the fifth application example is an investigation of the relationship between cancer and stroke.
- FIG. 19 is a diagram showing the integration by the reconciliation attribute performed only in a part of the organizations.
- the PDDI system As shown in FIG. 16, only the “matching attributes used in all institutions” can be integrated. However, as shown in FIG. 19, an attribute used only in a part of the organizations may be used as the matching key. That is, in the example shown in FIG. 16, when there are death cases in all manufacturers, the PDDI system outputs data of those death cases. On the other hand, in the example shown in FIG. 19, the PDDI system extracts and outputs data on death cases even if all manufacturers have no death cases. That is, the extracted data is not a common set.
- FIG. 20 is a diagram showing the integration of data having overlapping collision attributes in the institution.
- FIG. 21 is a diagram showing the sequential extension of the matching attribute.
- the matching attribute is fixed and defined as an AND combination of the specified attributes.
- a function of extending the application range of the matching attribute until the uniqueness of the matching is obtained may be added. That is, in the case where it is impossible to collate only with the attribute “name”, the PDDI system may include not only the attribute “name” but also the attribute “address (for example, city)” in the coincidence attribute as shown in FIG.
- FIG. 22 is a diagram showing the system operation and characteristics.
- each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
- Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
- the software that realizes each terminal in each of the above embodiments is a program that causes a computer to execute each step of the flowchart shown in FIG.
- integration in each of the above embodiments means that a plurality of data is correctly linked. For example, when (John, cancer data A) is in the database of institution A and (John, myocardial infarction data X) is in the database of institution B, (cancer data A) and (myocardial infarction data X) are linked. This is called “integration”. Note that such data association is performed using common elements belonging to the matching attribute (that is, the matching attribute). For example, in the above-described example, data is linked using the common element “John” belonging to the matching attribute “name”.
- the data analysis method of the present invention classifies database attributes into matching attributes (that is, matching attributes), necessary attributes, and other attributes, and not only the privacy of the data owner but also the authority of the organization that manages the data. It is a method that also protects privacy.
- the database of each organization is collated with the matching attribute, and necessary attributes of data having the matching attribute of each organization are integrated.
- the system that performs data analysis by the data analysis method of the present invention collates the database of each institution with the data “dementia” belonging to the collation attribute “disease name”, and has the data of the collated data in each institution. Integrate data belonging to the required attributes “age, drinking, smoking”. At this time, the system conceals not only who the integrated data is from but also from which organization. Furthermore, a condition for calculating an actual output value, such as being included in two or more institutions, can be added to the required attribute.
- the data analysis method according to the present invention has the effect of reducing the time required for data analysis, eliminating the need for a reliable organization, and improving the practicality. For example, each of the hospital, school, company, etc. This is useful for systems that analyze databases in institutions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Public Health (AREA)
- Computer Security & Cryptography (AREA)
- Marketing (AREA)
- Child & Adolescent Psychology (AREA)
- Computer Hardware Design (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Epidemiology (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
データの解析に要する時間を短縮し、実用性を向上したデータ解析方法では、クライアント端末(101)が機関端末(111~114)に対して照合属性についての解析を要求し、機関端末(111~114)のそれぞれが、データベースのうち、その照合属性に属する要素を暗号化し、変換データをアウトソース端末(102)に送信し、アウトソース端末(102)が、機関端末(111~114)からの複数の変換データを統合し、統合変換データを機関端末(111~114)に送信し、機関端末(111~114)のそれぞれが、統合変換データと、その機関端末のデータベースのうちの、照合属性に属する複数の要素のそれぞれとを照合することによって、機関端末(111~114)において共通に保持されている、照合属性に属する要素を共通要素として特定する。
Description
本発明は、データを解析する方法およびシステムに関する。
近年、IoT(Internet of Things)の普及に伴い、人から物までの各発信源から発信されたデータがビッグデータとして収集され、データのみならず、データを収集する機関も爆発的に増加している。
これに対して、複数の機関のデータの共通集合、和集合またはサイズを求めるデータ解析方法が提案されている(例えば、非特許文献1または2参照)。
一般に、データは病院などの各機関で独立に収集されて保管されている。上述の提案されているデータ解析方法では、各機関で保管されているデータを、1つの属性に属する複数の要素の集合として取り扱い、各機関が同じ要素を持つかどうかを判定している。
L. Kissner and D. Song. Privacy-preserving set operations. In CRYPTO 2005, volume 3621 of LNCS, pages 241-257. Springer, 2005
D. Many, M. Burkhart, and X. Dimitropoulos. Fast private set operations with sepia. Technical Report, 345, 2012.
しかしながら、上記非特許文献1のデータ解析方法では、機関の数が多いほど莫大な時間がかかるという問題がある。また、上記非特許文献2のデータ解析方法では、各機関のデータを秘匿するための信頼できる機関、すなわち他機関のデータを入手できる機関(いわゆるデータ預託機関)を要するため、実用性が難しいという問題がある。
そこで、本発明は、かかる問題に鑑みてなされたものであって、データの解析に要する時間を短縮し、信頼できる機関が不要で、実用性を向上したデータ解析方法を提供する。
上記目的を達成するために、本発明に係るデータ解析方法は、1つ以上の属性のそれぞれに対して複数の要素を示すデータベースを保持する複数の機関端末に対して、クライアント端末が照合属性についての解析を要求し、前記クライアント端末からの要求に応じて、前記複数の機関端末のそれぞれが、当該機関端末の前記データベースのうち、前記照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データをアウトソース端末に送信し、前記アウトソース端末が、前記複数の機関端末から送信された複数の前記変換データを統合することによって統合変換データを生成し、前記統合変換データを前記複数の機関端末のそれぞれに送信し、前記複数の機関端末のそれぞれが、前記アウトソース端末から送信された前記統合変換データと、当該機関端末の前記データベースのうちの、前記照合属性に属する複数の要素のそれぞれとを照合することによって、前記複数の機関端末のうちの少なくとも2以上の機関端末において共通に保持されている、前記照合属性に属する要素を共通要素として特定する。なお、複数の機関端末のそれぞれは、例えば病院または学校などの機関において得られた検診結果などのデータベースを保持している。
これにより、複数の機関端末のそれぞれから送信された変換データは、アウトソース端末によって統合され、その統合された複数の変換データからなる統合変換データが、その複数の機関端末のそれぞれに送信される。つまり、照合属性についての解析に要する計算の全てを複数の機関端末のそれぞれに負わせることなく、各機関端末の計算の一部をアウトソース端末に集約することができる。その結果、解析の対象とされる機関端末の数、すなわち機関の数が増えても、データの解析に要する全体的な計算量を抑えることができ、データの解析、すなわち照合属性のマッチングに要する時間を短縮することができる。つまり、従来では、データ解析の負荷が機関数に依存していたが、その依存を抑えることができる。また、データが1つの機関で収集されることを抑えることができ、機関数に依存する計算をアウトソース端末に依頼することができる。
また、複数の機関端末のそれぞれからアウトソース端末に送信される変換データは暗号化されているため、アウトソース端末では、その変換データを取得しても、その変換データを要素に復号することができない。しかし、その変換データを復号することができなくても、共通要素を特定するために必要とされる統合変換データがアウトソース端末によって生成される。したがって、本発明に係るデータ解析方法では、アウトソース端末は、データを秘匿するための信頼できる機関の端末装置である必要がなく、実用性を向上することができる。
また、アウトソース端末から複数の機関端末のそれぞれに送信される統合変換データは、複数の変換データが統合されたデータである。したがって、複数の機関端末のそれぞれは、アウトソース端末から統合変換データを取得してさらに復号しても、他の機関端末が共通要素以外にどのような要素を保持していたかを知ることができない。そのため、複数の機関端末のそれぞれが保持するデータベースの内容を、他の機関端末にもアウトソース端末にも秘匿しておくことができる。その結果、例えばプライバシーを保護することができる。
また、前記クライアント端末は、前記複数の機関端末のうちの1つの機関端末であって、前記複数の機関端末のうちの当該クライアント端末を除く残りの複数の機関端末に対して、前記照合属性についての解析を要求してもよい。また、前記アウトソース端末は、前記複数の機関端末のうちの1つの機関端末であって、前記複数の機関端末のうちの当該アウトソース端末を除く残りの複数の機関端末に対して、前記統合変換データを送信してもよい。
また、前記複数の機関端末のそれぞれは、前記照合属性に属する要素に対して前記変換処理を行うときには、前記要素に対してブルームフィルタを適用することによって、前記要素を少なくとも1つの整数値からなるBF値に変換し、前記BF値を暗号化してもよい。
これにより、要素がデータの大きさとは独立なBF値に変換されるため、統合変換データと、データベースのうちの照合属性に属する複数の要素のそれぞれとの照合にかかる負荷を軽減することができ、処理速度を向上することができる。
また、前記クライアント端末は、さらに、前記複数の機関端末のそれぞれに対して、必要属性についての解析を要求し、前記複数の機関端末のそれぞれは、さらに、当該機関端末が保持する前記データベースによって示される前記必要属性に属する複数の要素のうち、前記共通要素に関連付けられている要素を、出力要素として選択し、前記共通要素および出力要素を解析結果として前記クライアント端末に送信してもよい。
従来のデータ解析方法では、各機関で保管されているデータは、1つの属性に属する複数の要素の集合として取り扱われている。しかしながら、一般に、データは複数の属性を持つため、従来のデータ解析方法では、その複数の属性を持つデータを取り扱うことができず、現実の利用には適さない。
そこで、本発明では、上述のように、照合属性だけでなく必要属性についての解析も行われる。これにより、一般的な複数の属性を持つデータ(すなわちデータベース)を取り扱うことができ、実用性をさらに向上することができる。
また、前記クライアント端末は、さらに、前記複数の機関端末のそれぞれから送信された前記解析結果を取得し、複数の前記解析結果のそれぞれに含まれる出力要素を統合してもよい。
これにより、複数の機関端末のそれぞれから送信された共通要素および出力要素がクライアント端末に取得され、クライアント端末によって、複数の機関端末のそれぞれの共通要素および出力要素が統合される。これにより、任意のデータベースの統合を、プライバシーを保護しつつ、機関数に依存せず、データベースの属性の数を規制することなくセキュアに実現することができる。
また、前記クライアント端末は、前記必要属性についての解析の要求では、前記複数の機関端末のそれぞれに対して、前記解析結果を得るための条件を付加してもよい。例えば、前記クライアント端末は、前記必要属性についての解析の要求では、前記複数の機関端末のうちの2つ以上の機関端末に前記必要属性が含まれていることを、前記条件として付加する。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本発明のデータ解析方法は、データの解析に要する時間を短縮し、実用性を向上することができる。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、同じ構成部材については同じ符号を付している。
(実施の形態1)
図1は、本実施の形態におけるデータ解析システムの構成図である。
図1は、本実施の形態におけるデータ解析システムの構成図である。
本実施の形態におけるデータ解析システム100は、それぞれ例えばインターネットなどのネットワークによって接続されたクライアント端末101と、アウトソース端末102と、機関端末111~114とを含む。
クライアント端末101は、データの解析を依頼する依頼者によって操作される端末装置である。
機関端末111~114のそれぞれは、例えば病院、企業または学校などのデータ保有機関(以下、単に機関という)に設置された端末装置であって、その機関において生成または取得されたデータベースを保持している。つまり、機関端末111は、データベースS1を保持し、機関端末112は、データベースS2を保持し、機関端末113は、データベースS3を保持し、機関端末114は、データベースS4を保持している。
データベースS1~S4は、複数の属性と、その複数の属性のそれぞれに属する複数の要素とを示す。例えば、複数の属性のそれぞれは、名前、身長、体重、仕事有無、趣味、世帯構造、有業率、運動履歴、飲酒、地域、医療保険、喫煙、就寝時間、血圧、空腹時血糖、尿糖、または中性脂肪である。要素は、数値、文字、文字列、または、有無を示すフラグなどであってもよい。
アウトソース端末102は、機関端末111~114のそれぞれからデータを取得して処理する端末装置である。
このようなデータ解析システム100では、まず、クライアント端末101が解析属性要求を機関端末111~114に対して送信する。解析属性要求は、照合属性と必要属性とを示す。照合属性は例えば「名前」である。
このような解析属性要求を受け付けた各機関の機関端末111~114のそれぞれは、自らが保持するデータベースに示される複数の属性から、解析属性要求によって示される照合属性(例えば「名前」)を選択する。そして、機関端末111~114のそれぞれは、その照合属性に属する要素を用いて後述する変換データを生成し、その変換データをアウトソース端末102に送信する。具体的には、機関端末111は、属性「名前」に属する要素「Alice」を用いて変換データを生成する。
アウトソース端末102は、各機関の機関端末111~114のそれぞれから変換データを取得し、それらの変換データから統合変換データを生成する。そして、アウトソース端末102は、その生成された統合変換データを機関端末111~114のそれぞれに送信する。
機関端末111~114のそれぞれは、アウトソース端末102から統合変換データを取得すると、その統合変換データと、自らが保持するデータベースにおける照合属性に属する各要素とを照合する。機関端末111~114のそれぞれは、その照合によって、データベースS1~S4のそれぞれの照合属性に共通に属している要素を共通要素として見つけ出す。例えば、機関端末111~114のそれぞれは、データベースS1~S4のそれぞれの照合属性「名前」に共通に属している要素「Alice」を共通要素として見つけ出す。
そして、機関端末111~114のそれぞれは、自らが保持するデータベースに示される複数の属性から、上述の解析属性要求によって示される必要属性を選択する。具体的には、機関端末111は、属性「体重」を必要属性として選択する。機関端末112は、属性「飲酒」を必要属性として選択する。機関端末113は、属性「喫煙」を必要属性として選択する。機関端末114は、属性「血圧」を必要属性として選択する。
次に、機関端末111~114のそれぞれは、自らが保持するデータベースの必要属性に属する複数の要素のうち、上述の照合属性に属する共通要素に関連付けられた要素を出力要素として選択する。そして、機関端末111~114のそれぞれは、その共通要素と出力要素とを解析結果としてクライアント端末101に送信する。
図2は、データ解析システム100におけるクライアント端末101、アウトソース端末102および機関端末111のそれぞれの処理を示す図である。なお、図2では、機関端末111の処理を示すが、機関端末112~114のそれぞれも機関端末111と同様の処理を行う。
本実施の形態におけるデータ解析システム100では、第0フェーズ~第5フェーズまでの6つのフェーズにおいて処理が行われる。
第0フェーズは、初期設定フェーズであって、このフェーズでは、機関端末111が、クライアント端末101およびアウトソース端末102との間で暗号通信を行うための初期設定を行う。
第1フェーズは、解析属性入力フェーズである。このフェーズでは、クライアント端末101が、例えば依頼者による操作に基づいて、照合属性および必要属性を取得する。そして、クライアント端末101は、その照合属性および必要属性を示す解析属性要求を機関端末111~114のそれぞれに送信する。
第2フェーズは、変換データ生成フェーズである。このフェーズでは、機関端末111が、上述の変換データを生成してアウトソース端末102に送信する。
第3フェーズは、変換データ統合フェーズである。このフェーズでは、アウトソース端末102が、機関端末111~114のそれぞれから取得した変換データを統合することによって、統合変換データを生成する。また、このフェーズでは、アウトソース端末102が、生成された統合変換データを機関端末111~114のそれぞれに送信する。
第4フェーズは、解析結果出力フェーズである。このフェーズでは、機関端末111が、自らが保持しているデータベースS1を、統合変換データを用いて照合することによって、上述の共通要素を解析結果の一部として出力する。
第5フェーズは、必要属性出力フェーズである。このフェーズでは、機関端末111が、自らが保持しているデータベースS1において必要属性に属する複数の要素のうち、共通要素に関連付けられている要素を、出力要素として選択し、共通要素と出力要素とを解析結果としてクライアント端末101に送信する。
図3は、データ解析システム100の処理動作を示すフローチャートである。なお、この図3のフローチャートにおいて、iは、n(nは2以上の整数)個の機関(または機関端末)のうちの何れか1つを識別するための識別子である。図1または図2の例では、iによって、4個の機関1~4(または機関端末111~114)のうちの何れか1つが識別される。
まず、初期設定フェーズ(ステップS101)では、機関端末iは、xi∈Zqに対して、yi=gxi∈Zqを算出する。yiは、機関端末i以外の他の各機関端末に、機関端末iの公開鍵として公開される。xiは、機関端末iの秘密鍵である。そして、機関端末iは、y=y1×・・・×ynを計算する。yは、n個の機関端末の公開鍵である。なお、秘密鍵x=Σxiは、何れの機関端末にも知られていない。
次に、解析属性入力フェーズ(ステップS102)では、クライアント端末101は、各機関端末に解析属性要求を送信することにより、各機関端末に照合属性および必要属性を通知する。また、この解析属性入力フェーズにおいて、各機関端末は、クライアント端末101から照合属性および必要属性の通知を受けると、自らが保持するデータベースから、その通知された照合属性に属する複数の要素のみを取り出す。なお、機関端末iのデータベースにおいて、照合属性に属する複数の要素からなる集合は、Si={v1,・・・,vwi}として表される。v1,・・・,vwiのそれぞれは、要素、すなわち集合の元であって、データ数(要素数)であるwiは、wi=|Si|として示される。
次に、変換データ生成フェーズ(ステップS103)において、機関端末iは、変換データを生成する。すなわち、機関端末iは、照合属性の集合Si={v1,・・・,vwi}の全ての元に対してブルームフィルタを適用することによって、その元をBF値に変換する。BF値は、m(mは1以上の整数)個の2値(0または1)からなる配列のデータである。言い換えれば、機関端末iは、照合属性の集合Siの元を、BF(Si)=[BFi(0),・・・,BFi(m-1)]に変換する。BFi(0),・・・,BFi(m-1)のそれぞれは、配列の要素であって、0または1の2値である。なお、本実施の形態では、BF値を、m個の2値からなる配列として扱うが、2値の代わりに多値を用いてもよい。つまり、BF値は、m個の整数値からなる配列であってもよい。
そして、機関端末iは、上記配列の各要素から1を減算することによって、BF(Si)-1=[BFi[0]-1,・・・,BFi[m-1]-1]の配列を得る。なお、この配列は、m個の0または-1の要素からなる。さらに、機関端末iは、n個の機関端末の公開鍵yを用いて、そのBF(Si)-1=[BFi[0]-1,・・・,BFi[m-1]-1]の配列を、その配列に含まれる要素ごとに暗号化する。なお、このときの暗号化には、準同型暗号、例えばべき乗ElGamal暗号が用いられる。べき乗ElGamal暗号では、mの代わりにmのべき乗、すなわちgmを暗号化する。この暗号化によって、機関端末iは、[E(BFi[0]-1),・・・,E(BFi[m-1]-1)]、つまりE(BF(Si)-1)を生成する。そして、機関端末iは、そのE(BF(Si)-1)を変換データとしてアウトソース端末102に送信する。
次に、変換データ統合フェーズ(ステップS104)において、アウトソース端末102は、n個の機関端末のそれぞれから変換データであるE(BF(Si)-1)を取得すると、それらのE(BF(Si)-1)を統合する。すなわち、アウトソース端末102は、n個のE(BF(Si)-1)に対する乗算を行う。その結果、アウトソース端末102は、E(BF(S1)-1)×・・・×E(BF(Sn)-1)によって、統合されたBF値の暗号化データであるE(IBU(∪Si)-n)=[E(ΣBFi[0]-n),・・・,E(ΣBFi[m-1]-n)]を算出する。さらに、アウトソース端末102は、その暗号化データを、r=[r0,・・・,rm-1]∈Zq
mでランダマイズする。その結果、アウトソース端末102は、[E(ΣBFi[0]-n)r0,・・・,E(ΣBFi[m-1]-n)rm-1]をE(r(IBU(∪Si)-n))として算出する。そして、アウトソース端末102は、E(r(IBU(∪Si)-n))を統合変換データとしてn個の機関端末に送信する。
次に、解析結果出力フェーズ(ステップS105)において、機関端末iは、アウトソース端末102から統合変換データであるE(r(IBU(∪Si)-n))を取得すると、そのE(r(IBU(∪Si)-n))を復号する。つまり、全ての機関端末iのそれぞれは、自らの秘密鍵である機関端末iの秘密鍵xiを用いて、全ての機関端末iとの共同でE(r(IBU(∪Si)-n))を復号することによって、r(IBU(∪Si)-n)=[(ΣBFi[0]-n)r0,・・・,(ΣBFi[m-1]-n)rm-1]を取得する。そして、機関端末iは、照合属性の集合Siに含まれるwi個の各元に対してブルームフィルタを適用した結果と、取得したr(IBU(∪Si)-n)=[(ΣBFi[0]-n)r0,・・・,(ΣBFi[m-1]-n)rm-1]の配列とを照合することにより、照合属性の集合Siの中にその元がn個の機関端末の共通要素(∩Si)であるか否かを決定する。
なお、照合属性の集合Siの各元のBF(Si)は、上述のように0または1のm個の要素からなる配列である。また、r(IBU(∪Si)-n)=[(ΣBFi[0]-n)r0,・・・,(ΣBFi[m-1]-n)rm-1]は、0の要素を含むm個の要素からなる配列である。n個の機関端末から、n個の機関端末で共通の元に対応する変換データがアウトソース端末102に送信された場合、その共通の元のBF(Si)に含まれる1の要素は、r(IBU(∪Si)-n)では0の要素として含まれている。つまり、共通の元の(BF(Si)-1)に含まれる0の要素は、変換データの統合およびランダマイズなどが行われても、0の要素として存在する。例えば、n個の機関端末で共通の元のBF(Si)が(1,0,1,1,・・・0,1)の配列である場合、r(IBU(∪Si)-n)は、(0,a,0,0,・・・b,0)の配列となる(aおよびbは任意の値)。したがって、機関端末iは、自らが保持する集合Siに含まれる複数の元のBF(Si)のうち、r(IBU(∪Si)-n)の0の要素と同じ位置に1の要素が配置されているBF(Si)に対応するSiの元を、共通要素として見つけ出す。
なお、上述の変換データ生成フェーズ、変換データ統合フェーズ、および解析結果出力フェーズのそれぞれの処理は、集合Siの各元に対して実行される。つまり、これらのフェーズでは、n個の機関端末のそれぞれが有する集合Si={v1,・・・,vwi}の各元に対する処理を順次実行した結果を送信する。
次に、必要属性出力フェーズ(ステップS106)において、機関端末iは、自ら保持しているデータベースにおいて必要属性に属する複数の要素のうち、共通要素(∩Si)に関連付けられている要素を出力要素として、そのデータベースから取り出す。そして、機関端末iは、その共通要素および出力要素を暗号化し、その暗号化された共通要素および出力要素を解析結果としてクライアント端末101に送信する。
このように、本実施の形態では、アウトソース端末102が統合変換データを生成するため、データの解析に要する時間を短縮することができる。また、n個の機関端末のそれぞれからアウトソース端末102に送信される変換データは暗号化されているため、アウトソース端末102では、その変換データを取得しても、その変換データを要素に復号することができない。しかし、その変換データを復号することができなくても、共通要素を特定するために必要とされる統合変換データがアウトソース端末102によって生成される。したがって、本実施の形態におけるデータ解析方法では、アウトソース端末102は、データを秘匿するための信頼できる機関の端末装置である必要がなく、実用性を向上することができる。
また、本実施の形態では、アウトソース端末102からn個の機関端末のそれぞれに送信される統合変換データは、複数の変換データが統合されたデータである。したがって、n個の機関端末のそれぞれは、アウトソース端末102から統合変換データを取得してさらに復号しても、他の機関端末が共通要素以外にどのような要素を保持していたかを知ることができない。そのため、n個の機関端末のそれぞれが保持するデータベースの内容を、他の機関端末にもアウトソース端末102にも秘匿しておくことができる。その結果、例えばプライバシーを保護することができる。
図4は、データ解析システム100による解析の一例を示す図である。
例えば、クライアント端末101は、依頼者による操作に基づいて、(体重,血圧)を(照合属性,必要属性)として受け付ける。そして、クライアント端末101は、その(体重,血圧)を示す解析属性要求を機関端末111~113に送信する。機関端末111~113は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末111は、自らが保持する検診データであるデータベースS1に含まれる(体重,血圧)=(90,160)を解析結果としてクライアント端末101に暗号化して送信する。機関端末112は、自らが保持する検診データであるデータベースS2に含まれる(体重,血圧)=(90,160)を解析結果としてクライアント端末101に暗号化して送信する。機関端末113は、自らが保持する検診データであるデータベースS3に含まれる(体重,血圧)=(90,160)、(90,120)および(90,110)を解析結果としてクライアント端末101に暗号化して送信する。
クライアント端末101は、機関端末111~113から送信された解析結果を取得する。つまり、クライアント端末101は、機関端末111~113のデータベースS1~S3から、これらのデータベースS1~S3のそれぞれで体重に属する共通の属性値(共通要素)である「90」に関連付けられた、血圧の属性値(出力要素)を取得する。そして、クライアント端末101は、体重「90」と、その体重「90」に関連付けられている血圧の属性値「160」、「160」、「160」、「120」および「110」を出力または表示する。
このように、本実施の形態におけるデータ解析システム100では、クライアント端末101を操作する依頼者は、各機関(機関端末)の検診データが秘匿された状態で、照合属性に紐づく収集したい属性値を求めることができる。
図5は、データ解析システム100による解析の他の例を示す図である。
図4に示す例と同様、クライアント端末101は、依頼者による操作に基づいて、(体重,血圧)を(照合属性,必要属性)として受け付ける。この照合属性は、解析の条件とされる属性であり、必要属性は、解析の対象とされる属性である。
そして、クライアント端末101は、図4に示す例と同様、その(体重,血圧)を示す解析属性要求を機関端末111~113に送信する。機関端末111は、自らが保持するデータベースS1に含まれる(体重,血圧)=(90,160)を解析結果としてクライアント端末101に暗号化して送信する。機関端末112は、自らが保持するデータベースS2に含まれる(体重,血圧)=(90,160)を解析結果としてクライアント端末101に暗号化して送信する。機関端末113は、自らが保持するデータベースS3に含まれる(体重,血圧)=(90,160)、(90,120)および(90,110)を解析結果としてクライアント端末101に暗号化して送信する。
クライアント端末101は、機関端末111~113から送信された解析結果を取得する。つまり、クライアント端末101は、機関端末111~113のデータベースS1~S3から、これらのデータベースS1~S3のそれぞれで体重に属する共通の属性値(共通要素)である「90」に関連付けられた、血圧の属性値(出力要素)を取得する。そして、クライアント端末101は、体重「90」に関連付けられている血圧の属性値の集計結果を出力または表示する。例えば、クライアント端末101は、機関端末111~113のそれぞれの機関において、体重「90」の人が5人いることと、体重「90」であって且つ血圧「160」の人が3人いることを表示する。
このように、本実施の形態におけるデータ解析システム100では、クライアント端末101を操作する依頼者は、各機関(機関端末)の検診データが秘匿された状態で、照合属性に関連する統計値を求めることができる。
図6は、データ解析システム100による解析のさらに他の例を示す図である。
例えば、機関端末111は、糖尿病の診療を行う機関である病院Aにおいて取得された情報をデータベースS1として保持する。データベースS1における、ID、尿糖、血糖およびHbA1cなどはそれぞれ糖尿病患者の属性である。このようなデータベースS1は、それらの属性に属する複数の要素を示す。機関端末112は、心筋梗塞の診療を行う機関である病院Bにおいて取得された情報をデータベースS2として保持する。データベースS2における、ID、心電図、胸部CTおよび胸部MRIなどはそれぞれ心筋梗塞患者の属性である。このようなデータベースS2は、それらの属性に属する複数の要素を示す。
この場合、クライアント端末101は、例えば依頼者による操作に基づいて、病院Aに対する(ID,(尿糖,血糖))を(照合属性,必要属性)として受け付け、病院Bに対する(ID,心臓カテーテル)を(照合属性,必要属性)として受け付ける。そして、クライアント端末101は、(ID,(尿糖,血糖))を示す解析属性要求を病院Aの機関端末111に送信し、(ID,心臓カテーテル)を示す解析属性要求を病院Bの機関端末112に送信する。
機関端末111および112は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末111は、自らが保持するデータベースS1に含まれる(ID,尿糖,血糖)=(John,+,110)および(Dave,+,160)を解析結果としてクライアント端末101に暗号化して送信する。機関端末112は、自らが保持するデータベースS2に含まれる(ID,心臓カテーテル)=(John,ISR)および(Dave,ISR)を解析結果としてクライアント端末101に暗号化して送信する。
クライアント端末101は、機関端末111および112から送信された解析結果を取得する。つまり、クライアント端末101は、データベースS1およびS2から、これらのデータベースS1およびS2のそれぞれでIDに属する共通の要素である「John」に関連付けられている、尿糖、血糖および心臓カテーテルの要素を出力要素として取得する。さらに、クライアント端末101は、データベースS1およびS2から、これらのデータベースS1およびS2のそれぞれでIDに属する共通の要素である「Dave」に関連付けられている、尿糖、血糖および心臓カテーテルの要素を出力要素として取得する。そして、クライアント端末101は、ID「John」に関連付けられている尿糖、血糖および心臓カテーテルの出力要素を統合し、ID「Dave」に関連付けられている尿糖、血糖および心臓カテーテルの出力要素を統合する。ここで、クライアント端末101は、その統合において、ID「John」およびID「Dave」を削除する。これにより、データの秘匿性をさらに高めることができる。
また、上述の例では、機関端末111は、(ID,尿糖,血糖)=(John,+,110)および(Dave,+,160)を暗号化して送信し、機関端末112は、(ID,心臓カテーテル)=(John,ISR)および(Dave,ISR)を暗号化して送信した。しかし、機関端末111および112のそれぞれは、IDに属する要素(例えば「John」または「Dave」)を送信せず、そのIDに属する要素を照合子に変換し、その照合子を暗号化して送信してもよい。
図7は、データ解析システム100による解析のさらに他の例を示す図である。
例えば、機関端末111は、機関である病院Aにおける検査によって記録された情報をデータベースS1として保持する。機関端末112は、機関である病院Bにおける検査によって記録された情報をデータベースS2として保持する。機関端末113は、機関である病院Cにおける検査によって記録された情報をデータベースS3として保持する。データベースS1~S3はそれぞれ、検査項目の属性として、身長、体重および血圧などを示し、かつ、それらの属性に属する複数の要素を示す。
この場合、クライアント端末101は、例えば依頼者による操作に基づいて、病院A~Cに対する(体重,(身長,血圧,血液,視力,LDH))を(照合属性,必要属性)として受け付ける。そして、クライアント端末101は、(体重,(身長,血圧,血液,視力,LDH))を示す解析属性要求を病院A~Cの機関端末111~113に送信する。
機関端末111、112および113は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末111は、自らが保持するデータベースS1に含まれる(体重,(身長,血圧,血液,視力,LDH))=(90,(159,155,A,0.7,150))を解析結果としてクライアント端末101に暗号化して送信する。機関端末112は、自らが保持するデータベースS2に含まれる(体重,(身長,血圧,血液,視力,LDH))=(90,(155,160,O,0.7,227))を解析結果としてクライアント端末101に暗号化して送信する。機関端末113は、自らが保持するデータベースS3に含まれる(体重,(身長,血圧,血液,視力,LDH))=(90,(160,163,AB,1.0,264))を解析結果としてクライアント端末101に暗号化して送信する。
クライアント端末101は、機関端末111、112および113から送信された解析結果を取得する。つまり、クライアント端末101は、データベースS1、S2およびS3のそれぞれから、これらのデータベースS1、S2およびS3のそれぞれで体重に属する共通の要素である「90」に関連付けられている、身長、血圧、血液、視力、およびLDHの要素を出力要素として取得する。これにより、クライアント端末101は、病院A~Cのそれぞれで検査を受けた体重「90」の人の身長、血圧、血液、視力、およびLDHのそれぞれの数値など取得することができる。その結果、複数の機関(上述の例では病院)のデータからの収集を行うことで、より多いデータを収集できる。すなわち、複数の機関のデータの照合結果を活用することができるため、収集されるデータを増やすことができ、良い解析結果を得ることができる。例えば肥満の患者の血圧は高いという解析結果を受けることができる。
このように、本実施の形態におけるデータ解析システム100では、クライアント端末101を操作する依頼者は、病院A~Cの検診データが互いに秘匿された状態で、体重「90」の患者の検診記録を統合することができる。つまり、各病院の検診記録の統合分析が可能になり、体重「90」の患者の検診記録を各病院でも共有することができる。さらに、体重「90」以外の患者の検診記録を秘匿にしておくことができる。
図8は、データ解析システム100による解析のさらに他の例を示す図である。
例えば、機関端末111は、機関である学校Aで発生した事故の情報をデータベースS1として保持する。機関端末112は、機関である学校Bで発生した事故の情報をデータベースS2として保持する。機関端末113は、機関である学校Cで発生した事故の情報をデータベースS3として保持する。データベースS1~S3はそれぞれ、事故情報の属性として、名前、症状、場所および入院(入院の有無)などを示し、かつ、それらの属性に属する複数の要素を示す。
この場合、クライアント端末101は、例えば依頼者による操作に基づいて、学校A~Cに対する(入院,場所)を(照合属性,必要属性)として受け付ける。そして、クライアント端末101は、その(入院,場所)を示す解析属性要求を学校A~Cの機関端末111~113に送信する。
機関端末111、112および113は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、機関端末111は、自らが保持するデータベースS1に含まれる(入院,場所)=(1,ブランコ)を解析結果としてクライアント端末101に暗号化して送信する。機関端末112は、自らが保持するデータベースS2に含まれる(入院,場所)=(1,ブランコ)を解析結果としてクライアント端末101に暗号化して送信する。機関端末113は、自らが保持するデータベースS3に含まれる(入院,場所)=(1,ブランコ)、(1,鉄棒)および(1,スベリ台)を解析結果としてクライアント端末101に暗号化して送信する。
クライアント端末101は、機関端末111、112および113から送信された解析結果を取得する。つまり、クライアント端末101は、データベースS1、S2およびS3のそれぞれから、これらのデータベースS1、S2およびS3のそれぞれで入院に属する共通の要素である「1」に関連付けられている、場所の要素を出力要素として取得する。その結果、複数の機関(上述の例では学校)のデータからの収集を行うことで、より多いデータを収集できる。すなわち、複数の機関のデータの照合結果を活用することができるため、収集されるデータを増やすことができ、良い解析結果を得ることができる。つまり、上述の例の場合、クライアント端末101は、学校A~Cのそれぞれで、入院事故が発生した場所がどこであったかを把握することができる。例えば、ブランコでは入院事故が多いことを把握することができる。
このように、本実施の形態におけるデータ解析システム100では、学校A~Cのそれぞれの機関と個人とのプライバシーを確保しながら、学校A~Cのデータを収集することで、事故の原因究明の強化を図ることができる。
図9は、データ解析システム100による解析のさらに他の例を示す図である。
例えば、機関端末111は、機関である小学校における検診によって記録された情報をデータベースS1として保持する。機関端末112は、機関である大学における検診によって記録された情報をデータベースS2として保持する。機関端末113は、機関である企業における検診によって記録された情報をデータベースS3として保持する。データベースS1~S3はそれぞれ共に、検診項目の属性として、名前、性別、身長および体重などを示す。また、データベースS1は、さらに、検査項目の属性としてBMIを示し、データベースS2は、さらに、検査項目の属性としてBP(血圧)を示し、データベースS3は、さらに、検査項目の属性としてBP、FBS(空腹時血糖)およびPBG(食後血糖)を示す。また、データベースS1~S1は、それらの属性に属する複数の要素を示す。
この場合、クライアント端末101は、例えば依頼者による操作に基づいて、小学校に対する((名前,性別),(身長,体重))を(照合属性,必要属性)として受け付ける。そして、クライアント端末101は、その((名前,性別),(身長,体重))を示す解析属性要求を小学校の機関端末111に送信する。さらに、クライアント端末101は、例えば依頼者による操作に基づいて、大学に対する((名前,性別),(身長,体重,BP))を(照合属性,必要属性)として受け付ける。そして、クライアント端末101は、その((名前,性別),(身長,体重,BP))を示す解析属性要求を大学の機関端末112に送信する。さらに、クライアント端末101は、例えば依頼者による操作に基づいて、企業に対する((名前,性別),(身長,体重,BP,FBS,PBG))を(照合属性,必要属性)として受け付ける。そして、クライアント端末101は、その((名前,性別),(身長,体重,BP,FBS,PBG))を示す解析属性要求を企業の機関端末113に送信する。
機関端末111、112および113は、上述の初期設定フェーズ、変換データ生成フェーズ、解析結果出力フェーズ、および必要属性出力フェーズのそれぞれの処理を行う。その結果、小学校の機関端末111は、自らが保持するデータベースS1に含まれる((名前,性別),(身長,体重))=((Dave,M),(120,40))および((Cate,F),(118,21))を解析結果としてクライアント端末101に暗号化して送信する。
大学の機関端末112は、自らが保持するデータベースS2に含まれる((名前,性別),(身長,体重,BP))=((Dave,M),(179,68,130/83))および((Cate,F),(160,48,122/80))を解析結果としてクライアント端末101に暗号化して送信する。
企業の機関端末113は、自らが保持するデータベースS3に含まれる((名前,性別),(身長,体重,BP,FBS,PBG))=((Dave,M),(180,100,145/95,130,210))および((Cate,F),(160,50,125/85,100,140))を解析結果としてクライアント端末101に暗号化して送信する。
クライアント端末101は、機関端末111、112および113から送信された解析結果を取得する。つまり、クライアント端末101は、データベースS1、S2およびS3から、これらのデータベースS1、S2およびS3のそれぞれで名前および性別に属する共通の要素である「Dave,M」に関連付けられている、身長、体重、BP、FBS、およびPBGの要素を出力要素として取得する。さらに、クライアント端末101は、データベースS1、S2およびS3から、これらのデータベースS1、S2およびS3のそれぞれで名前および性別に属する共通の要素である「Cate,G」に関連付けられている、身長、体重、BP、FBS、およびPBGの要素を出力要素として取得する。その結果、クライアント端末101は、小学校、大学および企業のそれぞれで検診を受けた同一人物の身長および体重などの数値を取得することができる。つまり、クライアント端末101は、人の成長過程における解析結果を取得することができる。
このように、本実施の形態におけるデータ解析システム100では、小学校、大学および企業の各機関のデータが秘匿された状態で、それらの機関に跨る同一人物に関する時系列のデータを統合することができる。
なお、上述の例では、機関端末111~113のそれぞれは、名前および性別のそれぞれの要素(「Dave」または「Cate」など)を暗号化して送信したが、図6に示す例と同様に、その要素を照合子に変換し、その照合子を暗号化して送信してもよい。
(まとめ)
以上のように、本実施の形態におけるデータ解析システム100によるデータ解析方法では、解析属性入力フェーズにおいて、1つ以上の属性のそれぞれに対して複数の要素を示すデータベースS1~S4を保持する機関端末111~114に対して、クライアント端末101が照合属性についての解析を要求する。次に、変換データ生成フェーズにおいて、クライアント端末101からの要求に応じて、機関端末111~114のそれぞれが、その機関端末のデータベースのうち、照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データをアウトソース端末102に送信する。次に、変換データ統合フェーズにおいて、アウトソース端末102が、機関端末111~114から送信された複数の変換データを統合することによって統合変換データを生成し、その統合変換データを機関端末111~114のそれぞれに送信する。そして、解析結果出力フェーズにおいて、機関端末111~114のそれぞれが、アウトソース端末102から送信された統合変換データと、その機関端末のデータベースのうちの、照合属性に属する複数の要素のそれぞれとを照合することによって、機関端末111~114において共通に保持されている、照合属性に属する要素を共通要素として特定する。
以上のように、本実施の形態におけるデータ解析システム100によるデータ解析方法では、解析属性入力フェーズにおいて、1つ以上の属性のそれぞれに対して複数の要素を示すデータベースS1~S4を保持する機関端末111~114に対して、クライアント端末101が照合属性についての解析を要求する。次に、変換データ生成フェーズにおいて、クライアント端末101からの要求に応じて、機関端末111~114のそれぞれが、その機関端末のデータベースのうち、照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データをアウトソース端末102に送信する。次に、変換データ統合フェーズにおいて、アウトソース端末102が、機関端末111~114から送信された複数の変換データを統合することによって統合変換データを生成し、その統合変換データを機関端末111~114のそれぞれに送信する。そして、解析結果出力フェーズにおいて、機関端末111~114のそれぞれが、アウトソース端末102から送信された統合変換データと、その機関端末のデータベースのうちの、照合属性に属する複数の要素のそれぞれとを照合することによって、機関端末111~114において共通に保持されている、照合属性に属する要素を共通要素として特定する。
これにより、機関端末111~114のそれぞれから送信された変換データは、アウトソース端末102によって統合され、その統合された複数の変換データからなる統合変換データが、その機関端末111~114のそれぞれに送信される。つまり、照合属性についての解析、すなわち照合属性のマッチングに要する計算の全てを機関端末111~114のそれぞれに負わせることなく、各機関端末111~114の計算の一部をアウトソース端末102に集約することができる。その結果、解析の対象とされる機関端末の数、すなわち機関の数が増えても、データの解析に要する全体的な計算量を抑えることができ、データの解析に要する時間を短縮することができる。つまり、従来では、データ解析の負荷が機関数に依存していたが、その依存を抑えることができる。また、データが1つの機関で収集されることを抑えることができ、機関数に依存する計算をアウトソース端末102に依頼することができる。
また、機関端末111~114のそれぞれからアウトソース端末102に送信される変換データは暗号化されているため、アウトソース端末102では、その変換データを取得しても、その変換データを要素に復号することができない。しかし、その変換データを復号することができなくても、共通要素を特定するために必要とされる統合変換データがアウトソース端末102によって生成される。したがって、本発明に係るデータ解析方法では、アウトソース端末102は、データを秘匿するための信頼できる機関の端末装置である必要がなく、実用性を向上することができる。
また、アウトソース端末102から機関端末111~114のそれぞれに送信される統合変換データは、複数の変換データが統合されたデータである。したがって、機関端末111~114のそれぞれは、アウトソース端末102から統合変換データを取得してさらに復号しても、他の機関端末が共通要素以外にどのような要素を保持していたかを知ることができない。そのため、機関端末111~114のそれぞれが保持するデータベースS1~S4の内容を、他の機関端末にもアウトソース端末102にも秘匿しておくことができる。その結果、例えばプライバシーを保護することができる。
また、本実施の形態では、機関端末111~114のそれぞれは、照合属性に属する要素に対して変換処理を行うときには、要素に対してブルームフィルタを適用することによって、その要素を少なくとも1つの整数値からなるBF値に変換し、そのBF値を暗号化する。
これにより、要素がデータの大きさとは独立なBF値に変換されるため、統合変換データと、データベースのうちの照合属性に属する複数の要素のそれぞれとの照合にかかる負荷を軽減することができ、処理速度を向上することができる。
また、本実施の形態では、クライアント端末101は、さらに、機関端末111~114のそれぞれに対して、必要属性についての解析を要求する。機関端末111~114のそれぞれは、さらに、その機関端末が保持するデータベースによって示される必要属性に属する複数の要素のうち、共通要素に関連付けられている要素を、出力要素として選択し、共通要素および出力要素を解析結果としてクライアント端末101に送信する。
従来のデータ解析方法では、各機関で保管されているデータは、1つの属性に属する複数の要素の集合として取り扱われている。しかしながら、一般に、データは複数の属性を持つため、従来のデータ解析方法では、その複数の属性を持つデータを取り扱うことができず、現実の利用には適さない。一方、本実施の形態では、上述のように、照合属性だけでなく必要属性についての解析も行われる。これにより、一般的な複数の属性を持つデータ(すなわちデータベース)を取り扱うことができ、実用性をさらに向上することができる。
なお、本実施の形態では、必要属性についての解析の要求は、照合属性についての解析の要求とともに解析属性要求として行われる。しかし、必要属性についての解析の要求は、照合属性についての解析の要求の後に行われてもよい。
また、本実施の形態では、クライアント端末101は、さらに、機関端末111~114のそれぞれから送信された解析結果を取得し、複数の解析結果のそれぞれに含まれる出力要素を統合する。
これにより、機関端末111のそれぞれから送信された共通要素および出力要素がクライアント端末101に取得され、クライアント端末101によって、機関端末111~114のそれぞれの共通要素および出力要素が統合される。これにより、任意のデータベースの統合を、プライバシーを保護しつつ、機関数に依存せず、データベースの属性の数を規制することなくセキュアに実現することができる。
(その他の変形例)
上記実施の形態では、クライアント端末101は、機関端末111~114とは独立した端末装置であったが、機関端末111~114のうちの1つの機関端末であってもよい。この場合、クライアント端末101としての機関端末は、機関端末111~114のうちのそのクライアント端末101を除く残りの複数の機関端末に対して、照合属性についての解析を要求する。
上記実施の形態では、クライアント端末101は、機関端末111~114とは独立した端末装置であったが、機関端末111~114のうちの1つの機関端末であってもよい。この場合、クライアント端末101としての機関端末は、機関端末111~114のうちのそのクライアント端末101を除く残りの複数の機関端末に対して、照合属性についての解析を要求する。
また、上記実施の形態では、アウトソース端末102は、機関端末111~114のうちの1つの機関端末であってもよい。この場合、アウトソース端末102としての機関端末は、機関端末111~114のうちのそのアウトソース端末102を除く残りの複数の機関端末に対して、統合変換データを送信する。
また、上記実施の形態では、解析属性要求を受けたn個の機関端末のそれぞれは、n個の機関端末の全てにおいて共通に保持されている共通要素を特定した。しかし、解析属性要求を受けたn個の機関端末のそれぞれは、d(2≦d≦n-1)個の機関端末のみにおいて共通に保持されている共通要素を特定してもよい。
この場合、n個の機関端末のそれぞれは、図3の変換データ生成フェーズにおいて、BF(Si)=[BFi(0),・・・,BFi(m-1)]から、BF(Si)-1=[BFi[0]-1,・・・,BFi[m-1]-1]を算出することなく、BF(Si)を暗号化することによって、変換データを生成する。また、アウトソース端末102は、図3の変換データ統合フェーズにおいて、暗号化データをランダマイズすることなく統合変換データを生成する。そして、n個の機関端末のそれぞれは、図3の解析結果出力フェーズにおいて、照合属性の集合Siの各元のBF(Si)と、IBU(∪Si)=[(ΣBFi[0]),・・・,(ΣBFi[m-1])]とを照合することにより、照合属性の集合Siの中からd個の機関端末で共通の元である共通要素を見つけ出す。例えば、d個の機関端末で共通の元のBF(Si)が(1,0,1,1,・・・0,1)の配列である場合、IBU(∪Si)は、(d,a,d,d,・・・b,d)の配列となる(aおよびbは任意の値)。したがって、機関端末iは、自らが保持する集合Siに含まれる複数の元のBF(Si)のうち、1の要素がIBU(∪Si)の値dの要素と同じ位置に配置されているBF(Si)の元を、共通要素として見つけ出す。
(実施の形態2)
本実施の形態では、上記実施の形態1におけるデータ解析システムを利用したPDDI(Privacy-preserving Distributed Data Integration)システムについて、説明する。
本実施の形態では、上記実施の形態1におけるデータ解析システムを利用したPDDI(Privacy-preserving Distributed Data Integration)システムについて、説明する。
図10は、PDDIを説明するための図である。
PDDIステムは、情報漏洩を懸念することなく、複数機関が所有するデータ統合を実現する。PDDIにより以下の(1)~(3)を実現することができる。(1)プライバシーを保護しつつ、スモールデータをビッグデータに変換。(2)各機関の希少データを統合することで、プライバシーを保護した精度の高い解析。(3)各機関の持つ異なる属性を統合することで、プライバシーを保護した多角的な解析。
また、PDDIシステムには以下の(1)~(4)の特徴がある。(1)高機密性:各機関が許可したデータのみが許可された機関でのみ閲覧可能。(2)高汎用性:データ数・機関数に非依存。対象機関・突合項目・出力項目を自由に設定可能。(3)導入容易性:データ預託機関は不要。(4)高速性:PDDI計算機によりデータ秘匿性を保持しながら処理速度を向上。
図11は、システムモデルを説明するための図である。
データ保有機関は、データの提供と利用許可属性の設定を行う。PDDI計算機は、機関数依存の計算処理を代行する。また、PDDI計算機は、データを知ることはできない。クライアント(端末)は、突合した必要属性を入手する。なお、クライアントは、データ保有機関が兼ねることもある。また、情報は分散管理されていて、各機関から他機関へは送付されない。ここで、突合属性は、突合子として使う属性であり、必要属性は、突合後にクライアントへ送付する属性である。
図12は、システム動作と特徴を示す図である。
PDDI計算機へ渡されるのは暗号化不可逆データであるため、データ保有機関が所有する突合データは機関の外部へ出力されず完全に秘匿される。クライアントは各機関が公開を許可した属性のみを入手し、それ以外の情報は入手しない。全通信経路は暗号化されるため、許可された機関以外は解読できない。
図13は、PDDIシステムの導入概要を示す図である。
PDDIシステムは、非可逆圧縮したデータの暗号化により突合を行い、統合データを暗号化して利用者に送信することで、各機関が独立してデータを保管しながら、データ突合を行う。本システムでは、突合データは各機関から外部に出ない。統合データは、必要な機関を除く全外部に対して秘匿される。
計算機不要モデルでは、PDDI計算機の構築は不要で、研究所のクラウドが利用される。一方、計算機構築モデルでは、グループ毎にPDDI計算機を構築する。どちらのモデルにおいても突合データ及び統合データは完全に秘匿される。
図14は、第1の適用事例を示す図である。第1の適用事例は、機関の横断的な医療データの統合である。
複数の医療機関に通院する患者の医療データは、それぞれの医療機関において独立に管理されているが、同一患者のデータを突合して統合することで異なる病気の相互作用などをより多角的に解析することが可能となる。PDDIシステムでは,それぞれの医療機関が独立に所有する医療データに対して、氏名・生年月日等のプライバシー情報を外部へ出さずに,同一患者のデータを突合して統合することができる。
図15は、第2の適用事例を示す図である。第2の適用事例は、健診データの統合である。
個人の検診データを統合することで、幼少期の検査値が成人時の生活習慣病にどのように影響するかを解析することができる。これにより、生活習慣病などの保健指導を効果的に行なうことができる。PDDIシステムでは、学校や企業で独立に保管された検診データから、プライバシーを保護しつつ、同一人物の検診データを統合し、長期間の個人の検診データを構築できる。図15に示す例では、PDDIシステムは、図9に示す例と同様、個人の健診データを突合し、その個人にその健診データを返却するために、その個人の名前を出力している。これにより、個人に健診データを還元することができる。この場合には、必要属性に照合属性が含まれる。一方、この個人の健診データを例えば研究などに利用する場合には、PDDIシステムは、その個人の名前を削除する。
図16は、第3の適用事例を示す図である。第3の適用事例は、電動車いすの事故情報の統合である。
業界全体で各メーカーの製品事故情報などを統合できると、未然に製品の欠陥理由が解析されて、安全な製品開発が促進される。製品事故情報の統合は各メーカーのデータのプライバシーを保護する必要がある。PDDIシステムでは各メーカーのプライバシーを保護し、重篤な事故データの抽出と統合を実現する。
図17は、第4の適用事例を示す図である。第4の適用事例は、同じ病気の治療法の統合である。
特定の病名に対する治療歴を統合・解析し、効果的な治療法を研究することができる。PDDIシステムを利用することにより、病院名と氏名は秘匿される。
図18は、第5の適用事例を示す図である。第5の適用事例は、ガンと脳卒中の関連性調査である。
多くの患者は疾患毎に専門病院へ通院するため、異なる疾患同士の関連性を調査するためにはデータ統合が必要となる。PDDIシステムを利用することにより、個人情報を病院外へ出さずにデータ統合することができる。
図19は、一部の機関のみで行われる突合属性による統合を示す図である。
PDDIシステムでは、図16に示すように、「全ての機関で使われている突合属性」のみが統合可能である。しかし、図19に示すように、一部の機関のみで使われている属性を突合キーとしてもよい。つまり、図16に示す例では、全メーカーに死亡例がある場合に、PDDIシステムは、それらの死亡例のデータを出力する。一方、図19に示す例では、全てのメーカーに死亡例がなくても、PDDIシステムは、死亡例のデータを抽出して出力する。すなわち、抽出されるデータは共通集合ではない。
図20は、機関内で突合属性が重複するデータの統合を示す図である。
PDDIシステムでは、機関内で同一の突合属性を持つレコード同士は、データ統合でマージされる。しかし、上記のような場合も別レコードとみなして統合処理してもよい。なお、図20に示す例は、照合属性を利用したデータ抽出への応用例を示しているとも言える。
図21は、突合属性の逐次的拡張を示す図である。
PDDIシステムでは、突合属性は固定されており、指定した属性のAND結合として定義されている。しかし、突合の一意性が得られるまで突合属性の適用範囲を拡張する機能が追加されてもよい。つまり、属性「名前」だけで突合できない場合には、図21に示すように、PDDIシステムは、属性「名前」だけでなく属性「住所(例えば都市)」も突合属性に含めてもよい。
図22は、システム動作と特徴を示す図である。
PDDI計算機へ渡されるのは暗号化不可逆データであるため、データ保有機関が所有する突合データは機関の外部へ出力されず完全に秘匿される。また、各機関がクライアントへの公開を許可した属性データのみが統合されるため、必要以上のデータが機関から外へ出ることはない。全データは暗号化して送受信されるため、PDDIを利用する機関以外が通信を傍受することはできない。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の各端末などを実現するソフトウェアは、図3に示すフローチャートの各ステップをコンピュータに実行させるプログラムである。
また、上記各実施の形態における「統合」とは、複数のデータを正しく紐付けることを意味する。例えば、機関Aのデータベースに(John、癌データA)があり、機関Bのデータベースに(John、心筋梗塞データX)がある場合、(癌データA)と(心筋梗塞データX)とを紐付けることを「統合」という。なお、このようなデータの紐づけは、突合属性(すなわち照合属性)に属する共通要素を用いて行われる。例えば、上述の例では、突合属性「氏名」に属する共通要素「John」を用いて、データの紐づけが行われる。
また、本発明のデータ解析方法は、データベースの属性を突合属性(すなわち照合属性)、必要属性、およびそれ以外の属性に分類し、データ所有者のプライバシーのみならず、そのデータを管理する機関のプライバシーの保護も実現する方式である。具体的には、本発明のデータ解析方法では、各機関のもつデータベースの突合を突合属性に対して行い、各機関の突合属性を持つデータの必要属性を統合する。ここで、本発明のデータ解析方法によってデータ解析を行うシステムは、例えば、突合属性「病名」に属するデータ「認知症」で、各機関のデータベースの突合を行い、突合したデータの各機関のもつ必要属性「年齢、飲酒、喫煙」に属するデータを統合する。このとき、システムは、統合したデータが誰のデータであるかのみならず、どの機関からのデータであるかを秘匿する。さらに、必要属性には、2機関以上に含まれるなどの、実際の出力値を計算するための条件を付加することができる。
以上、一つまたは複数の態様に係るデータ解析方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれてもよい。
本発明にかかるデータ解析方法は、データの解析に要する時間を短縮し、信頼できる機関が不要で、実用性を向上することができるという効果を奏し、例えば、病院、学校、または企業などの各機関におけるデータベースを解析するシステムなどに有用である。
100 データ解析システム
101 クライアント端末
102 アウトソース端末
111~114 機関端末
101 クライアント端末
102 アウトソース端末
111~114 機関端末
Claims (9)
- 1つ以上の属性のそれぞれに対して複数の要素を示すデータベースを保持する複数の機関端末に対して、クライアント端末が照合属性についての解析を要求し、
前記クライアント端末からの要求に応じて、前記複数の機関端末のそれぞれが、当該機関端末の前記データベースのうち、前記照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データをアウトソース端末に送信し、
前記アウトソース端末が、前記複数の機関端末から送信された複数の前記変換データを統合することによって統合変換データを生成し、前記統合変換データを前記複数の機関端末のそれぞれに送信し、
前記複数の機関端末のそれぞれが、前記アウトソース端末から送信された前記統合変換データと、当該機関端末の前記データベースのうちの、前記照合属性に属する複数の要素のそれぞれとを照合することによって、前記複数の機関端末のうちの少なくとも2以上の機関端末において共通に保持されている、前記照合属性に属する要素を共通要素として特定する
データ解析方法。 - 前記クライアント端末は、前記複数の機関端末のうちの1つの機関端末であって、前記複数の機関端末のうちの当該クライアント端末を除く残りの複数の機関端末に対して、前記照合属性についての解析を要求する
請求項1に記載のデータ解析方法。 - 前記アウトソース端末は、前記複数の機関端末のうちの1つの機関端末であって、前記複数の機関端末のうちの当該アウトソース端末を除く残りの複数の機関端末に対して、前記統合変換データを送信する
請求項1または2に記載のデータ解析方法。 - 前記複数の機関端末のそれぞれは、
前記照合属性に属する要素に対して前記変換処理を行うときには、
前記要素に対してブルームフィルタを適用することによって、前記要素を少なくとも1つの整数値からなるBF値に変換し、前記BF値を暗号化する
請求項1~3の何れか1項に記載のデータ解析方法。 - 前記クライアント端末は、さらに、
前記複数の機関端末のそれぞれに対して、必要属性についての解析を要求し、
前記複数の機関端末のそれぞれは、さらに、
当該機関端末が保持する前記データベースによって示される前記必要属性に属する複数の要素のうち、前記共通要素に関連付けられている要素を、出力要素として選択し、前記共通要素および出力要素を解析結果として前記クライアント端末に送信する
請求項1~4の何れか1項に記載のデータ解析方法。 - 前記クライアント端末は、さらに、
前記複数の機関端末のそれぞれから送信された前記解析結果を取得し、複数の前記解析結果のそれぞれに含まれる出力要素を統合する
請求項5に記載のデータ解析方法。 - 前記クライアント端末は、
前記必要属性についての解析の要求では、
前記複数の機関端末のそれぞれに対して、前記解析結果を得るための条件を付加する
請求項5に記載のデータ解析方法。 - 前記クライアント端末は、
前記必要属性についての解析の要求では、
前記複数の機関端末のうちの2つ以上の機関端末に前記必要属性が含まれていることを、前記条件として付加する
請求項7に記載のデータ解析方法。 - 1つ以上の属性のそれぞれについて複数の要素を示すデータベースを保持する複数の機関端末と、
前記複数の機関端末に対して、照合属性についての解析を要求するクライアント端末と、
アウトソース端末とを備え、
前記複数の機関端末のそれぞれは、
前記クライアント端末からの要求に応じて、当該機関端末の前記データベースのうち、前記照合属性に属する要素に対して暗号化を含む変換処理を行い、前記変換処理によって得られた変換データを前記アウトソース端末に送信し、
前記アウトソース端末は、
前記複数の機関から送信された複数の前記変換データを統合することによって統合変換データを生成し、前記統合変換データを前記複数の機関端末のそれぞれに送信し、
前記複数の機関端末のそれぞれは、
前記アウトソース端末から送信された前記統合変換データと、当該機関端末の前記データベースのうちの、前記照合属性に属する複数の要素のそれぞれとを照合することによって、前記複数の機関端末のうちの少なくとも2以上の機関端末において共通に保持されている、前記照合属性に属する要素を共通要素として特定する
データ解析システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17889263.4A EP3561697A4 (en) | 2016-12-26 | 2017-12-26 | DATA ANALYSIS METHOD AND DATA ANALYSIS SYSTEM |
JP2018559530A JP6802572B2 (ja) | 2016-12-26 | 2017-12-26 | データ解析方法およびデータ解析システム |
US16/473,286 US11216578B2 (en) | 2016-12-26 | 2017-12-26 | Data analysis method and data analysis system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016252102 | 2016-12-26 | ||
JP2016-252102 | 2016-12-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018124104A1 true WO2018124104A1 (ja) | 2018-07-05 |
Family
ID=62707548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/046729 WO2018124104A1 (ja) | 2016-12-26 | 2017-12-26 | データ解析方法およびデータ解析システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11216578B2 (ja) |
EP (1) | EP3561697A4 (ja) |
JP (1) | JP6802572B2 (ja) |
WO (1) | WO2018124104A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020137728A1 (ja) * | 2018-12-26 | 2020-07-02 | 国立大学法人筑波大学 | 分散データ統合装置、分散データ統合方法、及びプログラム |
WO2021084572A1 (ja) * | 2019-10-28 | 2021-05-06 | 日本電信電話株式会社 | データベースシステム、分散処理装置、データベース装置、分散処理方法、および、分散処理プログラム |
JP2022517054A (ja) * | 2020-02-14 | 2022-03-04 | グーグル エルエルシー | セキュアマルチパーティリーチおよび頻度推定 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002169808A (ja) * | 2000-11-30 | 2002-06-14 | Hitachi Ltd | セキュアマルチデータベースシステム |
JP2012084084A (ja) * | 2010-10-14 | 2012-04-26 | Fujitsu Ltd | 連携装置、連携元装置、連携先装置、連携プログラム、および連携方法 |
JP2014211803A (ja) * | 2013-04-19 | 2014-11-13 | 株式会社日立システムズ | データ提供システム及びデータ提供システムにおける開示ステータス設定方法 |
WO2015063905A1 (ja) * | 2013-10-31 | 2015-05-07 | 株式会社日立製作所 | データ分析システム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804667B1 (en) * | 1999-11-30 | 2004-10-12 | Ncr Corporation | Filter for checking for duplicate entries in database |
AU7182701A (en) * | 2000-07-06 | 2002-01-21 | David Paul Felsher | Information record infrastructure, system and method |
US8380630B2 (en) * | 2000-07-06 | 2013-02-19 | David Paul Felsher | Information record infrastructure, system and method |
US7181017B1 (en) * | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
JP3987934B2 (ja) * | 2003-11-12 | 2007-10-10 | 国立大学法人大阪大学 | 社会的な関係を用いてユーザの評価コメントを要約する文書処理装置、その方法及びプログラム |
WO2006015100A2 (en) * | 2004-07-28 | 2006-02-09 | Ims Health Incorporated | A method for linking de-identified patients using encrypted and unencrypted demographic and healthcare information from multiple data sources |
US9626667B2 (en) * | 2005-10-18 | 2017-04-18 | Intertrust Technologies Corporation | Digital rights management engine systems and methods |
US20070204078A1 (en) * | 2006-02-09 | 2007-08-30 | Intertrust Technologies Corporation | Digital rights management engine systems and methods |
JP2009512096A (ja) * | 2005-10-18 | 2009-03-19 | インタートラスト テクノロジーズ コーポレイション | デジタル著作権管理エンジンのシステムおよび方法 |
WO2007084502A1 (en) * | 2006-01-17 | 2007-07-26 | Accenture Global Services Gmbh | Platform for interoperable healthcare data exchange |
US8880879B2 (en) * | 2008-09-04 | 2014-11-04 | Intel Corporation | Accelerated cryptography with an encryption attribute |
US8010085B2 (en) * | 2008-11-19 | 2011-08-30 | Zscaler, Inc. | Traffic redirection in cloud based security services |
US8788287B2 (en) * | 2009-11-25 | 2014-07-22 | General Electric Company | Systems, apparatus, and methods for developing patient medical history using hierarchical relationships |
US20110125527A1 (en) * | 2009-11-25 | 2011-05-26 | General Electric Company | Systems, apparatus, and methods for identifying patient-to patient relationships |
JP2014013479A (ja) | 2012-07-04 | 2014-01-23 | Sony Corp | 情報処理装置、情報処理方法、プログラム、及び情報処理システム |
CN106104549A (zh) | 2014-03-07 | 2016-11-09 | 诺基亚技术有限公司 | 用于验证处理的数据的方法和装置 |
US9372892B1 (en) * | 2015-12-28 | 2016-06-21 | International Business Machines Corporation | Bloom filter construction method for use in a table join operation portion of processing a query to a distributed database |
-
2017
- 2017-12-26 US US16/473,286 patent/US11216578B2/en active Active
- 2017-12-26 JP JP2018559530A patent/JP6802572B2/ja active Active
- 2017-12-26 EP EP17889263.4A patent/EP3561697A4/en not_active Withdrawn
- 2017-12-26 WO PCT/JP2017/046729 patent/WO2018124104A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002169808A (ja) * | 2000-11-30 | 2002-06-14 | Hitachi Ltd | セキュアマルチデータベースシステム |
JP2012084084A (ja) * | 2010-10-14 | 2012-04-26 | Fujitsu Ltd | 連携装置、連携元装置、連携先装置、連携プログラム、および連携方法 |
JP2014211803A (ja) * | 2013-04-19 | 2014-11-13 | 株式会社日立システムズ | データ提供システム及びデータ提供システムにおける開示ステータス設定方法 |
WO2015063905A1 (ja) * | 2013-10-31 | 2015-05-07 | 株式会社日立製作所 | データ分析システム |
Non-Patent Citations (3)
Title |
---|
D. MANYM. BURKHARTX. DIMITROPOULOS: "Fast private set operations with sepia", TECHNICAL REPORT, vol. 345, 2012 |
L. KISSNERD. SONG: "CRYPTO 2005", vol. 3621, 2005, SPRINGER, article "Privacy-preserving set operations", pages: 241 - 257 |
See also references of EP3561697A4 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7209378B2 (ja) | 2018-12-26 | 2023-01-20 | 国立大学法人 筑波大学 | 分散データ統合装置、分散データ統合解析装置、分散データ統合方法、及びプログラム |
JPWO2020137728A1 (ja) * | 2018-12-26 | 2021-11-18 | 国立大学法人 筑波大学 | 分散データ統合装置、分散データ統合方法、及びプログラム |
WO2020137728A1 (ja) * | 2018-12-26 | 2020-07-02 | 国立大学法人筑波大学 | 分散データ統合装置、分散データ統合方法、及びプログラム |
US11934558B2 (en) | 2018-12-26 | 2024-03-19 | University Of Tsukuba | Distributed data integration device, distributed data integration method, and program |
WO2021084572A1 (ja) * | 2019-10-28 | 2021-05-06 | 日本電信電話株式会社 | データベースシステム、分散処理装置、データベース装置、分散処理方法、および、分散処理プログラム |
JP2022517054A (ja) * | 2020-02-14 | 2022-03-04 | グーグル エルエルシー | セキュアマルチパーティリーチおよび頻度推定 |
JP7121194B2 (ja) | 2020-02-14 | 2022-08-17 | グーグル エルエルシー | セキュアマルチパーティリーチおよび頻度推定 |
JP7121195B2 (ja) | 2020-02-14 | 2022-08-17 | グーグル エルエルシー | セキュアマルチパーティリーチおよび頻度推定 |
JP7144607B2 (ja) | 2020-02-14 | 2022-09-29 | グーグル エルエルシー | セキュアマルチパーティリーチおよび頻度推定 |
JP2022517298A (ja) * | 2020-02-14 | 2022-03-08 | グーグル エルエルシー | セキュアマルチパーティリーチおよび頻度推定 |
US11784800B2 (en) | 2020-02-14 | 2023-10-10 | Google Llc | Secure multi-party reach and frequency estimation |
US11909864B2 (en) | 2020-02-14 | 2024-02-20 | Google Llc | Secure multi-party reach and frequency estimation |
JP2022517299A (ja) * | 2020-02-14 | 2022-03-08 | グーグル エルエルシー | セキュアマルチパーティリーチおよび頻度推定 |
US12069161B2 (en) | 2020-02-14 | 2024-08-20 | Google Llc | Secure multi-party reach and frequency estimation |
Also Published As
Publication number | Publication date |
---|---|
EP3561697A4 (en) | 2019-11-27 |
JPWO2018124104A1 (ja) | 2019-10-31 |
EP3561697A1 (en) | 2019-10-30 |
US20200004981A1 (en) | 2020-01-02 |
JP6802572B2 (ja) | 2020-12-16 |
US11216578B2 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11133093B2 (en) | System and method for creation of persistent patient identification | |
WO2018124104A1 (ja) | データ解析方法およびデータ解析システム | |
US20180046766A1 (en) | System for rapid tracking of genetic and biomedical information using a distributed cryptographic hash ledger | |
Lie et al. | Utility of SOFA score, management and outcomes of sepsis in Southeast Asia: a multinational multicenter prospective observational study | |
Huang et al. | Semiparametric analysis for recurrent event data with time-dependent covariates and informative censoring | |
CN109478418A (zh) | 用于使健康数据匿名化并且跨地理区域传输健康数据进行分析的系统和方法 | |
US20160085915A1 (en) | System and method for the de-identification of healthcare data | |
Mounia et al. | Big data privacy in healthcare Moroccan context | |
US20140372149A1 (en) | Method for processing patient-related data records | |
CA2590752A1 (en) | Systems and methods for identification and/or evaluation of potential safety concerns associated with a medical therapy | |
US9148410B2 (en) | Recording medium storing data processing program, data processing apparatus and data processing system | |
WO2020004139A1 (ja) | 個人情報分析システム、及び個人情報分析方法 | |
JP6563812B2 (ja) | マルチサイトパフォーマンス測定を匿名にし、匿名データの処理及び再識別を制御する方法及びシステム | |
US20200066380A1 (en) | Identification of an appropriate medical institution based on patient information including a symptom and a medical history | |
Southwell et al. | Validating a novel deterministic privacy-preserving record linkage between administrative & clinical data: applications in stroke research | |
Khan et al. | MEDICAL DROP BOX (MDB): A NATIONAL HEALTH INFORMATION EXCHANGE AND MANAGEMENT SYSTEM FOR MEDICAL INDUSTRY | |
Lynda et al. | Data security and privacy in e-health cloud: Comparative study | |
Pasierb et al. | Privacy-preserving data mining, sharing and publishing | |
İncereis et al. | Data Security Techniques and Comparison of Differential Privacy Techniques in Bioinformatics | |
Rabbi et al. | A secure real time data processing framework for personally controlled electronic health record (PCEHR) system | |
Sheeraz et al. | A decentralized approach of healthcare data collection for research | |
Kjamilji | Techniques and Challenges while Applying Machine Learning Algorithms in Privacy Preserving Fashion | |
Blazek et al. | The system of instant access to the life biomedical data | |
JP2024039075A (ja) | 電子カルテ記録集約/参照システム | |
Manoj | Blockchain: A Solution for Healthcare's Cloud-Based Data Privacy and Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17889263 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018559530 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017889263 Country of ref document: EP |