JP7250390B1 - Data sharing system, data sharing method, and data sharing program - Google Patents

Data sharing system, data sharing method, and data sharing program Download PDF

Info

Publication number
JP7250390B1
JP7250390B1 JP2022154284A JP2022154284A JP7250390B1 JP 7250390 B1 JP7250390 B1 JP 7250390B1 JP 2022154284 A JP2022154284 A JP 2022154284A JP 2022154284 A JP2022154284 A JP 2022154284A JP 7250390 B1 JP7250390 B1 JP 7250390B1
Authority
JP
Japan
Prior art keywords
data
attribute
attribute value
shared
disclosure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022154284A
Other languages
Japanese (ja)
Other versions
JP2024048309A (en
Inventor
広樹 今林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Eaglys Inc
Original Assignee
Eaglys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Eaglys Inc filed Critical Eaglys Inc
Priority to JP2022154284A priority Critical patent/JP7250390B1/en
Priority to JP2023039536A priority patent/JP2024048331A/en
Application granted granted Critical
Publication of JP7250390B1 publication Critical patent/JP7250390B1/en
Priority to PCT/JP2023/029494 priority patent/WO2024070290A1/en
Publication of JP2024048309A publication Critical patent/JP2024048309A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Abstract

【課題】各組織が保有するデータについて処理の権限を設定し、セキュリティに配慮しつつ、データの利活用を容易にする。【解決手段】本システムは、データ提供サーバと、共有データベースと、管理サーバと、を備える。データ提供サーバは、属性項目ごとの属性値を含む機微データを取得し、機微データの少なくとも一部の属性値を暗号化する。共有データベースは、データ提供サーバが暗号化した機微データを共有データとして記憶する。管理サーバは、機微データの属性項目ごとに設定される処理の権限を管理し、共有データに対する処理の要求を受け付けると、共有データの属性項目に設定された権限に基づいて、データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行う。データ提供サーバは、復号要求に応じて、処理の要求に係る共有データの暗号化された属性値を復号し、復号された属性値を含む処理の要求に係る共有データを提供する。【選択図】図1An object of the present invention is to set processing authority for data held by each organization, and to facilitate utilization of data while considering security. A system includes a data providing server, a shared database, and a management server. The data providing server acquires sensitive data including attribute values for each attribute item, and encrypts at least part of the attribute values of the sensitive data. The shared database stores sensitive data encrypted by the data providing server as shared data. The management server manages the processing authority set for each sensitive data attribute item, and upon receiving a processing request for shared data, based on the authority set for the shared data attribute item, , to request the decryption of the attribute value related to the attribute item. The data providing server decrypts the encrypted attribute value of the shared data related to the processing request in response to the decryption request, and provides the shared data related to the processing request including the decoded attribute value. [Selection drawing] Fig. 1

Description

本開示は、データ共有システム、データ共有方法、およびデータ共有プログラムに関する。 The present disclosure relates to a data sharing system, data sharing method, and data sharing program.

インターネット上で提供される電子商取引サービスにおいて、自組織保有のデータはもとより、組織外のデータも活用し、利用者の性別、住所、取引情報などの個人情報を、サービス提供者側がマーケティング等を目的として統計分析を行う技術がある。例えば、特許文献1には、サービス提供者が利用者の個人情報を得ることなく、取引履歴の分析を得ることができる電子商取引システムが開示されている。 In electronic commerce services provided on the Internet, not only data owned by the organization but also data outside the organization are used, and personal information such as user gender, address, and transaction information is collected by the service provider for marketing purposes. There is a technique to perform statistical analysis as For example, Patent Literature 1 discloses an electronic commerce system that enables a service provider to obtain analysis of transaction history without obtaining personal information of users.

特開2019-125883号公報JP 2019-125883 A

しかしながら、特許文献1に記載のシステムでは、統計分析を行いたいサービス提供サーバ側が、他のすべてのサービス提供サーバに対して暗号化鍵を送信し、他のサービス提供サーバは、当該送信された暗号化鍵を用いてデータを暗号化して、統計分析を行う第三者機関サーバに送信する。このため、他のサービス提供サーバにとっては、自身が保有するデータが他者の暗号化鍵によって暗号化されるため、情報漏洩や不正利用等の情報セキュリティ上の問題が発生する可能性が危惧される。 However, in the system described in Patent Document 1, a service providing server that wishes to perform statistical analysis transmits an encryption key to all other service providing servers, and the other service providing servers receive the transmitted encrypted key. The data is encrypted using an encryption key and sent to a third party server for statistical analysis. For this reason, for other service providing servers, since the data they own is encrypted with the encryption key of another party, there is concern about the possibility of information security problems such as information leakage and unauthorized use. .

また、自組織保有のデータを組織外の第三者と共有して活用するためには、セキュリティに配慮する必要があるが、全てのデータを同じセキュリティレベルで扱うような過度なデータ保護は、データの利活用促進を阻害するおそれがある。 In addition, in order to share and utilize the data owned by the organization with third parties outside the organization, it is necessary to consider security, but excessive data protection such as handling all data with the same security level There is a risk of hindering the promotion of data utilization.

そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、各組織が保有するデータについて処理の権限を設定し、セキュリティに配慮しつつ、データの利活用を容易にすることができるデータ共有システムを提供することである。 Therefore, the present disclosure was made to solve the above problems, and the purpose is to set the processing authority for the data held by each organization, and to facilitate the utilization of data while considering security. It is to provide a data sharing system that can

上記目的を達成するため、本開示に係るデータ共有システムは、データ提供サーバと、共有データベースと、管理サーバと、を備えるシステムであって、データ提供サーバは、属性項目ごとの属性値を含む機微データを取得する機微データ取得部と、暗号鍵および復号鍵を管理する鍵管理部と、暗号鍵を用いて、機微データの少なくとも一部の属性値を所定の暗号方式で暗号化する暗号化部と、を有し、共有データベースは、データ提供サーバにおいて暗号化された機微データを共有データとして記憶し、管理サーバは、機微データの属性項目ごとに設定される処理の権限を管理する権限管理部と、共有データに対する処理の要求を受け付ける受付部と、処理の要求に係る共有データの属性項目に設定された権限に基づいて、データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行う復号要求部と、を有し、データ提供サーバは、復号要求に応じて、復号鍵を用いて、処理の要求に係る共有データの暗号化された属性値を復号する復号部と、復号された属性値を含む処理の要求に係る共有データを提供する提供部と、をさらに有する。 In order to achieve the above object, a data sharing system according to the present disclosure is a system comprising a data providing server, a shared database, and a management server, wherein the data providing server includes attribute values for each attribute item. A sensitive data acquisition unit that acquires data, a key management unit that manages an encryption key and a decryption key, and an encryption unit that encrypts at least part of the attribute values of the sensitive data using a predetermined encryption method using the encryption key. and a shared database stores sensitive data encrypted in the data providing server as shared data, and the management server manages the processing authority set for each attribute item of the sensitive data. Then, based on the authority set in the attribute item of the shared data related to the request for processing, the reception unit that receives the request for processing the shared data requests the data providing server to decrypt the attribute value related to the attribute item. The data providing server has a decryption request unit for decrypting the encrypted attribute value of the shared data related to the processing request, and a decryption unit for decrypting the encrypted attribute value of the shared data according to the decryption request using the decryption key. and a providing unit for providing shared data related to the processing request including the attribute value.

また、上記目的を達成するため、本開示に係るデータ共有方法は、データ提供サーバと、共有データベースと、管理サーバと、を備えるシステムにおける方法であって、データ提供サーバが、属性項目ごとの属性値を含む機微データを取得するステップと、暗号鍵および復号鍵を管理するステップと、暗号鍵を用いて、機微データの少なくとも一部の属性値を所定の暗号方式で暗号化するステップと、共有データベースが、データ提供サーバにおいて暗号化された機微データを共有データとして記憶するステップと、管理サーバが、機微データの属性項目ごとに設定される処理の権限を管理するステップと、共有データに対する処理の要求を受け付けるステップと、処理の要求に係る共有データの属性項目に設定された権限に基づいて、データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行うステップと、データ提供サーバが、復号要求に応じて、復号鍵を用いて、処理の要求に係る共有データの暗号化された属性値を復号するステップと、復号された属性値を含む処理の要求に係る共有データを提供するステップと、を備える。 Further, in order to achieve the above object, a data sharing method according to the present disclosure is a method in a system including a data providing server, a shared database, and a management server, wherein the data providing server provides an attribute for each attribute item obtaining sensitive data including values; managing encryption and decryption keys; encrypting at least some attribute values of the sensitive data with a predetermined encryption method using the encryption keys; a step in which a database stores encrypted sensitive data as shared data in a data providing server; a step in which a management server manages processing authority set for each attribute item of sensitive data; a step of receiving a request; a step of requesting a data providing server to decrypt an attribute value related to the attribute item based on the authority set in the attribute item of the shared data related to the processing request; decrypting the encrypted attribute value of the shared data relating to the processing request using the decryption key in response to the decryption request; and providing the shared data relating to the processing request including the decrypted attribute value. a step;

また、上記目的を達成するため、本開示に係るデータ共有プログラムは、データ提供サーバと、共通データベースと、管理サーバと、を備えるシステムに実行させるプログラムであって、データ提供サーバの制御部が、属性項目ごとの属性値を含む機微データを取得するステップと、暗号鍵および復号鍵を管理するステップと、暗号鍵を用いて、機微データの少なくとも一部の属性値を所定の暗号方式で暗号化するステップと、共有データベースの記憶部が、データ提供サーバにおいて暗号化された機微データを共有データとして記憶するステップと、管理サーバの制御部が、機微データの属性項目ごとに設定される処理の権限を管理するステップと、共有データに対する処理の要求を受け付けるステップと、処理の要求に係る共有データの属性項目に設定された権限に基づいて、データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行うステップと、データ提供サーバの制御部が、復号要求に応じて、復号鍵を用いて、処理の要求に係る共有データの暗号化された属性値を復号するステップと、復号された属性値を含む処理の要求に係る共有データを提供するステップと、を備える。 Further, in order to achieve the above object, a data sharing program according to the present disclosure is a program executed by a system including a data providing server, a common database, and a management server, wherein a control unit of the data providing server a step of acquiring sensitive data including an attribute value for each attribute item; a step of managing an encryption key and a decryption key; and using the encryption key, encrypting at least part of the attribute value of the sensitive data with a predetermined encryption method. a step in which the storage unit of the shared database stores the sensitive data encrypted in the data providing server as shared data; and a control unit in the management server with processing authority set for each attribute item of the sensitive data. , the step of accepting a request for processing the shared data, and the attribute value related to the attribute item to the data providing server based on the authority set for the attribute item of the shared data related to the processing request. a step of making a decryption request; and providing shared data associated with the processing request, including attribute values.

本開示によれば、データ共有システムにおいて、各組織が保有するデータについて、セキュリティに配慮しつつ、データの利活用を容易にすることができる。 According to the present disclosure, in a data sharing system, it is possible to facilitate utilization of data held by each organization while considering security.

本実施形態に係るデータ共有システム1の構成を示す図である。It is a figure which shows the structure of the data sharing system 1 which concerns on this embodiment. 端末装置100の機能構成の一例を示す機能ブロック図である。2 is a functional block diagram showing an example of the functional configuration of the terminal device 100; FIG. データ提供サーバ200の機能構成の一例を示す機能ブロック図である。2 is a functional block diagram showing an example of a functional configuration of a data providing server 200; FIG. データ変換サーバ300の機能構成の一例を示す機能ブロック図である。3 is a functional block diagram showing an example of a functional configuration of a data conversion server 300; FIG. 管理サーバ400の機能構成の一例を示す機能ブロック図である。3 is a functional block diagram showing an example of a functional configuration of a management server 400; FIG. 機微データのデータ構造の一例を示した図である。It is the figure which showed an example of the data structure of sensitive data. 処理の権限を設定する画面の一例を示す図である。FIG. 10 is a diagram showing an example of a screen for setting processing authority; 所定の変換の対応関係の一例を示す図である。It is a figure which shows an example of the corresponding relationship of predetermined conversion. 開示データの例を示す図である。FIG. 4 is a diagram showing an example of disclosure data; データ共有システム1において開示データが表示されるまでの処理の一例を示すフローチャートである。4 is a flowchart showing an example of processing until disclosed data is displayed in the data sharing system 1. FIG. 管理サーバ400のハードウェア構成を示すブロック図である。3 is a block diagram showing the hardware configuration of a management server 400; FIG. 本実施形態に係るデータ共有システム2の構成を示す図である。It is a figure which shows the structure of the data-sharing system 2 which concerns on this embodiment. 実施形態2に係る機微データのデータ構造の一例を示した図である。FIG. 10 is a diagram showing an example of a data structure of sensitive data according to the second embodiment; 暗号化された機微データのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of encrypted sensitive data. 統合データのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of integrated data. 管理サーバ700の機能構成の一例を示す機能ブロック図である。3 is a functional block diagram showing an example of a functional configuration of a management server 700; FIG.

以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。 Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all the drawings for explaining the embodiments, common constituent elements are given the same reference numerals, and repeated explanations are omitted. It should be noted that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Also, not all the components shown in the embodiments are essential components of the present disclosure.

<本発明の概要>
近年、顧客情報などの大量の機微データを保有する組織が増加している。これにより、自組織だけでなく、他組織が保有する機微データも活用して統計的な分析処理等を行い、ビジネス上の新たな知見や、サービスにつなげるようなクラウドサービスが普及しつつある。機微データは、セキュリティへの配慮や、プライバシーの保護などデータの取り扱いに細心の注意が求められる情報であるため、自組織の保有する機微データの情報漏洩を防ぎつつ、検索や集計分析、統計などのデータ処理を行うことが必要である。
<Overview of the present invention>
In recent years, an increasing number of organizations possess a large amount of sensitive data such as customer information. As a result, not only the own organization but also the sensitive data possessed by other organizations can be used for statistical analysis processing, etc., and cloud services that lead to new business knowledge and services are becoming widespread. Sensitive data is information that requires careful attention when handling data, such as security considerations and privacy protection. data processing.

そこで、本発明に係るデータ共有システムでは、当該システムに参加する組織等から提供される機微データを、所定の暗号方式(暗号化状態のまま、検索や分析等を含む演算を行うことができる暗号方式)で暗号化し、暗号化及び復号に用いる鍵は、当該機微データを提供した各組織において管理する。これにより、自組織の保有する機微データや、それに関連するデータ処理の実行結果に対する復号処理を自組織で管理することができる。 Therefore, in the data sharing system according to the present invention, the sensitive data provided by the organizations participating in the system is encrypted using a predetermined encryption method (an encryption method that allows operations including search and analysis to be performed in an encrypted state). method), and the keys used for encryption and decryption are managed by each organization that provided the sensitive data. As a result, the organization can manage the decryption process for the sensitive data held by the organization and the execution results of data processing related thereto.

その一方で、全てのデータを所定の暗号方式で暗号化し、上述のように暗号化したまま演算できたとしても、データの内容を全く開示しないような形態のデータ共有は、データの利活用促進を阻害するおそれがある。例えば、機微データの詳細な内容や演算結果を取得する必要はないが、全体としての傾向や、概要が分かれば、統計情報として十分な場合がある。また、例えば、他組織が保有する機微データを含めた共有データを、自組織のデータベースのごとく表示できれば、一覧性がよくなり、データ活用の利便性が高まる。 On the other hand, even if all data can be encrypted with a predetermined encryption method and can be operated while encrypted as described above, data sharing in a form that does not disclose the contents of the data at all promotes data utilization. may interfere with For example, although it is not necessary to acquire the detailed contents of the sensitive data or the result of calculation, if the overall trend and outline are known, it may be sufficient as statistical information. In addition, for example, if shared data including sensitive data held by other organizations can be displayed like the database of the own organization, the visibility will be improved and the convenience of data utilization will be enhanced.

そこで、本発明に係るデータ共有システムでは、属性項目ごとの属性値を含む機微データについて、属性項目ごとに開示レベルを設定し、開示レベルに基づいて、開示データを生成する。これにより、他組織と共有する機微データについて、セキュリティに配慮しつつ、利活用を容易にすることができる。 Therefore, in the data sharing system according to the present invention, a disclosure level is set for each attribute item for sensitive data including an attribute value for each attribute item, and disclosure data is generated based on the disclosure level. As a result, sensitive data shared with other organizations can be easily utilized while considering security.

<実施形態1>
実施形態1に係るデータ共有システム1は、プラットフォームに参加する組織である「会社A」が保有する機微データを他組織のユーザと共有するシステムである。
(データ共有システム1の構成)
<Embodiment 1>
A data sharing system 1 according to the first embodiment is a system for sharing sensitive data held by "Company A", which is an organization participating in the platform, with users of other organizations.
(Configuration of data sharing system 1)

図1は、本実施形態に係るデータ共有システム1の構成を示す図である。図1を参照して、実施形態1に係るデータ共有システム1の構成について説明する。 FIG. 1 is a diagram showing the configuration of a data sharing system 1 according to this embodiment. A configuration of a data sharing system 1 according to the first embodiment will be described with reference to FIG.

データ共有システム1は、社内システム10と、データセンタ20と、端末装置600-1,600-2,…,600-N(Nは自然数。特に区別する必要のない限り、「端末装置600」と記載する。)と、を備え、ネットワークNWを介して通信可能に接続される。 The data sharing system 1 includes an in-house system 10, a data center 20, terminal devices 600-1, 600-2, . . . , 600-N (N is a natural number. ), and are communicably connected via a network NW.

データ共有システム1は、当該システムに参加する組織が、自組織が保有する機微データについて、他組織が利用できる処理の権限を設定し、他組織と共有する機微データを利用させることができるプラットフォームである。なお、組織とは、システムを利用するユーザであって、企業や団体に限られず、役割ごとに区切られた部門、課、グループ、チーム等の集団、当該集団を構成する個人、システムを利用する個人等であってもよい。 The data sharing system 1 is a platform on which an organization participating in the system can set processing authority for other organizations to use sensitive data owned by the system, and allow the use of sensitive data shared with other organizations. be. An organization is a user who uses the system, and is not limited to companies and organizations, but also groups such as divisions, sections, groups, teams, etc. divided by role, individuals who make up the group, and users who use the system. It may be an individual or the like.

ネットワークNWは、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、光回線網、イントラネット等であるが、任意のネットワークから構成されてもよい。また、データ共有システム1を構成する装置等は、ネットワークNWを介さず、ローカルに接続されてもよい。 The network NW is, for example, a WAN (Wide Area Network), a LAN (Local Area Network), an optical line network, an intranet, etc., but may be composed of any network. Also, the devices and the like that constitute the data sharing system 1 may be locally connected without going through the network NW.

社内システム10は、プラットフォームに参加する組織である会社Aの社内システムである。社内システム10は、端末装置100-1,…,100-M(Mは自然数。特に区別する必要のない限り、「端末装置100」と記載する。)と、データ提供サーバ200と、データ変換サーバ300と、を有する。社内システム10は、オンプレミスでもよいし、クラウド(プライベートクラウドや、ハイブリッドクラウドなど。)であってもよく、端末装置100は、会社A内に物理的に配置されていなくてよい。 The in-house system 10 is the in-house system of Company A, an organization that participates in the platform. In-house system 10 includes terminal devices 100-1, . 300 and . The in-house system 10 may be on-premises or in the cloud (private cloud, hybrid cloud, etc.), and the terminal device 100 may not be physically located within the company A.

端末装置100は、会社Aの社内システム10にアクセスする権限を有する者(例えば、会社Aの従業員など。)が用いる情報処理装置であって、例えば、PC(Personal Computer)、スマートフォン、タブレット端末である。また、ヘッドマウントディスプレイ等のウェアラブル端末、AR(Augmented Reality)/VR(Virtual Reality)/MR(Mixed Reality)装置等であってもよい。端末装置100は、データ提供サーバ200に対し、属性項目(カラム)ごとの属性値を含む機微データを送信してもよい。なお、機微データのデータ構造については後述(図6等)する。 The terminal device 100 is an information processing device used by a person (for example, an employee of the company A) who has the authority to access the in-house system 10 of the company A. is. It may also be a wearable terminal such as a head-mounted display, an AR (Augmented Reality)/VR (Virtual Reality)/MR (Mixed Reality) device, or the like. The terminal device 100 may transmit sensitive data including attribute values for each attribute item (column) to the data providing server 200 . The data structure of sensitive data will be described later (see FIG. 6, etc.).

データ提供サーバ200は、会社Aが保有する機微データをデータ共有システム1に提供するアプリケーションサーバである。データ提供サーバ200は、端末装置100等から取得した機微データの少なくとも一部の属性値を暗号化し、管理サーバ400に送信する。また、管理サーバ400からの復号要求に応じて、暗号化された属性値や、演算結果等を復号する。なお、データ提供サーバ200は、暗号鍵および復号鍵を自サーバ内で記憶して管理してもよいし、他の情報処理装置に記憶させて管理(例えば、KMS(Key Management System:鍵管理システム)に管理を委託)してもよい。 The data providing server 200 is an application server that provides sensitive data owned by company A to the data sharing system 1 . The data providing server 200 encrypts at least part of the attribute values of the sensitive data acquired from the terminal device 100 or the like, and transmits the encrypted attribute values to the management server 400 . Also, in response to a decryption request from the management server 400, it decrypts encrypted attribute values, calculation results, and the like. The data providing server 200 may store and manage the encryption key and the decryption key within its own server, or may store and manage the encryption key and the decryption key in another information processing device (for example, KMS (Key Management System)). ) may be entrusted with management).

データ変換サーバ300は、データ提供サーバ200から取得したデータに基づいて、データ共有システム1に参加する他組織(図1の例では、会社A以外の組織)の者に開示するデータを生成するアプリケーションサーバである。データ変換サーバ300が生成した開示データは、例えば、端末装置600(後述)において表示される。データ変換サーバ300は、図1の例では、データ提供サーバ200と別々に構成されているが、データ提供サーバ200が、データ変換サーバ300の機能を有していてもよい。 The data conversion server 300 is an application that generates data to be disclosed to persons of other organizations (organizations other than company A in the example of FIG. 1) participating in the data sharing system 1 based on the data acquired from the data providing server 200. is the server. The disclosed data generated by the data conversion server 300 is displayed, for example, on the terminal device 600 (described later). Data conversion server 300 is configured separately from data providing server 200 in the example of FIG. 1 , but data providing server 200 may have the functions of data conversion server 300 .

データセンタ20は、データ共有システム1において共有するデータを管理し、ユーザからの要求に応じた処理を実行する。データセンタ20は、管理サーバ400と、共有データベース500と、を有する。 The data center 20 manages data shared in the data sharing system 1 and executes processing according to requests from users. The data center 20 has a management server 400 and a shared database 500 .

管理サーバ400は、データ提供サーバ200から取得した、暗号化された機微データを、共有データとして共有データベース500に格納する。また、管理サーバ400は、ユーザから受け付けた、共有データに対する処理の要求に応じて、当該共有データ(機微データ)を提供したデータ提供サーバ200に対し、処理の要求に係る共有データの属性値の復号を要求する。 The management server 400 stores the encrypted sensitive data acquired from the data providing server 200 in the shared database 500 as shared data. In addition, in response to a request for processing shared data received from a user, the management server 400 requests the data providing server 200, which provided the shared data (sensitive data), the attribute value of the shared data related to the processing request. Request decryption.

共有データベース500は、データ提供サーバ200において暗号化された機微データを共有データとして記憶する。 The shared database 500 stores sensitive data encrypted in the data providing server 200 as shared data.

端末装置600は、データ共有システム1を利用するユーザが用いる情報処理装置であって、上述の端末装置100と同様の装置である。端末装置600のユーザは、例えば、会社A以外の組織に属するユーザや、社内システム10にアクセスする権限がないユーザである。 The terminal device 600 is an information processing device used by a user who uses the data sharing system 1, and is similar to the terminal device 100 described above. The user of the terminal device 600 is, for example, a user who belongs to an organization other than company A, or a user who is not authorized to access the in-house system 10 .

端末装置600は、管理サーバ400に対し、共有データベース500に格納される共有データに対する処理の要求を行う。ここで、端末装置600から要求される「処理」とは、例えば、共有データの閲覧、検索、集計処理、統計処理を含む。 The terminal device 600 requests the management server 400 to process the shared data stored in the shared database 500 . Here, the "processing" requested by the terminal device 600 includes, for example, viewing shared data, searching, tabulating processing, and statistical processing.

共有データに対する閲覧の要求は、ユーザが明示的に端末装置600を操作して、管理サーバ400に送信してもよいし、ユーザがデータ共有システム1にログインすると自動的に閲覧の要求が管理サーバ400に送信され、ユーザの端末装置600に予め設定された共有データが表示されるようにしてもよい。ユーザがデータ共有システム1にログインし、例えば、初期画面として他組織の共有データも表示されると、ユーザは、あたかも、自組織のデータベースのように共有データを閲覧することができる。 The user may explicitly operate the terminal device 600 to send the request for viewing the shared data to the management server 400, or when the user logs into the data sharing system 1, the request for viewing is automatically sent to the management server. 400 and preset on the terminal device 600 of the user may be displayed. When a user logs into the data sharing system 1 and, for example, shared data of other organizations is also displayed as an initial screen, the user can browse the shared data as if it were a database of his/her own organization.

なお、図1において、データ共有システム1は、1つのデータ提供サーバ200を備えるが、データ共有システム1に複数の組織が参加する場合は、参加する各組織に関連付けられた複数のデータ提供サーバ200を備える。 In FIG. 1, the data sharing system 1 includes one data providing server 200. However, when multiple organizations participate in the data sharing system 1, multiple data providing servers 200 associated with each participating organization Prepare.

以下、上述したデータ共有システム1を構成する各サーバ等の機能構成、処理について説明する。なお、各機能構成を示す機能ブロックや処理ブロックは、1つの装置やコンピュータプロセッサによって実現するのに限られず、分散したグループによって実現してもよい。 The functional configuration and processing of each server, etc., constituting the data sharing system 1 described above will be described below. Note that the functional blocks and processing blocks representing each functional configuration are not limited to being implemented by one device or computer processor, and may be implemented by a distributed group.

(端末装置100の機能構成)
図2は、端末装置100の機能構成の一例を示す機能ブロック図である。図2を参照して、端末装置100の機能構成の一例について説明する。なお、端末装置600は、端末装置100と同様の機能構成を有するため、本明細書では、端末装置600の機能構成の説明は省略する。
(Functional configuration of terminal device 100)
FIG. 2 is a functional block diagram showing an example of the functional configuration of the terminal device 100. As shown in FIG. An example of the functional configuration of the terminal device 100 will be described with reference to FIG. Since the terminal device 600 has the same functional configuration as the terminal device 100, the description of the functional configuration of the terminal device 600 is omitted in this specification.

端末装置100は、通信部101と、記憶部102と、入力部103と、出力部104と、制御部105と、を備える。端末装置100は、上述したように、例えば、プラットフォーム(データ共有システム1)に参加する会社Aの従業員等が操作する情報処理装置である。 Terminal device 100 includes communication unit 101 , storage unit 102 , input unit 103 , output unit 104 , and control unit 105 . The terminal device 100 is, as described above, an information processing device operated by, for example, an employee of company A who participates in the platform (data sharing system 1).

通信部101は、端末装置100が社内システム10内のネットワークや、ネットワークNW(以下、「ネットワークNW等」と記載する場合がある。)を介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。所定の通信プロトコルは、TCP/IP(Transmission Control Protocol/Internet Protocol)等である。通信部101は、端末装置を識別する識別子を送信してもよい。 The communication unit 101 allows the terminal device 100 to communicate with a server, device, or the like via a network within the in-house system 10 or a network NW (hereinafter sometimes referred to as “network NW, etc.”) according to a predetermined communication protocol. It has a communication interface circuit for The predetermined communication protocol is TCP/IP (Transmission Control Protocol/Internet Protocol) or the like. The communication unit 101 may transmit an identifier that identifies the terminal device.

通信部101は、受信したデータを制御部105に送り、また、制御部105から受け取ったデータを、ネットワークNW等を介してサーバや装置等に送信するが、通信部101は、端末装置100内の制御部105以外の機能ブロックとデータのやり取りを行ってもよい。なお、通信部101は、ネットワークNW等を介した装置やローカルに接続された装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。セキュアな通信チャンネルの構築、通信方法は、セッション鍵(共通鍵)や公開鍵等を用いた周知の技術であるため、説明を省略する。 The communication unit 101 sends the received data to the control unit 105, and also sends the data received from the control unit 105 to a server, a device, or the like via the network NW or the like. Data may be exchanged with functional blocks other than the control unit 105 of the control unit 105 . Note that the communication unit 101 transmits and receives data to and from a device via a network NW or the like, a locally connected device, or the like, through a secure communication channel in which security is ensured. The construction of a secure communication channel and the communication method are well-known techniques using session keys (common keys), public keys, etc., so description thereof will be omitted.

記憶部102は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置や、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フレキシブルディスク、光ディスク等の可搬型の記憶装置である。記憶部102は、端末装置100の各種処理に用いられるコンピュータプログラム、機微データ等を記憶する。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶部102にインストールされてもよい。可搬型記録媒体は、例えばCD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)等である。コンピュータプログラムは、所定のサーバ等からインストールされてもよい。また、記憶部102は、上述したセッション鍵を記憶してもよい。また、記憶部102に格納された機微データは、データ提供サーバ200に送信した後は、情報漏洩を防ぐため、削除されるようにしてもよい。 The storage unit 102 is, for example, a memory device such as RAM (Random Access Memory) or ROM (Read Only Memory), or a portable storage device such as HDD (Hard Disk Drive), SSD (Solid State Drive), flexible disk, or optical disk. It is a device. The storage unit 102 stores computer programs, sensitive data, and the like used for various processes of the terminal device 100 . The computer program may be installed in the storage unit 102 from a computer-readable portable recording medium using a known setup program or the like. Portable recording media include, for example, CD-ROMs (Compact Disc Read Only Memory) and DVD-ROMs (Digital Versatile Disc Read Only Memory). The computer program may be installed from a predetermined server or the like. Also, the storage unit 102 may store the session key described above. Further, the sensitive data stored in the storage unit 102 may be deleted after being transmitted to the data providing server 200 in order to prevent information leakage.

入力部103は、端末装置100のユーザ入力を受け付けるインタフェースである。入力部103は、例えば、キーボードや、タッチパネル、音声入力を検出するマイクであるが、これらに限られない。入力部103は、ユーザから、例えば、機微データ等を受け付けてもよい。 The input unit 103 is an interface that receives user input of the terminal device 100 . The input unit 103 is, for example, a keyboard, a touch panel, or a microphone that detects voice input, but is not limited to these. The input unit 103 may receive, for example, sensitive data or the like from the user.

出力部104は、情報を出力してユーザに通知するインタフェースである。出力部104は、例えば、ディスプレイや、音声出力するスピーカであるが、これらに限られない。出力部104は、例えば、他の端末装置100や端末装置600、データ変換サーバ300等から受信したデータをディスプレイに表示する。 The output unit 104 is an interface that outputs information and notifies the user. The output unit 104 is, for example, a display or a speaker that outputs audio, but is not limited to these. The output unit 104, for example, displays data received from other terminal devices 100, 600, data conversion server 300, etc. on a display.

制御部105は、端末装置100の各機能を制御し、予め記憶部102に記憶されているプログラムに基づいて動作するCPU(Central Processing Unit)等のプロセッサである。なお、制御部105として、DSP(Digital Signal Processor)等が用いられてもよい。また、制御部105として、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programming Gate Array)等の制御回路が用いられてもよい。 The control unit 105 is a processor such as a CPU (Central Processing Unit) that controls each function of the terminal device 100 and operates based on a program stored in advance in the storage unit 102 . A DSP (Digital Signal Processor) or the like may be used as the control unit 105 . Further, as the control unit 105, a control circuit such as LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), FPGA (Field-Programming Gate Array), or the like may be used.

制御部105は、入力部103を介したユーザからの指示に応じて、各種の処理を実行する。例えば、制御部105は、機微データ等を、通信部101を介してデータ提供サーバ200に送信する。また、共有データに対する処理の要求を、通信部101を介して管理サーバ400に送信してもよい。 The control unit 105 executes various processes according to instructions from the user via the input unit 103 . For example, the control unit 105 transmits sensitive data and the like to the data providing server 200 via the communication unit 101 . Also, a request for processing the shared data may be transmitted to the management server 400 via the communication unit 101 .

(データ提供サーバ200の機能構成)
図3は、データ提供サーバ200の機能構成の一例を示す機能ブロック図である。図3を参照して、データ提供サーバ200の機能構成の一例について説明する。
(Functional configuration of data providing server 200)
FIG. 3 is a functional block diagram showing an example of the functional configuration of the data providing server 200. As shown in FIG. An example of the functional configuration of the data providing server 200 will be described with reference to FIG.

データ提供サーバ200は、通信部201と、制御部202と、記憶部203と、鍵管理部204と、暗号化部205と、復号部206と、を備える。 The data providing server 200 includes a communication section 201 , a control section 202 , a storage section 203 , a key management section 204 , an encryption section 205 and a decryption section 206 .

通信部201は、端末装置100の通信部101と同様に、ネットワークNW等を介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。通信部201は、受信したデータを制御部202に送る。また、通信部201は、制御部202から受け取ったデータを、ネットワークNWを介してサーバや装置等に送信する。なお、通信部201は、ネットワークNW等を介した装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。 The communication unit 201, like the communication unit 101 of the terminal device 100, has a communication interface circuit for communicating with a server, a device, or the like via a network NW or the like according to a predetermined communication protocol. The communication unit 201 sends the received data to the control unit 202 . Also, the communication unit 201 transmits data received from the control unit 202 to a server, a device, or the like via the network NW. Note that the communication unit 201 transmits and receives data to and from a device or the like via a network NW or the like through a secure communication channel in which security is ensured.

通信部201は、属性項目ごとの属性値を含む機微データを取得する「機微データ取得部」として機能する。通信部201は、例えば、プラットフォームに参加する組織から、当該組織が保有する機微データを取得する。図1の例では、データ提供サーバ200は、例えば、会社Aの従業員が用いる端末装置100から機微データを取得する。 The communication unit 201 functions as a “sensitive data acquisition unit” that acquires sensitive data including attribute values for each attribute item. The communication unit 201, for example, acquires sensitive data owned by an organization participating in the platform. In the example of FIG. 1, the data providing server 200 acquires sensitive data from terminal devices 100 used by employees of company A, for example.

機微データは、例えば、会社Aの各事業所の所在地、顧客、事業所ごとの製品の売り上げ等であり、各事業所の属性を示す項目である属性項目(カラム)とその属性値(文字列又は数値)を含む。機微データは、これらに限らず、例えば、個人に関する情報であってもよい。個人に関する情報とは、例えば、年齢、性別、収入、居住地域、購買情報、メールアドレス、電話番号、勤務先などである。また、機微データは、機器に関するログデータ等であってもよく、通信部201は、機器等からログデータを取得してもよい。機微データのデータ構造については後述(図6参照)する。 The sensitive data is, for example, the location of each office of Company A, customers, sales of products for each office, etc., and includes attribute items (columns) that indicate the attributes of each office and their attribute values (character strings or numerical value). Sensitive data is not limited to these, and may be, for example, information about an individual. Personal information includes, for example, age, gender, income, area of residence, purchase information, e-mail address, telephone number, place of work, and the like. Further, the sensitive data may be log data or the like related to the device, and the communication unit 201 may acquire the log data from the device or the like. The data structure of sensitive data will be described later (see FIG. 6).

また、通信部201は、復号部206(後述)において復号された属性値を含む処理の要求に係る共有データを提供する「提供部」として機能する。通信部201は、例えば、データ変換サーバ300(図4において詳述。)に、復号された属性値を含む当該処理の要求に係る共有データを提供する。なお、通信部201は、例えば、処理として閲覧の要求をした端末装置600(のユーザ)に設定された開示に関する権限が、少なくとも一部の属性値の生データの開示が許可された権限であった場合は、端末装置600に対し、復号された属性値を含む当該処理の要求に係る共有データを送信してもよい。端末装置600は、生データの開示が許可された属性値については、閲覧することができる。 The communication unit 201 also functions as a “providing unit” that provides shared data related to a processing request, including attribute values decoded by a decoding unit 206 (described later). The communication unit 201 provides, for example, the data conversion server 300 (detailed in FIG. 4) with shared data related to the processing request, including the decoded attribute value. Note that the communication unit 201 confirms that, for example, the authority related to disclosure set in (the user of) the terminal device 600 requesting viewing as processing is an authority that permits the disclosure of raw data of at least part of the attribute values. In this case, the shared data including the decoded attribute value and related to the processing request may be transmitted to the terminal device 600 . The terminal device 600 can view attribute values for which disclosure of raw data is permitted.

制御部202は、端末装置100の制御部105と同様に、データ提供サーバ200の各機能を制御し、予め記憶部203(後述)に記憶されているプログラムに基づいて動作するCPU等のプロセッサである。 The control unit 202, like the control unit 105 of the terminal device 100, controls each function of the data providing server 200, and is a processor such as a CPU that operates based on a program stored in advance in a storage unit 203 (described later). be.

制御部202は、暗号化部205に対し、通信部201を介して取得した機微データについて暗号化するよう制御する。また、制御部202は、復号部206に対し、通信部201を介して取得した共有データの属性値について復号するよう制御する。 The control unit 202 controls the encryption unit 205 to encrypt sensitive data acquired via the communication unit 201 . Also, the control unit 202 controls the decoding unit 206 to decode the attribute values of the shared data acquired via the communication unit 201 .

記憶部203は、端末装置100の記憶部102と同様の記憶装置等を有する。また、記憶部203は、データ提供サーバ200の各種処理に用いられるコンピュータプログラム等が格納される。また、記憶部203は、例えば、暗号化された機微データや、後述する鍵管理部204が管理する暗号鍵や復号鍵などを記憶する。 The storage unit 203 has a storage device and the like similar to the storage unit 102 of the terminal device 100 . In addition, the storage unit 203 stores computer programs and the like used for various processes of the data providing server 200 . The storage unit 203 also stores, for example, encrypted sensitive data, encryption keys and decryption keys managed by the key management unit 204, which will be described later.

鍵管理部204は、暗号鍵および復号鍵を管理する。鍵管理部204は、例えば、暗号化部205の要求する暗号方式に応じた鍵を生成してもよい。暗号方式が、例えば、暗号化状態のまま加減算が可能な(加法的な)準同型暗号方式(Paillier方式)の場合は、公開鍵(暗号鍵)と秘密鍵(復号鍵)の組を生成する。 The key management unit 204 manages encryption keys and decryption keys. The key management unit 204 may generate a key according to the encryption method requested by the encryption unit 205, for example. If the encryption method is, for example, a homomorphic encryption method (Paillier method) that allows addition and subtraction in the encrypted state (additive), a set of public key (encryption key) and private key (decryption key) is generated. .

また、暗号方式が、暗号文の大小関係と対応する平文の大小関係が一致する順序保存暗号方式(OPE方式:Order Preserving Encryption)や、暗号化状態のまま平文の一致判定が可能な検索可能暗号方式の場合は、秘密鍵(共通鍵)を生成する。このように、暗号鍵と復号鍵は、公開鍵と秘密鍵の組のように異なる鍵である場合と、共通鍵のように同じ鍵である場合とがある。なお、鍵生成アルゴリズムは、周知の技術であるので説明を省略する。 In addition, the encryption method is an order preserving encryption method (OPE method) in which the size relationship of the ciphertext matches the size relationship of the corresponding plaintext, and a searchable encryption method that can determine whether the plaintext matches in the encrypted state. In the case of the method, a secret key (common key) is generated. As described above, the encryption key and the decryption key may be different keys such as a set of a public key and a private key, or may be the same key such as a common key. Note that the key generation algorithm is a well-known technique, so the explanation is omitted.

鍵管理部204は、生成した鍵や鍵生成のためのパラメータ等を、例えば、記憶部203に記憶させる。鍵管理部204は、生成した鍵と、暗号方式やどのデータ(属性項目(カラム)ごとの属性値等)の暗号化に用いたか等とを対応付けて管理する。なお、鍵管理部204の機能を、データ提供サーバ200外にある鍵管理サーバ(図1において不図示)に持たせ、データ共有システム1における鍵管理を、鍵管理サーバに行わせるようにしてもよい。 The key management unit 204 causes the storage unit 203, for example, to store the generated keys and parameters for key generation. The key management unit 204 manages the generated key in association with the encryption method, which data (attribute value for each attribute item (column), etc.) was used for encryption, and the like. A key management server (not shown in FIG. 1) outside the data providing server 200 may have the function of the key management unit 204, and the key management in the data sharing system 1 may be performed by the key management server. good.

暗号化部205は、通信部201が取得した機微データの少なくとも一部の属性値を所定の暗号方式で暗号化する。所定の暗号方式には、通信部201が取得した機微データの少なくとも一部の属性値を暗号化状態のまま演算可能な暗号方式を含み、例えば、準同型暗号方式、順序保存暗号方式、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、検索可能暗号、SHA(Secure Hash Algorithm)、MD5(Message Digest algorithm 5)などである。なお、「演算」とは、加減乗除に関する計算、検索、分析に関する計算を含む。 The encryption unit 205 encrypts at least part of the attribute values of the sensitive data acquired by the communication unit 201 using a predetermined encryption method. The predetermined encryption method includes an encryption method that can calculate at least a part of the attribute value of the sensitive data acquired by the communication unit 201 in an encrypted state. Advanced Encryption Standard), DES (Data Encryption Standard), searchable encryption, SHA (Secure Hash Algorithm), MD5 (Message Digest algorithm 5), and the like. Note that "calculation" includes calculations related to addition, subtraction, multiplication and division, searches, and calculations related to analysis.

本実施形態では、暗号化部205は、機微データに含まれる属性項目の属性値のうち、データ形式が数値の場合は、準同型暗号方式(Paillier方式、Lifted-Ellgamal方式、Somewhat Homomorphic Encryption方式、Fully Homomorphic Encryption方式等)および/または順序保存暗号方式(OPE方式)を用いて暗号化する。なお、データ処理の内容に応じて、暗号方式により処理効率が異なるので、各属性項目は、準同型暗号方式で暗号化された属性値、順序保存暗号方式で暗号化された属性値、検索可能暗号方式で暗号化された属性値等、複数の暗号方式で保持しておいてもよい。また、データ形式が文字列の場合は、検索可能暗号方式、もしくは暗号文上で完全一致が可能なAES暗号等を用いて暗号化する。なお、データ形式ごとに適用する上記暗号方式は一例であって、どの属性項目の属性値について暗号化するか、また、どの暗号方式で暗号化するか等は、機微データを保有する組織が適宜決定してもよい。 In this embodiment, the encryption unit 205 uses a homomorphic encryption method (Paillier method, Lifted-Ellgamal method, Somewhat Homomorphic Encryption method, Fully Homomorphic Encryption method, etc.) and/or order preserving encryption method (OPE method). Since the processing efficiency differs depending on the encryption method depending on the content of data processing, each attribute item can be encrypted with homomorphic encryption, attribute values encrypted with order-preserving encryption, or searchable You may hold|maintain by several encryption methods, such as the attribute value encrypted by the encryption method. If the data format is a character string, it is encrypted using a searchable encryption method or an AES encryption that allows complete matching on the ciphertext. The above encryption method applied to each data format is just an example, and the organization that holds the sensitive data determines which attribute value to encrypt and which encryption method to use. may decide.

復号部206は、管理サーバ400からの復号要求(図5において詳述。)に応じ、復号鍵を用いて、管理サーバ400が受け付けた処理の要求に係る共有データの暗号化された属性値を復号する。より詳しくは、復号部206は、管理サーバ400からの復号要求がされた共有データのうち、鍵管理部204が管理する暗号鍵で暗号化した属性項目の属性値について、記憶部203から対応する復号鍵を取得して、暗号化した暗号方式に従って復号する。また、復号部206は、属性値だけでなく、上述の属性値を暗号化状態のまま演算可能な暗号方式で演算した実行結果も復号できる。なお、復号アルゴリズムは、周知の技術であるので説明を省略する。 In response to a decryption request (detailed in FIG. 5) from the management server 400, the decryption unit 206 uses the decryption key to convert the encrypted attribute value of the shared data related to the processing request accepted by the management server 400. Decrypt. More specifically, the decryption unit 206 decrypts, from the storage unit 203, the attribute values of the attribute items encrypted with the encryption key managed by the key management unit 204, among the shared data requested by the management server 400 to be decrypted. Get the decryption key and decrypt it according to the encrypted encryption method. In addition, the decryption unit 206 can decrypt not only the attribute value, but also the execution result obtained by calculating the above attribute value in an encrypted state using a cryptographic method. Note that the decoding algorithm is a well-known technique, so the explanation is omitted.

また、復号部206は、復号した属性値を含む共有データを制御部202に送る。制御部202は、通信部201を介して、共有データをネットワークNW等に接続するサーバ等に送信する。 Also, the decoding unit 206 sends shared data including the decoded attribute value to the control unit 202 . The control unit 202 transmits the shared data to a server or the like connected to the network NW or the like via the communication unit 201 .

(データ変換サーバ300の機能構成)
図4は、データ変換サーバ300の機能構成の一例を示す機能ブロック図である。図4を参照して、データ変換サーバ300の機能構成の一例について説明する。
(Functional configuration of data conversion server 300)
FIG. 4 is a functional block diagram showing an example of the functional configuration of the data conversion server 300. As shown in FIG. An example of the functional configuration of the data conversion server 300 will be described with reference to FIG.

データ変換サーバ300は、通信部301と、制御部302と、記憶部303と、を備える。 The data conversion server 300 includes a communication section 301 , a control section 302 and a storage section 303 .

通信部301は、端末装置100の通信部101と同様に、ネットワークNW等を介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。通信部301は、受信したデータを制御部302に送る。また、通信部301は、制御部302から受け取ったデータを、ネットワークNW等を介してサーバや装置等に送信する。なお、通信部301は、ネットワークNW等を介した装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。 The communication unit 301, like the communication unit 101 of the terminal device 100, has a communication interface circuit for communicating with a server, a device, or the like via a network NW or the like according to a predetermined communication protocol. The communication unit 301 sends the received data to the control unit 302 . Also, the communication unit 301 transmits data received from the control unit 302 to a server, a device, or the like via a network NW or the like. Note that the communication unit 301 transmits and receives data to and from a device or the like via a network NW or the like through a secure communication channel in which security is ensured.

制御部302は、端末装置100の制御部105と同様に、データ変換サーバ300の各機能を制御し、予め記憶部303(後述)に記憶されているプログラムに基づいて動作するCPU等のプロセッサである。制御部302は、データ提供サーバ200が提供する共有データに対し、開示レベルに関する情報(図5において詳述。)に基づいて、所定の変換を行って、開示データを生成する。制御部302は、通信部301に対し、生成した開示データを、処理の要求を送信した端末装置600へ送信するよう制御する。 The control unit 302, like the control unit 105 of the terminal device 100, controls each function of the data conversion server 300, and is a processor such as a CPU that operates based on a program stored in advance in a storage unit 303 (described later). be. The control unit 302 performs predetermined conversion on the shared data provided by the data providing server 200 based on the disclosure level information (detailed in FIG. 5) to generate disclosure data. The control unit 302 controls the communication unit 301 to transmit the generated disclosure data to the terminal device 600 that transmitted the processing request.

ここで、「所定の変換」は、属性値の抽象化、ノイズ付加、または置換を行う処理のいずれか一つを含む。属性値の抽象化とは、例えば、属性値の情報の粒度を粗くすることである。情報の粒度とは、情報の細かさであり、例えば、粒度が粗いほど、情報が単純化、概数化、グループ化され、粒度が細かいほど、具体化される。すなわち、粒度が粗いほど、情報を一意に特定することが困難になる。 Here, the "predetermined conversion" includes any one of the processes of abstraction, addition of noise, and replacement of attribute values. The abstraction of attribute values means, for example, coarsening the granularity of attribute value information. The granularity of information is the fineness of information. For example, the coarser the granularity, the more simplified, generalized, and grouped the information, and the finer the granularity, the more specific the information. That is, the coarser the granularity, the more difficult it is to uniquely identify information.

属性項目の内容に応じて、どのように属性値を変換するかは、予め、データを提供する者が開示レベルに関する情報として設定しておいてよい。 How the attribute value is to be converted according to the content of the attribute item may be set in advance by the data provider as information on the disclosure level.

例えば、属性項目が都道府県に対応する場合、開示レベルに関する情報として、都道府県名の粒度を変更し、都道府県名を地域名に変換して開示する旨の設定がされているときは、制御部302は、属性値の都道府県名を地域名に変換した開示データを生成してもよい。例えば、属性値が「東京」であった場合、制御部302は、「関東」(地域名)に変換した開示データを生成する。また、具体的な地域名ではなく、「地域1」のようなグループ名に変換した開示データを生成してもよい。また、属性項目が住所に対応する場合、丁目や番地を削除し、市町村や区名までに変換した開示データを生成してもよい。 For example, if the attribute item corresponds to prefectures, and the information on the disclosure level is set to change the granularity of prefecture names and convert prefecture names to region names for disclosure, the control The unit 302 may generate disclosure data by converting the prefecture name of the attribute value into an area name. For example, if the attribute value is "Tokyo", the control unit 302 generates disclosure data converted to "Kanto" (area name). Alternatively, disclosure data may be generated by converting a group name such as "region 1" instead of a specific region name. Further, when the attribute item corresponds to the address, the disclosure data may be generated by deleting the chome and street address and converting the name to the name of the city, town, village or ward.

また、例えば、属性項目が売り上げに対応する場合、開示レベルに関する情報として、数値の粒度を変更し、数値を概数に変換して開示する旨の設定がされているときは、制御部302は、属性値の数値を概数に変換した開示データを生成してもよい。例えば、属性値が「4,329,450円」であった場合、制御部302は、「4,300,000円」のような概数に変換した開示データを生成する。なお、どの位までの概数にするかは、機微データの保有者等が開示レベルに応じて適宜設定することができる。例えば、百万の位までの概数、一万の位までの概数のように、段階的に異ならせてもよい。また、属性項目に係る属性値のうち、特徴値や最頻値のみ概数に変換して開示するようにしてもよい。 Further, for example, when the attribute item corresponds to sales, and the information on the disclosure level is set to change the granularity of the numerical value and convert the numerical value into an approximate number for disclosure, the control unit 302 Disclosure data may be generated by converting numerical values of attribute values into round numbers. For example, if the attribute value is "4,329,450 yen", the control unit 302 generates disclosure data converted into an approximate number such as "4,300,000 yen". It should be noted that the extent to which the approximation should be made can be appropriately set by the owner of the sensitive data, etc., according to the disclosure level. For example, it may be changed step by step, such as an approximate number up to the million place and an approximate number up to the 10,000 place. Further, only the characteristic value and the mode value among the attribute values related to the attribute items may be converted into approximate numbers and disclosed.

また、例えば、属性項目が製品ID(製品名)に対応する場合、開示レベルに関する情報として、製品IDの粒度を変更し、製品IDを製品のカテゴリ(種類)に変換して開示する旨の設定がされているときは、制御部302は、属性値の製品IDを製品のカテゴリに変換した開示データを生成してもよい。例えば、属性値が「SL9018BL」のような、製品を識別する製品IDの場合は、製品のカテゴリである「事務用品」に変換した開示データを生成する。なお、設定される開示レベルによって、製品のサブカテゴリに変換するようにしてもよい。例えば、「事務用品」のサブカテゴリとして、「封筒」や「クリップ」というように、さらに製品の種類を特定するような情報を開示してもよい。 Also, for example, when an attribute item corresponds to a product ID (product name), as information on the disclosure level, the granularity of the product ID is changed and the product ID is converted into a product category (type) and disclosed. , the control unit 302 may generate disclosure data in which the attribute value product ID is converted into the product category. For example, if the attribute value is a product ID that identifies a product, such as "SL9018BL", the disclosed data is generated by converting it into the product category "office supplies". It should be noted that the product may be converted into subcategories according to the set disclosure level. For example, a subcategory of "office supplies" may disclose information that further identifies the type of product, such as "envelopes" and "clips."

また、例えば、属性項目が年齢に対応する場合は、数値の粒度を変更し、年齢によって区分けした層(年代)に変換した開示データを生成してもよい。例えば、属性値が「26歳」であった場合、制御部302は、「20代」に変換した開示データを生成する。 Further, for example, when the attribute item corresponds to age, the granularity of numerical values may be changed to generate disclosure data converted into age groups (eras). For example, if the attribute value is "26 years old", the control unit 302 generates disclosure data converted to "20's".

また、制御部302は、所定の変換として、データ提供サーバ200が提供する共有データに対し、属性値に所定の数値幅を付加して、開示データを生成してもよい。例えば、属性項目が年齢や体重に対応する場合は、差分プライバシー(Differential Privacy)の手法を用い、数値にノイズ(所定の数値幅)を付加する変換をしてもよい。例えば、属性値が「26歳」であった場合は、「23~29歳」のように、3歳の幅を持たせる変換をして開示データを生成する。 Further, the control unit 302 may generate disclosure data by adding a predetermined numerical range to the attribute value of the shared data provided by the data providing server 200 as a predetermined conversion. For example, if the attribute item corresponds to age or weight, a differential privacy method may be used to add noise (predetermined numerical value width) to the numerical value. For example, if the attribute value is "26 years old", disclosure data is generated by conversion to give a range of 3 years old, such as "23 to 29 years old".

このように属性値を生データのまま開示するのではなく、所定の変換をして開示することで、機微データの内容を保護しつつ、分析対象として意味のあるデータとして共有することができる。なお、上述した所定の変換は、一例であり、これらに限られない。 In this way, by disclosing attribute values after converting them in a predetermined manner instead of disclosing them as raw data, it is possible to protect the contents of sensitive data and share them as meaningful data for analysis. Note that the predetermined conversion described above is an example, and is not limited to these.

一方、開示が許可されていない属性項目の属性値については、暗号化された属性値のまま開示してもよいが、黒塗り等のマスキングや「*」等の符号を用いた伏字に置換した開示データを生成してもよい。また、不可逆的なハッシュ等を含む暗号化データや、元のデータを学習して生成させたデータ、ランダムに生成させたデータに変換したり、付加して開示データを生成してもよい。また、開示が許可されていない属性項目の属性値について、非公開である旨のメッセージや、開示するために必要な課金額等の記載に置換した開示データを生成してもよい。 On the other hand, the attribute values of attribute items that are not permitted to be disclosed may be disclosed as encrypted attribute values. Disclosure data may be generated. Disclosure data may also be generated by converting or adding encrypted data including irreversible hash data, data generated by learning the original data, or randomly generated data. Disclosure data may also be generated by replacing the attribute values of attribute items whose disclosure is not permitted with a message indicating that they are private, or a description of the billing amount required for disclosure.

また、本実施形態では、制御部302は、生成した開示データを、処理の要求を送信した端末装置600に送信するが、制御部302は、生成した開示データを管理サーバ400に送信し、管理サーバ400から、処理の要求を送信した端末装置600に、当該開示データを送信するようにしてもよい。 In addition, in the present embodiment, the control unit 302 transmits the generated disclosure data to the terminal device 600 that transmitted the processing request. The disclosure data may be transmitted from the server 400 to the terminal device 600 that transmitted the request for processing.

記憶部303は、端末装置100の記憶部103と同様の記憶装置等を有する。また、記憶部303は、データ変換サーバ300の各種処理に用いられるコンピュータプログラム等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶部303にインストールされてもよい。記憶部303は、上述した、属性値に対する所定の変換について、変換の対応関係を示すテーブルを記憶する。対応関係を示すテーブルについては後述(図8)する。 The storage unit 303 has a storage device and the like similar to the storage unit 103 of the terminal device 100 . Further, the storage unit 303 stores computer programs and the like used for various processes of the data conversion server 300 . The computer program may be installed in the storage unit 303 from a computer-readable portable recording medium using a known setup program or the like. The storage unit 303 stores a table indicating the conversion correspondence relationship for the above-described predetermined conversions for attribute values. A table showing the correspondence will be described later (FIG. 8).

(管理サーバ400の機能構成)
図5は、管理サーバ400の機能構成の一例を示す機能ブロック図である。図5を参照して、管理サーバ400の機能構成の一例について説明する。
(Functional configuration of management server 400)
FIG. 5 is a functional block diagram showing an example of the functional configuration of the management server 400. As shown in FIG. An example of the functional configuration of the management server 400 will be described with reference to FIG.

管理サーバ400は、通信部401と、記憶部410と、制御部420と、を備える。 The management server 400 includes a communication section 401 , a storage section 410 and a control section 420 .

通信部401は、端末装置100の通信部101と同様に、管理サーバ400がネットワークNW等を介して各サーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。通信部401は、受信したデータを制御部420に送り、また、制御部420から受け取ったデータを、ネットワークNW等を介してサーバや装置等に送信する。 The communication unit 401, like the communication unit 101 of the terminal device 100, has a communication interface circuit for the management server 400 to communicate with each server, device, etc. via the network NW or the like according to a predetermined communication protocol. The communication unit 401 sends the received data to the control unit 420, and also sends the data received from the control unit 420 to a server, an apparatus, or the like via the network NW or the like.

また、通信部401は、共有データベース500に格納される共有データに対する処理の要求を受け付ける「受付部」として機能する。なお、通信部401は、ネットワークNW等を介した装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。 Also, the communication unit 401 functions as a “receiving unit” that receives requests for processing shared data stored in the shared database 500 . Note that the communication unit 401 transmits and receives data to and from a device or the like via a network NW or the like through a secure communication channel in which security is ensured.

記憶部410は、端末装置100の記憶部103と同様の記憶装置等を有する。また、記憶部410は、管理サーバ400の各種処理に用いられるコンピュータプログラム等が格納される。 The storage unit 410 has a storage device and the like similar to the storage unit 103 of the terminal device 100 . Further, the storage unit 410 stores computer programs and the like used for various processes of the management server 400 .

記憶部410は、機微データの属性項目ごとに設定される処理の権限に関する情報である設定ファイル411を有する。処理の権限は、属性項目ごとの属性値の開示に関する権限を含む。属性値の開示に関する権限は、開示を許可するユーザに関する情報を含み、例えば、プラットフォームに参加する組織のうち、機微データの開示を許可する組織を示す情報である。なお、当該組織のうち、部署やグループ、職位が一定以上の者、のように、組織内における集団や、職位に関する情報を含んでもよい。また、メールアドレスやドメイン、開示を許可する個人を特定する情報を含んでもよい。 The storage unit 410 has a setting file 411 that is information about processing authority set for each attribute item of sensitive data. The authority to process includes the authority to disclose attribute values for each attribute item. The authority for disclosure of attribute values includes information about users who are permitted to disclose, for example, information indicating organizations permitted to disclose sensitive data among organizations participating in the platform. It should be noted that the information may also include information about groups within the organization and job titles, such as departments, groups, and persons with job titles above a certain level in the organization. It may also include email addresses, domains, and information identifying individuals authorized to be disclosed.

また、属性値の開示に関する権限は、属性値に対する開示レベルに関する情報を含む。例えば、開示レベルを複数の段階に分け、属性値の生データを開示する(レベル高)、属性値(数値や文字)を所定の変換をして開示する(レベル中)、属性値の開示を許可しない(レベル低)、のようにレベル分けしてもよい。 Also, the attribute value disclosure authority includes information about the disclosure level for the attribute value. For example, the disclosure level is divided into multiple stages, and the raw data of the attribute value is disclosed (high level), the attribute value (numerical value or character) is disclosed after a predetermined conversion (medium level), and the attribute value is disclosed. It may be divided into levels such as not permitted (low level).

また、属性値の開示に関する権限は、複数の段階を有する入力要素を用いて設定されてもよい。例えば、開示レベルの複数の段階について、数値入力や、スライドバー等の入力要素を用いて設定されてもよい。開示レベルを複数の段階(例えば、4以上の段階)に分けることで、情報の粒度をより細かく変更できるようにしてもよい。 Also, the authority to disclose attribute values may be set using an input element having multiple stages. For example, a plurality of disclosure levels may be set using input elements such as numerical input and slide bars. By dividing the disclosure level into a plurality of stages (for example, four or more stages), the granularity of information may be changed more finely.

このように、開示レベルに応じて、属性値の開示内容を段階的に異ならせることができる。例えば、開示データは、復号された属性値、所定の変換がされた属性値、暗号化された属性値のうちの少なくとも一つを含む。したがって、開示レベルに関する情報に基づいて、開示データが生成され、ユーザの端末装置に表示されるため、機微データを提供したユーザにとっては、セキュリティレベルを管理しつつ共有することができ、また、機微データを利用するユーザにとっては、自組織内のデータベースであるかのようにデータ利用することができる。 In this way, it is possible to change the disclosure contents of the attribute value step by step according to the disclosure level. For example, the disclosure data includes at least one of a decrypted attribute value, a predetermined transformed attribute value, and an encrypted attribute value. Therefore, disclosure data is generated and displayed on the user's terminal device based on the information about the disclosure level. Users who use the data can use the data as if it were a database within their own organization.

また、例えば、課金額によって、開示する内容を異ならせることで、すべてを非開示にする場合よりも、機微データを利用するユーザに対し、詳細な内容を知りたいという意欲を高め、利用動機やより高い料金を支払う動機付けを与える事ができる。 In addition, for example, by changing the content to be disclosed depending on the charge amount, users who use sensitive data will be more motivated to know detailed content than when not disclosing everything, Motivation to pay higher fees can be given.

制御部420は、全体制御部421と、権限管理部422と、演算実行部423と、復号要求部424と、を有する。全体制御部421は、端末装置100の制御部105と同様に、管理サーバ400の各機能を制御し、予め記憶部410に記憶されているプログラムに基づいて動作するCPU等のプロセッサである。 The control unit 420 has an overall control unit 421 , an authority management unit 422 , an arithmetic execution unit 423 and a decryption request unit 424 . The overall control unit 421 is a processor such as a CPU that controls each function of the management server 400 and operates based on a program stored in the storage unit 410 in advance, like the control unit 105 of the terminal device 100 .

権限管理部422は、機微データの属性項目ごとに設定される処理の権限を管理する。権限管理部422は、例えば、端末装置100等において入力された、機微データの属性項目ごとに設定される処理の権限に関する情報を、通信部401を介して受け付け、設定ファイル411として記憶部410に記憶させる。なお、処理の権限に関する情報は、データ提供サーバ200において設定され、管理サーバ400と共有してもよいし、予め、データ共有システム1の運営者によって設定されていてもよい。 The authority management unit 422 manages processing authority set for each attribute item of sensitive data. The authority management unit 422 receives, for example, information about processing authority set for each attribute item of sensitive data, which is input from the terminal device 100 or the like, via the communication unit 401, and stores it in the storage unit 410 as a setting file 411. Memorize. The information about the processing authority may be set in the data providing server 200 and shared with the management server 400, or may be set in advance by the operator of the data sharing system 1. FIG.

また、権限管理部422は、機微データの属性項目の内容に応じて、開示レベルを設定しておいてもよい。例えば、属性項目が「氏名」のような、個人を特定する情報の場合は、属性値を非開示(開示レベル低)と自動的に設定してもよい。また、権限管理部422は、受け付けた処理の権限に関する情報に基づいて、属性項目の内容と、実際に行われた所定の変換との関係を学習し、開示レベルを自動的に設定するようにしてもよい。 Also, the authority management unit 422 may set the disclosure level according to the content of the attribute item of the sensitive data. For example, if the attribute item is information that identifies an individual, such as "name", the attribute value may be automatically set to non-disclosure (low disclosure level). Also, the authority management unit 422 learns the relationship between the content of the attribute item and the predetermined conversion actually performed based on the information about the authority for the received processing, and automatically sets the disclosure level. may

また、処理の権限に関する情報は、データを提供したデータ提供サーバ200において管理してもよい。この場合、権限管理部422は、共有データに対する閲覧の処理の要求を通信部401が受け付けるごとに、当該共有データを提供したデータ提供サーバ200に対し、開示可否等を問い合わせる。 Also, the information on the processing authority may be managed by the data providing server 200 that provided the data. In this case, every time the communication unit 401 receives a request to browse the shared data, the authority management unit 422 inquires of the data providing server 200 that provided the shared data about whether or not to disclose the shared data.

なお、本実施形態では、処理の権限は、管理サーバ400において管理しているが、データ提供サーバ200において管理するようにしてもよいし、データ提供サーバ200および管理サーバ400の両方で管理するようにしてもよい。 In this embodiment, the processing authority is managed by the management server 400, but may be managed by the data providing server 200, or managed by both the data providing server 200 and the management server 400. can be

演算実行部423は、共有データに対する演算の処理を実行する。そして、演算実行部423は、処理の実行結果を復号要求部424(後述)へ送る。ここで、演算の処理とは、共有データの属性項目の少なくとも一部を対象とする検索処理または統計処理またはその両方の処理を含む。本実施形態では、検索処理は、所定の条件を満たすレコードを抽出する処理のことをいう。また、統計処理は、例えば、集計用の関数により行う処理であって、代表的には、テーブルの行数(レコード)を数える処理(COUNT関数)、テーブルの数値列のデータを合計する処理(SUM関数)、テーブルの数値列のデータを平均する処理(AVG関数)、テーブルの任意列のデータの最大値を求める処理(MAX関数)、テーブルの任意列のデータの最小値を求める処理(MIN関数)などであるが、これらに限られない。対象セグメントごとにまとめる「GROUP BY」、順序を昇順・降順に並び替える「ORDER BY」のようなSQL構文であってもよい。 The calculation execution unit 423 executes calculation processing on shared data. Then, the calculation execution unit 423 sends the execution result of the process to the decryption request unit 424 (described later). Here, the arithmetic processing includes search processing and/or statistical processing for at least part of the attribute items of shared data. In this embodiment, search processing refers to processing for extracting records that satisfy a predetermined condition. Statistical processing is, for example, processing performed by an aggregation function. SUM function), processing for averaging data in numeric columns of a table (AVG function), processing for obtaining the maximum value of data in any column of a table (MAX function), processing for obtaining the minimum value of data in any column of a table (MIN function), etc., but not limited to these. SQL syntax such as "GROUP BY" for grouping by target segment and "ORDER BY" for rearranging in ascending/descending order may be used.

なお、本実施形態では、演算の処理は、管理サーバ400において実行しているが、データ提供サーバ200や、共有データベース500に、演算実行部423と同様の機能を持たせ、演算の処理を実行させてもよい。 Note that, in the present embodiment, computation processing is executed in the management server 400, but the data providing server 200 and the shared database 500 are provided with the same function as the computation execution unit 423 to execute computation processing. You may let

復号要求部424は、処理の要求に係る共有データの属性項目に設定された処理の権限に基づいて、データ提供サーバ200に対し、当該属性項目に係る属性値の復号要求を行う。復号要求部424は、例えば、通信部401が閲覧の処理の要求を、端末装置600-1から受け付けた場合、設定ファイル411にアクセスして、当該処理の要求に係る共有データの属性項目に設定された処理の権限を参照する。復号要求部424は、当該処理の権限と、端末装置600-1に関連付けられたユーザの識別子等に基づいて、端末装置600-1に関連付けられたユーザが、開示が許可されたユーザであるかを判断する。復号要求部424は、端末装置600-1のユーザが、開示が許可されたユーザであると判断した場合は、データ提供サーバ200に対し、処理の要求に係る共有データの属性値の復号要求を行う。なお、ユーザについて「開示が許可された」とは、生データの開示および、所定の変換をして開示されることが許可されていることを含む。 The decryption request unit 424 requests the data providing server 200 to decrypt the attribute value related to the attribute item based on the processing authority set for the attribute item of the shared data related to the processing request. For example, when the communication unit 401 receives a browse processing request from the terminal device 600-1, the decryption request unit 424 accesses the setting file 411 and sets the attribute item of the shared data related to the processing request. Refers to the permissions for the processed actions. Decryption request unit 424 determines whether the user associated with terminal device 600-1 is a user whose disclosure is permitted based on the authority for the processing and the identifier of the user associated with terminal device 600-1. to judge. If the user of terminal device 600-1 is determined to be a user whose disclosure is permitted, decryption request unit 424 requests data providing server 200 to decrypt the attribute value of the shared data related to the processing request. conduct. It should be noted that the fact that the user is "permitted to disclose" includes the disclosure of raw data and the permission of disclosure after predetermined conversion.

なお、本実施形態では、上述の復号要求に、共有データベース500に格納された共有データのうち、処理の要求に係る共有データを含ませる。しかしながら、データ提供サーバ200において、管理サーバ400に送信した機微データが記憶されている場合は、復号要求に共有データを含ませなくてもよい。また、復号要求には、開示レベルに関する情報を含ませてもよい。データ変換サーバ300は、データ提供サーバ200を介して取得した開示レベルに関する情報に基づいて、所定の変換を行う。 Note that in the present embodiment, of the shared data stored in the shared database 500, the shared data related to the processing request is included in the above-described decryption request. However, if the sensitive data transmitted to the management server 400 is stored in the data providing server 200, the shared data need not be included in the decryption request. The decryption request may also contain information about the disclosure level. The data conversion server 300 performs predetermined conversion based on the information about the disclosure level acquired via the data providing server 200 .

また、復号要求部424は、処理の要求に係る共有データに含まれるレコード数に基づいて、復号要求を行ってもよい。処理の要求に係る共有データのレコード数が、所定の数以下(例えば、1個。)の場合は、共有データに所定の変換を行ったとしても、データが特定できるおそれがある。したがって、復号要求部424は、レコード数が所定の数以下の場合は、復号要求しないと判断してもよい。なお、データが特定できるおそれがある場合に復号要求しない条件については、レコード数に限らず、生データとして開示が許可されている属性項目の組み合わせなどに基づいてもよい。 Further, the decryption request unit 424 may issue a decryption request based on the number of records included in the shared data related to the processing request. If the number of records of the shared data related to the processing request is less than or equal to a predetermined number (for example, 1), there is a possibility that the data can be identified even if the shared data is subjected to a predetermined conversion. Therefore, the decryption request unit 424 may determine that decryption is not requested when the number of records is equal to or less than a predetermined number. Note that the condition for not requesting decryption when there is a possibility that data can be identified is not limited to the number of records, and may be based on a combination of attribute items permitted to be disclosed as raw data.

また、復号要求部424は、演算実行部423から実行結果を受け付けると、演算の処理の対象である属性項目を含む機微データを提供したデータ提供サーバ200に対し、当該データ提供サーバ200が管理する復号鍵によって実行結果を復号するよう要求する。すなわち、演算の処理の対象である属性項目の属性値について、統計処理のため暗号化状態のまま演算を行った実行結果は、当該属性項目を含む機微データを提供したデータ提供サーバ200が管理する暗号鍵で暗号化されている。このため、復号処理は、暗号鍵に対応する復号鍵を管理するデータ提供サーバ200によって行われる必要がある。そこで、復号要求部424は、処理の要求に係る機微データを提供したデータ提供サーバ200に対し、実行結果の復号要求を行う。データ提供サーバ200の復号部206は、実行結果の復号要求に応じて、上述の共有データの暗号化された属性値の復号と同様に、機微データを暗号化した暗号鍵に対応する復号鍵を用いて、実行結果を復号する。なお、演算の実行結果の開示に関しても、上述のように所定の変換をして開示データを生成してもよい。 Further, when the decryption request unit 424 receives the execution result from the calculation execution unit 423, the data providing server 200 manages the data providing server 200 that provided the sensitive data including the attribute item to be processed for the calculation. Requests decryption of execution result by decryption key. In other words, the data providing server 200 that provided the sensitive data including the attribute item manages the result of performing the operation on the attribute value of the attribute item to be processed while it is in an encrypted state for statistical processing. Encrypted with an encryption key. Therefore, the decryption process must be performed by the data providing server 200 that manages the decryption key corresponding to the encryption key. Therefore, the decryption request unit 424 requests the data providing server 200 that provided the sensitive data related to the processing request to decrypt the execution result. The decryption unit 206 of the data providing server 200, in response to the decryption request for the execution result, generates a decryption key corresponding to the encryption key used to encrypt the sensitive data in the same manner as the decryption of the encrypted attribute value of the shared data described above. to decrypt the execution result. Note that disclosure data may be generated by performing a predetermined conversion as described above also regarding the disclosure of the execution result of the calculation.

図6は、機微データのデータ構造の一例を示した図である。図6において、テーブル1000と、テーブル1100が示されている。 FIG. 6 is a diagram showing an example of the data structure of sensitive data. In FIG. 6, a table 1000 and a table 1100 are shown.

本実施形態において、機微データは、会社Aの顧客に関する情報である。テーブル1000は、機微データとして、属性項目1010と、レコード1021,1022,1023と、を含む。 In this embodiment, the sensitive data is information about Company A's customers. Table 1000 includes attribute item 1010 and records 1021, 1022, and 1023 as sensitive data.

属性項目1010は、項目(カラム名)として、「会員番号」、「氏名」、「住所」、「生年月日」、「年齢」、「性別」、「メールアドレス」、「購入金額」などを含む。 Attribute items 1010 include items (column names) such as “membership number”, “name”, “address”, “date of birth”, “age”, “gender”, “e-mail address”, and “purchase amount”. include.

レコードは、テーブルの一行分のデータであり、属性項目に対応する属性値を含む。図6の例では、レコード1021,1022,1023の3レコードが含まれている。例えば、レコード1021の属性項目「会員番号」に対応する属性値は「12345」である。同様に、「氏名」は「倉持修一」、「住所」は「東京都東大和市中央4-2-7」、「生年月日」は「1951年3月8日」、「年齢」は「71」、「性別」は「男」、「メールアドレス」は「kuramochi38@example.org」、「購入金額」は「35210」に対応する。 A record is one row of data in a table and includes attribute values corresponding to attribute items. In the example of FIG. 6, three records 1021, 1022, and 1023 are included. For example, the attribute value corresponding to the attribute item "member number" of record 1021 is "12345". Similarly, "Name" is "Shuichi Kuramochi", "Address" is "4-2-7 Chuo, Higashiyamato-shi, Tokyo", "Date of Birth" is "March 8, 1951", and "Age" is " 71", "male" for "gender", "kuramochi38@example.org" for "mail address", and "35210" for "purchase amount".

テーブル1100は、テーブル1000で示される機微データの属性値がセルごとに暗号化されている。図3において述べたように、属性値が数値である場合は、準同型暗号方式および/または順序保存暗号方式で暗号化し、属性値が文字列である場合は、AESおよび/または検索可能暗号方式で暗号化してもよい。なお、暗号方式は例示であって、上述の方式に限らない。 In table 1100, attribute values of sensitive data shown in table 1000 are encrypted for each cell. As described in FIG. 3, if the attribute value is numeric, it is encrypted with homomorphic encryption and/or order-preserving encryption, and if the attribute value is a string, it is encrypted with AES and/or searchable encryption. can be encrypted with Note that the encryption method is an example, and is not limited to the method described above.

図6に示すように、属性値が暗号化されると、数字やアルファベット等のランダムな羅列になる。このため、暗号化された機微データをユーザが閲覧しても、データの意味を理解することはできない。なお、本実施形態では、属性項目は暗号化せず、プラットフォームに参加するユーザには属性項目名は共有される。どのような属性項目が共有データに含まれているかをユーザに知らせることで、データ開示のための料金を支払う動機付けを与えることができる。 As shown in FIG. 6, when the attribute value is encrypted, it becomes a random string of numbers, alphabets, and the like. Therefore, even if a user browses the encrypted sensitive data, he/she cannot understand the meaning of the data. In this embodiment, attribute items are not encrypted, and attribute item names are shared among users participating in the platform. By informing the user of what attribute items are included in the shared data, it is possible to motivate the user to pay a fee for data disclosure.

また、属性値は、セルごとに暗号化する他に、カラムごとに暗号化してもよい。属性値を、1レコードごとに暗号化したデータと、カラム全体で暗号化したデータとを生成し、要求される処理の内容に応じて復号する対象を選択できるようにしてもよい。1レコードごとに暗号化したデータは検索や統計の処理には適しているが、データサイズが大きくなる一方で、カラムごとに暗号化したデータは、閲覧の処理については、レコードごとに暗号化したデータよりも復号の処理工数が少なくなるという効果がある。 Also, the attribute value may be encrypted for each column instead of being encrypted for each cell. Attribute values may be generated by encrypting data for each record and by encrypting the entire column, so that the decryption target can be selected according to the content of the requested processing. Encrypted data for each record is suitable for search and statistical processing, but the data size increases, while data encrypted for each column is encrypted for each record for browsing. There is an effect that the processing man-hours for decoding are less than for data.

図7は、処理の権限を設定する画面の一例を示す図である。図7を参照して、属性項目ごとの属性値の開示に関する権限の設定例について説明する。ユーザは、例えば、データ共有システム1のポータルサイトにアクセスし、端末装置等に管理画面を表示させ、当該システム1に提供する機微データの処理の権限を、ポータルサイトの管理画面を介して設定できるようにしてもよい。 FIG. 7 is a diagram showing an example of a screen for setting processing authority. With reference to FIG. 7, a setting example of authority regarding disclosure of attribute values for each attribute item will be described. For example, the user accesses the portal site of the data sharing system 1, displays a management screen on a terminal device, etc., and sets the authority for processing sensitive data provided to the system 1 via the management screen of the portal site. You may do so.

テーブル2000は、属性値の開示に関する権限を、開示の対象であるユーザ(組織等)ごとに、段階的にスライドバーで開示レベルを示している。図7の例では、3段階の開示レベルがあり、開示レベル3は属性値を生データで開示、開示レベル2は属性値を所定の変換をして開示、開示レベル1は属性値を非開示、という開示に関する権限が設定される。すなわち、属性項目「項目1」では、会社Bおよび会社Cに対しては開示レベル3、会社Dに対しては開示レベル2、会社Eに対しては開示レベル1が設定されている。なお、開示レベル1(非開示)の場合、内容が分からないように開示されるが、例えば、属性値が暗号化された値で開示したり、属性値が「非開示」である旨の表示や、伏字等のマスキング、開示するための課金額等の表示にしてもよい。 The table 2000 indicates the disclosure level of the authority for disclosure of attribute values by a slide bar step by step for each user (organization, etc.) who is the disclosure target. In the example of FIG. 7, there are three levels of disclosure. Disclosure level 3 discloses the attribute value as raw data, disclosure level 2 discloses the attribute value after a predetermined conversion, and disclosure level 1 does not disclose the attribute value. , The authority for disclosure is set. That is, in the attribute item "item 1", disclosure level 3 is set for company B and company C, disclosure level 2 is set for company D, and disclosure level 1 is set for company E. In addition, in the case of disclosure level 1 (non-disclosure), the content is disclosed in such a way that it cannot be understood. Alternatively, it may be possible to mask off characters, etc., or display the billing amount for disclosure.

なお、属性値の開示に関する権限は、図7のようなスライドバー以外にも、数値入力であったり、チェックボックスであったり、複数の段階を有する入力要素を用いて設定されてよい。また、組織ごとに設定するのではなく、一括選択・解除できるようにしたり、属性項目の内容によって、よく設定される開示レベルを初期設定としてユーザに提示したりするようにしてもよい。また、図7では、開示レベルが3段階であるが、これよりも多い段階に区分して、開示する情報の粒度を細かく変更できるようにしてもよい。 In addition to the slide bar shown in FIG. 7, the authority to disclose the attribute value may be set using an input element having a plurality of stages, such as a numerical input, a check box, or the like. Also, instead of setting for each organization, it may be possible to collectively select/cancel, or to present to the user a disclosure level that is often set according to the content of the attribute item as an initial setting. In addition, although there are three levels of disclosure in FIG. 7, it may be divided into more levels so that the granularity of information to be disclosed can be finely changed.

テーブル2000において設定された処理の権限に関する情報は、管理サーバ400の設定ファイル411として記憶される。 Information about the processing authority set in the table 2000 is stored as the setting file 411 of the management server 400 .

図8は、所定の変換の対応関係の一例を示す図である。例えば、データ変換サーバ300は、属性項目の属性値について、テーブル3000に基づいて、所定の変換を行う。なお、テーブル3000は、データ提供サーバ200や、管理サーバ400から取得してもよい。 FIG. 8 is a diagram showing an example of a correspondence relationship between predetermined conversions. For example, the data conversion server 300 performs predetermined conversion based on the table 3000 for attribute values of attribute items. Note that the table 3000 may be acquired from the data providing server 200 or the management server 400 .

テーブル3000は、属性項目ごとの属性値の変換例を示している。例えば、属性項目「会員番号」に対しては、「ランダマイズ」(数字をランダムに並べ替え)に変換する。例えば、属性項目「住所」に対しては、住所を市町村名までに変換する。属性項目「生年月日」に対しては、生年月日を西暦までに変換する。属性項目「年齢」に対しては、年齢を年代に変換する。属性項目「購入金額」に対しては、上1桁までの位の概数に変換する。 A table 3000 shows an example of attribute value conversion for each attribute item. For example, the attribute item "membership number" is converted to "randomize" (numbers are randomly rearranged). For example, for the attribute item "address", the address is converted into the name of the municipality. For the attribute item "date of birth", the date of birth is converted to the Western calendar. For the attribute item "age", convert the age to the age. The attribute item "Purchase Amount" is converted to an approximate number up to the first digit.

なお、「所定の変換」として、開示レベルに応じて、さらに細かく変換を定義してもよい。例えば、住所は、市町村名ではなく、情報の粒度を粗くして、地域(関東、東北など)にしてもよいし、地域名ではなく、クラスタリングしたグループで表示するようにしてもよい。 Note that as the “predetermined conversion”, the conversion may be defined in more detail according to the disclosure level. For example, the address may be displayed in a region (Kanto, Tohoku, etc.) with a coarse granularity of information instead of the name of the municipality, or may be displayed in a clustered group instead of the name of the region.

また、属性項目の属性値に対する「所定の変換」を、ユーザがプルダウンなどで複数の選択肢から選択できるようにしてもよい。例えば、図6において説明したテーブル1000の属性項目を選択すると、プルダウンで、変換の方法が提示され、ユーザが提示された方法の中から選択できるようにしておいてもよい。選択肢として提示する変換は、予めシステムの運営側が設定しておいてもよいし、過去に選択された変換の方法を機械学習して、選択される可能性が高い方法を提案するようにしてもよい。また、選択された変換の方法は、テーブル1000において、表示されるようにしておいてもよい。 In addition, the user may be allowed to select the "predetermined conversion" for the attribute value of the attribute item from a plurality of options using a pull-down or the like. For example, when an attribute item in the table 1000 described with reference to FIG. 6 is selected, conversion methods may be presented in a pulldown so that the user can select from among the presented methods. The conversions presented as options may be set in advance by the operator of the system, or machine learning of the conversion methods selected in the past may be used to suggest a method with a high probability of being selected. good. Also, the selected conversion method may be displayed in the table 1000 .

図9は、開示データの例を示す図である。図9を参照して、図6で示した機微データ(図6のテーブル1000参照)に基づいて生成された開示データの例を説明する。共有データの閲覧を要求したユーザには、開示データ4000や5000のようなデータが提供され、ディスプレイなどに表示される。ユーザに設定された処理の権限によって、表示されるデータの内容が異なる。 FIG. 9 is a diagram showing an example of disclosure data. An example of disclosure data generated based on the sensitive data shown in FIG. 6 (see table 1000 in FIG. 6) will be described with reference to FIG. Data such as disclosed data 4000 and 5000 are provided to the user who requested to view the shared data, and displayed on a display or the like. The content of the displayed data differs depending on the processing authority set for the user.

開示データ4000において、属性項目「氏名」、「生年月日」、「メールアドレス」は、非開示のデータである。属性項目「氏名」、「生年月日」は暗号化された属性値が記載されており、属性項目「メールアドレス」は「******」のような伏字(マスキング)が記載されている。暗号化した値のまま表示するか、マスキングで表示するかは、機微データを提供するユーザやシステム側の事業者が適宜設定してもよい。 In the disclosure data 4000, the attribute items “name”, “date of birth”, and “mail address” are non-disclosure data. The attribute items "Name" and "Date of Birth" contain encrypted attribute values, and the attribute item "Email Address" contains masking characters such as "****". there is Whether to display the encrypted value as it is or to display it with masking may be appropriately set by the user who provides the sensitive data or the operator of the system.

属性項目「性別」は、生データが開示されている。すなわち、暗号化された属性値を復号した属性値が記載されている。 Raw data is disclosed for the attribute item "gender". That is, the attribute value obtained by decrypting the encrypted attribute value is described.

属性項目「会員番号」は、数字をランダムに並べ替えた値が記載されている。属性項目「住所」は、住所を市町村名までに変換したもの、属性項目「年齢」は、年齢を年代に変換したもの、属性項目「購入金額」は、金額を上1桁の概数に変換したものが記載されている。 The attribute item "membership number" describes values obtained by rearranging numbers at random. The attribute item "address" is the address converted to the municipality name, the attribute item "age" is the age converted to the age, and the attribute item "purchase amount" is the amount converted to the first digit. things are described.

開示データ5000は、機微データ1000に基づいて生成された開示データであるが、開示データ4000とは開示される内容が異なる。 The disclosure data 5000 is disclosure data generated based on the sensitive data 1000, but differs from the disclosure data 4000 in the disclosed content.

開示データ5000において、下から2行分のレコードは、ダミーデータである。生データを学習して生成されたデータであったり、ランダムに生成させたデータであったりしてもよい。一定数以上のレコードを含むデータの閲覧を要求されたが、もともとの共有データに含まれるレコード数が足りない場合などにダミーデータが追加される。 In the disclosed data 5000, the records for two rows from the bottom are dummy data. It may be data generated by learning raw data, or data generated randomly. Dummy data is added when, for example, the number of records included in the original shared data is insufficient to view data that contains more than a certain number of records.

属性項目「住所」は、住所を地域名に変換したものが記載されている。属性項目「年齢」は、年齢に、「±3」をランダムに加算して変換した値が記載されている。なお、属性項目「年齢」について、具体的な年齢を開示データとする場合は、属性項目「生年月日」を強制的に非開示にする設定にしてもよい。年齢から、生年月日の誕生年が分かってしまう場合があるからである(その逆も同様である。)。属性項目の組み合わせによって、どちらかの生データが分かってしまうような場合を予め登録しておき、開示する組み合わせの禁忌としておいてもよい。 The attribute item "address" describes an address converted into a region name. The attribute item “age” describes a value obtained by adding “±3” to the age at random. Regarding the attribute item "age", if a specific age is to be disclosed data, the attribute item "date of birth" may be set to be forcibly undisclosed. This is because the year of birth may be known from the age (and vice versa). It is also possible to register in advance a case in which the combination of attribute items reveals the raw data of one of them and set it as a contraindication to the combination to be disclosed.

属性項目「性別」は、男性か女性かの性別を数字に変換したものが記載されている。数字で表すことで、性別は明らかにはしないが、どちらかのグループとして開示することができる。 The attribute item “gender” describes the gender of male or female converted into a number. The numerical representation does not reveal the gender, but can be disclosed as one group.

属性項目「購入金額」は、非開示のデータであり、「開示には××円必要です」のように開示に必要な料金が表示されている。情報の粒度によって、異なる料金を比較できる態様で表示してもよい。 The attribute item "Purchase Amount" is non-disclosure data, and displays the fee required for disclosure such as "XX yen required for disclosure". Depending on the granularity of information, different charges may be displayed in a manner that allows comparison.

図10は、データ共有システム1において開示データが表示されるまでの処理の一例を示すフローチャートである。図10を参照して、データ共有システム1における処理の流れの一例を説明する。なお、処理の流れは一例であり、図10に示す順序に限られない。 FIG. 10 is a flow chart showing an example of processing until disclosure data is displayed in the data sharing system 1 . An example of the flow of processing in the data sharing system 1 will be described with reference to FIG. Note that the flow of processing is an example, and is not limited to the order shown in FIG.

ステップS101において、管理サーバ400の通信部401は、端末装置600から共有データに対する閲覧の処理の要求を受け付ける。なお、処理の要求は、処理の要求をした端末装置600のユーザ情報など、送信元を識別するための情報を含んでもよい。通信部401は、受け付けた処理の要求を復号要求部424に送る。 In step S<b>101 , the communication unit 401 of the management server 400 receives a request for viewing shared data from the terminal device 600 . Note that the processing request may include information for identifying the transmission source, such as user information of the terminal device 600 that requested the processing. The communication unit 401 sends the received processing request to the decryption request unit 424 .

ステップS102において、復号要求部424は、処理の要求に係る共有データの開示レベルの確認を行う。例えば、復号要求部424は、設定ファイル411にアクセスし、当該処理の要求に係る共有データの属性項目に設定された権限を参照する。 In step S102, the decryption request unit 424 confirms the disclosure level of the shared data related to the processing request. For example, the decryption request unit 424 accesses the setting file 411 and refers to the authority set in the attribute item of the shared data related to the processing request.

ステップS103において、復号要求部424は、データ提供サーバ200に対し、処理の要求に係る共有データの属性値の復号要求を行う。例えば、復号要求部424は、開示レベルとして、生データの開示が許可、または、所定の変換をして開示が許可されている属性値に関して復号要求を行う。ここで、開示が許可されていない(つまり、非開示)属性値に関しては、処理の要求に係る属性値を暗号化したままで、データ提供サーバ200から、処理の要求をした端末装置600に送信してもよい。また、開示が許可されていない属性値も含めて、処理の要求に係る共有データ全てについても復号要求し、後述するステップS105で、開示レベルに従って変換を行ってから、端末装置600に送信するようにしてもよい。 In step S103, the decryption request unit 424 requests the data providing server 200 to decrypt the attribute value of the shared data related to the processing request. For example, the decryption request unit 424 makes a decryption request for an attribute value for which disclosure of raw data is permitted as a disclosure level, or disclosure is permitted after a predetermined conversion. Here, with respect to attribute values that are not permitted to be disclosed (that is, undisclosed), the attribute values related to the processing request are encrypted and transmitted from the data providing server 200 to the terminal device 600 that requested the processing. You may In addition, a decryption request is made for all shared data related to the processing request, including attribute values whose disclosure is not permitted. can be

ステップS104において、データ提供サーバ200の復号部206は、復号要求に応じて、共有データの属性値を暗号化した暗号鍵に対応する復号鍵を用いて、属性値を復号する。そして、復号部206は、復号された属性値を含む処理の要求に係る共有データを、通信部201を介して、データ変換サーバ300に送信する。また、復号部206は、共有データとともに、開示レベルに関する情報をデータ変換サーバ300に送信する。なお、ステップS102で参照した設定ファイル411において、生データの開示が許可されている属性項目の属性値は、復号部206から、通信部201を介して、閲覧の処理を送信した端末装置600に送信してもよい。データ変換サーバ300を介して端末装置600に送信するよりも、通信工程を削減することができる。 In step S104, the decryption unit 206 of the data providing server 200 decrypts the attribute value of the shared data using the decryption key corresponding to the encryption key used to encrypt the attribute value of the shared data in response to the decryption request. The decoding unit 206 then transmits the shared data related to the processing request, including the decoded attribute value, to the data conversion server 300 via the communication unit 201 . Also, the decryption unit 206 transmits information about the disclosure level to the data conversion server 300 together with the shared data. In the setting file 411 referred to in step S102, the attribute values of the attribute items whose raw data are permitted to be disclosed are sent from the decoding unit 206 to the terminal device 600 that transmitted the browse processing via the communication unit 201. You may send. Compared to transmitting to the terminal device 600 via the data conversion server 300, the communication process can be reduced.

ステップS105において、データ変換サーバ300の制御部302は、開示レベルに関する情報に基づいて、共有データに係る属性値に所定の変換を行って、開示データを生成する。また、制御部302は、開示が許可されていない属性値に関しては、マスキングしたり、非開示である旨の表示に変換して、開示データを生成してもよい。開示データの生成については、上述(図8,図9等参照)した通りであるため、説明を省略する。データ変換サーバ300は、生成した開示データを、閲覧の処理の要求を送信した端末装置600に送信する。 In step S105, the control unit 302 of the data conversion server 300 generates disclosure data by performing a predetermined conversion on the attribute value of the shared data based on the disclosure level information. In addition, the control unit 302 may generate disclosure data by masking attribute values that are not permitted to be disclosed or converting them into indications indicating that they are not disclosed. Generation of disclosure data is as described above (see FIGS. 8, 9, etc.), so description thereof will be omitted. The data conversion server 300 transmits the generated disclosure data to the terminal device 600 that transmitted the browsing process request.

なお、開示データは、データ変換サーバ300から管理サーバ400を介して、端末装置600に送信されるようにしてもよい。管理サーバ400が、データのルーティングを管理することで、データ共有システム1における通信制御を効率化することができる。 Note that the disclosure data may be transmitted from the data conversion server 300 to the terminal device 600 via the management server 400 . By managing data routing by the management server 400, communication control in the data sharing system 1 can be made more efficient.

ステップS106において、端末装置600は、受信した開示データをディスプレイ等に表示させ、処理が終了する。 In step S106, the terminal device 600 displays the received disclosure data on a display or the like, and the process ends.

(ハードウェア構成図)
図11は、管理サーバ400のハードウェア構成を示すブロック図である。管理サーバ400は、コンピュータ901に実装される。コンピュータ901は、CPU902と、主記憶装置903と、補助記憶装置904と、インタフェース905と、を備える。
(Hardware configuration diagram)
FIG. 11 is a block diagram showing the hardware configuration of the management server 400. As shown in FIG. Management server 400 is implemented in computer 901 . A computer 901 includes a CPU 902 , a main memory device 903 , an auxiliary memory device 904 and an interface 905 .

管理サーバ400の各構成要素の動作は、プログラムの形式で補助記憶装置904に記憶されている。CPU902は、プログラムを補助記憶装置904から読み出して主記憶装置903に展開し、当該プログラムに従って上記処理を実行する。また、CPU902は、プログラムに従って、記憶領域を主記憶装置903に確保する。当該プログラムは、具体的には、コンピュータ901に、データ処理を行わせるプログラムである。 The operation of each component of management server 400 is stored in auxiliary storage device 904 in the form of a program. The CPU 902 reads out the program from the auxiliary storage device 904, develops it in the main storage device 903, and executes the above processing according to the program. Also, the CPU 902 secures a storage area in the main storage device 903 according to the program. Specifically, the program is a program that causes the computer 901 to perform data processing.

なお、補助記憶装置904は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース905を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムがネットワークを介してコンピュータ901に配信される場合、配信を受けたコンピュータ901が当該プログラムを主記憶装置903に展開し、処理を実行してもよい。 Note that the auxiliary storage device 904 is an example of a non-temporary tangible medium. Other examples of non-transitory tangible media include magnetic disks, magneto-optical disks, CD-ROMs, DVD-ROMs, semiconductor memories, etc. that are connected via the interface 905 . Also, when this program is distributed to the computer 901 via a network, the computer 901 receiving the distribution may develop the program in the main storage device 903 and execute the processing.

また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置904に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。なお、図11に示したハードウェア構成は、データ提供サーバ200、データ変換サーバ300および端末装置100,600も同様の構成としてもよい。これらの装置における各構成要素の動作も、上述の管理サーバ400と同様に、補助記憶装置に記憶されたプログラムに従ったCPUにより実現する。 Also, the program may be for realizing part of the functions described above. Furthermore, the program may be a so-called difference file (difference program) that implements the above-described functions in combination with another program already stored in the auxiliary storage device 904 . It should be noted that the hardware configuration shown in FIG. 11 may be configured similarly to the data providing server 200, the data conversion server 300, and the terminal devices 100 and 600. FIG. The operation of each component in these devices is realized by the CPU according to the program stored in the auxiliary storage device, as in the management server 400 described above.

(効果の説明)
上述したように、本実施形態に係るデータ共有システムは、データ提供サーバと、共有データベースと、管理サーバと、を備え、管理サーバは、共有データベースに格納された共有データ(データ提供サーバにおいて暗号化された機微データ)に対する処理の要求を受け付ける。そして、管理サーバは、当該処理の要求に係る共有データの属性項目に設定された権限に基づいて、データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行う。データ提供サーバが複数の場合は、管理サーバは、処理の要求に係る共有データの属性項目を含む機微データを提供したデータ提供サーバに対し、復号要求を行う。このように、管理サーバは機微データに対する復号鍵を取得せず、機微データを提供したデータ提供サーバに対して、復号要求を行うため、他者とデータを共有するシステム内においても、自己の保有する機微データを自己の鍵で管理することができ、漏洩防止になる。
(Explanation of effect)
As described above, the data sharing system according to this embodiment includes a data providing server, a shared database, and a management server. sensitive data). Then, the management server requests the data providing server to decode the attribute value related to the attribute item based on the authority set to the attribute item of the shared data related to the processing request. When there are a plurality of data providing servers, the management server issues a decryption request to the data providing server that provided the sensitive data including the attribute items of the shared data related to the processing request. In this way, the management server does not obtain the decryption key for sensitive data, but requests the data providing server that provided the sensitive data to decrypt it. sensitive data can be managed with its own key, preventing leaks.

本実施形態においては、機微データの属性項目ごとに設定される処理の権限は、属性項目ごとの属性値の開示に関する権限を含む。これにより、機微データを提供するユーザは、閲覧の処理の要求があった共有データに係る属性値の開示の可否を、属性項目ごとに設定することができる。また、属性値の開示に関する権限は、開示を許可するユーザに関する情報を含むため、属性値の開示を許可するユーザを柔軟に設定することができる。 In this embodiment, the processing authority set for each attribute item of sensitive data includes the authority for disclosing attribute values for each attribute item. Thereby, the user who provides the sensitive data can set for each attribute item whether or not to disclose the attribute value related to the shared data for which the viewing process has been requested. In addition, since the authority to disclose attribute values includes information about users who are permitted to disclose attribute values, it is possible to flexibly set users who are permitted to disclose attribute values.

また、本実施形態においては、属性値の開示に関する権限は、属性値に対する開示レベルに関する情報を含む。これにより、機微データの開示する内容を段階的に設定して共有することができるため、セキュリティに配慮しつつ、データの利活用を促進することができる。 In addition, in the present embodiment, the attribute value disclosure authority includes information regarding the disclosure level for the attribute value. As a result, the contents to be disclosed of the sensitive data can be set in stages and shared, so that the utilization of the data can be promoted while considering security.

また、本実施形態においては、属性値の開示に関する権限は、複数の段階を有する入力要素を用いて設定される。これにより、段階的な開示レベルの入力が容易になる。 Also, in this embodiment, the authority to disclose attribute values is set using an input element having a plurality of stages. This facilitates the entry of stepwise disclosure levels.

また、本実施形態においては、開示レベルに関する情報に基づいて、共有データに係る属性値に所定の変換を行って、開示データを生成するデータ変換サーバをさらに備える。所定の変換を行った属性値を含む開示データをユーザに提供することにより、ユーザは、他組織の保有する機微データを、あたかも、自身のデータベースであるかのように扱うことができ、セキュリティに配慮しつつ、データの利活用を促進することができる。 The present embodiment further includes a data conversion server that performs predetermined conversion on attribute values related to shared data to generate disclosure data based on information about the disclosure level. By providing users with disclosed data that includes attribute values that have undergone predetermined conversion, users can treat sensitive data held by other organizations as if they were their own database, which improves security. It is possible to promote the use and application of data while taking care of it.

また、本実施形態においては、所定の変換は、属性値の抽象化、ノイズ付加、または置換を行う処理を含む。情報の粒度(細かさ)などを変更することで、機微データを具体的に開示することなく、データの概要を開示することができる。
Also, in this embodiment, the predetermined conversion includes processing for abstracting, adding noise, or replacing attribute values. By changing the granularity (fineness) of the information, it is possible to disclose the outline of the data without specifically disclosing the sensitive data.
.

<実施形態1の変形例1>
実施形態1に係るデータ共有システム1では、機微データを提供するユーザである会社A側において、鍵管理部、暗号化部、復号部、および開示データを生成するデータ変換サーバを有していた。変形例1に係る共有システムでは、データセンタ側において、上述の鍵管理部および暗号化部、復号部の機能、データ変換サーバの機能を有する。管理サーバでは、暗号化された属性値を復号して、処理の要求に係る共有データ(開示データ)を提供する。データ提供サーバでは、属性項目ごとの処理の権限を設定し、管理サーバは当該処理の権限を管理する。
<Modification 1 of Embodiment 1>
In the data sharing system 1 according to the first embodiment, Company A, which is a user who provides sensitive data, has a key management unit, an encryption unit, a decryption unit, and a data conversion server that generates disclosure data. In the shared system according to Modification 1, the data center side has the functions of the key management unit, the encryption unit, the decryption unit, and the function of the data conversion server. The management server decrypts the encrypted attribute value and provides shared data (disclosed data) related to the processing request. The data providing server sets processing authority for each attribute item, and the management server manages the processing authority.

信頼できるデータセンタ側において、データの暗復号および所定の変換を行って共有データ(開示データ)を提供し、機微データの提供者は、自己の保有する機微データの処理の権限を設定できるようにすることで、機微データの開示範囲を制御してセキュリティに配慮しつつも、実施形態1と比較して、データ共有システム内の通信効率を向上させることができる。 A trusted data center performs data encryption/decryption and predetermined conversion to provide shared data (disclosed data) so that sensitive data providers can set the authority to process their own sensitive data. By doing so, it is possible to improve the communication efficiency in the data sharing system compared to the first embodiment while controlling the disclosure range of sensitive data and considering security.

また、データセンタ側が鍵管理等を行うため、データ共有システムのプラットフォームに参加するユーザは、鍵管理等のセキュアな環境を導入、運営するコストを削減でき、プラットフォームに容易に参加することができる。 In addition, since the data center performs key management, etc., users who participate in the platform of the data sharing system can easily participate in the platform by reducing the cost of introducing and operating a secure environment such as key management.

<実施形態2>
実施形態2に係るデータ共有システム2は、プラットフォームに参加する組織である「会社A」、「会社B」、「会社C」が保有する機微データを統合した共有データを他組織のユーザと共有するシステムである。
<Embodiment 2>
The data sharing system 2 according to the second embodiment shares shared data obtained by integrating sensitive data possessed by "Company A", "Company B", and "Company C", which are organizations participating in the platform, with users of other organizations. System.

図12は、本実施形態に係るデータ共有システム2の構成を示す図である。図12を参照して、実施形態2に係るデータ共有システム2の構成について説明する。なお、実施形態1と共通する構成要素には同一の符号を付し、繰り返しの説明を省略する。 FIG. 12 is a diagram showing the configuration of the data sharing system 2 according to this embodiment. A configuration of the data sharing system 2 according to the second embodiment will be described with reference to FIG. 12 . In addition, the same code|symbol is attached|subjected to the component which is common in Embodiment 1, and description of repetition is abbreviate|omitted.

データ共有システム2は、社内システム10,30,40と、データセンタ50と、端末装置600-1,…,600-Nと、を備え、ネットワークNWを介して通信可能に接続される。 The data sharing system 2 includes in-house systems 10, 30, 40, a data center 50, and terminal devices 600-1, .

社内システム10,30,40は、それぞれ、会社A,会社B,会社Cの社内システムである。社内システム10は、端末装置100-1,…,100-Mと、データ提供サーバ200-1と、データ変換サーバ300-1と、を有する。社内システム30は、端末装置100-(M+1),…,100-P(Pは自然数。)と、データ提供サーバ200-2と、データ変換サーバ300-2と、を有する。社内システム40は、端末装置100-(P+1),…,100-Q(Qは自然数。)と、データ提供サーバ200-3と、データ変換サーバ300-3と、を有する。データ提供サーバ200-1およびデータ変換サーバ300-1は、それぞれ、実施形態1に係るデータ提供サーバ200およびデータ変換サーバ300と同様の機能を有している。 In-house systems 10, 30, and 40 are in-house systems of company A, company B, and company C, respectively. The in-house system 10 has terminal devices 100-1, . . . , 100-M, a data providing server 200-1, and a data conversion server 300-1. The in-house system 30 has terminal devices 100-(M+1), . The in-house system 40 has terminal devices 100-(P+1), . The data providing server 200-1 and data conversion server 300-1 have the same functions as the data providing server 200 and data conversion server 300 according to the first embodiment, respectively.

端末装置100-1,…,100-Qは、特に区別する必要のない限り「端末装置100」と記載する。また、データ提供サーバ200-1,200-2,200-3は、特に区別する必要のない限り「データ提供サーバ200」と記載する。また、データ変換サーバ300-1,300-2,300-3は、特に区別する必要のない限り「データ変換サーバ300」と記載する。 The terminal devices 100-1, . Data providing servers 200-1, 200-2, and 200-3 are referred to as "data providing server 200" unless otherwise specified. Data conversion servers 300-1, 300-2, and 300-3 are referred to as "data conversion servers 300" unless otherwise specified.

データ提供サーバ200は、端末装置100から機微データを取得する。機微データは、属性項目としてレコードを識別する識別子を含む。 The data providing server 200 acquires sensitive data from the terminal device 100 . Sensitive data includes an identifier that identifies a record as an attribute item.

データセンタ50は、管理サーバ700と、共有データベース800と、を有する。 The data center 50 has a management server 700 and a shared database 800 .

管理サーバ700は、データ提供サーバ200-1,200-2,200-3から、暗号化された機微データを取得し、共有データベース800に格納する。 Management server 700 acquires encrypted sensitive data from data providing servers 200-1, 200-2, and 200-3, and stores it in shared database 800. FIG.

共有データベース800は、格納された機微データの属性項目として含まれる識別子に基づいて機微データを統合する。なお、機微データを統合する処理は、管理サーバ700において実行されてもよい。 The shared database 800 integrates sensitive data based on identifiers included as attribute items of stored sensitive data. Note that the process of integrating sensitive data may be executed in the management server 700 .

また、本実施形態では、データ提供サーバ200は3つであるが、少なくとも2以上の複数であってもよい。 Also, although there are three data providing servers 200 in this embodiment, there may be at least two or more.

図13は、実施形態2に係る機微データのデータ構造の一例を示した図である。本実施形態において、機微データは、個人に関する情報であって、年齢、性別、収入、居住地域、購買情報などの属性項目と、属性値(文字列又は数値)を含む。また、機微データは、統合キーとして、個人を一意に特定できる識別子(共通ID)を属性項目として含む。識別子は、数値、文字列またはそれらの組み合わせであってよい。なお、図13において、説明を簡略化するため、所定の属性項目を示しているが、これに加え、図示しない属性項目を機微データに含ませてもよい。また、統合キーは個人を一意に特定できる識別子に限られず、複数のテーブルにおけるデータを一意に特定できる値であれば、任意の値を用いてもよい。 FIG. 13 is a diagram showing an example of the data structure of sensitive data according to the second embodiment. In this embodiment, sensitive data is information about an individual and includes attribute items such as age, gender, income, residential area, and purchase information, and attribute values (character strings or numerical values). Further, the sensitive data includes, as an integrated key, an identifier (common ID) that can uniquely identify an individual as an attribute item. Identifiers may be numbers, strings, or combinations thereof. Although predetermined attribute items are shown in FIG. 13 for simplification of explanation, in addition to these, attribute items (not shown) may be included in the sensitive data. Also, the integrated key is not limited to an identifier that can uniquely identify an individual, and any value that can uniquely identify data in a plurality of tables may be used.

図13において、属性項目の属性値が格納されたテーブルT1,T2,T3が示されている。テーブルT1は、データ提供サーバ200-1が提供する機微データ(すなわち、会社Aが保有するデータ)を示している。テーブルT1において、機微データは、属性項目として、個人を一意に特定する識別子である「共通ID」、個人の年齢を示す「年齢」、個人の性別を示す「性別」、個人の収入を示す「収入」、個人の商品1に対する購買の有無を示す「購買フラグ1」を含む。テーブルT1において、属性項目「共通ID」,「年齢」,「収入」,「購買フラグ1」の属性値は数値である。なお、図13において「性別」の属性値はカテゴリ(文字列)であるが、性別と数値を対応させる等して、カテゴリを数値で表すようにしてもよい。また、属性値は、視覚的に数値であっても、データ型として文字列で扱ってもよい。 FIG. 13 shows tables T1, T2, and T3 in which attribute values of attribute items are stored. Table T1 shows sensitive data provided by data providing server 200-1 (that is, data owned by company A). In table T1, the sensitive data includes, as attribute items, "common ID" which is an identifier that uniquely identifies an individual, "age" which indicates the age of the individual, "sex" which indicates the gender of the individual, and "" which indicates the income of the individual. Income”, and “Purchase Flag 1” indicating whether or not an individual purchases Product 1. In the table T1, the attribute values of the attribute items "common ID", "age", "income", and "purchase flag 1" are numerical values. Although the attribute value of "sex" is a category (character string) in FIG. 13, the category may be represented by a numerical value, for example, by associating the sex with the numerical value. Also, the attribute value may be treated visually as a numerical value or as a character string as a data type.

テーブルT1において、属性項目「共通ID」に対し属性値「12345」、属性項目「年齢」に対し属性値「45」、属性項目「性別」に対し属性値「女」、属性項目「収入」に対し属性値「450」、属性項目「購買フラグ1」に対し属性値「1」が格納されている。これは、共通IDが12345である個人は、年齢が45歳、性別が女、収入が450(万円)、商品1を購入済み、ということを意味している。同様に、属性項目「共通ID」の属性値「67890」,「23456」,「90123」,「89012」,「34567」についても、各属性項目に対し属性値が格納される。 In the table T1, the attribute value "12345" for the attribute item "common ID", the attribute value "45" for the attribute item "age", the attribute value "female" for the attribute item "sex", and the attribute item "income" On the other hand, the attribute value "450" is stored, and the attribute value "1" is stored for the attribute item "purchase flag 1". This means that the individual whose common ID is 12345 is 45 years old, female, has an income of 4.5 million yen, and has already purchased product 1. Similarly, for the attribute values "67890", "23456", "90123", "89012", and "34567" of the attribute item "common ID", attribute values are stored for each attribute item.

テーブルT2は、データ提供サーバ200-2が提供する機微データ(すなわち、会社Bが保有するデータ)を示している。データ提供サーバ200-2は、テーブルT1で示される機微データを保有する会社Aとは異なる属性項目を含む機微データを提供する。 Table T2 shows sensitive data provided by data providing server 200-2 (that is, data owned by company B). The data providing server 200-2 provides sensitive data including attribute items different from those of the company A holding the sensitive data shown in the table T1.

テーブルT2において、機微データは、属性項目として、個人を一意に特定する識別子である「共通ID」、個人の居住する地域を示す「居住地域」、個人の商品2に対する購買の有無を示す「購買フラグ2」,個人の商品3に対する購買の有無を示す「購買フラグ3」を含む。テーブルT2において、属性項目「共通ID」,「購買フラグ2」,「購買フラグ3」の属性値は数値であり、属性項目「居住地域」の属性値は文字列である。なお、図13において「居住地域」の属性値はカテゴリ(文字列)であるが、地域と数値を対応させる等して、カテゴリを数値で表すようにしてもよい。例えば、テーブルT2において、属性項目「共通ID」に対し属性値「67890」、属性項目「居住地域」に対し属性値「東京」、属性項目「購買フラグ2」に対し属性値「1」、属性項目「購買フラグ3」に対し属性値「0」が格納されている。これは、共通IDが67890である個人は、居住する地域が東京、商品2を購入済み、商品3は未購入、ということを意味している。同様に、属性項目「共通ID」の属性値「23456」,「89012」,「12345」,「90123」,「34567」についても、各属性項目に対し属性値が格納される。 In table T2, the sensitive data includes, as attribute items, a “common ID” that is an identifier that uniquely identifies an individual, a “residence area” that indicates the area in which the individual resides, and a “purchase flag 2”, and “purchase flag 3” indicating whether or not individual product 3 is purchased. In the table T2, the attribute values of the attribute items "common ID", "purchase flag 2", and "purchase flag 3" are numerical values, and the attribute value of the attribute item "residence area" is a character string. In FIG. 13, the attribute value of "residence area" is a category (character string), but the category may be represented by a numerical value, for example, by associating the area with the numerical value. For example, in table T2, the attribute value "67890" for the attribute item "common ID", the attribute value "Tokyo" for the attribute item "residence area", the attribute value "1" for the attribute item "purchase flag 2", the attribute The attribute value "0" is stored for the item "purchase flag 3". This means that the individual whose common ID is 67890 resides in Tokyo, has purchased product 2, and has not purchased product 3. Similarly, for the attribute values "23456", "89012", "12345", "90123", and "34567" of the attribute item "common ID", attribute values are stored for each attribute item.

テーブルT1とテーブルT2とでは、「共通ID」以外の属性項目は異なっているが、同一の「共通ID」で示されるレコードは同一の個人に対応する。例えば、テーブルT1の「共通ID」の属性値「67890」によって特定されるレコード(個人)は、テーブルT2の「共通ID」の属性値「67890」によって特定されるレコード(個人)と同一である。 Attribute items other than "common ID" are different between table T1 and table T2, but records indicated by the same "common ID" correspond to the same individual. For example, the record (individual) specified by the attribute value "67890" of the "common ID" in the table T1 is the same as the record (individual) specified by the attribute value "67890" of the "common ID" in the table T2. .

テーブルT3は、データ提供サーバ200-3が提供する機微データ(会社Cが保有するデータ)を示している。データ提供サーバ200-3は、テーブルT1およびT2で示される機微データを保有する会社Aおよび会社Bとは異なる機微データを提供する。 Table T3 shows sensitive data (data owned by company C) provided by data providing server 200-3. Data providing server 200-3 provides sensitive data different from those of company A and company B, which possess sensitive data shown in tables T1 and T2.

テーブルT3において、機微データは、属性項目として、個人を一意に特定する識別子である「共通ID」、配偶者の有無を示す「配偶者フラグ」、扶養家族の人数を示す「扶養人数」、個人の商品4に対する購買の有無を示す「購買フラグ4」を含む。テーブルT3において、属性項目「共通ID」,「配偶者フラグ」,「扶養人数」,「購買フラグ4」の属性値は数値である。例えば、テーブルT3において、属性項目「共通ID」に対し属性値「23456」、属性項目「配偶者フラグ」に対し属性値「1」、属性項目「扶養人数」に対し属性値「3」、属性項目「購買フラグ4」に対し属性値「1」が格納されている。これは、共通IDが23456である個人は、配偶者を有し、扶養人数は3人であり、商品4を購入済み、ということを意味している。同様に、属性項目「共通ID」の属性値「90123」,「56789」,「34567」,「78901」,「12345」についても、各属性項目に対し属性値が格納される。 In table T3, the sensitive data includes, as attribute items, a “common ID” that is an identifier that uniquely identifies an individual, a “spousal flag” that indicates the presence or absence of a spouse, a “number of dependents” that indicates the number of dependents, an individual includes a "purchase flag 4" indicating whether or not the product 4 is purchased. In the table T3, the attribute values of the attribute items "Common ID", "Spouse Flag", "Number of Supporters", and "Purchase Flag 4" are numerical values. For example, in table T3, the attribute value "23456" for the attribute item "common ID", the attribute value "1" for the attribute item "spouse flag", the attribute value "3" for the attribute item "number of dependents", the attribute The attribute value "1" is stored for the item "purchase flag 4". This means that the individual whose common ID is 23456 has a spouse, has three dependents, and has purchased product 4. Similarly, attribute values "90123", "56789", "34567", "78901", and "12345" of the attribute item "common ID" are stored for each attribute item.

テーブルT3と、テーブルT1及びT2とでは、「共通ID」以外の属性項目は異なっている。また、属性項目「共通ID」の属性値は、テーブルT3にのみ「56789」および「78901」が含まれている。すなわち、各テーブルには、同一のレコードの群ではなく、テーブルごとに異なるレコードを含む群であってもよい。なお、本実施形態においては、図13で示したように、各データ提供サーバが提供する機微データに含まれる属性項目は、「共通ID」(識別子)以外は異なるものとしているが、他の実施形態として、同じ属性項目を含んでいてもよい。その場合、各データ提供サーバが提供する機微データを管理サーバ700で管理してもよい。そして、統合データとしてどのデータ提供サーバが提供する属性値を優先するかは、システム管理者やデータを提供する者等が適宜設定して決定することができる。 Attribute items other than the "common ID" are different between the table T3 and the tables T1 and T2. As for the attribute value of the attribute item "common ID", "56789" and "78901" are included only in table T3. That is, each table may be a group including different records instead of the same group of records. In this embodiment, as shown in FIG. 13, the attribute items included in the sensitive data provided by each data providing server are different except for the "common ID" (identifier). As a form, the same attribute item may be included. In that case, the management server 700 may manage sensitive data provided by each data providing server. A system administrator, a person who provides data, or the like can appropriately set and determine which data providing server gives priority to which attribute value is to be provided as integrated data.

図14は、暗号化された機微データのデータ構造の一例を示す図である。図14において、「共通ID」以外の属性項目の属性値が暗号化されたテーブルT1e,T2e,T3eが示されている。 FIG. 14 is a diagram showing an example of the data structure of encrypted sensitive data. FIG. 14 shows tables T1e, T2e, and T3e in which attribute values of attribute items other than "common ID" are encrypted.

テーブルT1eは、データ提供サーバ200-1(会社A)が管理する暗号鍵に基づいて、テーブルT1の「共通ID」以外の属性値が暗号化されている。例えば、属性値が数値である属性項目「年齢」,「収入」,「購買フラグ1」については、準同型暗号方式および/または順序保存暗号方式で暗号化し、属性値が文字列である属性項目「性別」については、検索可能暗号方式で暗号化する。なお、テーブルT1eにおいて、説明を簡単にするため、属性値が数値のデータは、例えば、準同型暗号方式で暗号化された値を示している(以下、テーブルT2e,T3eにおいても同様)。 In table T1e, attribute values other than "common ID" in table T1 are encrypted based on the encryption key managed by data providing server 200-1 (company A). For example, the attribute items "age", "income", and "purchase flag 1" whose attribute values are numerical values are encrypted by homomorphic encryption and/or order-preserving encryption, and the attribute items whose attribute values are character strings are encrypted. "Gender" is encrypted with a searchable encryption method. In table T1e, for the sake of simplification of explanation, data whose attribute values are numerical values indicate values encrypted by homomorphic encryption, for example (the same applies to tables T2e and T3e below).

テーブルT2eは、テーブルT1eと同様に、データ提供サーバ200-2(会社B)が管理する暗号鍵に基づいて、テーブルT2の「共通ID」以外の属性値が暗号化されている。 In table T2e, as in table T1e, attribute values other than "common ID" in table T2 are encrypted based on the encryption key managed by data providing server 200-2 (company B).

また、テーブルT3eも、テーブルT1eと同様に、データ提供サーバ200-3(会社C)が管理する暗号鍵に基づいて、テーブルT3の「共通ID」以外の属性値が暗号化されている。 Also, in the table T3e, similarly to the table T1e, the attribute values other than the "common ID" in the table T3 are encrypted based on the encryption key managed by the data providing server 200-3 (company C).

図15は、統合データのデータ構造の一例を示す図である。図15において、統合テーブルTmは、図14で示したテーブルT1e,T2e,T3eに含まれる属性項目「共通ID」の属性値(識別子)を統合キーとして、統合されたテーブルである。すなわち、統合データは、属性項目として「共通ID」,「年齢」,「収入」,「購買フラグ1」,「居住地域」,「購買フラグ2」,「購買フラグ3」,「配偶者フラグ」,「扶養人数」,「購買フラグ4」を含むテーブルTmであって、「共通ID」以外の各属性項目の属性値は、図14において示したように、暗号化されている。図15で示すようなデータ構造を有する統合データは、共有データとして、共有データベース500に格納される。 FIG. 15 is a diagram illustrating an example of the data structure of integrated data. In FIG. 15, the integrated table Tm is a table integrated using the attribute value (identifier) of the attribute item "common ID" included in the tables T1e, T2e, and T3e shown in FIG. 14 as an integrated key. That is, the integrated data includes attribute items such as "common ID", "age", "income", "purchase flag 1", "residence area", "purchase flag 2", "purchase flag 3", and "spouse flag". , “support number”, and “purchase flag 4”, and the attribute values of each attribute item other than “common ID” are encrypted as shown in FIG. Integrated data having a data structure as shown in FIG. 15 is stored in the shared database 500 as shared data.

統合テーブルTmにおいて、属性項目「年齢」,「収入」,「購買フラグ1」(カラム)は、データ提供サーバ200-1(会社A)が提供する機微データである。属性項目「居住地域」,「購買フラグ2」,「購買フラグ3」(カラム)は、データ提供サーバ200-2(会社B)が提供する機微データである。属性項目「配偶者フラグ」,「扶養人数」,「購買フラグ4」(カラム)は、データ提供サーバ200-3(会社C)が提供する機微データである。 In the integrated table Tm, the attribute items "age", "income", and "purchase flag 1" (columns) are sensitive data provided by the data providing server 200-1 (company A). The attribute items "residence area", "purchase flag 2", and "purchase flag 3" (columns) are sensitive data provided by the data providing server 200-2 (company B). The attribute items "spouse flag", "number of dependents", and "purchase flag 4" (columns) are sensitive data provided by the data providing server 200-3 (company C).

テーブルT3に含まれ、テーブルT1およびT2には含まれていない「共通ID」の属性値「56789」および「78901」については、テーブルT1およびT2に含まれる属性項目の属性値は、ブランク(NULL)またはダミーの数値を格納するなど、データベースの設計者や管理サーバ400の管理者等が適宜決定してもよい。または、統合データの属性項目「共通ID」以外の属性値が格納されていないレコードについては削除するようにしてもよい。 For the attribute values "56789" and "78901" of the "common ID" included in the table T3 but not included in the tables T1 and T2, the attribute values of the attribute items included in the tables T1 and T2 are blank (NULL). ) or a dummy numerical value may be stored as appropriate by the designer of the database, the administrator of the management server 400, or the like. Alternatively, records in which attribute values other than the attribute item "common ID" of integrated data are not stored may be deleted.

すなわち、図15の例では、図14のテーブルT1e,T2e,T3eの属性項目「共通ID」を統合キーとして、横方向へテーブルを統合(「属性項目」(カラム)の追加)及び、縦方向へのテーブルの統合(「レコード」の追加)を含む統合処理が行われている。 That is, in the example of FIG. 15, with the attribute item "common ID" of the tables T1e, T2e, and T3e of FIG. A consolidation process is taking place, which involves consolidating tables (adding "records") to

(管理サーバ700の機能構成)
図16は、管理サーバ700の機能構成の一例を示す機能ブロック図である。図16を参照して、管理サーバ700の機能構成の一例について説明する。なお、実施形態1に係る管理サーバ400と同様の機能構成については同一の符号を付し、重複する説明は省略する。
(Functional configuration of management server 700)
FIG. 16 is a functional block diagram showing an example of the functional configuration of the management server 700. As shown in FIG. An example of the functional configuration of the management server 700 will be described with reference to FIG. 16 . Note that functional configurations similar to those of the management server 400 according to the first embodiment are denoted by the same reference numerals, and overlapping descriptions are omitted.

管理サーバ700は、通信部401と、記憶部710と、制御部720と、を備える。 The management server 700 includes a communication section 401 , a storage section 710 and a control section 720 .

記憶部710は、実施形態1に係る管理サーバ400の記憶部410と同様の機能構成を有し、管理サーバ700の各種処理に用いられるコンピュータプログラム等が格納される。 The storage unit 710 has the same functional configuration as the storage unit 410 of the management server 400 according to the first embodiment, and stores computer programs and the like used for various processes of the management server 700 .

記憶部710は、機微データの属性項目ごとに設定される処理の権限に関する情報である設定ファイル711を有する。設定ファイル711は、属性項目ごとの属性値の開示に関する権限を規定しており、例えば、共有データの属性項目ごとに、開示が許可されるユーザ等が対応付けて記憶している。また、設定ファイル711は、統合データの属性項目ごとのデータ提供元などを対応付けて記憶している。処理の権限の設定については、図7等で述べた通りであるので、説明を省略する。 The storage unit 710 has a setting file 711 that is information about processing authority set for each attribute item of sensitive data. The setting file 711 defines the authority for disclosure of attribute values for each attribute item. For example, each attribute item of shared data is associated with and stored by a user or the like who is permitted to be disclosed. Also, the setting file 711 associates and stores a data provider and the like for each attribute item of integrated data. Since the setting of processing authority is as described with reference to FIG. 7 and the like, description thereof will be omitted.

また、記憶部710は、通信部401がデータ提供サーバ200から受信した、暗号化された機微データを記憶する。
制御部720は、全体制御部421と、権限管理部722と、演算実行部423と、復号要求部724と、統合データ生成部725と、を有する。
The storage unit 710 also stores encrypted sensitive data that the communication unit 401 has received from the data providing server 200 .
The control unit 720 has an overall control unit 421 , an authority management unit 722 , an arithmetic execution unit 423 , a decryption request unit 724 and an integrated data generation unit 725 .

権限管理部722は、機微データの属性項目ごとに設定される処理の権限を管理し、例えば、各データ提供サーバ200から当該処理の権限に関する情報を受け付け、設定ファイル711として記憶部710に記憶させる。各データ提供サーバ200から処理の権限に関する情報を受け付ける点以外は、実施形態1に係る権限管理部422と機能構成は同じである。 The authority management unit 722 manages the authority for processing set for each attribute item of sensitive data, for example, receives information on the authority for the processing from each data providing server 200, and stores it in the storage unit 710 as a setting file 711. . The functional configuration is the same as that of the authority management unit 422 according to the first embodiment, except for receiving information about authority for processing from each data providing server 200 .

復号要求部724は、処理の要求に係る共有データの属性項目に設定された処理の権限に基づいて、データ提供サーバ200に対し、当該属性項目に係る属性値の復号要求を行う。当該共有データが、複数の機微データを統合して生成されたデータの場合、復号要求部724は、設定ファイル711を参照して、処理の要求に係る属性項目に係る属性値の送信元であるデータ提供サーバ200に対し、復号要求を行う。例えば、図15で示した統合テーブルTmの例では、属性項目「年齢」、「性別」、「収入」、「購買フラグ1」の属性値については、データ提供サーバ200-1へ復号要求を行う。 The decryption request unit 724 requests the data providing server 200 to decrypt the attribute value related to the attribute item based on the processing authority set for the attribute item of the shared data related to the processing request. When the shared data is data generated by integrating a plurality of sensitive data, the decryption request unit 724 refers to the setting file 711 and determines the attribute value transmission source of the attribute item related to the processing request. A decryption request is made to the data providing server 200 . For example, in the example of the integrated table Tm shown in FIG. 15, a decryption request is made to the data providing server 200-1 for the attribute values of the attribute items "age", "sex", "income", and "purchase flag 1". .

統合データ生成部725は、通信部401を介して各データ提供サーバ200から受信し、記憶部710に記憶される暗号化された機微データを、機微データに属性項目として含まれる識別子(図13~図15の例では共通ID)に基づいて統合して統合データを生成する。そして、統合データ生成部725は、生成した統合データを全体制御部421に送り、全体制御部421は、通信部401を介して、統合データを共有データとして共有データベース500に格納する。また、統合データ生成部725は、統合データを生成した後、統合した機微データを記憶部710から削除するようにしてもよい。また、機微データを統合する処理は、管理サーバ700ではなく、暗号化された機微データを取得した他の情報処理装置が行ってもよい。 The integrated data generation unit 725 receives the encrypted sensitive data from each data providing server 200 via the communication unit 401 and stores the encrypted sensitive data in the storage unit 710, using identifiers included in the sensitive data as attribute items (Figs. In the example of FIG. 15, integrated data is generated by integrating based on the common ID). The integrated data generation unit 725 then sends the generated integrated data to the overall control unit 421 , and the overall control unit 421 stores the integrated data as shared data in the shared database 500 via the communication unit 401 . Further, the integrated data generation unit 725 may delete the integrated sensitive data from the storage unit 710 after generating the integrated data. Further, the process of integrating the sensitive data may be performed by another information processing apparatus that has acquired the encrypted sensitive data instead of the management server 700 .

なお、復号要求部724が各データ提供サーバ200に復号要求を行った後、処理の要求に係る共有データの属性値が復号され、データ変換サーバ300において、開示データが生成される点は、実施形態1と同様である。各データ変換サーバ300は、生成した開示データを、処理の要求を送信した端末装置600に送信し、端末装置600において各開示データを統合してもよい。また、各データ変換サーバ300が生成した開示データを、管理サーバ700に送信し、管理サーバ700において、開示データを統合して、処理の要求を送信した端末装置600に統合した開示データを送ってもよい。開示データの統合は、暗号化された機微データの統合処理と同様に行うことができる。 After the decryption request unit 724 issues a decryption request to each data providing server 200, the attribute value of the shared data related to the processing request is decrypted, and the disclosed data is generated in the data conversion server 300. Same as form 1. Each data conversion server 300 may transmit the generated disclosed data to the terminal device 600 that transmitted the processing request, and the terminal device 600 may integrate the disclosed data. Further, the disclosure data generated by each data conversion server 300 is transmitted to the management server 700, the disclosure data are integrated in the management server 700, and the integrated disclosure data is sent to the terminal device 600 that transmitted the processing request. good too. The disclosed data integration can be performed in the same manner as the encrypted sensitive data integration process.

なお、図12において述べたように、統合データ生成部725が上記で行った統合データを生成する処理は、共有データベース800において実行してもよい。 Note that, as described with reference to FIG. 12 , the process of generating the integrated data performed by the integrated data generation unit 725 may be executed in the shared database 800 .

(効果の説明)
上述したように、本実施形態に係るデータ共有システムは、複数のデータ提供サーバから提供された機微データを統合したデータを共有データとして、他組織に開示する。この際、管理サーバが、閲覧の処理の要求に係る共有データに含まれる属性値を提供したデータ提供サーバに対し、復号要求を行う。管理サーバは、復号鍵を取得せず、機微データを提供したデータ提供サーバに対して、復号要求を行うため、他者とデータを共有するシステム内においても、自己の保有する機微データを自己の鍵で管理することができ、漏洩防止になる。
(Explanation of effect)
As described above, the data sharing system according to the present embodiment discloses data obtained by integrating sensitive data provided from a plurality of data providing servers to other organizations as shared data. At this time, the management server issues a decryption request to the data providing server that provided the attribute value included in the shared data related to the browsing process request. Since the management server does not obtain the decryption key, it requests the data providing server that provided the sensitive data to decrypt it. It can be managed with a key to prevent leaks.

上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。 The above embodiment can be implemented in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope of the invention. These embodiments and their modifications are intended to be included in the invention described in the claims and their equivalents as well as included in the scope and gist of the invention.

また、本発明は、以下の各付記に示す態様であってもよい。 Further, the present invention may be in the aspects shown in the following appendices.

[付記1]
データ提供サーバと、共有データベースと、管理サーバと、を備えるデータ共有システムであって、
前記データ提供サーバは、
属性項目ごとの属性値を含む機微データを取得する機微データ取得部と、
暗号鍵および復号鍵を管理する鍵管理部と、
前記暗号鍵を用いて、前記機微データの少なくとも一部の属性値を所定の暗号方式で暗号化する暗号化部と、
を有し、
前記共有データベースは、前記データ提供サーバにおいて前記暗号化された機微データを共有データとして記憶し、
前記管理サーバは、
前記機微データの前記属性項目ごとに設定される処理の権限を管理する権限管理部と、
前記共有データに対する処理の要求を受け付ける受付部と、
前記処理の要求に係る共有データの属性項目に設定された前記権限に基づいて、前記データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行う復号要求部と、
を有し、
前記データ提供サーバは、
前記復号要求に応じて、前記復号鍵を用いて、前記処理の要求に係る共有データの前記暗号化された属性値を復号する復号部と、
前記復号された属性値を含む前記処理の要求に係る共有データを提供する提供部と、
をさらに有する、データ共有システム。
[Appendix 1]
A data sharing system comprising a data providing server, a shared database, and a management server,
The data providing server is
a sensitive data acquisition unit that acquires sensitive data including an attribute value for each attribute item;
a key management unit that manages encryption and decryption keys;
an encryption unit that encrypts at least a part of attribute values of the sensitive data with a predetermined encryption method using the encryption key;
has
the shared database stores the encrypted sensitive data as shared data in the data providing server;
The management server is
an authority management unit that manages processing authority set for each attribute item of the sensitive data;
a reception unit that receives a request for processing the shared data;
a decryption request unit that requests the data providing server to decrypt an attribute value associated with the attribute item based on the authority set for the attribute item of the shared data associated with the processing request;
has
The data providing server is
a decryption unit that decrypts the encrypted attribute value of the shared data related to the processing request using the decryption key in response to the decryption request;
a providing unit that provides shared data related to the processing request including the decrypted attribute value;
A data sharing system, further comprising:

[付記2]
前記処理の権限は、前記属性項目ごとの属性値の開示に関する権限を含む、[付記1]に記載のデータ共有システム。
[Appendix 2]
The data sharing system according to [Supplementary Note 1], wherein the processing authority includes authority to disclose an attribute value for each attribute item.

[付記3]
前記属性値の開示に関する権限は、開示を許可するユーザに関する情報を含む、[付記2]に記載のデータ共有システム。
[Appendix 3]
The data sharing system according to [Appendix 2], wherein the authority for disclosure of the attribute value includes information regarding a user who permits disclosure.

[付記4]
前記属性値の開示に関する権限は、前記属性値に対する開示レベルに関する情報を含む、[付記2]または[付記3]に記載のデータ共有システム。
[Appendix 4]
The data sharing system according to [Appendix 2] or [Appendix 3], wherein the authority regarding disclosure of the attribute value includes information regarding a disclosure level for the attribute value.

[付記5]
前記提供部が提供する共有データに対し、前記開示レベルに関する情報に基づいて、所定の変換を行って、開示データを生成するデータ変換サーバをさらに備える、[付記4]に記載のデータ共有システム。
[Appendix 5]
The data sharing system according to [Appendix 4], further comprising a data conversion server that performs predetermined conversion on the shared data provided by the providing unit based on the information on the disclosure level to generate disclosure data.

[付記6]
前記所定の変換は、前記属性値の抽象化、ノイズ付加、または置換を行う処理のいずれか一つを含む[付記5]に記載のデータ共有システム。
[Appendix 6]
The data sharing system according to [Appendix 5], wherein the predetermined conversion includes any one of abstraction, noise addition, and replacement of the attribute value.

[付記7]
前記属性値の開示に関する権限は、複数の段階を有する入力要素を用いて設定される、[付記2]から[付記6]のいずれか1つに記載のデータ共有システム。
[Appendix 7]
The data sharing system according to any one of [Appendix 2] to [Appendix 6], wherein the authority to disclose the attribute value is set using an input element having a plurality of stages.

[付記8]
前記開示データは、前記復号された属性値、前記所定の変換がされた属性値、前記暗号化された属性値のうちの少なくとも一つを含む、[付記7]に記載のデータ共有システム。
[Appendix 8]
The data sharing system according to [Appendix 7], wherein the disclosure data includes at least one of the decrypted attribute value, the predetermined converted attribute value, and the encrypted attribute value.

[付記9]
前記データ提供サーバは、少なくとも2以上の複数である、[付記1]から[付記8]のいずれか1つに記載のデータ共有システム。
[Appendix 9]
The data sharing system according to any one of [Appendix 1] to [Appendix 8], wherein there are at least two or more data providing servers.

[付記10]
前記共有データは、複数の前記データ提供サーバにおいて前記暗号化された機微データを、当該機微データの前記属性項目として含まれる識別子に基づいて統合された機微データである、[付記9]に記載のデータ共有システム。
[Appendix 10]
[Appendix 9], wherein the shared data is sensitive data obtained by integrating the encrypted sensitive data in the plurality of data providing servers based on the identifier included as the attribute item of the sensitive data. data sharing system.

1,2 データ共有システム、100,600 端末装置、200 データ提供サーバ、300 データ変換サーバ、400,700 管理サーバ、500 共有データベース、101,201,301,401 通信部、105,202,302,420,720 制御部、102,203,303,410,710 記憶部、204 鍵管理部、 205 暗号化部、206 復号部、411 設定ファイル、421 全体制御部、422,722 権限管理部、423 演算実行部、424,724 復号要求部、725 統合データ生成部、103 入力部、104 出力部。
1, 2 data sharing system 100, 600 terminal device 200 data providing server 300 data conversion server 400, 700 management server 500 shared database 101, 201, 301, 401 communication unit 105, 202, 302, 420 , 720 control unit, 102, 203, 303, 410, 710 storage unit, 204 key management unit, 205 encryption unit, 206 decryption unit, 411 setting file, 421 overall control unit, 422, 722 authority management unit, 423 operation execution 424, 724 decryption request unit 725 integrated data generation unit 103 input unit 104 output unit.

Claims (9)

データ提供サーバと、共有データベースと、管理サーバと、データ変換サーバと、を備えるデータ共有システムであって、
前記データ提供サーバは、
属性項目ごとの属性値を含む機微データを取得する機微データ取得部と、
暗号鍵および復号鍵を管理する鍵管理部と、
前記暗号鍵を用いて、前記機微データの少なくとも一部の属性値を所定の暗号方式で暗号化する暗号化部と、
を有し、
前記共有データベースは、前記データ提供サーバにおいて前記暗号化された機微データを共有データとして記憶し、
前記管理サーバは、
前記機微データの前記属性項目ごとに設定される前記属性値の開示に関する権限を管理する権限管理部と、
前記共有データに対する処理の要求を受け付ける受付部と、
前記処理の要求に係る共有データの属性項目に設定された前記権限に基づいて、前記データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行う復号要求部と、
を有し、
前記データ提供サーバは、
前記復号要求に応じて、前記復号鍵を用いて、前記処理の要求に係る共有データの前記暗号化された属性値を復号する復号部と、
前記復号された属性値を含む前記処理の要求に係る共有データを提供する提供部と、
をさらに有し、
前記属性値の開示に関する権限は、前記属性値に対する開示レベルに関する情報を含み、
前記データ変換サーバは、前記提供部が提供する共有データに対し、前記開示レベルに関する情報に基づいて、所定の変換を行って、開示データを生成し、
前記所定の変換は、前記属性値の抽象化、またはノイズ付加を行う処理のいずれかを少なくとも含む、データ共有システム。
A data sharing system comprising a data providing server, a shared database, a management server, and a data conversion server ,
The data providing server is
a sensitive data acquisition unit that acquires sensitive data including an attribute value for each attribute item;
a key management unit that manages encryption and decryption keys;
an encryption unit that encrypts at least a part of attribute values of the sensitive data with a predetermined encryption method using the encryption key;
has
the shared database stores the encrypted sensitive data as shared data in the data providing server;
The management server is
an authority management unit that manages authority regarding disclosure of the attribute value set for each attribute item of the sensitive data;
a reception unit that receives a request for processing the shared data;
a decryption request unit that requests the data providing server to decrypt an attribute value associated with the attribute item based on the authority set for the attribute item of the shared data associated with the processing request;
has
The data providing server is
a decryption unit that decrypts the encrypted attribute value of the shared data related to the processing request using the decryption key in response to the decryption request;
a providing unit that provides shared data related to the processing request including the decrypted attribute value;
further having
the attribute value disclosure authority includes information about a disclosure level for the attribute value;
The data conversion server performs predetermined conversion on the shared data provided by the providing unit based on the information on the disclosure level to generate disclosure data;
The data sharing system , wherein the predetermined conversion includes at least either abstraction of the attribute value or noise addition processing .
前記属性値の開示に関する権限は、開示を許可するユーザに関する情報を含む、請求項に記載のデータ共有システム。 2. The data sharing system according to claim 1 , wherein the authority for disclosure of the attribute value includes information regarding a user who permits disclosure. 前記属性値の開示に関する権限は、複数の段階を有する入力要素を用いて設定される、請求項に記載のデータ共有システム。 3. The data sharing system according to claim 2 , wherein the authority to disclose the attribute value is set using an input element having multiple stages. 前記開示データは、前記復号された属性値、前記所定の変換がされた属性値、前記暗号化された属性値のうちの少なくとも一つを含む、請求項に記載のデータ共有システム。 4. The data sharing system according to claim 3 , wherein said disclosure data includes at least one of said decrypted attribute value, said predetermined transformed attribute value, and said encrypted attribute value. 前記データ提供サーバは、少なくとも2以上の複数である、請求項1から請求項のいずれか一項に記載のデータ共有システム。 5. The data sharing system according to any one of claims 1 to 4 , wherein there are at least two or more of said data providing servers. 前記共有データは、複数の前記データ提供サーバにおいて前記暗号化された機微データを、当該機微データの前記属性項目として含まれる識別子に基づいて統合された機微データである、請求項に記載のデータ共有システム。 6. The data according to claim 5 , wherein said shared data is sensitive data obtained by integrating said encrypted sensitive data in a plurality of said data providing servers based on an identifier included as said attribute item of said sensitive data. shared system. データ提供サーバと、共有データベースと、管理サーバと、データ変換サーバと、を備えるシステムにおけるデータ共有方法であって、
前記データ提供サーバが、
属性項目ごとの属性値を含む機微データを取得するステップと、
暗号鍵および復号鍵を管理するステップと、
前記暗号鍵を用いて、前記機微データの少なくとも一部の属性値を所定の暗号方式で暗号化するステップと、
前記共有データベースが、
前記データ提供サーバにおいて前記暗号化された機微データを共有データとして記憶するステップと、
前記管理サーバが、
前記機微データの前記属性項目ごとに設定される前記属性値の開示に関する権限を管理するステップと、
前記共有データに対する処理の要求を受け付けるステップと、
前記処理の要求に係る共有データの属性項目に設定された前記権限に基づいて、前記データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行うステップと、
前記データ提供サーバが、
前記復号要求に応じて、前記復号鍵を用いて、前記処理の要求に係る共有データの前記暗号化された属性値を復号するステップと、
前記復号された属性値を含む前記処理の要求に係る共有データを提供するステップと、
を備え
前記属性値の開示に関する権限は、前記属性値に対する開示レベルに関する情報を含み、
前記データ変換サーバが、前記データ提供サーバが提供する共有データに対し、前記開示レベルに関する情報に基づいて、所定の変換を行って、開示データを生成するステップをさらに備え、
前記所定の変換は、前記属性値の抽象化、またはノイズ付加を行う処理のいずれかを少なくとも含む、データ共有方法。
A data sharing method in a system comprising a data providing server, a shared database, a management server, and a data conversion server ,
The data providing server
a step of obtaining sensitive data including attribute values for each attribute item;
managing encryption and decryption keys;
a step of encrypting at least part of the attribute values of the sensitive data with a predetermined encryption method using the encryption key;
The shared database is
storing the encrypted sensitive data as shared data in the data providing server;
The management server
a step of managing authority relating to disclosure of the attribute value set for each attribute item of the sensitive data;
receiving a request for processing the shared data;
requesting the data providing server to decrypt an attribute value related to the attribute item based on the authority set to the attribute item of the shared data related to the processing request;
The data providing server
decrypting the encrypted attribute value of the shared data related to the processing request using the decryption key in response to the decryption request;
providing shared data associated with the processing request including the decrypted attribute value;
with
the attribute value disclosure authority includes information about a disclosure level for the attribute value;
further comprising a step in which the data conversion server performs a predetermined conversion on the shared data provided by the data providing server based on the information regarding the disclosure level to generate disclosure data;
The data sharing method , wherein the predetermined conversion includes at least either abstraction of the attribute value or noise addition processing .
データ提供サーバと、共有データベースと、管理サーバと、データ変換サーバと、を備えるシステムにおけるデータ共有プログラムであって、
前記データ提供サーバの制御部が、
属性項目ごとの属性値を含む機微データを取得するステップと、
暗号鍵および復号鍵を管理するステップと、
前記暗号鍵を用いて、前記機微データの少なくとも一部の属性値を所定の暗号方式で暗号化するステップと、
前記共有データベースの記憶部が、
前記データ提供サーバにおいて前記暗号化された機微データを共有データとして記憶するステップと、
前記管理サーバの制御部が、
前記機微データの前記属性項目ごとに設定される前記属性値の開示に関する権限を管理するステップと、
前記共有データに対する処理の要求を受け付けるステップと、
前記処理の要求に係る共有データの属性項目に設定された前記権限に基づいて、前記データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行うステップと、
前記データ提供サーバの制御部が、
前記復号要求に応じて、前記復号鍵を用いて、前記処理の要求に係る共有データの前記暗号化された属性値を復号するステップと、
前記復号された属性値を含む前記処理の要求に係る共有データを提供するステップと、
を備え
前記属性値の開示に関する権限は、前記属性値に対する開示レベルに関する情報を含み、
前記データ変換サーバが、前記データ提供サーバが提供する共有データに対し、前記開示レベルに関する情報に基づいて、所定の変換を行って、開示データを生成するステップをさらに備え、
前記所定の変換は、前記属性値の抽象化、またはノイズ付加を行う処理のいずれかを少なくとも含む、データ共有プログラム。
A data sharing program in a system comprising a data providing server, a shared database, a management server, and a data conversion server ,
The control unit of the data providing server,
a step of obtaining sensitive data including attribute values for each attribute item;
managing encryption and decryption keys;
a step of encrypting at least part of the attribute values of the sensitive data with a predetermined encryption method using the encryption key;
The storage unit of the shared database is
storing the encrypted sensitive data as shared data in the data providing server;
The control unit of the management server,
a step of managing authority relating to disclosure of the attribute value set for each attribute item of the sensitive data;
receiving a request for processing the shared data;
requesting the data providing server to decrypt an attribute value related to the attribute item based on the authority set to the attribute item of the shared data related to the processing request;
The control unit of the data providing server,
decrypting the encrypted attribute value of the shared data related to the processing request using the decryption key in response to the decryption request;
providing shared data associated with the processing request including the decrypted attribute value;
with
the attribute value disclosure authority includes information about a disclosure level for the attribute value;
further comprising a step in which the data conversion server performs a predetermined conversion on the shared data provided by the data providing server based on the information regarding the disclosure level to generate disclosure data;
The data sharing program , wherein the predetermined conversion includes at least either abstraction of the attribute value or noise addition processing .
属性項目ごとの属性値を含む機微データを取得する機微データ取得部と、
暗号鍵および復号鍵を管理する鍵管理部と、
前記暗号鍵を用いて、前記機微データの少なくとも一部の属性値を所定の暗号方式で暗号化する暗号化部と、
前記暗号化された機微データを共有データとして記憶する記憶部と、
前記機微データの前記属性項目ごとに設定される前記属性値の開示に関する権限を管理する権限管理部と、
前記共有データに対する処理の要求を受け付ける受付部と、
前記処理の要求に係る共有データの属性項目に設定された前記権限に基づいて、当該属性項目に係る属性値の復号要求を行う復号要求部と、
前記復号要求に応じて、前記復号鍵を用いて、前記処理の要求に係る共有データの前記暗号化された属性値を復号する復号部と、
前記復号された属性値を含む前記処理の要求に係る共有データを提供する提供部と、
を有し、
前記属性値の開示に関する権限は、前記属性値に対する開示レベルに関する情報を含み、
前記提供部が提供する共有データに対し、前記開示レベルに関する情報に基づいて、所定の変換を行って、開示データを生成するデータ変換部をさらに有し、
前記所定の変換は、前記属性値の抽象化、またはノイズ付加を行う処理のいずれかを少なくとも含む、データ共有システム。

a sensitive data acquisition unit that acquires sensitive data including an attribute value for each attribute item;
a key management unit that manages encryption and decryption keys;
an encryption unit that encrypts at least a part of attribute values of the sensitive data with a predetermined encryption method using the encryption key;
a storage unit that stores the encrypted sensitive data as shared data;
an authority management unit that manages authority regarding disclosure of the attribute value set for each attribute item of the sensitive data;
a reception unit that receives a request for processing the shared data;
a decryption request unit that requests decryption of an attribute value related to the attribute item based on the authority set to the attribute item of the shared data related to the processing request;
a decryption unit that decrypts the encrypted attribute value of the shared data related to the processing request using the decryption key in response to the decryption request;
a providing unit that provides shared data related to the processing request including the decrypted attribute value;
has
the attribute value disclosure authority includes information about a disclosure level for the attribute value;
further comprising a data conversion unit that performs a predetermined conversion on the shared data provided by the provision unit based on the information regarding the disclosure level to generate disclosure data;
The data sharing system , wherein the predetermined conversion includes at least either abstraction of the attribute value or noise addition processing .

JP2022154284A 2022-09-27 2022-09-27 Data sharing system, data sharing method, and data sharing program Active JP7250390B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022154284A JP7250390B1 (en) 2022-09-27 2022-09-27 Data sharing system, data sharing method, and data sharing program
JP2023039536A JP2024048331A (en) 2022-09-27 2023-03-14 DATA SHARING SYSTEM, DATA SHARING METHOD, AND DATA SHARING PROGRAM
PCT/JP2023/029494 WO2024070290A1 (en) 2022-09-27 2023-08-15 Data sharing system, data sharing method, and data sharing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022154284A JP7250390B1 (en) 2022-09-27 2022-09-27 Data sharing system, data sharing method, and data sharing program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023039536A Division JP2024048331A (en) 2022-09-27 2023-03-14 DATA SHARING SYSTEM, DATA SHARING METHOD, AND DATA SHARING PROGRAM

Publications (2)

Publication Number Publication Date
JP7250390B1 true JP7250390B1 (en) 2023-04-03
JP2024048309A JP2024048309A (en) 2024-04-08

Family

ID=85776300

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022154284A Active JP7250390B1 (en) 2022-09-27 2022-09-27 Data sharing system, data sharing method, and data sharing program
JP2023039536A Pending JP2024048331A (en) 2022-09-27 2023-03-14 DATA SHARING SYSTEM, DATA SHARING METHOD, AND DATA SHARING PROGRAM

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023039536A Pending JP2024048331A (en) 2022-09-27 2023-03-14 DATA SHARING SYSTEM, DATA SHARING METHOD, AND DATA SHARING PROGRAM

Country Status (2)

Country Link
JP (2) JP7250390B1 (en)
WO (1) WO2024070290A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155554A (en) 2004-11-25 2006-06-15 Penta Security Systems Inc Database encryption and access control method, and security management device
JP2013008121A (en) 2011-06-23 2013-01-10 Hitachi Systems Ltd Database access management system, method and program
JP2021503648A (en) 2017-11-17 2021-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer implementation methods, computer program products, and systems for data anonymization
JP2022029386A (en) 2020-08-04 2022-02-17 Eaglys株式会社 Data sharing system, data sharing method, and data sharing program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63311454A (en) * 1987-06-12 1988-12-20 Fujitsu Ltd Secret protection system
JP2887299B2 (en) * 1990-07-31 1999-04-26 博一 岡野 Intelligent information processing method and apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155554A (en) 2004-11-25 2006-06-15 Penta Security Systems Inc Database encryption and access control method, and security management device
JP2013008121A (en) 2011-06-23 2013-01-10 Hitachi Systems Ltd Database access management system, method and program
JP2021503648A (en) 2017-11-17 2021-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Computer implementation methods, computer program products, and systems for data anonymization
JP2022029386A (en) 2020-08-04 2022-02-17 Eaglys株式会社 Data sharing system, data sharing method, and data sharing program

Also Published As

Publication number Publication date
JP2024048331A (en) 2024-04-08
WO2024070290A1 (en) 2024-04-04
JP2024048309A (en) 2024-04-08

Similar Documents

Publication Publication Date Title
KR102421956B1 (en) Information processing devices and information processing methods
JP6803598B1 (en) Data sharing systems, data sharing methods, and data sharing programs
CN1665184B (en) Using a flexible rights template to obtain a signed rights label (SRL) for digital content
Subbiah et al. A novel approach to view and modify data in cloud environment using attribute-based encryption
WO2022202284A1 (en) Data sharing system, data sharing method, and data sharing program
Grishin et al. Data privacy in the age of personal genomics
JP7235668B2 (en) REGISTRATION METHOD, COMPUTER AND PROGRAM
JP6250497B2 (en) Information management system
US8620816B2 (en) Information vault, data format conversion services system and method
Ramya Devi et al. Triple DES: privacy preserving in big data healthcare
US20230083642A1 (en) Methods and systems for managing user data privacy
CN110048830B (en) Data encryption and decryption method and encryption and decryption device
JP2001265771A (en) Device and method for managing personal information and recording medium recording program for executing the device or method
US8638938B2 (en) Symmetric key subscription
JP2013150026A (en) Data processing system, concealing device, secret key generation device, concealing method, secret key generation method, and program
WO2020004139A1 (en) Personal information analysis system and personal information analysis method
JP2018085681A (en) Mutual transaction monitoring system having enhanced security
JP7250390B1 (en) Data sharing system, data sharing method, and data sharing program
WO2020004137A1 (en) Service support system and service support method
TW202301160A (en) Private joining, analysis and sharing of information located on a plurality of information stores
Abdulhamid et al. Development of blowfish encryption scheme for secure data storage in public and commercial cloud computing environment
KR20220048880A (en) The safe and convenient method to transfer trade account receivable
JP7011874B1 (en) Data sharing systems, data sharing methods and data sharing programs
JP2021047568A (en) Information coordination system, information coordination method, and access control server
WO2021171640A1 (en) Information distribution history management system, information distribution history management method, information distribution history management device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220928

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230314

R150 Certificate of patent or registration of utility model

Ref document number: 7250390

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150