JP7250390B1 - Data sharing system, data sharing method, and data sharing program - Google Patents
Data sharing system, data sharing method, and data sharing program Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 81
- 238000012545 processing Methods 0.000 claims abstract description 145
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000006243 chemical reaction Methods 0.000 claims description 83
- 230000008520 organization Effects 0.000 abstract description 26
- 230000006854 communication Effects 0.000 description 67
- 238000004891 communication Methods 0.000 description 66
- 238000010586 diagram Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 5
- 230000010365 information processing Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000007619 statistical method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic 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,
しかしながら、特許文献1に記載のシステムでは、統計分析を行いたいサービス提供サーバ側が、他のすべてのサービス提供サーバに対して暗号化鍵を送信し、他のサービス提供サーバは、当該送信された暗号化鍵を用いてデータを暗号化して、統計分析を行う第三者機関サーバに送信する。このため、他のサービス提供サーバにとっては、自身が保有するデータが他者の暗号化鍵によって暗号化されるため、情報漏洩や不正利用等の情報セキュリティ上の問題が発生する可能性が危惧される。
However, in the system described in
また、自組織保有のデータを組織外の第三者と共有して活用するためには、セキュリティに配慮する必要があるが、全てのデータを同じセキュリティレベルで扱うような過度なデータ保護は、データの利活用促進を阻害するおそれがある。 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.
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。 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の構成)
<
A
(Configuration of data sharing system 1)
図1は、本実施形態に係るデータ共有システム1の構成を示す図である。図1を参照して、実施形態1に係るデータ共有システム1の構成について説明する。
FIG. 1 is a diagram showing the configuration of a
データ共有システム1は、社内システム10と、データセンタ20と、端末装置600-1,600-2,…,600-N(Nは自然数。特に区別する必要のない限り、「端末装置600」と記載する。)と、を備え、ネットワークNWを介して通信可能に接続される。
The
データ共有システム1は、当該システムに参加する組織が、自組織が保有する機微データについて、他組織が利用できる処理の権限を設定し、他組織と共有する機微データを利用させることができるプラットフォームである。なお、組織とは、システムを利用するユーザであって、企業や団体に限られず、役割ごとに区切られた部門、課、グループ、チーム等の集団、当該集団を構成する個人、システムを利用する個人等であってもよい。
The
ネットワーク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
社内システム10は、プラットフォームに参加する組織である会社Aの社内システムである。社内システム10は、端末装置100-1,…,100-M(Mは自然数。特に区別する必要のない限り、「端末装置100」と記載する。)と、データ提供サーバ200と、データ変換サーバ300と、を有する。社内システム10は、オンプレミスでもよいし、クラウド(プライベートクラウドや、ハイブリッドクラウドなど。)であってもよく、端末装置100は、会社A内に物理的に配置されていなくてよい。
The in-
端末装置100は、会社Aの社内システム10にアクセスする権限を有する者(例えば、会社Aの従業員など。)が用いる情報処理装置であって、例えば、PC(Personal Computer)、スマートフォン、タブレット端末である。また、ヘッドマウントディスプレイ等のウェアラブル端末、AR(Augmented Reality)/VR(Virtual Reality)/MR(Mixed Reality)装置等であってもよい。端末装置100は、データ提供サーバ200に対し、属性項目(カラム)ごとの属性値を含む機微データを送信してもよい。なお、機微データのデータ構造については後述(図6等)する。
The
データ提供サーバ200は、会社Aが保有する機微データをデータ共有システム1に提供するアプリケーションサーバである。データ提供サーバ200は、端末装置100等から取得した機微データの少なくとも一部の属性値を暗号化し、管理サーバ400に送信する。また、管理サーバ400からの復号要求に応じて、暗号化された属性値や、演算結果等を復号する。なお、データ提供サーバ200は、暗号鍵および復号鍵を自サーバ内で記憶して管理してもよいし、他の情報処理装置に記憶させて管理(例えば、KMS(Key Management System:鍵管理システム)に管理を委託)してもよい。
The
データ変換サーバ300は、データ提供サーバ200から取得したデータに基づいて、データ共有システム1に参加する他組織(図1の例では、会社A以外の組織)の者に開示するデータを生成するアプリケーションサーバである。データ変換サーバ300が生成した開示データは、例えば、端末装置600(後述)において表示される。データ変換サーバ300は、図1の例では、データ提供サーバ200と別々に構成されているが、データ提供サーバ200が、データ変換サーバ300の機能を有していてもよい。
The
データセンタ20は、データ共有システム1において共有するデータを管理し、ユーザからの要求に応じた処理を実行する。データセンタ20は、管理サーバ400と、共有データベース500と、を有する。
The
管理サーバ400は、データ提供サーバ200から取得した、暗号化された機微データを、共有データとして共有データベース500に格納する。また、管理サーバ400は、ユーザから受け付けた、共有データに対する処理の要求に応じて、当該共有データ(機微データ)を提供したデータ提供サーバ200に対し、処理の要求に係る共有データの属性値の復号を要求する。
The
共有データベース500は、データ提供サーバ200において暗号化された機微データを共有データとして記憶する。
The shared
端末装置600は、データ共有システム1を利用するユーザが用いる情報処理装置であって、上述の端末装置100と同様の装置である。端末装置600のユーザは、例えば、会社A以外の組織に属するユーザや、社内システム10にアクセスする権限がないユーザである。
The
端末装置600は、管理サーバ400に対し、共有データベース500に格納される共有データに対する処理の要求を行う。ここで、端末装置600から要求される「処理」とは、例えば、共有データの閲覧、検索、集計処理、統計処理を含む。
The
共有データに対する閲覧の要求は、ユーザが明示的に端末装置600を操作して、管理サーバ400に送信してもよいし、ユーザがデータ共有システム1にログインすると自動的に閲覧の要求が管理サーバ400に送信され、ユーザの端末装置600に予め設定された共有データが表示されるようにしてもよい。ユーザがデータ共有システム1にログインし、例えば、初期画面として他組織の共有データも表示されると、ユーザは、あたかも、自組織のデータベースのように共有データを閲覧することができる。
The user may explicitly operate the
なお、図1において、データ共有システム1は、1つのデータ提供サーバ200を備えるが、データ共有システム1に複数の組織が参加する場合は、参加する各組織に関連付けられた複数のデータ提供サーバ200を備える。
In FIG. 1, the
以下、上述したデータ共有システム1を構成する各サーバ等の機能構成、処理について説明する。なお、各機能構成を示す機能ブロックや処理ブロックは、1つの装置やコンピュータプロセッサによって実現するのに限られず、分散したグループによって実現してもよい。
The functional configuration and processing of each server, etc., constituting the
(端末装置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
端末装置100は、通信部101と、記憶部102と、入力部103と、出力部104と、制御部105と、を備える。端末装置100は、上述したように、例えば、プラットフォーム(データ共有システム1)に参加する会社Aの従業員等が操作する情報処理装置である。
通信部101は、端末装置100が社内システム10内のネットワークや、ネットワークNW(以下、「ネットワークNW等」と記載する場合がある。)を介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。所定の通信プロトコルは、TCP/IP(Transmission Control Protocol/Internet Protocol)等である。通信部101は、端末装置を識別する識別子を送信してもよい。
The
通信部101は、受信したデータを制御部105に送り、また、制御部105から受け取ったデータを、ネットワークNW等を介してサーバや装置等に送信するが、通信部101は、端末装置100内の制御部105以外の機能ブロックとデータのやり取りを行ってもよい。なお、通信部101は、ネットワークNW等を介した装置やローカルに接続された装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。セキュアな通信チャンネルの構築、通信方法は、セッション鍵(共通鍵)や公開鍵等を用いた周知の技術であるため、説明を省略する。
The
記憶部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
入力部103は、端末装置100のユーザ入力を受け付けるインタフェースである。入力部103は、例えば、キーボードや、タッチパネル、音声入力を検出するマイクであるが、これらに限られない。入力部103は、ユーザから、例えば、機微データ等を受け付けてもよい。
The
出力部104は、情報を出力してユーザに通知するインタフェースである。出力部104は、例えば、ディスプレイや、音声出力するスピーカであるが、これらに限られない。出力部104は、例えば、他の端末装置100や端末装置600、データ変換サーバ300等から受信したデータをディスプレイに表示する。
The
制御部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
制御部105は、入力部103を介したユーザからの指示に応じて、各種の処理を実行する。例えば、制御部105は、機微データ等を、通信部101を介してデータ提供サーバ200に送信する。また、共有データに対する処理の要求を、通信部101を介して管理サーバ400に送信してもよい。
The
(データ提供サーバ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
データ提供サーバ200は、通信部201と、制御部202と、記憶部203と、鍵管理部204と、暗号化部205と、復号部206と、を備える。
The
通信部201は、端末装置100の通信部101と同様に、ネットワークNW等を介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。通信部201は、受信したデータを制御部202に送る。また、通信部201は、制御部202から受け取ったデータを、ネットワークNWを介してサーバや装置等に送信する。なお、通信部201は、ネットワークNW等を介した装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。
The
通信部201は、属性項目ごとの属性値を含む機微データを取得する「機微データ取得部」として機能する。通信部201は、例えば、プラットフォームに参加する組織から、当該組織が保有する機微データを取得する。図1の例では、データ提供サーバ200は、例えば、会社Aの従業員が用いる端末装置100から機微データを取得する。
The
機微データは、例えば、会社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
また、通信部201は、復号部206(後述)において復号された属性値を含む処理の要求に係る共有データを提供する「提供部」として機能する。通信部201は、例えば、データ変換サーバ300(図4において詳述。)に、復号された属性値を含む当該処理の要求に係る共有データを提供する。なお、通信部201は、例えば、処理として閲覧の要求をした端末装置600(のユーザ)に設定された開示に関する権限が、少なくとも一部の属性値の生データの開示が許可された権限であった場合は、端末装置600に対し、復号された属性値を含む当該処理の要求に係る共有データを送信してもよい。端末装置600は、生データの開示が許可された属性値については、閲覧することができる。
The
制御部202は、端末装置100の制御部105と同様に、データ提供サーバ200の各機能を制御し、予め記憶部203(後述)に記憶されているプログラムに基づいて動作するCPU等のプロセッサである。
The
制御部202は、暗号化部205に対し、通信部201を介して取得した機微データについて暗号化するよう制御する。また、制御部202は、復号部206に対し、通信部201を介して取得した共有データの属性値について復号するよう制御する。
The
記憶部203は、端末装置100の記憶部102と同様の記憶装置等を有する。また、記憶部203は、データ提供サーバ200の各種処理に用いられるコンピュータプログラム等が格納される。また、記憶部203は、例えば、暗号化された機微データや、後述する鍵管理部204が管理する暗号鍵や復号鍵などを記憶する。
The
鍵管理部204は、暗号鍵および復号鍵を管理する。鍵管理部204は、例えば、暗号化部205の要求する暗号方式に応じた鍵を生成してもよい。暗号方式が、例えば、暗号化状態のまま加減算が可能な(加法的な)準同型暗号方式(Paillier方式)の場合は、公開鍵(暗号鍵)と秘密鍵(復号鍵)の組を生成する。
The
また、暗号方式が、暗号文の大小関係と対応する平文の大小関係が一致する順序保存暗号方式(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
暗号化部205は、通信部201が取得した機微データの少なくとも一部の属性値を所定の暗号方式で暗号化する。所定の暗号方式には、通信部201が取得した機微データの少なくとも一部の属性値を暗号化状態のまま演算可能な暗号方式を含み、例えば、準同型暗号方式、順序保存暗号方式、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)、検索可能暗号、SHA(Secure Hash Algorithm)、MD5(Message Digest algorithm 5)などである。なお、「演算」とは、加減乗除に関する計算、検索、分析に関する計算を含む。
The
本実施形態では、暗号化部205は、機微データに含まれる属性項目の属性値のうち、データ形式が数値の場合は、準同型暗号方式(Paillier方式、Lifted-Ellgamal方式、Somewhat Homomorphic Encryption方式、Fully Homomorphic Encryption方式等)および/または順序保存暗号方式(OPE方式)を用いて暗号化する。なお、データ処理の内容に応じて、暗号方式により処理効率が異なるので、各属性項目は、準同型暗号方式で暗号化された属性値、順序保存暗号方式で暗号化された属性値、検索可能暗号方式で暗号化された属性値等、複数の暗号方式で保持しておいてもよい。また、データ形式が文字列の場合は、検索可能暗号方式、もしくは暗号文上で完全一致が可能なAES暗号等を用いて暗号化する。なお、データ形式ごとに適用する上記暗号方式は一例であって、どの属性項目の属性値について暗号化するか、また、どの暗号方式で暗号化するか等は、機微データを保有する組織が適宜決定してもよい。
In this embodiment, the
復号部206は、管理サーバ400からの復号要求(図5において詳述。)に応じ、復号鍵を用いて、管理サーバ400が受け付けた処理の要求に係る共有データの暗号化された属性値を復号する。より詳しくは、復号部206は、管理サーバ400からの復号要求がされた共有データのうち、鍵管理部204が管理する暗号鍵で暗号化した属性項目の属性値について、記憶部203から対応する復号鍵を取得して、暗号化した暗号方式に従って復号する。また、復号部206は、属性値だけでなく、上述の属性値を暗号化状態のまま演算可能な暗号方式で演算した実行結果も復号できる。なお、復号アルゴリズムは、周知の技術であるので説明を省略する。
In response to a decryption request (detailed in FIG. 5) from the
また、復号部206は、復号した属性値を含む共有データを制御部202に送る。制御部202は、通信部201を介して、共有データをネットワークNW等に接続するサーバ等に送信する。
Also, the
(データ変換サーバ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
データ変換サーバ300は、通信部301と、制御部302と、記憶部303と、を備える。
The
通信部301は、端末装置100の通信部101と同様に、ネットワークNW等を介してサーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。通信部301は、受信したデータを制御部302に送る。また、通信部301は、制御部302から受け取ったデータを、ネットワークNW等を介してサーバや装置等に送信する。なお、通信部301は、ネットワークNW等を介した装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。
The
制御部302は、端末装置100の制御部105と同様に、データ変換サーバ300の各機能を制御し、予め記憶部303(後述)に記憶されているプログラムに基づいて動作するCPU等のプロセッサである。制御部302は、データ提供サーバ200が提供する共有データに対し、開示レベルに関する情報(図5において詳述。)に基づいて、所定の変換を行って、開示データを生成する。制御部302は、通信部301に対し、生成した開示データを、処理の要求を送信した端末装置600へ送信するよう制御する。
The
ここで、「所定の変換」は、属性値の抽象化、ノイズ付加、または置換を行う処理のいずれか一つを含む。属性値の抽象化とは、例えば、属性値の情報の粒度を粗くすることである。情報の粒度とは、情報の細かさであり、例えば、粒度が粗いほど、情報が単純化、概数化、グループ化され、粒度が細かいほど、具体化される。すなわち、粒度が粗いほど、情報を一意に特定することが困難になる。 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
また、例えば、属性項目が売り上げに対応する場合、開示レベルに関する情報として、数値の粒度を変更し、数値を概数に変換して開示する旨の設定がされているときは、制御部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
また、例えば、属性項目が製品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
また、例えば、属性項目が年齢に対応する場合は、数値の粒度を変更し、年齢によって区分けした層(年代)に変換した開示データを生成してもよい。例えば、属性値が「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
また、制御部302は、所定の変換として、データ提供サーバ200が提供する共有データに対し、属性値に所定の数値幅を付加して、開示データを生成してもよい。例えば、属性項目が年齢や体重に対応する場合は、差分プライバシー(Differential Privacy)の手法を用い、数値にノイズ(所定の数値幅)を付加する変換をしてもよい。例えば、属性値が「26歳」であった場合は、「23~29歳」のように、3歳の幅を持たせる変換をして開示データを生成する。
Further, the
このように属性値を生データのまま開示するのではなく、所定の変換をして開示することで、機微データの内容を保護しつつ、分析対象として意味のあるデータとして共有することができる。なお、上述した所定の変換は、一例であり、これらに限られない。 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
記憶部303は、端末装置100の記憶部103と同様の記憶装置等を有する。また、記憶部303は、データ変換サーバ300の各種処理に用いられるコンピュータプログラム等が格納される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から公知のセットアッププログラム等を用いて記憶部303にインストールされてもよい。記憶部303は、上述した、属性値に対する所定の変換について、変換の対応関係を示すテーブルを記憶する。対応関係を示すテーブルについては後述(図8)する。
The
(管理サーバ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
管理サーバ400は、通信部401と、記憶部410と、制御部420と、を備える。
The
通信部401は、端末装置100の通信部101と同様に、管理サーバ400がネットワークNW等を介して各サーバや装置等と所定の通信プロトコルに従って通信を行うための通信インタフェース回路を有する。通信部401は、受信したデータを制御部420に送り、また、制御部420から受け取ったデータを、ネットワークNW等を介してサーバや装置等に送信する。
The
また、通信部401は、共有データベース500に格納される共有データに対する処理の要求を受け付ける「受付部」として機能する。なお、通信部401は、ネットワークNW等を介した装置等と、セキュリティが確保されたセキュアな通信チャンネルでデータを送受信する。
Also, the
記憶部410は、端末装置100の記憶部103と同様の記憶装置等を有する。また、記憶部410は、管理サーバ400の各種処理に用いられるコンピュータプログラム等が格納される。
The
記憶部410は、機微データの属性項目ごとに設定される処理の権限に関する情報である設定ファイル411を有する。処理の権限は、属性項目ごとの属性値の開示に関する権限を含む。属性値の開示に関する権限は、開示を許可するユーザに関する情報を含み、例えば、プラットフォームに参加する組織のうち、機微データの開示を許可する組織を示す情報である。なお、当該組織のうち、部署やグループ、職位が一定以上の者、のように、組織内における集団や、職位に関する情報を含んでもよい。また、メールアドレスやドメイン、開示を許可する個人を特定する情報を含んでもよい。
The
また、属性値の開示に関する権限は、属性値に対する開示レベルに関する情報を含む。例えば、開示レベルを複数の段階に分け、属性値の生データを開示する(レベル高)、属性値(数値や文字)を所定の変換をして開示する(レベル中)、属性値の開示を許可しない(レベル低)、のようにレベル分けしてもよい。 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
権限管理部422は、機微データの属性項目ごとに設定される処理の権限を管理する。権限管理部422は、例えば、端末装置100等において入力された、機微データの属性項目ごとに設定される処理の権限に関する情報を、通信部401を介して受け付け、設定ファイル411として記憶部410に記憶させる。なお、処理の権限に関する情報は、データ提供サーバ200において設定され、管理サーバ400と共有してもよいし、予め、データ共有システム1の運営者によって設定されていてもよい。
The
また、権限管理部422は、機微データの属性項目の内容に応じて、開示レベルを設定しておいてもよい。例えば、属性項目が「氏名」のような、個人を特定する情報の場合は、属性値を非開示(開示レベル低)と自動的に設定してもよい。また、権限管理部422は、受け付けた処理の権限に関する情報に基づいて、属性項目の内容と、実際に行われた所定の変換との関係を学習し、開示レベルを自動的に設定するようにしてもよい。
Also, the
また、処理の権限に関する情報は、データを提供したデータ提供サーバ200において管理してもよい。この場合、権限管理部422は、共有データに対する閲覧の処理の要求を通信部401が受け付けるごとに、当該共有データを提供したデータ提供サーバ200に対し、開示可否等を問い合わせる。
Also, the information on the processing authority may be managed by the
なお、本実施形態では、処理の権限は、管理サーバ400において管理しているが、データ提供サーバ200において管理するようにしてもよいし、データ提供サーバ200および管理サーバ400の両方で管理するようにしてもよい。
In this embodiment, the processing authority is managed by the
演算実行部423は、共有データに対する演算の処理を実行する。そして、演算実行部423は、処理の実行結果を復号要求部424(後述)へ送る。ここで、演算の処理とは、共有データの属性項目の少なくとも一部を対象とする検索処理または統計処理またはその両方の処理を含む。本実施形態では、検索処理は、所定の条件を満たすレコードを抽出する処理のことをいう。また、統計処理は、例えば、集計用の関数により行う処理であって、代表的には、テーブルの行数(レコード)を数える処理(COUNT関数)、テーブルの数値列のデータを合計する処理(SUM関数)、テーブルの数値列のデータを平均する処理(AVG関数)、テーブルの任意列のデータの最大値を求める処理(MAX関数)、テーブルの任意列のデータの最小値を求める処理(MIN関数)などであるが、これらに限られない。対象セグメントごとにまとめる「GROUP BY」、順序を昇順・降順に並び替える「ORDER BY」のようなSQL構文であってもよい。
The
なお、本実施形態では、演算の処理は、管理サーバ400において実行しているが、データ提供サーバ200や、共有データベース500に、演算実行部423と同様の機能を持たせ、演算の処理を実行させてもよい。
Note that, in the present embodiment, computation processing is executed in the
復号要求部424は、処理の要求に係る共有データの属性項目に設定された処理の権限に基づいて、データ提供サーバ200に対し、当該属性項目に係る属性値の復号要求を行う。復号要求部424は、例えば、通信部401が閲覧の処理の要求を、端末装置600-1から受け付けた場合、設定ファイル411にアクセスして、当該処理の要求に係る共有データの属性項目に設定された処理の権限を参照する。復号要求部424は、当該処理の権限と、端末装置600-1に関連付けられたユーザの識別子等に基づいて、端末装置600-1に関連付けられたユーザが、開示が許可されたユーザであるかを判断する。復号要求部424は、端末装置600-1のユーザが、開示が許可されたユーザであると判断した場合は、データ提供サーバ200に対し、処理の要求に係る共有データの属性値の復号要求を行う。なお、ユーザについて「開示が許可された」とは、生データの開示および、所定の変換をして開示されることが許可されていることを含む。
The
なお、本実施形態では、上述の復号要求に、共有データベース500に格納された共有データのうち、処理の要求に係る共有データを含ませる。しかしながら、データ提供サーバ200において、管理サーバ400に送信した機微データが記憶されている場合は、復号要求に共有データを含ませなくてもよい。また、復号要求には、開示レベルに関する情報を含ませてもよい。データ変換サーバ300は、データ提供サーバ200を介して取得した開示レベルに関する情報に基づいて、所定の変換を行う。
Note that in the present embodiment, of the shared data stored in the shared
また、復号要求部424は、処理の要求に係る共有データに含まれるレコード数に基づいて、復号要求を行ってもよい。処理の要求に係る共有データのレコード数が、所定の数以下(例えば、1個。)の場合は、共有データに所定の変換を行ったとしても、データが特定できるおそれがある。したがって、復号要求部424は、レコード数が所定の数以下の場合は、復号要求しないと判断してもよい。なお、データが特定できるおそれがある場合に復号要求しない条件については、レコード数に限らず、生データとして開示が許可されている属性項目の組み合わせなどに基づいてもよい。
Further, the
また、復号要求部424は、演算実行部423から実行結果を受け付けると、演算の処理の対象である属性項目を含む機微データを提供したデータ提供サーバ200に対し、当該データ提供サーバ200が管理する復号鍵によって実行結果を復号するよう要求する。すなわち、演算の処理の対象である属性項目の属性値について、統計処理のため暗号化状態のまま演算を行った実行結果は、当該属性項目を含む機微データを提供したデータ提供サーバ200が管理する暗号鍵で暗号化されている。このため、復号処理は、暗号鍵に対応する復号鍵を管理するデータ提供サーバ200によって行われる必要がある。そこで、復号要求部424は、処理の要求に係る機微データを提供したデータ提供サーバ200に対し、実行結果の復号要求を行う。データ提供サーバ200の復号部206は、実行結果の復号要求に応じて、上述の共有データの暗号化された属性値の復号と同様に、機微データを暗号化した暗号鍵に対応する復号鍵を用いて、実行結果を復号する。なお、演算の実行結果の開示に関しても、上述のように所定の変換をして開示データを生成してもよい。
Further, when the
図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
属性項目1010は、項目(カラム名)として、「会員番号」、「氏名」、「住所」、「生年月日」、「年齢」、「性別」、「メールアドレス」、「購入金額」などを含む。
レコードは、テーブルの一行分のデータであり、属性項目に対応する属性値を含む。図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
テーブル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
テーブル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.
なお、属性値の開示に関する権限は、図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
図8は、所定の変換の対応関係の一例を示す図である。例えば、データ変換サーバ300は、属性項目の属性値について、テーブル3000に基づいて、所定の変換を行う。なお、テーブル3000は、データ提供サーバ200や、管理サーバ400から取得してもよい。
FIG. 8 is a diagram showing an example of a correspondence relationship between predetermined conversions. For example, the
テーブル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
開示データ4000において、属性項目「氏名」、「生年月日」、「メールアドレス」は、非開示のデータである。属性項目「氏名」、「生年月日」は暗号化された属性値が記載されており、属性項目「メールアドレス」は「******」のような伏字(マスキング)が記載されている。暗号化した値のまま表示するか、マスキングで表示するかは、機微データを提供するユーザやシステム側の事業者が適宜設定してもよい。
In the
属性項目「性別」は、生データが開示されている。すなわち、暗号化された属性値を復号した属性値が記載されている。 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
開示データ5000において、下から2行分のレコードは、ダミーデータである。生データを学習して生成されたデータであったり、ランダムに生成させたデータであったりしてもよい。一定数以上のレコードを含むデータの閲覧を要求されたが、もともとの共有データに含まれるレコード数が足りない場合などにダミーデータが追加される。
In the disclosed
属性項目「住所」は、住所を地域名に変換したものが記載されている。属性項目「年齢」は、年齢に、「±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
ステップS101において、管理サーバ400の通信部401は、端末装置600から共有データに対する閲覧の処理の要求を受け付ける。なお、処理の要求は、処理の要求をした端末装置600のユーザ情報など、送信元を識別するための情報を含んでもよい。通信部401は、受け付けた処理の要求を復号要求部424に送る。
In step S<b>101 , the
ステップS102において、復号要求部424は、処理の要求に係る共有データの開示レベルの確認を行う。例えば、復号要求部424は、設定ファイル411にアクセスし、当該処理の要求に係る共有データの属性項目に設定された権限を参照する。
In step S102, the
ステップS103において、復号要求部424は、データ提供サーバ200に対し、処理の要求に係る共有データの属性値の復号要求を行う。例えば、復号要求部424は、開示レベルとして、生データの開示が許可、または、所定の変換をして開示が許可されている属性値に関して復号要求を行う。ここで、開示が許可されていない(つまり、非開示)属性値に関しては、処理の要求に係る属性値を暗号化したままで、データ提供サーバ200から、処理の要求をした端末装置600に送信してもよい。また、開示が許可されていない属性値も含めて、処理の要求に係る共有データ全てについても復号要求し、後述するステップS105で、開示レベルに従って変換を行ってから、端末装置600に送信するようにしてもよい。
In step S103, the
ステップS104において、データ提供サーバ200の復号部206は、復号要求に応じて、共有データの属性値を暗号化した暗号鍵に対応する復号鍵を用いて、属性値を復号する。そして、復号部206は、復号された属性値を含む処理の要求に係る共有データを、通信部201を介して、データ変換サーバ300に送信する。また、復号部206は、共有データとともに、開示レベルに関する情報をデータ変換サーバ300に送信する。なお、ステップS102で参照した設定ファイル411において、生データの開示が許可されている属性項目の属性値は、復号部206から、通信部201を介して、閲覧の処理を送信した端末装置600に送信してもよい。データ変換サーバ300を介して端末装置600に送信するよりも、通信工程を削減することができる。
In step S104, the
ステップS105において、データ変換サーバ300の制御部302は、開示レベルに関する情報に基づいて、共有データに係る属性値に所定の変換を行って、開示データを生成する。また、制御部302は、開示が許可されていない属性値に関しては、マスキングしたり、非開示である旨の表示に変換して、開示データを生成してもよい。開示データの生成については、上述(図8,図9等参照)した通りであるため、説明を省略する。データ変換サーバ300は、生成した開示データを、閲覧の処理の要求を送信した端末装置600に送信する。
In step S105, the
なお、開示データは、データ変換サーバ300から管理サーバ400を介して、端末装置600に送信されるようにしてもよい。管理サーバ400が、データのルーティングを管理することで、データ共有システム1における通信制御を効率化することができる。
Note that the disclosure data may be transmitted from the
ステップS106において、端末装置600は、受信した開示データをディスプレイ等に表示させ、処理が終了する。
In step S106, the
(ハードウェア構成図)
図11は、管理サーバ400のハードウェア構成を示すブロック図である。管理サーバ400は、コンピュータ901に実装される。コンピュータ901は、CPU902と、主記憶装置903と、補助記憶装置904と、インタフェース905と、を備える。
(Hardware configuration diagram)
FIG. 11 is a block diagram showing the hardware configuration of the
管理サーバ400の各構成要素の動作は、プログラムの形式で補助記憶装置904に記憶されている。CPU902は、プログラムを補助記憶装置904から読み出して主記憶装置903に展開し、当該プログラムに従って上記処理を実行する。また、CPU902は、プログラムに従って、記憶領域を主記憶装置903に確保する。当該プログラムは、具体的には、コンピュータ901に、データ処理を行わせるプログラムである。
The operation of each component of
なお、補助記憶装置904は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース905を介して接続される磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等が挙げられる。また、このプログラムがネットワークを介してコンピュータ901に配信される場合、配信を受けたコンピュータ901が当該プログラムを主記憶装置903に展開し、処理を実行してもよい。
Note that the
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置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
(効果の説明)
上述したように、本実施形態に係るデータ共有システムは、データ提供サーバと、共有データベースと、管理サーバと、を備え、管理サーバは、共有データベースに格納された共有データ(データ提供サーバにおいて暗号化された機微データ)に対する処理の要求を受け付ける。そして、管理サーバは、当該処理の要求に係る共有データの属性項目に設定された権限に基づいて、データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行う。データ提供サーバが複数の場合は、管理サーバは、処理の要求に係る共有データの属性項目を含む機微データを提供したデータ提供サーバに対し、復号要求を行う。このように、管理サーバは機微データに対する復号鍵を取得せず、機微データを提供したデータ提供サーバに対して、復号要求を行うため、他者とデータを共有するシステム内においても、自己の保有する機微データを自己の鍵で管理することができ、漏洩防止になる。
(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に係る共有システムでは、データセンタ側において、上述の鍵管理部および暗号化部、復号部の機能、データ変換サーバの機能を有する。管理サーバでは、暗号化された属性値を復号して、処理の要求に係る共有データ(開示データ)を提供する。データ提供サーバでは、属性項目ごとの処理の権限を設定し、管理サーバは当該処理の権限を管理する。
<
In the
信頼できるデータセンタ側において、データの暗復号および所定の変換を行って共有データ(開示データ)を提供し、機微データの提供者は、自己の保有する機微データの処理の権限を設定できるようにすることで、機微データの開示範囲を制御してセキュリティに配慮しつつも、実施形態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」が保有する機微データを統合した共有データを他組織のユーザと共有するシステムである。
<
The
図12は、本実施形態に係るデータ共有システム2の構成を示す図である。図12を参照して、実施形態2に係るデータ共有システム2の構成について説明する。なお、実施形態1と共通する構成要素には同一の符号を付し、繰り返しの説明を省略する。
FIG. 12 is a diagram showing the configuration of the
データ共有システム2は、社内システム10,30,40と、データセンタ50と、端末装置600-1,…,600-Nと、を備え、ネットワークNWを介して通信可能に接続される。
The
社内システム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-
端末装置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 "
データ提供サーバ200は、端末装置100から機微データを取得する。機微データは、属性項目としてレコードを識別する識別子を含む。
The
データセンタ50は、管理サーバ700と、共有データベース800と、を有する。
The
管理サーバ700は、データ提供サーバ200-1,200-2,200-3から、暗号化された機微データを取得し、共有データベース800に格納する。
共有データベース800は、格納された機微データの属性項目として含まれる識別子に基づいて機微データを統合する。なお、機微データを統合する処理は、管理サーバ700において実行されてもよい。
The shared
また、本実施形態では、データ提供サーバ200は3つであるが、少なくとも2以上の複数であってもよい。
Also, although there are three
図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 “
テーブル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 "
テーブル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 “
テーブル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
図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
テーブル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", "
統合テーブル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
テーブル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
すなわち、図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
管理サーバ700は、通信部401と、記憶部710と、制御部720と、を備える。
The
記憶部710は、実施形態1に係る管理サーバ400の記憶部410と同様の機能構成を有し、管理サーバ700の各種処理に用いられるコンピュータプログラム等が格納される。
The
記憶部710は、機微データの属性項目ごとに設定される処理の権限に関する情報である設定ファイル711を有する。設定ファイル711は、属性項目ごとの属性値の開示に関する権限を規定しており、例えば、共有データの属性項目ごとに、開示が許可されるユーザ等が対応付けて記憶している。また、設定ファイル711は、統合データの属性項目ごとのデータ提供元などを対応付けて記憶している。処理の権限の設定については、図7等で述べた通りであるので、説明を省略する。
The
また、記憶部710は、通信部401がデータ提供サーバ200から受信した、暗号化された機微データを記憶する。
制御部720は、全体制御部421と、権限管理部722と、演算実行部423と、復号要求部724と、統合データ生成部725と、を有する。
The
The
権限管理部722は、機微データの属性項目ごとに設定される処理の権限を管理し、例えば、各データ提供サーバ200から当該処理の権限に関する情報を受け付け、設定ファイル711として記憶部710に記憶させる。各データ提供サーバ200から処理の権限に関する情報を受け付ける点以外は、実施形態1に係る権限管理部422と機能構成は同じである。
The
復号要求部724は、処理の要求に係る共有データの属性項目に設定された処理の権限に基づいて、データ提供サーバ200に対し、当該属性項目に係る属性値の復号要求を行う。当該共有データが、複数の機微データを統合して生成されたデータの場合、復号要求部724は、設定ファイル711を参照して、処理の要求に係る属性項目に係る属性値の送信元であるデータ提供サーバ200に対し、復号要求を行う。例えば、図15で示した統合テーブルTmの例では、属性項目「年齢」、「性別」、「収入」、「購買フラグ1」の属性値については、データ提供サーバ200-1へ復号要求を行う。
The
統合データ生成部725は、通信部401を介して各データ提供サーバ200から受信し、記憶部710に記憶される暗号化された機微データを、機微データに属性項目として含まれる識別子(図13~図15の例では共通ID)に基づいて統合して統合データを生成する。そして、統合データ生成部725は、生成した統合データを全体制御部421に送り、全体制御部421は、通信部401を介して、統合データを共有データとして共有データベース500に格納する。また、統合データ生成部725は、統合データを生成した後、統合した機微データを記憶部710から削除するようにしてもよい。また、機微データを統合する処理は、管理サーバ700ではなく、暗号化された機微データを取得した他の情報処理装置が行ってもよい。
The integrated
なお、復号要求部724が各データ提供サーバ200に復号要求を行った後、処理の要求に係る共有データの属性値が復号され、データ変換サーバ300において、開示データが生成される点は、実施形態1と同様である。各データ変換サーバ300は、生成した開示データを、処理の要求を送信した端末装置600に送信し、端末装置600において各開示データを統合してもよい。また、各データ変換サーバ300が生成した開示データを、管理サーバ700に送信し、管理サーバ700において、開示データを統合して、処理の要求を送信した端末装置600に統合した開示データを送ってもよい。開示データの統合は、暗号化された機微データの統合処理と同様に行うことができる。
After the
なお、図12において述べたように、統合データ生成部725が上記で行った統合データを生成する処理は、共有データベース800において実行してもよい。
Note that, as described with reference to FIG. 12 , the process of generating the integrated data performed by the integrated
(効果の説明)
上述したように、本実施形態に係るデータ共有システムは、複数のデータ提供サーバから提供された機微データを統合したデータを共有データとして、他組織に開示する。この際、管理サーバが、閲覧の処理の要求に係る共有データに含まれる属性値を提供したデータ提供サーバに対し、復号要求を行う。管理サーバは、復号鍵を取得せず、機微データを提供したデータ提供サーバに対して、復号要求を行うため、他者とデータを共有するシステム内においても、自己の保有する機微データを自己の鍵で管理することができ、漏洩防止になる。
(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
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 .
前記データ提供サーバが、
属性項目ごとの属性値を含む機微データを取得するステップと、
暗号鍵および復号鍵を管理するステップと、
前記暗号鍵を用いて、前記機微データの少なくとも一部の属性値を所定の暗号方式で暗号化するステップと、
前記共有データベースが、
前記データ提供サーバにおいて前記暗号化された機微データを共有データとして記憶するステップと、
前記管理サーバが、
前記機微データの前記属性項目ごとに設定される前記属性値の開示に関する権限を管理するステップと、
前記共有データに対する処理の要求を受け付けるステップと、
前記処理の要求に係る共有データの属性項目に設定された前記権限に基づいて、前記データ提供サーバに対し、当該属性項目に係る属性値の復号要求を行うステップと、
前記データ提供サーバが、
前記復号要求に応じて、前記復号鍵を用いて、前記処理の要求に係る共有データの前記暗号化された属性値を復号するステップと、
前記復号された属性値を含む前記処理の要求に係る共有データを提供するステップと、
を備え、
前記属性値の開示に関する権限は、前記属性値に対する開示レベルに関する情報を含み、
前記データ変換サーバが、前記データ提供サーバが提供する共有データに対し、前記開示レベルに関する情報に基づいて、所定の変換を行って、開示データを生成するステップをさらに備え、
前記所定の変換は、前記属性値の抽象化、またはノイズ付加を行う処理のいずれかを少なくとも含む、データ共有方法。 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 .
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)
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)
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 |
-
2022
- 2022-09-27 JP JP2022154284A patent/JP7250390B1/en active Active
-
2023
- 2023-03-14 JP JP2023039536A patent/JP2024048331A/en active Pending
- 2023-08-15 WO PCT/JP2023/029494 patent/WO2024070290A1/en unknown
Patent Citations (4)
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 |