JP2021140299A - Data matching system, information processing apparatus, and data matching method - Google Patents
Data matching system, information processing apparatus, and data matching method Download PDFInfo
- Publication number
- JP2021140299A JP2021140299A JP2020035630A JP2020035630A JP2021140299A JP 2021140299 A JP2021140299 A JP 2021140299A JP 2020035630 A JP2020035630 A JP 2020035630A JP 2020035630 A JP2020035630 A JP 2020035630A JP 2021140299 A JP2021140299 A JP 2021140299A
- Authority
- JP
- Japan
- Prior art keywords
- data
- user
- information
- sketching
- matching
- 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.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims description 61
- 230000004044 response Effects 0.000 claims description 25
- 238000013500 data storage Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 32
- 230000005540 biological transmission Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 16
- 230000009471 action Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 9
- 230000000052 comparative effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Abstract
Description
本発明は、データマッチングシステム、情報処理装置およびデータマッチング方法に関する。 The present invention relates to a data matching system, an information processing apparatus and a data matching method.
近年、携帯機器やIoT(Internet of Things)機器の普及に伴って、ユーザの行動履歴など、ユーザに関する様々な情報を採取できるようになっている。そして、そのように採取された情報を用いて、特定の目的に適したユーザを抽出するようなマッチングサービスの実現が期待されている。 In recent years, with the spread of mobile devices and IoT (Internet of Things) devices, it has become possible to collect various information about users such as user behavior history. Then, it is expected to realize a matching service that extracts users suitable for a specific purpose by using the information collected in this way.
また、大量のデータを用いた分析や照合のために、確率的データ構造が利用されている。確率的データ構造を用いることで、分析や照合の対象データに関するクエリに対して、処理結果にはある程度の誤差が含まれ得るものの、対象データのサイズが圧縮され、処理効率を高めることができる。 In addition, stochastic data structures are used for analysis and collation using a large amount of data. By using the probabilistic data structure, the size of the target data can be compressed and the processing efficiency can be improved, although the processing result may contain some error for the query related to the target data for analysis or collation.
このような確率的データ構造を用いた技術としては、例えば、複数のデータストリームにおけるデータ間の一致度を推定するために、hyperloglogなどの確率的データ構造が利用された識別システムが提案されている。 As a technique using such a probabilistic data structure, for example, an identification system using a probabilistic data structure such as hyperlog has been proposed in order to estimate the degree of coincidence between data in a plurality of data streams. ..
また、情報を選択して出力する技術に関しては、例えば、ファイル管理システムによって管理されているファイルやデータを集積して、集積したアイテムの中から必要な情報を選択して出力する情報集積アプリケーションが提案されている。この情報集積アプリケーションによれば、スケッチ情報に指定されたアイテムに関する情報が、スケッチ情報に指定されたレイアウトにしたがって出力される。 Regarding the technology for selecting and outputting information, for example, an information collection application that collects files and data managed by a file management system and selects and outputs necessary information from the collected items. Proposed. According to this information accumulation application, information about the item specified in the sketch information is output according to the layout specified in the sketch information.
ところで、上記のようなマッチングサービスでは、ユーザに関する情報がサービス側に提供されるため、個人情報が漏洩する危険性がある。これに対して、ユーザに関する情報を、確率的データ構造を有するスケッチングデータに変換してサービス側に提供する方法が考えられる。ユーザに関する情報がスケッチングデータに変換されることで、個人情報の特定が困難な状態でサービス側に情報が提供されるので、個人情報の秘匿性を高めることができる。しかし、サービス側では、スケッチングデータだけを用いてマッチングを行うと、マッチング精度が低下するという問題がある。 By the way, in the matching service as described above, since the information about the user is provided to the service side, there is a risk that personal information may be leaked. On the other hand, a method of converting information about the user into sketching data having a stochastic data structure and providing it to the service side can be considered. By converting the information about the user into sketching data, the information is provided to the service side in a state where it is difficult to identify the personal information, so that the confidentiality of the personal information can be enhanced. However, on the service side, if matching is performed using only sketching data, there is a problem that the matching accuracy is lowered.
このように、ユーザに関する情報を用いたマッチングサービスでは、マッチング精度を維持した状態で、個人情報の秘匿性をどのようにして確保するかという点に課題がある。
1つの側面では、本発明では、ユーザに関する情報を用いたマッチングにおいて個人情報の秘匿性を確保することが可能なデータマッチングシステム、情報処理装置およびデータマッチング方法を提供することを目的とする。
As described above, in the matching service using information about the user, there is a problem in how to ensure the confidentiality of personal information while maintaining the matching accuracy.
In one aspect, it is an object of the present invention to provide a data matching system, an information processing device, and a data matching method capable of ensuring the confidentiality of personal information in matching using information about a user.
1つの案では、情報処理装置と端末装置とを有する次のようなデータマッチングシステムが提供される。このデータマッチングシステムにおいて、情報処理装置は、それぞれ個別のユーザに関する複数のユーザ情報をそれぞれ変換して得られた、確率的データ構造をそれぞれ有する複数のスケッチングデータを受信して、情報処理装置が備える記憶部に格納し、複数のスケッチングデータと所定の参照データとのマッチングを実行し、複数のスケッチングデータの中からマッチング結果として一のスケッチングデータが特定されると、一のスケッチングデータに対応する一のユーザに対して、複数のユーザ情報のうち一のユーザに対応する一のユーザ情報の提供を要求する提供要求を送信し、一のユーザ情報を、一のユーザの署名データが付加された状態で受信し、受信した一のユーザ情報と参照データとのマッチングを実行することによりマッチング結果を検証する。端末装置は、提供要求に応じて、一のユーザ情報の提供に同意する同意操作を一のユーザから受け付け、同意操作に応じて、一のユーザ情報に基づいて署名データを生成し、署名データを付加した一のユーザ情報を情報処理装置に送信する。 One proposal provides the following data matching system having an information processing device and a terminal device. In this data matching system, the information processing device receives a plurality of sketching data each having a probabilistic data structure obtained by converting a plurality of user information about each individual user, and the information processing device receives the data. It is stored in the storage unit provided, matching is performed between a plurality of sketching data and a predetermined reference data, and when one sketching data is specified as a matching result from the plurality of sketching data, one sketching is performed. A provision request for requesting the provision of one user information corresponding to one user among a plurality of user information is transmitted to one user corresponding to the data, and the one user information is used as the signature data of one user. Is received with the data added, and the matching result is verified by performing matching between the received user information and the reference data. The terminal device accepts a consent operation from one user who consents to the provision of one user information in response to the provision request, generates signature data based on the one user information in response to the consent operation, and generates the signature data. The added user information is transmitted to the information processing device.
また、1つの案では、記憶部と処理部とを有する次のような情報処理装置が提供される。この情報処理装置において、処理部は、それぞれ個別のユーザに関する複数のユーザ情報をそれぞれ変換して得られた、確率的データ構造をそれぞれ有する複数のスケッチングデータを受信して、記憶部に格納し、複数のスケッチングデータと所定の参照データとのマッチングを実行し、複数のスケッチングデータの中からマッチング結果として一のスケッチングデータが特定されると、一のスケッチングデータに対応する一のユーザに対して、複数のユーザ情報のうち一のユーザに対応する一のユーザ情報の提供を要求する提供要求を送信し、一のユーザ情報を、一のユーザ情報の提供に一のユーザが同意する同意操作に応じて生成された、一のユーザの署名データが付加された状態で受信し、受信した一のユーザ情報と参照データとのマッチングを実行することによりマッチング結果を検証する。 Further, in one plan, the following information processing apparatus having a storage unit and a processing unit is provided. In this information processing device, the processing unit receives a plurality of sketching data each having a probabilistic data structure obtained by converting a plurality of user information related to each individual user, and stores the data in the storage unit. , Matching a plurality of sketching data with a predetermined reference data is performed, and when one sketching data is specified as a matching result from the plurality of sketching data, one corresponding to the one sketching data. A provision request is sent to a user requesting the provision of one user information corresponding to one user among a plurality of user information, and one user consents to the provision of one user information. The matching result is verified by receiving the data with the signature data of one user added in response to the consent operation and performing matching between the received user information and the reference data.
さらに、1つの案では、上記の情報処理装置と同様の処理をコンピュータが実行するデータマッチング方法が提供される。 Further, one proposal provides a data matching method in which a computer executes the same processing as the above-mentioned information processing apparatus.
1つの側面では、ユーザに関する情報を用いたマッチングにおいて個人情報の秘匿性を確保できる。 On one aspect, the confidentiality of personal information can be ensured in matching using information about the user.
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係るデータマッチングシステムの構成例および処理例を示す図である。図1に示すデータマッチングシステムは、情報処理装置1と端末装置2とを有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram showing a configuration example and a processing example of the data matching system according to the first embodiment. The data matching system shown in FIG. 1 includes an
情報処理装置1は、それぞれ個別のユーザに関するユーザ情報11,12,13,・・・を用いたマッチングを行うことで、特定のユーザを抽出する装置である。例えば、情報処理装置1は、ユーザ情報11,12,13,・・・として各ユーザの行動履歴を取得し、それらの行動履歴を基に、特定の目的に適したユーザを抽出する。
The
ただし、情報処理装置1は、マッチングの対象となる各ユーザから、ユーザ情報をそのまま取得するのではなく、確率的データ構造を有するスケッチングデータの形式で取得する。情報処理装置1は、スケッチングデータを用いたマッチングの結果としてあるユーザが特定されたときに、そのユーザからスケッチングデータの元データであるユーザ情報を取得する。そして、情報処理装置1は、取得したユーザ情報を用いて再度マッチングを行うことで、スケッチングデータを用いたマッチングの結果を検証する。
However, the
図1の例では、ユーザ情報11,12,13,・・・を変換することでスケッチングデータ21,22,23,・・・が得られるものとする。
端末装置2は、ユーザによって操作される端末装置の1つである。図1では例として、端末装置2は、ユーザ情報11に対応するユーザAによって操作されるものとする。
In the example of FIG. 1, it is assumed that sketching
The
以下、本実施の形態に係るデータマッチングシステムの処理について、順を追って説明する。
まず、情報処理装置1は、スケッチングデータ21,22,23,・・・を受信する(ステップS1)。これらのうち、ユーザAに対応するスケッチングデータ21は、例えば、端末装置2から情報処理装置1に送信される。情報処理装置1は、記憶部3を備えており、受信したスケッチングデータ21,22,23,・・・を記憶部3に格納する。なお、記憶部3は、情報処理装置1が備える図示しない記憶装置の記憶領域として実現される。
Hereinafter, the processing of the data matching system according to the present embodiment will be described step by step.
First, the
次に、情報処理装置1は、格納されたスケッチングデータ21,22,23,・・・のそれぞれと、所定の参照データ31とのマッチングを実行する(ステップS2)。参照データ31は、特定のユーザを抽出するためのデータである。なお、実際には、参照データ31から変換されたスケッチングデータが、記憶部3内のスケッチングデータ21,22,23,・・・とマッチングされる。
Next, the
ステップS2では、例えば、スケッチングデータ21,22,23,・・・のそれぞれと、参照データ31に基づくスケッチングデータとの類似度が算出される。そして、類似度が最も高く、かつ、類似度が所定の閾値以上であるスケッチングデータが存在する場合に、そのスケッチングデータに対応するユーザがマッチング結果として特定される。
In step S2, for example, the degree of similarity between each of the sketching
図1では例として、マッチング結果としてユーザAが特定されたとする。この場合、情報処理装置1は、ユーザAに対して、ユーザAに対応するユーザ情報11の提供を要求する提供要求を送信する(ステップS3)。
In FIG. 1, as an example, it is assumed that user A is specified as a matching result. In this case, the
端末装置2は、送信された提供要求に応じて、ユーザAのユーザ情報11の提供に同意する同意操作を、ユーザAから受け付ける(ステップS4)。例えば、提供要求により、提供が要求された情報の内容がユーザに通知される。この通知は、例えば、ユーザA宛ての電子メールを送信することや、端末装置2の表示装置(図示せず)に対する情報表示によって行われる。また、この通知では、例えば、提供が要求された情報の種別、その情報の使用目的などが通知される。そして、ユーザAは、この通知に基づいて、提供が要求された情報の内容を確認し、情報提供に同意する場合にのみ同意操作を行う。
In response to the transmitted provision request, the
端末装置2は、ユーザAによる同意操作に応じて、ユーザ情報11に基づいてユーザAの署名データ11aを生成する(ステップS5)。署名データ11aは、例えば、少なくともユーザ情報11を含む送信情報に基づくハッシュ値を、ユーザAの秘密鍵を用いて暗号化することで生成される。そして、端末装置2は、ユーザ情報11に署名データ11aを付加して情報処理装置1に送信する(ステップS6)。
The
情報処理装置1は、署名データ11aが付加されたユーザ情報11を受信すると、受信したユーザ情報11と、ステップS2で使用された参照データ31とのマッチングを行う(ステップS7)。このマッチングにより、ステップS2でのマッチングの結果が検証される。例えば、ユーザ情報11と参照データ31との類似度が所定の閾値以上であれば、ステップS2でのマッチングの結果が正しかったと判定される。
When the
以上の処理によれば、各ユーザに関するユーザ情報11,12,13,・・・が、スケッチングデータ21,22,23,・・・に変換されて情報処理装置1に蓄積される。そして、スケッチングデータ21,22,23,・・・を用いてマッチングが行われ、そのマッチングの結果として特定されたユーザについてのみ、ユーザ情報が情報処理装置1に提供される。
According to the above processing, the
スケッチングデータは、元データであるユーザ情報と比較して、個人情報の特定が困難なデータである。各ユーザのユーザ情報11,12,13,・・・がこのようなスケッチングデータ21,22,23,・・・として情報処理装置1に蓄積されることで、個人情報が漏洩する危険性が低下する。また、スケッチングデータを用いたマッチングにより特定されたユーザのユーザ情報だけが提供されることで、ユーザ情報が情報処理装置1に提供され、利用される機会が限定される。
The sketching data is data in which it is difficult to identify personal information as compared with the user information which is the original data. Since the
しかも、ユーザ情報は、ユーザによる明確な同意操作に応じて提供される。そして、提供されるユーザ情報には、その同意操作に応じて生成されたユーザの署名データが付加される。情報処理装置1では、ユーザ情報にユーザの署名データが付加されていることで、ユーザ情報の提供にユーザが同意したことを明確に確認した上で、そのユーザ情報をマッチングに利用できる。例えば、署名データに基づいて、受信したユーザ情報が改ざんされていないことが確認された場合にのみ、ユーザ情報を用いたマッチングが実行される。このため、個人情報の秘匿性が高まり、ユーザのプライバシー保護の強度が向上する。
Moreover, the user information is provided in response to a clear consent operation by the user. Then, the signature data of the user generated in response to the consent operation is added to the provided user information. In the
また、スケッチングデータを用いたマッチングは、ある程度の誤差が生じるので、元データを用いたマッチングより精度が低い。図1の処理では、スケッチングデータを用いたマッチングの結果を、元データを用いたマッチングによって検証することで、マッチング精度を維持できるようになる。 In addition, matching using sketching data is less accurate than matching using original data because some error occurs. In the process of FIG. 1, the matching accuracy can be maintained by verifying the matching result using the sketching data by the matching using the original data.
したがって、本実施の形態によれば、ユーザに関する情報を用いた高精度なマッチングを行うのに際して、ユーザの個人情報の秘匿性を確保できる。
〔第2の実施の形態〕
図2は、第2の実施の形態に係るデータマッチングシステムの構成例を示す図である。図2に示すデータマッチングシステムは、事業者サーバ100、ユーザ端末200,200a,200b,・・・および管理者サーバ300を含む。事業者サーバ100、ユーザ端末200,200a,200b,・・・および管理者サーバ300は、ネットワーク50を介して相互に接続されている。
Therefore, according to the present embodiment, the confidentiality of the user's personal information can be ensured when performing highly accurate matching using the information about the user.
[Second Embodiment]
FIG. 2 is a diagram showing a configuration example of a data matching system according to the second embodiment. The data matching system shown in FIG. 2 includes a
事業者サーバ100は、事業者によって運用されるサーバコンピュータである。事業者サーバ100は、ユーザの属性情報を用いてマッチングを行うことで、特定の目的に適するユーザや、特定の条件に合致するユーザを抽出するマッチングサービスを提供する。
The
ユーザ端末200,200a,200b,・・・は、ユーザによって操作される端末装置である。ユーザは、ユーザ端末200,200a,200b,・・・のいずれかを操作することで、ユーザ自身に関する属性情報を事業者サーバ100に登録し、事業者サーバ100によるマッチングの結果を示す情報を受け取ることができる。ユーザ端末200,200a,200b,・・・を用いることで、事業者サーバ100には多数のユーザの属性情報が登録され得る。
管理者サーバ300は、ユーザの属性情報を管理する管理者によって運用されるサーバコンピュータである。管理者サーバ300は、ユーザ端末200,200a,200b,・・・からの要求に応じて、ユーザの属性情報を要求元のユーザ端末を介して事業者サーバ100に送信する。
The
管理者サーバ300は、ユーザの属性情報の種別ごとに個別に設けられてもよい。例えば、ユーザの行動履歴(位置情報、購買履歴など)を管理する管理者サーバ300と、ユーザに関する著作物(ユーザによる著書や論文、ユーザが記載された新聞記事など)を管理する管理者サーバ300とが個別に設けられていてもよい。このように管理者サーバ300が属性情報の種別ごとに設けられる場合、ユーザの属性情報は複数の管理者サーバ300によって分散管理されることになる。
The
また、ネットワーク50には、ブロックチェーン400を構築するノード群401が接続されている。ノード群401には、サーバなどのコンピュータノードが複数含まれている。ブロックチェーン400は、DID(Decentralized IDentifier)を用いたデジタルIDサービスを提供する。DIDは、非集権的に管理される分散型のIDである。
Further, a
デジタルIDサービスからは、少なくとも、各ユーザ、事業者サーバ100を運用する事業者、管理者サーバ300を運用するデータ管理者に対してそれぞれ個別のIDが発行される。以下、ユーザ、事業者、データ管理者に対して発行されたIDを、それぞれユーザID、事業者ID、管理者IDと記載する。ブロックチェーン400では、例えば、発行された各IDに対して公開鍵を対応付けて管理されている。
From the digital ID service, at least individual IDs are issued to each user, the business operator operating the
図3は、事業者サーバのハードウェア構成例を示す図である。事業者サーバ100は、例えば、図3に示すようなコンピュータとして実現される。図3に示す事業者サーバ100は、プロセッサ101、RAM(Random Access Memory)102、HDD(Hard Disk Drive)103、グラフィックインタフェース(I/F)104、入力インタフェース(I/F)105、読み取り装置106およびネットワークインタフェース(I/F)107を備える。
FIG. 3 is a diagram showing a hardware configuration example of the operator server. The
プロセッサ101は、事業者サーバ100全体を統括的に制御する。プロセッサ101は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
The
RAM102は、事業者サーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。
The
HDD103は、事業者サーバ100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
The
グラフィックインタフェース104には、表示装置104aが接続されている。グラフィックインタフェース104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置としては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。
A
入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
An
読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
A
ネットワークインタフェース107は、ネットワーク50を介して他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、事業者サーバ100の処理機能を実現することができる。なお、ユーザ端末200,200a,200b,・・・および管理者サーバ300についても、例えば、図3に示すような構成のコンピュータとして実現することができる。ユーザ端末200,200a,200b,・・・は、図3の構成の他、例えば、表示装置104aが一体化されたノート型コンピュータや、タブレット型端末、スマートフォンとして実現されてもよい。
The
With the above hardware configuration, the processing function of the
次に、データマッチングシステムにおけるマッチング処理の具体例について説明する。
前述のように、管理者サーバ300では、ユーザの行動履歴やユーザに関する著作物といったユーザの属性情報が管理される。管理者サーバ300は、例えば、このような属性情報を各ユーザから収集することができる。
Next, a specific example of the matching process in the data matching system will be described.
As described above, the
以下の説明では、管理者サーバ300では属性情報として、ユーザの行動履歴、特にユーザの位置情報の履歴が管理されるものとする。この場合、例えば、ユーザが携帯する端末装置においてユーザの位置情報が計測される。位置情報としては、GPS(Global Positioning System)データが計測される。管理者サーバ300は、計測されたユーザの位置情報をユーザの端末装置から収集し、ユーザIDに対応付けて記憶する。なお、ユーザの位置情報が計測される端末装置として、図2に示すユーザ端末200,200a,200b,・・・が用いられてもよい。
In the following description, it is assumed that the
また、事業者サーバ100を運用する事業者は、地域の案内を行うボランティアを派遣する派遣事業を行う。この派遣事業に関し、事業者サーバ100は、ボランティアのマッチングサービスを提供する。マッチングサービスでは、事業者サーバ100は、サービスに対するユーザの登録を受け付け、登録されたユーザの中から、地域ごとに適切なユーザを特定して、そのユーザに地域案内のボランティアを行うように依頼する。ユーザの特定では、ユーザの位置情報の履歴に基づき、ある地域を案内するボランティアとして、その地域で行動する頻度が高い、あるいは行動する時間が長いユーザが特定される。
In addition, the business operator that operates the
ここで、図4を用いて、ユーザの位置情報を用いたマッチングを含むシステム動作の比較例を示し、その後の図5以降において、第2の実施の形態におけるシステム動作について説明する。 Here, FIG. 4 is used to show a comparative example of system operation including matching using the user's position information, and subsequent FIGS. 5 and 5 will describe the system operation in the second embodiment.
図4は、データマッチングシステムの動作の比較例を示す図である。
管理者サーバ300は、ユーザの属性情報が記憶されたユーザデータ記憶部310を備える。管理者サーバ300は、前述のように属性情報をユーザから収集し、収集されたユーザデータ記憶部310に登録する。ユーザデータ記憶部310には、各ユーザのユーザIDに対応付けて、属性情報として位置情報(GPSデータ)が蓄積される。
FIG. 4 is a diagram showing a comparative example of the operation of the data matching system.
The
ユーザは、ボランティアのマッチングサービスに対して事前に登録する。この登録では、ユーザ端末を用いてユーザ自身の属性情報が事業者サーバ100に登録される。以下、ユーザ端末200を操作するユーザが属性情報を登録する場合について説明する。
The user registers in advance for the volunteer matching service. In this registration, the user's own attribute information is registered in the
属性情報の登録処理では、ユーザ端末200から管理者サーバ300に対して、ユーザのユーザIDを指定して属性情報の送信が要求される。管理者サーバ300は、この送信要求に応じて、ユーザIDに対応する属性情報をユーザデータ記憶部310から読み出し、ユーザ端末200に送信する(ステップS11)。ユーザ端末200は、送信された属性情報を事業者サーバ100に転送し、ユーザIDを指定して属性情報の登録を要求する。事業者サーバ100は、ユーザデータ記憶部110を備えており、ユーザ端末200から登録が要求された属性情報を、ユーザIDに対応付けてユーザデータ記憶部110に登録する(ステップS12)。
In the attribute information registration process, the
事業者サーバ100は、ユーザの属性情報とのマッチングの際に参照される参照データが登録された参照データ記憶部120を備えている。参照データは、地域ごとに登録され、対応する地域を案内するユーザを特定するための条件を示すデータである。例えば、参照データには、対応する地域において案内の対象となるランドマークの位置情報や、ランドマーク間の移動経路上のポイントを示す位置情報が記述される。
The
事業者サーバ100は、ユーザデータ記憶部110に登録された各ユーザの属性情報と、参照データ記憶部120に登録された各参照データとのマッチングを行って、地域案内をするボランティアとしてふさわしいユーザを地域ごとに特定する。ただし、属性情報はデータサイズが大きく、大量の属性情報をそのまま用いてマッチングを行うと、マッチングの処理負荷が過大となる。そこで、図4の例では、属性情報のスケッチングデータが算出され、スケッチングデータを用いてマッチングが行われる。
The
スケッチングデータは、確率的データ構造を有するデータである。元データをスケッチングデータに変換することで、データサイズが縮小される。変換後のスケッチングデータを用いた場合のクエリに対する処理結果にはある程度の誤差が生じるものの、そのクエリに対する処理の効率を高めることができる。 The sketching data is data having a stochastic data structure. By converting the original data to sketching data, the data size is reduced. Although there is some error in the processing result for the query when the converted sketching data is used, the efficiency of processing for the query can be improved.
スケッチングデータの算出アルゴリズムとしては、マッチングの内容に応じて選択可能である。例えば、MinHashは、集合間の類似度の算出に適する。Count−Min Sketchは、要素の出現頻度の一致判定に適する。ブルームフィルタは、要素が集合に含まれるかの判定に適する。 The sketching data calculation algorithm can be selected according to the content of matching. For example, MinHash is suitable for calculating the similarity between sets. The Count-Min Sketch is suitable for determining the coincidence of the appearance frequency of elements. Bloom filters are suitable for determining whether an element is included in a set.
事業者サーバ100は、次のような手順でマッチングを行う。まず、事業者サーバ100は、ユーザデータ記憶部110に登録された各ユーザの属性情報を基に、ユーザごとのスケッチングデータを算出する。これとともに、事業者サーバ100は、参照データ記憶部120に登録された各参照データを基に、スケッチングデータを算出する(ステップS13)。なお、各スケッチングデータの算出は、各記憶部に対する登録時点で実行されてもよい。
The
事業者サーバ100は、各属性情報に基づくスケッチングデータと、各参照データに基づくスケッチングデータとのマッチングを行う(ステップS14)。例えば、ある1つの参照データに基づくスケッチングデータと、各属性情報に基づくスケッチングデータとのマッチングが行われたとすると、事業者サーバ100は、このマッチングにより参照データとの類似性が高い属性情報を特定する。例えば、属性情報に基づくスケッチングデータの中から、参照データに基づくスケッチングデータとの類似度が最大であり、かつ所定の閾値以上であるスケッチングデータがある場合に、そのスケッチングデータに対応する属性情報がマッチング結果として特定される。
The
次に、事業者サーバ100は、特定された属性情報をユーザデータ記憶部110から読み出すとともに、マッチングが行われた参照データを参照データ記憶部120から読み出す。そして、事業者サーバ100は、属性情報と参照データとのマッチングを行う(ステップS15)。このマッチングは、スケッチングデータを用いたマッチング(ステップS14)の結果が正しいかを確認するためのものであり、例えば、類似度が所定の閾値以上である場合にマッチング結果が正しいと判断される。この場合、事業者サーバ100は、属性情報に対応するユーザを、参照データに対応する地域を案内するボランティアとしてふさわしいと判断して、そのユーザに対してボランティアの活動を依頼する(ステップS16)。
Next, the
ボランティアの依頼は、例えば、電子メールなどによってユーザ端末200に通知される。その通知を受けたユーザは、ボランティアの依頼を承諾する場合、ユーザ端末200を介して事業者サーバ100に対して依頼を承諾することを通知する(ステップS17)。
The volunteer request is notified to the
以上の比較例では、まず、スケッチングデータを用いてマッチングが行われ、その後にスケッチングデータの元データを用いてマッチングが行われる。このような手順によれば、ユーザデータ記憶部110に登録された属性情報をそのまま用いたマッチングは、登録された属性情報のうち、スケッチングデータを用いたマッチングにより特定された属性情報についてのみ行われる。このため、マッチングの処理負荷を軽減できる。また、スケッチングデータを用いたマッチングの結果の正当性が、元データを用いたマッチングによって検証されるので、マッチング精度が低下することを防止できる。
In the above comparative example, first, matching is performed using the sketching data, and then matching is performed using the original data of the sketching data. According to such a procedure, the matching using the attribute information registered in the user
ところで、ユーザの属性情報はユーザの個人情報であるので、慎重な取り扱いが必要である。図4に示す手順では、管理者サーバ300から事業者サーバ100に対する属性情報の提供は、少なくとも、ユーザの同意が確実に得られた状態で行われた方がよい。例えば、管理者サーバ300からの属性情報の送信は、ユーザ端末200に対するユーザによる明確な同意の操作に応じて実行される(ステップS12a)。また、事業者サーバ100に対する属性情報の転送は、ユーザが同意したことを事業者サーバ100側が確認できる状態で行われる。
By the way, since the attribute information of the user is the personal information of the user, careful handling is required. In the procedure shown in FIG. 4, it is preferable that the
属性情報の送信は、例えば、W3C(World Wide Web Consortium)で標準化されているVC(Verifiable Credential)の仕組みを用いて行うことができる。VCでは、属性情報のデータ形式や転送手順などが規定されている。VCでは、秘密鍵・公開鍵を用いたセキュアなデータ転送が行われる。 The attribute information can be transmitted by using, for example, a VC (Verifiable Credential) mechanism standardized by the W3C (World Wide Web Consortium). The VC defines the data format of attribute information and the transfer procedure. In VC, secure data transfer using a private key / public key is performed.
例えば、ユーザの操作によって属性情報の送信が管理者サーバ300に要求されると、管理者サーバ300は、ユーザの属性情報に、管理者IDに対応付けられた秘密鍵を用いて署名し、署名された属性情報をユーザ端末200に送信する。ユーザ端末200は、受信したデータに対して、ユーザIDに対応付けられた秘密鍵を用いてさらに署名し、署名されたデータを事業者サーバ100に送信する。
For example, when the
事業者サーバ100は、ユーザIDに対応付けられた公開鍵をブロックチェーン400上のレポジトリ(図示せず)から取得し、取得した公開鍵を用いてユーザの署名を復号することで、受信したデータの内容に改ざんがないかを確認する。このとき、データにユーザの署名があることで、改ざんの有無とともに、ユーザによる情報提供の同意があったことも確認できる。また、事業者サーバ100は、管理者IDに対応付けられた公開鍵を上記のレポジトリから取得し、取得した公開鍵を用いてデータ管理者の署名を復号することで、受信したデータの内容に改ざんがないかをさらに確認する。
The
しかしながら、個人情報の取り扱いという観点では次のような課題もある。図4に示した手順では、ユーザの属性情報がそのまま事業者サーバ100に提供され、蓄積される。このため、ユーザにとっては、個人情報の漏洩の懸念もあり、情報提供に対する心理的抵抗が大きい。この点は、事業者サーバ100に対する属性情報の登録数が増えない原因にもなり、事業者サーバ100のサービス品質の低下にもつながる。
However, from the viewpoint of handling personal information, there are also the following problems. In the procedure shown in FIG. 4, the user attribute information is provided to the
さらに、図4に示した手順では、スケッチングデータと比較してサイズの大きい属性情報が、そのまま事業者サーバ100に送信され、蓄積される。このため、ネットワーク50の負荷や、事業者サーバ100側でデータを蓄積するための容量が大きくなるという問題もある。
Further, in the procedure shown in FIG. 4, the attribute information having a larger size than the sketching data is transmitted to the
そこで、属性情報を事業者サーバ100にそのまま提供するのでなく、属性情報をスケッチングデータに変換した上で事業者サーバ100に提供する方法が考えられる。この方法によれば、個人情報の特定が困難なスケッチングデータの状態で属性情報が提供されることで、データの秘匿性が高まり、情報提供の際のユーザの心理的抵抗も小さくなる。また、事業者サーバ100に送信されるデータのサイズも縮小できる。その一方で、事業者サーバ100ではスケッチングデータを用いたマッチングしか行われなくなるので、マッチング精度が低下するという問題がある。
Therefore, instead of providing the attribute information to the
そこで、第2の実施の形態では、次の図5に示すように、ユーザの属性情報ではなく、属性情報に基づくスケッチングデータが事業者サーバ100に提供され、登録される。事業者サーバ100では、スケッチングデータを用いたマッチングが行われ、マッチングによりユーザが暫定的に特定されると、そのユーザの属性情報が事業者サーバ100に提供される。事業者サーバ100では、提供された属性情報を用いたマッチングの実行により、スケッチングデータを用いたマッチング結果の正当性が確認される。このような手順により、ユーザの個人情報の秘匿性を高めつつ、かつ、マッチング精度を維持しながら、マッチングを含む一連の処理の効率を高めることを可能にする。
Therefore, in the second embodiment, as shown in FIG. 5 below, sketching data based on the attribute information, not the user's attribute information, is provided and registered in the
図5は、第2の実施の形態に係るデータマッチングシステムの動作の概要を示す図である。
図5に示すように、管理者サーバ300は、図4と同様のユーザデータ記憶部310を備える。一方、事業者サーバ100は、図4と同様の参照データ記憶部120を備えるが、図4のユーザデータ記憶部110の代わりに、属性情報に基づくスケッチングデータを蓄積するためのスケッチングデータ記憶部111を備える。
FIG. 5 is a diagram showing an outline of the operation of the data matching system according to the second embodiment.
As shown in FIG. 5, the
マッチングサービスに対する登録の際には、まず、管理者サーバ300において、ユーザデータ記憶部310からユーザの属性情報が読み出され、その属性情報に基づいてスケッチングデータが算出される(ステップS21)。算出されたスケッチングデータはユーザ端末200に送信され、ユーザ端末200から事業者サーバ100に転送されて、スケッチングデータ記憶部111に登録される(ステップS22)。このような管理者サーバ300から事業者サーバ100に対するスケッチングデータの提供は、ユーザの同意が得られた状態で行われる。
When registering for the matching service, first, the
事業者サーバ100は、スケッチングデータ記憶部111に登録された各ユーザのスケッチングデータを用いて、マッチングを行う(ステップS23)。このマッチングでは、参照データ記憶部120に登録された参照データに基づくスケッチングデータと、スケッチングデータ記憶部111に登録されたスケッチングデータとの類似度が計算される。
The
ここで、マッチングにより、ユーザ端末200を操作するユーザに対応するスケッチングデータが特定されたとする。この場合、参照データに対応する地域を案内するボランティアとして、ユーザが暫定的に特定されたことになる。すると、事業者サーバ100は、そのボランティアとして活動することをユーザに依頼する(ステップS24)。この依頼の際には、スケッチングデータを用いたマッチングの結果を検証するために、スケッチングデータに対応する元データ、すなわち属性情報の提供を要求することが、ユーザに対して明確に通知される。
Here, it is assumed that the sketching data corresponding to the user who operates the
ユーザにより依頼を承諾する操作が行われると(ステップS25)、ユーザ端末200から管理者サーバ300に対して属性情報の提供が要求される。この承諾操作は、属性情報の提供にユーザが同意したことを示す。管理者サーバ300からは、この要求に応じてユーザの属性情報(元データ)が送信され、ユーザ端末200を介して事業者サーバ100に転送される(ステップS26)。このような手順により、属性情報の提供はユーザの同意が得られた状態で行われることになる。
When the user performs the operation of accepting the request (step S25), the
事業者サーバ100は、提供された属性情報と、ステップS23で用いられた参照データとのマッチングを実行して、ステップS23のマッチングの結果を確認する(ステップS27)。マッチングの結果が正しいと判定された場合、ユーザに対するボランティア活動の依頼処理が完了し、ユーザがそのボランティア活動を承諾したことが確定される(ステップS28)。
The
以上の手順によれば、各ユーザの属性情報は、データサイズが小さく、かつ個人情報の特定が困難なスケッチングデータに変換されて事業者サーバ100に提供され、登録される。そして、スケッチングデータを用いたマッチングにより特定されたユーザについてのみ、スケッチングデータの元データである属性情報が事業者サーバ100に提供される。
According to the above procedure, the attribute information of each user is converted into sketching data having a small data size and whose personal information is difficult to identify, provided to the
これにより、各ユーザの属性情報を事業者サーバ100に提供する場合と比較して、事業者サーバ100に送信されるデータ量を低減でき、事業者サーバ100側で情報を蓄積するための容量を縮小できる。また、属性情報自体を用いたマッチングの実行回数が減少するので、マッチングの処理負荷を軽減できる。さらに、スケッチングデータを用いたマッチングの結果の正当性が元データを用いたマッチングによって検証されるので、マッチング精度の低下を防止できる。
As a result, the amount of data transmitted to the
また、事業者サーバ100側で属性情報が蓄積されないので、属性情報が漏洩する可能性を低減できる。また、マッチングに基づく特定のユーザについてのみ属性情報が提供されるので、全体として属性情報の秘匿性を向上させることができる。また、提供された属性情報は特定の参照データとの1回のマッチング時のみ使用される。このため、属性情報の使用目的や使用機会が限定されることから、この点でも属性情報の秘匿性を向上させることができ、個人情報のセキュリティを強化できる。
Further, since the attribute information is not accumulated on the
また、ユーザによる情報登録時には、属性情報はスケッチングデータの状態で事業者サーバ100に登録されるので、情報登録に対するユーザの心理的抵抗を軽減できる。このため、事業者サーバ100に対する情報登録が促進され、事業者サーバ100のサービス品質を向上させることができる。
Further, when the information is registered by the user, the attribute information is registered in the
また、ユーザは、上記のように属性情報の使用機会が限定され、しかもその使用目的を認識した状態で、属性情報の提供に同意することができる。このため、情報提供に対するユーザの心理的抵抗を軽減できる。また、この点については、このような同意の下で、属性情報が限定的な目的および機会で使用されることから、属性情報の秘匿性が向上し、個人情報のセキュリティが強化される、ということもできる。 Further, the user can consent to the provision of the attribute information in a state where the opportunity to use the attribute information is limited as described above and the purpose of use thereof is recognized. Therefore, the psychological resistance of the user to the provision of information can be reduced. In addition, regarding this point, with such consent, since the attribute information is used for a limited purpose and opportunity, the confidentiality of the attribute information is improved and the security of personal information is strengthened. You can also do it.
図6は、属性情報に基づくスケッチングデータの算出例を示す図である。図6では、MinHash法によりスケッチングデータが算出される場合を例示する。
MinHash法では、2つの集合の各要素に対してあるハッシュ関数を適用することで、各集合について複数のハッシュ値が算出され、各集合について、複数のハッシュ値の中から最小値が抽出される。このとき、両者の最小値が一致する確率は集合間の類似度に等しい、という考え方が用いられる。
FIG. 6 is a diagram showing an example of calculating sketching data based on attribute information. FIG. 6 illustrates a case where sketching data is calculated by the MinHash method.
In the MinHash method, by applying a certain hash function to each element of two sets, a plurality of hash values are calculated for each set, and the minimum value is extracted from the plurality of hash values for each set. .. At this time, the idea that the probability that the two minimum values match is equal to the similarity between the sets is used.
実際には、例えば、複数のハッシュ関数(k個のハッシュ関数とする)をそれぞれ用いて上記のようにハッシュ値が算出される。その結果、集合ごとにハッシュ値の最小値がk個抽出される。そして、一方の集合についてのk個の最小値と、他方の集合についてのk個の最小値とが比較され、値が一致した数が類似度の近似値として算出される。 Actually, for example, the hash value is calculated as described above by using each of a plurality of hash functions (assuming k hash functions). As a result, k minimum hash values are extracted for each set. Then, the k minimum values for one set and the k minimum values for the other set are compared, and the number of matching values is calculated as an approximate value of the degree of similarity.
図6では、管理者サーバ300において属性情報に基づいてスケッチングデータが算出される場合を例示している。図6の例では、ユーザの属性情報として行動履歴321が収集される。行動履歴321には、ユーザの移動軌跡を示す位置情報(例えば、経度・緯度を示すGPSデータ)の集合が含まれる。そして、この行動履歴321から、特徴量を示す数値配列322が算出される(ステップS31)。例えば、行動履歴321に基づき、ユーザの移動軌跡に近接する所定のランドマークの位置情報が、数値配列322として算出される。図6では、n箇所のランドマークの位置情報が数値配列322に記述されている。なお、数値配列322には、例えば、ランドマークの位置情報の代わりに、ランドマークの識別番号が記述されてもよい。
FIG. 6 illustrates a case where sketching data is calculated based on attribute information on the
なお、ユーザデータ記憶部310に登録される属性情報としては、行動履歴321の情報が登録されてもよいし、数値配列322のように、行動履歴321を基に算出された特徴量を示す情報が登録されてもよい。前者の場合には、属性情報が管理者サーバ300から事業者サーバ100に提供される際、行動履歴321から再度算出された特徴量を示す情報が、事業者サーバ100に提供されてもよい。
As the attribute information registered in the user
一方、事業者の事業者IDと属性情報に対応するユーザのユーザIDとをシード値として、要素数kのハッシュ関数列323が生成される(ステップS32)。すなわち、ハッシュ関数列323には、k個のハッシュ関数h1(),h2(),・・・,hk()が含まれる。そして、数値配列322に含まれる要素(位置情報)のそれぞれに対応するハッシュ値が、k個のハッシュ関数h1(),h2(),・・・,hk()をそれぞれ用いて計算される(ステップS33)。これにより、それぞれn個のハッシュ値を含むk個の数値配列324_1,324_2,・・・,324_kが算出される。
On the other hand, a
なお、事業者IDとユーザIDとがシード値として用いられることで、事業者とユーザとの間でのみ共有されるハッシュ関数が生成される。これにより、スケッチングデータから元データを類推することの難度が高まり、データの秘匿性が向上する。 By using the business operator ID and the user ID as seed values, a hash function shared only between the business operator and the user is generated. This increases the difficulty of inferring the original data from the sketching data and improves the confidentiality of the data.
次に、k個の数値配列324_1,324_2,・・・,324_kのそれぞれからハッシュ値の最小値が抽出され、抽出された最小値の配列325が生成される(ステップS34)。この配列325が属性情報に基づくスケッチングデータとなる。
Next, the minimum value of the hash value is extracted from each of the k numerical sequences 324_1, 324_2, ..., 324_k, and the extracted
ところで、本実施の形態に係るデータマッチングシステムでは、VCで規定された手順で情報が伝送される。この情報伝送では、IDに対応付けられた暗号鍵を用いて、伝送される情報に対して段階的に署名データが付加される。これにより、伝送される情報の正当性が保証されるとともに、伝送経路上の装置ごとに、正当性を示す情報を段階的に付加することができる。 By the way, in the data matching system according to the present embodiment, information is transmitted according to the procedure specified by VC. In this information transmission, signature data is added stepwise to the transmitted information by using the encryption key associated with the ID. As a result, the correctness of the transmitted information is guaranteed, and information indicating the correctness can be added stepwise for each device on the transmission path.
図7は、事業者サーバに送信される送信データの例を示す図である。図7では、スケッチングデータの送信の際にVC方式で生成される送信データ210を例示している。
管理者サーバ300では、送信データ210のうち領域211の「claim」の情報が生成される。「claim」においては、「id」にユーザのユーザIDが記述される。また、「claim」内の「sketch」には、送信対象データを示す「values」、送信対象データのタイプを示す「type」、送信対象データのサイズを示す「length」が記述される。スケッチングデータの提供の際には、「values」の項目に、提供が要求されたスケッチングデータ(ハッシュ値の最小値の配列)が記述される。
FIG. 7 is a diagram showing an example of transmission data transmitted to the business operator server. FIG. 7 illustrates the
The
さらに本実施の形態では、スケッチングデータの提供の際には、「sketch」の中に「hash」が記述される。「hash」には、スケッチングデータの元データ(すなわち、対応する属性情報)のハッシュ値が記述される。後述するように、このハッシュ値は、元データを用いたマッチングが行われる前に、スケッチングデータと元データとの対応関係の正当性を確認するために利用される。 Further, in the present embodiment, when the sketching data is provided, "hash" is described in "sketch". In "hash", a hash value of the original data (that is, the corresponding attribute information) of the sketching data is described. As will be described later, this hash value is used to confirm the validity of the correspondence between the sketching data and the original data before the matching using the original data is performed.
また、「claim」には、「signatureValue」が記述される。「signatureValue」には、「sketch」に記述されたデータに基づくハッシュ値を、管理者IDに対応する秘密鍵で暗号化することで算出されたデータ管理者の署名データが記述される。 Further, in "claim", "signatureValue" is described. In the "signature Value", the signature data of the data administrator calculated by encrypting the hash value based on the data described in the "sketch" with the private key corresponding to the administrator ID is described.
ユーザ端末200は、上記の「claim」の情報を管理者サーバ300から受信すると、この情報に生成日時などの所定のヘッダ情報を付加するとともに、「signature」を付加する(図7の領域212)。「signature」には、ユーザの署名データが記述される。ユーザの署名データは、「claim」に記述されたデータに基づくハッシュ値を、ユーザIDに対応する秘密鍵で暗号化することで算出される。
When the
以上のようにして生成された送信データ210は、ユーザ端末200から事業者サーバ100に送信される。事業者サーバ100は、ユーザの署名データに基づいて、受信した送信データ210のうち、「claim」の領域における改ざんの有無を確認できる。また、事業者サーバ100は、データ管理者の署名データに基づいて、「sketch」の領域における改ざんの有無を確認できる。
The
また、元データ(すなわち、属性情報)が提供される際には、「values」に元データが記述され、「signatureValue」にデータ管理者の署名データが記述された「claim」が管理者サーバ300で生成される。ただし、「claim」には「hash」は含まれない。このような「claim」がユーザ端末200に送信されると、この情報に所定のヘッダ情報が付加されるとともに、ユーザの署名データが記述された「signature」が付加されて、事業者サーバ100に送信される。
Further, when the original data (that is, attribute information) is provided, the "claim" in which the original data is described in "values" and the signature data of the data administrator is described in "signatureValue" is the
このように、VCの規定にしたがって送信データが生成されて伝送されることで、提供が要求されたユーザに関する情報は、段階的に適切なデータ形式で流通されるようになる。例えば、ユーザは、ユーザ自身に関する情報を、提供元であるデータ管理者の署名が付加された状態で受け取る。これによりユーザは、情報の提供者やその内容が保証された状態でユーザの情報を確実に受け取ることができる。そして、ユーザは、ユーザ自身による明確な同意の操作に応じて、受け取った情報に対してユーザ自身の署名を付加し、情報の利用者である事業者に提供することができる。事業者は、データ管理者およびユーザの署名に基づいて、提供された情報の内容の正当性を確認できるとともに、ユーザの署名からユーザから提供の同意が得られたことを明確に確認できる。ユーザにとっては、ユーザ自身が提供に同意している情報のみを情報の利用者である事業者に確実に受け渡すことができる。 In this way, by generating and transmitting the transmission data in accordance with the VC regulations, the information about the user requested to be provided is gradually distributed in an appropriate data format. For example, the user receives information about the user himself / herself with the signature of the data administrator who provides the information. As a result, the user can surely receive the user's information in a state where the information provider and its contents are guaranteed. Then, the user can add the user's own signature to the received information and provide it to the business operator who is the user of the information in response to the operation of the user's own clear consent. The business operator can confirm the validity of the content of the provided information based on the signatures of the data administrator and the user, and can clearly confirm that the consent of the provision has been obtained from the user's signature. For the user, only the information that the user has agreed to provide can be reliably passed to the business operator who is the user of the information.
また、本実施の形態では、スケッチングデータの提供の際に、元データに基づくハッシュ値も事業者サーバ100に提供される。事業者サーバ100は、提供されたハッシュ値を、スケッチングデータとともにユーザIDに対応付けてスケッチングデータ記憶部111に登録する。そして、事業者サーバ100は、このスケッチングデータを用いたマッチング結果に基づいてユーザから属性情報を受信したときに、対応するハッシュ値を用いることで、受信した属性情報がスケッチングデータの元データであることを検証できる。これにより、属性情報を用いたマッチング処理の確実性を高めることができる。
Further, in the present embodiment, when the sketching data is provided, the hash value based on the original data is also provided to the
以下、第2の実施の形態に係るデータマッチングシステムの動作について、さらに詳しく説明する。
図8は、データマッチングシステム内の各装置が備える処理機能の構成例を示す図である。
Hereinafter, the operation of the data matching system according to the second embodiment will be described in more detail.
FIG. 8 is a diagram showing a configuration example of a processing function included in each device in the data matching system.
まず、図8に示すリポジトリサーバ410は、図2に示したノード群401に含まれるノードの1つとして実現されるサーバコンピュータである。リポジトリサーバ410は、公開鍵記憶部411と鍵管理部412とを備える。
First, the
公開鍵記憶部411は、例えば、リポジトリサーバ410が備える図示しない記憶装置の記憶領域として実現される。公開鍵記憶部411には、前述のデジタルIDサービスから発行されたIDに対応付けて、公開鍵が記憶されている。鍵管理部412の処理は、例えば、リポジトリサーバ410が備える図示しないプロセッサが所定のプログラムを実行することで実現される。鍵管理部412は、IDが発行された場合に、IDの保有者側で生成された非対称鍵方式の鍵ペア(秘密鍵と公開鍵)のうち、公開鍵の登録を受け付け、IDに対応付けて公開鍵記憶部411に登録する。本実施の形態では、少なくとも、ユーザID、事業者IDおよび管理者IDに対応する公開鍵が公開鍵記憶部411に登録される。また、鍵管理部412は、IDを指定した要求に応じて、そのIDに対応する公開鍵を提供する。
The public
管理者サーバ300は、前述のユーザデータ記憶部310に加えて、秘密鍵記憶部330、データ提供部341、スケッチングデータ算出部342および署名エンジン343を備える。
The
ユーザデータ記憶部310および秘密鍵記憶部330は、例えば、管理者サーバ300が備える図示しない記憶装置の記憶領域として実現される。ユーザデータ記憶部310には、ユーザIDに対応付けて、ユーザに関して収集された属性情報が登録される。秘密鍵記憶部330には、データ管理者の管理者IDに対応する秘密鍵が記憶される。
The user
データ提供部341、スケッチングデータ算出部342および署名エンジン343の処理は、例えば、管理者サーバ300が備える図示しないプロセッサが所定のプログラムを実行することで実現される。
The processing of the
データ提供部341は、ユーザ端末200からの要求に応じて、指定されたユーザIDに対応する属性情報やスケッチングデータを提供するための処理を実行する。スケッチングデータ算出部342は、ユーザデータ記憶部310から読み出した属性情報に基づいてスケッチングデータを算出する。署名エンジン343は、データ管理者の秘密鍵を用いてデータ管理者の署名データを生成する。
The
ユーザ端末200は、秘密鍵記憶部220、データ登録部231、元データ送信部232および署名エンジン233を備える。
秘密鍵記憶部220は、例えば、ユーザ端末200が備える図示しない記憶装置の記憶領域として実現される。秘密鍵記憶部220には、ユーザ端末200を操作するユーザのユーザIDに対応する秘密鍵が記憶される。
The
The private
データ登録部231、元データ送信部232および署名エンジン233の処理は、例えば、ユーザ端末200が備える図示しないプロセッサが所定のプログラムを実現することで実現される。データ登録部231は、マッチングサービスにユーザを登録するために、ユーザの属性情報に基づくスケッチングデータを事業者サーバ100に登録する処理を実行する。元データ送信部232は、事業者サーバ100からの依頼に応じて、スケッチングデータの元データ(属性情報)を管理者サーバ300から取得し、事業者サーバ100に提供する処理を実行する。署名エンジン233は、ユーザの秘密鍵を用いてユーザの署名データを生成する。
The processing of the
なお、図示しないが、他のユーザ端末200a,200b,・・・も、ユーザ端末200と同様の処理機能を備える。
事業者サーバ100は、前述のスケッチングデータ記憶部111および参照データ記憶部120に加えて、登録受付部131、マッチング部132、依頼処理部133および署名検証部134を備える。
Although not shown, the
The
スケッチングデータ記憶部111および参照データ記憶部120は、例えば、RAM102やHDD103など、事業者サーバ100が備える記憶装置の記憶領域として実現される。
The sketching
スケッチングデータ記憶部111には、ユーザ端末200,200a,200b,・・・から登録されたユーザに関する情報が登録される。スケッチングデータ記憶部111には、各ユーザのユーザIDに対応付けて、少なくとも、スケッチングデータと、元データに基づくハッシュ値とが記憶される。
Information about the user registered from the
参照データ記憶部120には、マッチング処理においてユーザの属性情報と照合される参照データが、ボランティアに案内させる地域ごとに登録される。例えば、参照データとしては、地域ごとに、その地域において案内の対象となるランドマークの位置情報や、ランドマーク間の移動経路上のポイントを示す位置情報が記述される。また、参照データには、ランドマークや移動経路上のポイントを示す識別情報が記述されていてもよい。
In the reference
登録受付部131は、ユーザ端末200,200a,200b,・・・からユーザのスケッチングデータの登録を受け付ける処理を実行する。マッチング部132は、スケッチングデータ記憶部111に登録されたスケッチングデータ、またはその元データと、参照データ記憶部120に登録された参照データとのマッチング処理を実行する。
The
依頼処理部133は、スケッチングデータを用いたマッチングによりボランティアを依頼するユーザが暫定的に特定された場合に、そのユーザに対してボランティアの活動を依頼するとともに、元データの提供を依頼する。依頼処理部133は、ユーザから元データが提供された場合には、元データを用いたマッチングをマッチング部132に実行させ、マッチングの結果をユーザに通知する。署名検証部134は、ユーザ端末200,200a,200b,・・・から受信したデータに付加された署名データに基づいて、データの正当性(改ざんの有無)を検証する。
When a user requesting volunteers is tentatively identified by matching using sketching data, the
図9は、スケッチングデータ登録時の処理手順を示すシーケンス図の例である。
[ステップS41]ユーザ端末200において、ボランティアのマッチングサービスを受けるためのアプリケーションが実行される。これによりデータ登録部231、元データ送信部232および署名エンジン233が起動し、まず、データ登録部231によってマッチングサービスに対する登録処理が実行される。
FIG. 9 is an example of a sequence diagram showing a processing procedure at the time of registering sketching data.
[Step S41] At the
データ登録部231は、例えば、事業者サーバ100のWebサーバにアクセスし、ボランティアの依頼を受けるためのサービスに対する登録画面の情報を取得する。これにより、ユーザ端末200の表示装置にブラウザが表示され、ブラウザ内に登録画面が表示される。
The
ユーザは、登録画面に対して、ユーザのユーザIDと、ユーザに関する補助情報(例えば、名前、メールアドレスなど)とを入力し、登録操作を行う。これにより、データ登録部231は、入力された情報とともにサービスに対する登録要求を事業者サーバ100に送信する。
The user inputs the user ID of the user and auxiliary information (for example, name, e-mail address, etc.) about the user on the registration screen, and performs the registration operation. As a result, the
[ステップS42]事業者サーバ100の登録受付部131は、受信したユーザIDと補助情報とをスケッチングデータ記憶部111に登録し、スケッチングデータの提供を要求する提供要求をユーザ端末200に送信する。この処理では、例えば、事業者ID、提供を要求するデータ(マッチングに必要なデータ)の種別を示すデータ種別(位置情報、時刻など)、データ種別ごとに使用されるアルゴリズム名、要求データ数(図6のnに対応)、その他の補助情報(データ取得期間、スケッチングデータの算出に必要なパラメータなど)が、提供要求とともに送信される。
[Step S42] The
[ステップS43]ユーザ端末200のデータ登録部231は、少なくとも、受信したデータ種別が示す、提供が要求されたデータの内容を、ブラウザ内に表示して、ユーザに確認させる。ユーザは、表示内容を確認し、情報提供に同意する場合には同意の操作を行う。その場合、処理はステップS44に進められる。
[Step S43] The
[ステップS44]データ登録部231は、事業者サーバ100から受信した情報を、ユーザのユーザIDとともに管理者サーバ300に送信して、スケッチングデータの提供を要求する。
[Step S44] The
ここで、図10は、サービス登録画面の表示例を示す図である。図10に示す画面240は、図9のステップS41においてユーザ端末200のブラウザに表示される。
画面240には、ユーザの名前、ユーザのメールアドレスをそれぞれ入力するための入力欄241,242と、登録を要求するための登録ボタン243とが表示されている。入力欄241,242にそれぞれ情報が入力され、登録ボタン243に対する選択操作が行われると、入力された名前およびメールアドレスとともに、名前に対応するユーザIDが事業者サーバ100に送信される。
Here, FIG. 10 is a diagram showing a display example of the service registration screen. The
On the
図11は、スケッチングデータの提供要求画面の表示例を示す図である。図11に示す画面250は、図9のステップS43においてユーザ端末200のブラウザに表示される。
FIG. 11 is a diagram showing a display example of a screen for requesting provision of sketching data. The
画面250の領域251には、事業者から提供が要求された情報の内容を説明する文章が表示される。図9の例では、ユーザのアクティビティ情報が、統計的に処理された形式に加工され、個人の特定が不可能な状態で提供されること、提供された情報がマッチングの目的のみで利用されること、提供される情報として時刻情報とGPS情報が含まれることが、表示される。
In the
また、画面250には同意ボタン252と不同意ボタン253とが表示されている。ユーザが領域251の表示内容を確認した上で情報提供に同意する場合、同意ボタン252に対する選択操作が行われる。この場合、図9のステップS44の処理が実行される。すなわち、提供される情報の内容を確認したユーザによる明確な同意を示す操作に応じて、スケッチングデータの提供処理が実行されることになる。一方、情報提供に同意しない場合には、不同意ボタン253に対する選択操作が行われることで、登録処理は終了する。
Further, the
以下、図9を用いて説明を続ける。
[ステップS45]管理者サーバ300のデータ提供部341は、ユーザ端末200から受信した情報をスケッチングデータ算出部342に渡して、スケッチングデータの算出を依頼する。図6に示したようにMinHash法が用いられる場合、スケッチングデータ算出部342は、ユーザIDに対応する属性情報をユーザデータ記憶部310から要求データ数分(n個)取得する。図6の例によれば、n個のランドマークの位置情報が取得される。このとき、事業者サーバ100から指定されたデータ取得期間に含まれるn個の位置情報が取得される。
Hereinafter, the description will be continued with reference to FIG.
[Step S45] The
スケッチングデータ算出部342は、ユーザIDと管理者IDをシード値として用いてk個のハッシュ関数を生成し、ハッシュ関数をそれぞれ用いてn個の属性情報のハッシュ値を計算して、ハッシュ関数ごとにハッシュ値の最小値を抽出する。これにより、n個の最小値を含む数値配列が、スケッチングデータとして算出される。
The sketching
[ステップS46]データ提供部341は、ステップS45でユーザデータ記憶部310から取得されたn個の属性情報を用いてハッシュ計算を行い、元データのハッシュ値を算出する。
[Step S46] The
[ステップS47]データ提供部341は、ステップS45で算出されたスケッチングデータと、ステップS46で算出された元データのハッシュ値とを含む「sketch」のデータ(図7参照)を生成する。また、データ提供部341は、生成された「sketch」のデータを署名エンジン343に通知し、データ管理者の署名データの生成を依頼する。
[Step S47] The
署名エンジン343は、データ管理者の秘密鍵を秘密鍵記憶部330から取得する。データ提供部341は、所定のハッシュ関数を用いて「sketch」のデータのハッシュ値を算出し、算出されたハッシュ値をデータ管理者の秘密鍵で暗号化することで、データ管理者の署名データ(「signatureValue」、図7参照)を生成する。
The
データ提供部341は、「sketch」のデータと、署名データとを含む「claim」のデータを生成して、ユーザ端末200に送信する。なお、送信されるデータは、データ管理者の秘密鍵を用いて暗号化されていてもよい。
The
[ステップS48]ユーザ端末200のデータ登録部231は、「claim」のデータを受信する。受信データが暗号化されていた場合、データ管理者の公開鍵を用いて受信データを復号し、「claim」のデータを取得する。データ管理者の公開鍵は、リポジトリサーバ410の鍵管理部412から取得される。
[Step S48] The
データ登録部231は、「claim」のデータを署名エンジン233に通知して、ユーザの署名データの生成を依頼する。署名エンジン233は、ユーザの秘密鍵を秘密鍵記憶部220から取得する。署名エンジン233は、所定のハッシュ関数を用いて「claim」のデータのハッシュ値を算出し、算出されたハッシュ値をユーザの秘密鍵で暗号化することで、ユーザの署名データ(「signature」、図7参照)を生成する。
The
データ登録部231は、「claim」のデータに生成日時などの所定のヘッダ情報を付加し、ユーザの署名データとともに事業者サーバ100に送信する。なお、送信されるデータは、ユーザの秘密鍵を用いて暗号化されていてもよい。
The
[ステップS49]事業者サーバ100の登録受付部131は、ユーザ端末200からのデータを受信すると、署名データを用いて受信データを検証する。
まず、登録受付部131は、ユーザのユーザIDを指定してユーザの公開鍵をリポジトリサーバ410に要求する。この要求に応じて、リポジトリサーバ410の鍵管理部412からユーザIDに対応する公開鍵が送信され、事業者サーバ100の登録受付部131がこの公開鍵を受信する。
[Step S49] When the
First, the
登録受付部131は、ユーザ端末200からの受信データが暗号化されていた場合、ユーザの公開鍵を用いて受信データを復号する。登録受付部131は、受信データからユーザの署名データを抽出し、ユーザの公開鍵を用いて復号する。登録受付部131は、受信データ内の「claim」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。
When the received data from the
これらのハッシュ値が一致した場合、「claim」のデータが改ざんされていないことが確認されるとともに、ユーザからスケッチングデータの提供の同意が得られたことが確認される。すると、登録受付部131は次に、管理者IDを指定してデータ管理者の公開鍵をリポジトリサーバ410に要求する。この要求に応じて、リポジトリサーバ410の鍵管理部412から管理者IDに対応する公開鍵が送信され、事業者サーバ100の登録受付部131がこの公開鍵を受信する。
When these hash values match, it is confirmed that the data of "claim" has not been tampered with, and it is confirmed that the user has consented to the provision of sketching data. Then, the
登録受付部131は、「claim」のデータからデータ管理者の署名データを抽出し、データ管理者の公開鍵を用いて復号する。登録受付部131は、受信データ内の「sketch」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。これらのハッシュ値が一致した場合、「sketch」のデータが改ざんされていないことが確認される。すると、処理がステップS50に進められる。
The
なお、ユーザの署名またはデータ管理者の署名のいずれかを用いた検証でデータの改ざんが認められた場合、ユーザ端末200に対して登録のエラーが通知され、登録処理は終了する。
If the data is falsified by verification using either the user's signature or the data administrator's signature, the
[ステップS50]登録受付部131は、受信データに含まれるスケッチングデータと元データのハッシュ値とを、ユーザIDに対応付けてスケッチングデータ記憶部111に登録する。
[Step S50] The
[ステップS51]登録受付部131は、登録が正常に完了したことをユーザ端末200に通知する。この通知に応じて、登録が正常に完了したことがユーザ端末200のブラウザに表示される。
[Step S51] The
次に、図12、図13は、ボランティアの活動を依頼する際の処理手順を示すシーケンス図の例である。
[ステップS61]事業者サーバ100のマッチング部132は、スケッチングデータ記憶部111に登録されたユーザのスケッチングデータと、参照データ記憶部120に登録された参照データに基づくスケッチングデータとの間でマッチング処理を実行する。ここで、参照データを基にスケッチングデータを算出するためのハッシュ関数は、照合対象のスケッチングデータに対応するユーザごとに生成される。すなわち、ハッシュ関数は、照合対象のスケッチングデータに対応するユーザIDと、事業者IDとをシードとして算出される。
Next, FIGS. 12 and 13 are examples of sequence diagrams showing a processing procedure when requesting volunteer activities.
[Step S61] The
ここで、ある参照データとの類似度が最も高く、かつ類似度が閾値以上であるユーザのスケッチングデータとして、ユーザ端末200を操作するあるユーザが特定されたとする。この場合、その参照データに対応する地域を案内するボランティアとして、そのユーザがふさわしいと暫定的に判定されたことになる。
Here, it is assumed that a user who operates the
[ステップS62]事業者サーバ100の依頼処理部133は、マッチングにより特定されたユーザに対して、ボランティアとして活動することを依頼する活動依頼を通知する。ここでは例として、依頼処理部133は、特定されたユーザのメールアドレスをスケッチングデータ記憶部111から取得し、取得したメールアドレス宛てに、活動依頼を通知するためのメールを送信する。また、活動依頼を通知する情報には、依頼されるボランティアの活動内容や、その依頼に対して申し込むための案内情報が含まれる。
[Step S62] The
[ステップS63]送信されたメールがユーザ端末200に受信され、メールの内容をユーザが閲覧する。ユーザは、ボランティアの依頼内容を確認し、その依頼を承諾してボランティアに申し込みたいと考えた場合には、メールで案内された内容にしたがって申込操作を行う。
[Step S63] The transmitted e-mail is received by the
[ステップS64]事業者サーバ100の依頼処理部133は、スケッチングデータの元データ、すなわちユーザの属性情報の提供を要求する情報を送信する。送信される情報には、属性情報の要求情報として、事業者ID、提供を要求するデータのデータ種別、使用されるアルゴリズム名、要求データ数n、その他の補助情報(データ取得期間など)が含まれる。さらに、送信される情報には、提供を要求する属性情報の内容をユーザに確認させるための情報や、提供の同意を求めるための情報が含まれる。
[Step S64] The
[ステップS65]ユーザ端末200の元データ送信部232は、受信した情報に基づいて、元データの提供に対する同意操作画面をブラウザに表示する。この同意操作画面には、提供が要求された属性情報の内容を示す情報や、提供の同意操作を行うための操作ボタンなどが含まれる。表示された情報をユーザが確認し、提供を同意する操作を行うと、処理がステップS66に進む。
[Step S65] The original
[ステップS66]元データ送信部232は、ステップS64での送信情報に含まれる、属性情報の要求情報を、管理者サーバ300に送信する。
ここで、図14は、ボランティア活動の依頼画面の表示例を示す図である。図14に示す画面260は、図12のステップS62において事業者サーバ100からユーザに通知される情報の一例を示す。図12の画面260は、ユーザ宛ての電子メールによって活動依頼が通知された場合における、電子メールの表示例を例示している。
[Step S66] The original
Here, FIG. 14 is a diagram showing a display example of a volunteer activity request screen. The
画面260には、ボランティアの依頼内容が表示される領域261と、依頼されたボランティアに申し込むためのボタン262と、ボランティアに申し込まないことを通知するためのボタン263とが含まれる。ユーザは、領域261に表示された内容を確認して、ボランティアに申し込むかを決める。
The
ボタン262に対する選択操作が行われると、このボタン262に対応付けられていたURL(Uniform Resource Locator)に対してリンクされ、事業者サーバ100から元データ(属性情報)の提供に対する同意操作画面を表示するための表示情報が送信される。一方、ボタン263に対する選択操作が行われると、ボランティアに申し込まないことが事業者サーバ100に通知されて、処理が終了する。
When the selection operation for the
図14の画面260において依頼された内容は、属性情報に基づくスケッチングデータを用いたマッチングにより依頼されたものである。このため、必ずしも依頼内容がユーザにマッチしているとは限らない。例えば、ユーザがほとんど行ったことのない地域を案内するボランティアの活動が依頼される可能性がある。
The content requested on the
依頼内容が不適切な場合には、ユーザは、ボタン263に対する選択操作を行うことで、ボランティアに申し込まないことを事業者サーバ100に通知することができる。これにより、ユーザは、ユーザ自身の個人情報が事業者側に不必要に提供されることを抑止できる。
When the content of the request is inappropriate, the user can notify the
図15は、元データ提供に対する同意操作画面の表示例を示す図である。図14のボタン262に対する選択操作が行われると、事業者サーバ100の依頼処理部133から、スケッチングデータの元データの提供依頼が送信される(図12のステップS64)。ユーザ端末200の元データ送信部232は、提供依頼を受信すると、例えば、図15に示すような画面270をブラウザに表示する。すなわち、画面270は、図12のステップS65で表示される同意操作画面の一例である。
FIG. 15 is a diagram showing a display example of the consent operation screen for providing the original data. When the selection operation for the
画面270には、提供が要求された属性情報の内容を示す領域271と、提供された属性情報の使用目的を示す領域272と、情報提供に同意するためのボタン273と、情報提供に同意せず、ボランティアの申込をキャンセルするためのボタン274とが含まれる。ユーザは、領域271を視認して提供が要求された情報の内容を確認し、さらに領域272を視認して情報の使用目的を確認した上で、情報提供に同意するか否かを決めることができる。また、例えば、領域271に含まれるボタン275の選択操作を行うことで、提供が要求された情報についてのさらに詳細な内容を表示させて確認することもできる。
On the
ボタン273に対する選択操作が行われると、属性情報の要求情報がユーザ端末200から管理者サーバ300に送信される(図12のステップS66)。一方、ボタン274に対する選択操作が行われると、情報提供に同意せず、ボランティアの申込をキャンセルすることが事業者サーバ100に通知される。
When the selection operation for the
このように、ユーザは、スケッチングデータの元データ、すなわち属性情報そのものの提供が要求された場合には、提供された情報の内容や使用目的を確実に確認した上で、属性情報を事業者に提供することができる。これにより、提供が要求された情報の内容やその使用目的に応じて、ユーザの意思により属性情報の提供機会を制限でき、属性情報の秘匿性を向上させることができる。 In this way, when the user is requested to provide the original data of the sketching data, that is, the attribute information itself, the user confirms the content and purpose of use of the provided information, and then obtains the attribute information from the business operator. Can be provided to. As a result, the opportunity to provide the attribute information can be restricted by the user's will according to the content of the information requested to be provided and the purpose of use thereof, and the confidentiality of the attribute information can be improved.
以下、図13を用いて説明を続ける。
[ステップS67]管理者サーバ300のデータ提供部341は、管理者サーバ300から受信した、属性情報の要求情報に基づき、ユーザデータ記憶部310からユーザの属性情報を要求データ数分(n個)取得する。これにより、スケッチングデータに対応する元データが取得される。
Hereinafter, the description will be continued with reference to FIG.
[Step S67] The
[ステップS68]データ提供部341は、取得された元データを含む「sketch」のデータ(図7参照)を生成する。なお、例えば、元データのデータ量が過大な場合には、元データを取得するための、一時的に使用可能なURLが生成されて、元データの代わりにそのURLが「sketch」に記述されてもよい。また、データ提供部341は、生成された「sketch」のデータを署名エンジン343に通知し、データ管理者の署名データの生成を依頼する。
[Step S68] The
署名エンジン343は、図9のステップS47と同様の手順で、「sketch」のデータとデータ管理者の秘密鍵とに基づいてデータ管理者の署名データ(「signatureValue」、図7参照)を生成する。データ提供部341は、「sketch」のデータと、署名データとを含む「claim」のデータを生成して、ユーザ端末200に送信する。なお、送信されるデータは、データ管理者の秘密鍵を用いて暗号化されていてもよい。
The
[ステップS69]ユーザ端末200の元データ送信部232は、「claim」のデータを受信する。受信データが暗号化されていた場合、データ管理者の公開鍵を用いて受信データを復号し、「claim」のデータを取得する。元データ送信部232は、「claim」の内容に基づいて、提供される情報の内容を示す情報をブラウザに表示する。ユーザは、この表示内容を確認することで、提供を同意した情報内容が正しく提供されるかを確認できる。
[Step S69] The original
[ステップS70]ステップS69での表示情報には処理を続行するか否かを通知するためのボタンが含まれ、ユーザが情報の提供に同意し、処理を続行するためのボタンに対する選択操作が行われると、処理がステップS71に進められる。 [Step S70] The display information in step S69 includes a button for notifying whether or not to continue the process, the user agrees to provide the information, and a selection operation for the button for continuing the process is performed. Then, the process proceeds to step S71.
[ステップS71]元データ送信部232は、「claim」のデータを署名エンジン233に通知して、ユーザの署名データの生成を依頼する。署名エンジン233は、図9のステップS48と同様の手順で、「claim」のデータとユーザの秘密鍵とに基づいて、ユーザの署名データ(「signature」、図7参照)を生成する。元データ送信部232は、「claim」のデータに生成日時などの所定のヘッダ情報を付加し、ユーザの署名データとともに事業者サーバ100に送信する。なお、送信されるデータは、ユーザの秘密鍵を用いて暗号化されていてもよい。
[Step S71] The original
[ステップS72]事業者サーバ100の依頼処理部133は、ユーザ端末200からのデータを受信すると、署名データを用いて受信データを検証する。
まず、依頼処理部133は、ユーザのユーザIDを指定してユーザの公開鍵をリポジトリサーバ410に要求する。この要求に応じて、リポジトリサーバ410の鍵管理部412からユーザIDに対応する公開鍵が送信され、事業者サーバ100の依頼処理部133がこの公開鍵を受信する。
[Step S72] When the
First, the
依頼処理部133は、ユーザ端末200からの受信データが暗号化されていた場合、ユーザの公開鍵を用いて受信データを復号する。依頼処理部133は、受信データからユーザの署名データを抽出し、ユーザの公開鍵を用いて復号する。依頼処理部133は、受信データ内の「claim」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。
When the received data from the
これらのハッシュ値が一致した場合、「claim」のデータが改ざんされていないことが確認されるとともに、ユーザから元データの提供の同意が得られたことが確認される。すると、依頼処理部133は次に、管理者IDを指定してデータ管理者の公開鍵をリポジトリサーバ410に要求する。この要求に応じて、リポジトリサーバ410の鍵管理部412から管理者IDに対応する公開鍵が送信され、事業者サーバ100の依頼処理部133がこの公開鍵を受信する。
When these hash values match, it is confirmed that the data of "claim" has not been tampered with, and it is confirmed that the user has given consent to provide the original data. Then, the
依頼処理部133は、「claim」のデータからデータ管理者の署名データを抽出し、データ管理者の公開鍵を用いて復号する。依頼処理部133は、受信データ内の「sketch」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。これらのハッシュ値が一致した場合、「sketch」のデータが改ざんされていないことが確認される。すると、処理がステップS73に進められる。
The
なお、ユーザの署名またはデータ管理者の署名のいずれかを用いた検証でデータの改ざんが認められた場合、ユーザ端末200に対して情報提供のエラーが通知され、処理は終了する。
If the data is falsified by the verification using either the user's signature or the data administrator's signature, the
[ステップS73]依頼処理部133は、スケッチングデータ記憶部111から、ユーザIDに対応付けられた、元データに基づくハッシュ値を取得する。また、依頼処理部133は、受信した「claim」に含まれる元データのハッシュ値を算出する。依頼処理部133は、これらのハッシュ値を比較することで、受信した元データが、マッチングの際に使用された同じユーザのスケッチングデータの元データであるかを検証する。ハッシュ値が一致した場合、受信した元データの正当性が確認され、処理がステップS74に進められる。一方、ハッシュ値が一致しなかった場合、ユーザ端末200に対して情報提供のエラーが通知され、処理は終了する。
[Step S73] The
[ステップS74]依頼処理部133は、受信した元データをマッチング部132に通知して、ステップS61でのマッチングの正当性を確認するための再マッチングの実行を依頼する。マッチング部132は、ステップS61で同じユーザのスケッチングデータとの間でマッチングを行った参照データを、参照データ記憶部120から取得し、取得した参照データと、依頼処理部133から通知された元データとのマッチング処理を実行する。
[Step S74] The
例えば、これらの類似度が所定の閾値以上である場合、ステップS61でのマッチングの結果が正しかったと判定され、処理がステップS75に進められる。一方、図示しないが、類似度が上記の閾値未満であり、ステップS61でのマッチングの結果が正しくなかったと判定された場合には、ユーザの申込が受領されなかったことがユーザ端末200に通知される。
For example, when these similarities are equal to or higher than a predetermined threshold value, it is determined that the matching result in step S61 is correct, and the process proceeds to step S75. On the other hand, although not shown, when the similarity is less than the above threshold value and it is determined that the matching result in step S61 is incorrect, the
[ステップS75]依頼処理部133は、ユーザに対するボランティアの依頼が確定し、依頼処理が完了したことをユーザ端末200に通知する。ユーザ端末200の元データ送信部232は、通知された内容をブラウザに表示する。これにより、依頼処理が完了する。
[Step S75] The
なお、以上の第2の実施の形態では、マッチングサービスの例として、ある地域を案内するボランティアとして適切なユーザをマッチングにより特定するサービスを示したが、マッチングサービスとしてはこの例に限定されるものではない。例えば、適切な職歴を持つユーザに派遣社員としての業務を紹介または依頼するためのサービスを適用することができる。この場合、例えば、各ユーザの職歴やスキルの情報が管理者サーバ300に収集される。事業者サーバ100は、求める派遣社員の職歴やスキルの情報を参照データとして保持し、各ユーザの情報と参照データとのマッチングを行うことで、派遣社員として適切なユーザを特定し、そのユーザに対して派遣社員としての業務を紹介または依頼する。
In the second embodiment described above, as an example of the matching service, a service for identifying an appropriate user as a volunteer who guides a certain area by matching is shown, but the matching service is limited to this example. is not it. For example, a service for introducing or requesting work as a dispatched employee can be applied to a user having an appropriate work history. In this case, for example, information on the work history and skills of each user is collected on the
また、例えば、自動車を運転する運転者の中から安全な運転を行っている運転者を特定するサービスを適用することもできる。この場合、例えば、車載器によって検出された各運転者の運転データ(スピードや経路の履歴など)が管理者サーバ300に収集される。事業者サーバ100は、参照データとして模範運転者の運転データを保持し、各運転者の運転データと模範運転者の運転データとの類似度を算出する。そして、事業者サーバ100は、模範運転者との間で運転データの類似度が高い運転者を、安全な運転を行っている運転者として特定する。
Further, for example, a service for identifying a driver who is driving safely from among the drivers who drive a car can be applied. In this case, for example, the driving data (speed, route history, etc.) of each driver detected by the on-board unit is collected in the
なお、上記の各実施の形態に示した装置(例えば、情報処理装置1、端末装置2、事業者サーバ100、ユーザ端末200,200a,200b,・・・、管理者サーバ300)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
The processing functions of the devices (for example,
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When a program is distributed, for example, a portable recording medium such as a DVD or a CD on which the program is recorded is sold. It is also possible to store the program in the storage device of the server computer and transfer the program from the server computer to another computer via the network.
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。 The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes the processing according to the program. The computer can also read the program directly from the portable recording medium and execute the processing according to the program. In addition, the computer can sequentially execute processing according to the received program each time the program is transferred from the server computer connected via the network.
1 情報処理装置
2 端末装置
3 記憶部
11,12,13,・・・ ユーザ情報
11a 署名データ
21,22,23,・・・ スケッチングデータ
31 参照データ
1
Claims (6)
前記情報処理装置は、
それぞれ個別のユーザに関する複数のユーザ情報をそれぞれ変換して得られた、確率的データ構造をそれぞれ有する複数のスケッチングデータを受信して、前記情報処理装置が備える記憶部に格納し、
前記複数のスケッチングデータと所定の参照データとのマッチングを実行し、
前記複数のスケッチングデータの中からマッチング結果として一のスケッチングデータが特定されると、前記一のスケッチングデータに対応する一のユーザに対して、前記複数のユーザ情報のうち前記一のユーザに対応する一のユーザ情報の提供を要求する提供要求を送信し、
前記一のユーザ情報を、前記一のユーザの署名データが付加された状態で受信し、受信した前記一のユーザ情報と前記参照データとのマッチングを実行することにより前記マッチング結果を検証し、
前記端末装置は、
前記提供要求に応じて、前記一のユーザ情報の提供に同意する同意操作を前記一のユーザから受け付け、
前記同意操作に応じて、前記一のユーザ情報に基づいて前記署名データを生成し、前記署名データを付加した前記一のユーザ情報を前記情報処理装置に送信する、
データマッチングシステム。 A data matching system that has an information processing device and a terminal device.
The information processing device
A plurality of sketching data having probabilistic data structures obtained by converting a plurality of user information related to each individual user are received and stored in a storage unit provided in the information processing apparatus.
Matching the plurality of sketching data with predetermined reference data is performed, and
When one sketching data is specified as a matching result from the plurality of sketching data, the one user among the plurality of user information is referred to the one user corresponding to the one sketching data. Send a request to request the provision of one user information corresponding to
The matching result is verified by receiving the one user information with the signature data of the one user added and performing matching between the received one user information and the reference data.
The terminal device is
In response to the provision request, the consent operation that consents to the provision of the one user information is accepted from the one user, and the consent operation is accepted.
In response to the consent operation, the signature data is generated based on the one user information, and the one user information to which the signature data is added is transmitted to the information processing apparatus.
Data matching system.
請求項1記載のデータマッチングシステム。 The information processing device verifies the validity of the received user information using the signature data, and when the validity is confirmed, matches the received user information with the reference data. Run,
The data matching system according to claim 1.
前記端末装置は、前記提供要求を前記通知情報とともに受信すると、前記通知情報の内容を表示装置に表示して、前記同意操作を受け付ける、
請求項1または2記載のデータマッチングシステム。 When transmitting the provision request, the information processing device transmits notification information indicating the type of information requested to be provided and the purpose of use thereof together with the provision request.
When the terminal device receives the provision request together with the notification information, the terminal device displays the content of the notification information on the display device and accepts the consent operation.
The data matching system according to claim 1 or 2.
前記複数のスケッチングデータの受信の際、前記複数のユーザ情報を基にそれぞれ算出された複数のハッシュ値を、前記複数のスケッチングデータとともに受信し、前記複数のスケッチングデータと前記複数のハッシュ値とを対応するユーザごとに前記記憶部に格納し、
前記一のユーザ情報を受信したとき、前記一のユーザ情報に基づくハッシュ値を算出し、算出されたハッシュ値と、前記複数のハッシュ値のうち前記一のユーザに対応するハッシュ値とが同一の場合に、前記一のユーザ情報と前記参照データとのマッチングを実行する、
請求項1乃至3のいずれか1項に記載のデータマッチングシステム。 The information processing device
When receiving the plurality of sketching data, a plurality of hash values calculated based on the plurality of user information are received together with the plurality of sketching data, and the plurality of sketching data and the plurality of hashes are received. The value and the corresponding user are stored in the storage unit, and the value is stored in the storage unit.
When the one user information is received, a hash value based on the one user information is calculated, and the calculated hash value and the hash value corresponding to the one user among the plurality of hash values are the same. In this case, matching the one user information with the reference data is executed.
The data matching system according to any one of claims 1 to 3.
前記処理部は、
それぞれ個別のユーザに関する複数のユーザ情報をそれぞれ変換して得られた、確率的データ構造をそれぞれ有する複数のスケッチングデータを受信して、前記記憶部に格納し、
前記複数のスケッチングデータと所定の参照データとのマッチングを実行し、
前記複数のスケッチングデータの中からマッチング結果として一のスケッチングデータが特定されると、前記一のスケッチングデータに対応する一のユーザに対して、前記複数のユーザ情報のうち前記一のユーザに対応する一のユーザ情報の提供を要求する提供要求を送信し、
前記一のユーザ情報を、前記一のユーザ情報の提供に前記一のユーザが同意する同意操作に応じて生成された、前記一のユーザの署名データが付加された状態で受信し、受信した前記一のユーザ情報と前記参照データとのマッチングを実行することにより前記マッチング結果を検証する、
情報処理装置。 An information processing device having a storage unit and a processing unit.
The processing unit
A plurality of sketching data having probabilistic data structures obtained by converting a plurality of user information relating to each individual user are received and stored in the storage unit.
Matching the plurality of sketching data with predetermined reference data is performed, and
When one sketching data is specified as a matching result from the plurality of sketching data, the one user among the plurality of user information is referred to the one user corresponding to the one sketching data. Send a request to request the provision of one user information corresponding to
The one user information is received and received with the signature data of the one user added, which is generated in response to the consent operation in which the one user consents to the provision of the one user information. The matching result is verified by performing matching between one user information and the reference data.
Information processing device.
それぞれ個別のユーザに関する複数のユーザ情報をそれぞれ変換して得られた、確率的データ構造をそれぞれ有する複数のスケッチングデータを受信して、前記コンピュータが備える記憶部に格納し、
前記複数のスケッチングデータと所定の参照データとのマッチングを実行し、
前記複数のスケッチングデータの中からマッチング結果として一のスケッチングデータが特定されると、前記一のスケッチングデータに対応する一のユーザに対して、前記複数のユーザ情報のうち前記一のユーザに対応する一のユーザ情報の提供を要求する提供要求を送信し、
前記一のユーザ情報を、前記一のユーザ情報の提供に前記一のユーザが同意する同意操作に応じて生成された、前記一のユーザの署名データが付加された状態で受信し、受信した前記一のユーザ情報と前記参照データとのマッチングを実行することにより前記マッチング結果を検証する、
データマッチング方法。 The computer
A plurality of sketching data having probabilistic data structures obtained by converting a plurality of user information related to each individual user are received and stored in a storage unit provided in the computer.
Matching the plurality of sketching data with predetermined reference data is performed, and
When one sketching data is specified as a matching result from the plurality of sketching data, the one user among the plurality of user information is referred to the one user corresponding to the one sketching data. Send a request to request the provision of one user information corresponding to
The one user information is received and received with the signature data of the one user added, which is generated in response to the consent operation in which the one user consents to the provision of the one user information. The matching result is verified by performing matching between one user information and the reference data.
Data matching method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020035630A JP7335511B2 (en) | 2020-03-03 | 2020-03-03 | DATA MATCHING SYSTEM, INFORMATION PROCESSING DEVICE AND DATA MATCHING METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020035630A JP7335511B2 (en) | 2020-03-03 | 2020-03-03 | DATA MATCHING SYSTEM, INFORMATION PROCESSING DEVICE AND DATA MATCHING METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021140299A true JP2021140299A (en) | 2021-09-16 |
JP7335511B2 JP7335511B2 (en) | 2023-08-30 |
Family
ID=77668580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020035630A Active JP7335511B2 (en) | 2020-03-03 | 2020-03-03 | DATA MATCHING SYSTEM, INFORMATION PROCESSING DEVICE AND DATA MATCHING METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7335511B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023131610A (en) * | 2022-03-09 | 2023-09-22 | パナソニックIpマネジメント株式会社 | Information processing device, data providing method, data receiving method, program, action data provision processing system, and action data provision processing method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002056049A (en) * | 2000-08-08 | 2002-02-20 | Maeda Corp | System and method for matching worker and construction retail system using the sames |
WO2008108158A1 (en) * | 2007-03-02 | 2008-09-12 | Nec Corporation | Information disclosure control system, information disclosure control program, and information disclosure control method |
US20110161176A1 (en) * | 2008-09-08 | 2011-06-30 | Chuan David Ai | Private information requests and information management |
JP2018506107A (en) * | 2014-12-22 | 2018-03-01 | アマゾン テクノロジーズ インコーポレイテッド | Efficient determination of joint paths via radix estimation |
-
2020
- 2020-03-03 JP JP2020035630A patent/JP7335511B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002056049A (en) * | 2000-08-08 | 2002-02-20 | Maeda Corp | System and method for matching worker and construction retail system using the sames |
WO2008108158A1 (en) * | 2007-03-02 | 2008-09-12 | Nec Corporation | Information disclosure control system, information disclosure control program, and information disclosure control method |
US20110161176A1 (en) * | 2008-09-08 | 2011-06-30 | Chuan David Ai | Private information requests and information management |
JP2018506107A (en) * | 2014-12-22 | 2018-03-01 | アマゾン テクノロジーズ インコーポレイテッド | Efficient determination of joint paths via radix estimation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023131610A (en) * | 2022-03-09 | 2023-09-22 | パナソニックIpマネジメント株式会社 | Information processing device, data providing method, data receiving method, program, action data provision processing system, and action data provision processing method |
Also Published As
Publication number | Publication date |
---|---|
JP7335511B2 (en) | 2023-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4838631B2 (en) | Document access management program, document access management apparatus, and document access management method | |
JP4742682B2 (en) | Content protection device and content protection release device | |
KR101591255B1 (en) | Differential client-side encryption of information originating from a client | |
EP3598336A1 (en) | Information processing device and information processing method | |
WO2002056580A1 (en) | Contents directory service system | |
JP2008103936A (en) | Secret information management device, and secret information management system | |
CN103051600A (en) | File access control method and system | |
JP2008257720A (en) | Technique for sharing data | |
JPH06103286A (en) | Method for controlling reproduction of structured document, device for controlling reproduction of structured document and program for controlling reproduction of structured document | |
JPH11232286A (en) | Information retrieving system | |
EP3005210B1 (en) | Secure automatic authorized access to any application through a third party | |
US20130024769A1 (en) | Apparatus and method for processing a document | |
JP2002118551A (en) | Authentication method | |
JP2019153181A (en) | Management program | |
JP5287027B2 (en) | Questionnaire data processing system and method, questionnaire system using the same, and terminal used therefor | |
CN111291399A (en) | Data encryption method, system, computer system and computer readable storage medium | |
US20210144451A1 (en) | Control method, content management system, recording medium, and data structure | |
JP4695046B2 (en) | Server apparatus, action recording system, and action recording method | |
JP7335511B2 (en) | DATA MATCHING SYSTEM, INFORMATION PROCESSING DEVICE AND DATA MATCHING METHOD | |
US11507686B2 (en) | System and method for encrypting electronic documents containing confidential information | |
JP2007129413A (en) | Information processing system and computer program | |
JP2005242530A (en) | History recording system, history recording method, history recording program and terminal for receipt transferer | |
KR102171458B1 (en) | Method of providing personal information collection agreement procedure in iot system, and apparatuses performing the same | |
JP5386458B2 (en) | Authentication system, authentication data generation device, and authentication method | |
JP2007096413A (en) | Packet recording support apparatus, packet recording support method, and packet recording support program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230710 |
|
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: 20230718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7335511 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |