JP2021140299A - Data matching system, information processing apparatus, and data matching method - Google Patents

Data matching system, information processing apparatus, and data matching method Download PDF

Info

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
Application number
JP2020035630A
Other languages
Japanese (ja)
Other versions
JP7335511B2 (en
Inventor
栄信 伊藤
Yoshinobu Ito
栄信 伊藤
和明 二村
Kazuaki Futamura
和明 二村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020035630A priority Critical patent/JP7335511B2/en
Publication of JP2021140299A publication Critical patent/JP2021140299A/en
Application granted granted Critical
Publication of JP7335511B2 publication Critical patent/JP7335511B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To secure secrecy of personal information in matching using information on a user.SOLUTION: An information processing apparatus 1 requests, when sketching data 21 is identified as a result of matching sketching data 21, 22, 23 and the like stored in a storage unit 3 with reference data 31, to provide a user corresponding to the sketching data 21 with user information 11 corresponding to the user. When receiving agreement operation that agrees to provide the user information 11, a terminal apparatus 2 generates signature data 11a based on the user information 11, and transmits the user information 11 to which the signature data 11a is added to the information processing apparatus 1. When receiving the user information 11 to which the signature data 11a is added, the information processing apparatus 1 performs matching the received user information 11 with the reference data 31 to verify the result of matching using the sketching data 21.SELECTED DRAWING: Figure 1

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.

特開2018−506107号公報JP-A-2018-506107 特開2010−204897号公報Japanese Unexamined Patent Publication No. 2010-204897

ところで、上記のようなマッチングサービスでは、ユーザに関する情報がサービス側に提供されるため、個人情報が漏洩する危険性がある。これに対して、ユーザに関する情報を、確率的データ構造を有するスケッチングデータに変換してサービス側に提供する方法が考えられる。ユーザに関する情報がスケッチングデータに変換されることで、個人情報の特定が困難な状態でサービス側に情報が提供されるので、個人情報の秘匿性を高めることができる。しかし、サービス側では、スケッチングデータだけを用いてマッチングを行うと、マッチング精度が低下するという問題がある。 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の実施の形態に係るデータマッチングシステムの構成例および処理例を示す図である。It is a figure which shows the configuration example and the processing example of the data matching system which concerns on 1st Embodiment. 第2の実施の形態に係るデータマッチングシステムの構成例を示す図である。It is a figure which shows the structural example of the data matching system which concerns on 2nd Embodiment. 事業者サーバのハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the operator server. データマッチングシステムの動作の比較例を示す図である。It is a figure which shows the comparative example of the operation of a data matching system. 第2の実施の形態に係るデータマッチングシステムの動作の概要を示す図である。It is a figure which shows the outline of the operation of the data matching system which concerns on 2nd Embodiment. 属性情報に基づくスケッチングデータの算出例を示す図である。It is a figure which shows the calculation example of the sketching data based on the attribute information. 事業者サーバに送信される送信データの例を示す図である。It is a figure which shows the example of the transmission data transmitted to the business operator server. データマッチングシステム内の各装置が備える処理機能の構成例を示す図である。It is a figure which shows the configuration example of the processing function provided in each apparatus in a data matching system. スケッチングデータ登録時の処理手順を示すシーケンス図の例である。This is an example of a sequence diagram showing a processing procedure at the time of registering sketching data. サービス登録画面の表示例を示す図である。It is a figure which shows the display example of a service registration screen. スケッチングデータの提供要求画面の表示例を示す図である。It is a figure which shows the display example of the provision request screen of sketching data. ボランティアの活動を依頼する際の処理手順を示すシーケンス図の例(その1)である。This is an example of a sequence diagram (No. 1) showing a processing procedure when requesting volunteer activities. ボランティアの活動を依頼する際の処理手順を示すシーケンス図の例(その2)である。This is an example of a sequence diagram (No. 2) showing a processing procedure when requesting volunteer activities. ボランティア活動の依頼画面の表示例を示す図である。It is a figure which shows the display example of the request screen of a volunteer activity. 元データ提供に対する同意操作画面の表示例を示す図である。It is a figure which shows the display example of the consent operation screen for the source data provision.

以下、本発明の実施の形態について図面を参照して説明する。
〔第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 information processing device 1 and a terminal device 2.

情報処理装置1は、それぞれ個別のユーザに関するユーザ情報11,12,13,・・・を用いたマッチングを行うことで、特定のユーザを抽出する装置である。例えば、情報処理装置1は、ユーザ情報11,12,13,・・・として各ユーザの行動履歴を取得し、それらの行動履歴を基に、特定の目的に適したユーザを抽出する。 The information processing device 1 is a device that extracts a specific user by performing matching using user information 11, 12, 13, ... Regarding each individual user. For example, the information processing device 1 acquires the action history of each user as user information 11, 12, 13, ..., And extracts a user suitable for a specific purpose based on the action history.

ただし、情報処理装置1は、マッチングの対象となる各ユーザから、ユーザ情報をそのまま取得するのではなく、確率的データ構造を有するスケッチングデータの形式で取得する。情報処理装置1は、スケッチングデータを用いたマッチングの結果としてあるユーザが特定されたときに、そのユーザからスケッチングデータの元データであるユーザ情報を取得する。そして、情報処理装置1は、取得したユーザ情報を用いて再度マッチングを行うことで、スケッチングデータを用いたマッチングの結果を検証する。 However, the information processing device 1 does not acquire the user information as it is from each user to be matched, but acquires it in the form of sketching data having a stochastic data structure. When a certain user is identified as a result of matching using the sketching data, the information processing apparatus 1 acquires user information which is the original data of the sketching data from the user. Then, the information processing device 1 verifies the matching result using the sketching data by performing matching again using the acquired user information.

図1の例では、ユーザ情報11,12,13,・・・を変換することでスケッチングデータ21,22,23,・・・が得られるものとする。
端末装置2は、ユーザによって操作される端末装置の1つである。図1では例として、端末装置2は、ユーザ情報11に対応するユーザAによって操作されるものとする。
In the example of FIG. 1, it is assumed that sketching data 21, 22, 23, ... Can be obtained by converting user information 11, 12, 13, ....
The terminal device 2 is one of the terminal devices operated by the user. In FIG. 1, as an example, it is assumed that the terminal device 2 is operated by the user A corresponding to the user information 11.

以下、本実施の形態に係るデータマッチングシステムの処理について、順を追って説明する。
まず、情報処理装置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 information processing device 1 receives sketching data 21, 22, 23, ... (Step S1). Of these, the sketching data 21 corresponding to the user A is transmitted from the terminal device 2 to the information processing device 1, for example. The information processing device 1 includes a storage unit 3, and stores the received sketching data 21, 22, 23, ... In the storage unit 3. The storage unit 3 is realized as a storage area of a storage device (not shown) included in the information processing device 1.

次に、情報処理装置1は、格納されたスケッチングデータ21,22,23,・・・のそれぞれと、所定の参照データ31とのマッチングを実行する(ステップS2)。参照データ31は、特定のユーザを抽出するためのデータである。なお、実際には、参照データ31から変換されたスケッチングデータが、記憶部3内のスケッチングデータ21,22,23,・・・とマッチングされる。 Next, the information processing apparatus 1 executes matching of each of the stored sketching data 21, 22, 23, ... With the predetermined reference data 31 (step S2). The reference data 31 is data for extracting a specific user. Actually, the sketching data converted from the reference data 31 is matched with the sketching data 21, 22, 23, ... In the storage unit 3.

ステップS2では、例えば、スケッチングデータ21,22,23,・・・のそれぞれと、参照データ31に基づくスケッチングデータとの類似度が算出される。そして、類似度が最も高く、かつ、類似度が所定の閾値以上であるスケッチングデータが存在する場合に、そのスケッチングデータに対応するユーザがマッチング結果として特定される。 In step S2, for example, the degree of similarity between each of the sketching data 21, 22, 23, ... And the sketching data based on the reference data 31 is calculated. Then, when there is sketching data having the highest degree of similarity and the degree of similarity being equal to or higher than a predetermined threshold value, the user corresponding to the sketching data is specified as the matching result.

図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 information processing device 1 transmits a provision request requesting the provision of the user information 11 corresponding to the user A to the user A (step S3).

端末装置2は、送信された提供要求に応じて、ユーザAのユーザ情報11の提供に同意する同意操作を、ユーザAから受け付ける(ステップS4)。例えば、提供要求により、提供が要求された情報の内容がユーザに通知される。この通知は、例えば、ユーザA宛ての電子メールを送信することや、端末装置2の表示装置(図示せず)に対する情報表示によって行われる。また、この通知では、例えば、提供が要求された情報の種別、その情報の使用目的などが通知される。そして、ユーザAは、この通知に基づいて、提供が要求された情報の内容を確認し、情報提供に同意する場合にのみ同意操作を行う。 In response to the transmitted provision request, the terminal device 2 accepts the consent operation from the user A to consent to the provision of the user information 11 of the user A (step S4). For example, the provision request notifies the user of the content of the information requested to be provided. This notification is performed, for example, by sending an e-mail addressed to the user A or by displaying information on a display device (not shown) of the terminal device 2. Further, in this notification, for example, the type of information requested to be provided, the purpose of use of the information, and the like are notified. Then, based on this notification, the user A confirms the content of the information requested to be provided, and performs the consent operation only when he / she agrees to provide the information.

端末装置2は、ユーザAによる同意操作に応じて、ユーザ情報11に基づいてユーザAの署名データ11aを生成する(ステップS5)。署名データ11aは、例えば、少なくともユーザ情報11を含む送信情報に基づくハッシュ値を、ユーザAの秘密鍵を用いて暗号化することで生成される。そして、端末装置2は、ユーザ情報11に署名データ11aを付加して情報処理装置1に送信する(ステップS6)。 The terminal device 2 generates the signature data 11a of the user A based on the user information 11 in response to the consent operation by the user A (step S5). The signature data 11a is generated, for example, by encrypting a hash value based on transmission information including at least the user information 11 using the private key of the user A. Then, the terminal device 2 adds the signature data 11a to the user information 11 and transmits it to the information processing device 1 (step S6).

情報処理装置1は、署名データ11aが付加されたユーザ情報11を受信すると、受信したユーザ情報11と、ステップS2で使用された参照データ31とのマッチングを行う(ステップS7)。このマッチングにより、ステップS2でのマッチングの結果が検証される。例えば、ユーザ情報11と参照データ31との類似度が所定の閾値以上であれば、ステップS2でのマッチングの結果が正しかったと判定される。 When the information processing device 1 receives the user information 11 to which the signature data 11a is added, the information processing device 1 matches the received user information 11 with the reference data 31 used in step S2 (step S7). By this matching, the result of matching in step S2 is verified. For example, if the degree of similarity between the user information 11 and the reference data 31 is equal to or greater than a predetermined threshold value, it is determined that the matching result in step S2 is correct.

以上の処理によれば、各ユーザに関するユーザ情報11,12,13,・・・が、スケッチングデータ21,22,23,・・・に変換されて情報処理装置1に蓄積される。そして、スケッチングデータ21,22,23,・・・を用いてマッチングが行われ、そのマッチングの結果として特定されたユーザについてのみ、ユーザ情報が情報処理装置1に提供される。 According to the above processing, the user information 11, 12, 13, ... For each user is converted into sketching data 21, 22, 23, ... And stored in the information processing device 1. Then, matching is performed using the sketching data 21, 22, 23, ..., And user information is provided to the information processing device 1 only for the user specified as a result of the matching.

スケッチングデータは、元データであるユーザ情報と比較して、個人情報の特定が困難なデータである。各ユーザのユーザ情報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 user information 11, 12, 13, ... Of each user is stored in the information processing device 1 as such sketching data 21, 22, 23, ..., There is a risk that personal information will be leaked. descend. Further, by providing only the user information of the user specified by matching using sketching data, the opportunity for the user information to be provided to the information processing apparatus 1 and used is limited.

しかも、ユーザ情報は、ユーザによる明確な同意操作に応じて提供される。そして、提供されるユーザ情報には、その同意操作に応じて生成されたユーザの署名データが付加される。情報処理装置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 information processing device 1, since the user's signature data is added to the user information, the user information can be used for matching after clearly confirming that the user has agreed to the provision of the user information. For example, matching using the user information is executed only when it is confirmed that the received user information has not been tampered with based on the signature data. Therefore, the confidentiality of personal information is increased, and the strength of privacy protection of the user is improved.

また、スケッチングデータを用いたマッチングは、ある程度の誤差が生じるので、元データを用いたマッチングより精度が低い。図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 business server 100, user terminals 200, 200a, 200b, ..., And an administrator server 300. The business server 100, the user terminals 200, 200a, 200b, ..., And the administrator server 300 are connected to each other via the network 50.

事業者サーバ100は、事業者によって運用されるサーバコンピュータである。事業者サーバ100は、ユーザの属性情報を用いてマッチングを行うことで、特定の目的に適するユーザや、特定の条件に合致するユーザを抽出するマッチングサービスを提供する。 The business operator server 100 is a server computer operated by the business operator. The business server 100 provides a matching service that extracts users suitable for a specific purpose and users who meet a specific condition by performing matching using the attribute information of the user.

ユーザ端末200,200a,200b,・・・は、ユーザによって操作される端末装置である。ユーザは、ユーザ端末200,200a,200b,・・・のいずれかを操作することで、ユーザ自身に関する属性情報を事業者サーバ100に登録し、事業者サーバ100によるマッチングの結果を示す情報を受け取ることができる。ユーザ端末200,200a,200b,・・・を用いることで、事業者サーバ100には多数のユーザの属性情報が登録され得る。 User terminals 200, 200a, 200b, ... Are terminal devices operated by the user. By operating any of the user terminals 200, 200a, 200b, ..., The user registers the attribute information about the user himself / herself in the business server 100, and receives the information indicating the matching result by the business server 100. be able to. By using the user terminals 200, 200a, 200b, ..., The attribute information of a large number of users can be registered in the business server 100.

管理者サーバ300は、ユーザの属性情報を管理する管理者によって運用されるサーバコンピュータである。管理者サーバ300は、ユーザ端末200,200a,200b,・・・からの要求に応じて、ユーザの属性情報を要求元のユーザ端末を介して事業者サーバ100に送信する。 The administrator server 300 is a server computer operated by an administrator who manages user attribute information. The administrator server 300 transmits the attribute information of the user to the business server 100 via the user terminal of the request source in response to the request from the user terminals 200, 200a, 200b, ....

管理者サーバ300は、ユーザの属性情報の種別ごとに個別に設けられてもよい。例えば、ユーザの行動履歴(位置情報、購買履歴など)を管理する管理者サーバ300と、ユーザに関する著作物(ユーザによる著書や論文、ユーザが記載された新聞記事など)を管理する管理者サーバ300とが個別に設けられていてもよい。このように管理者サーバ300が属性情報の種別ごとに設けられる場合、ユーザの属性情報は複数の管理者サーバ300によって分散管理されることになる。 The administrator server 300 may be individually provided for each type of user attribute information. For example, an administrator server 300 that manages a user's behavior history (location information, purchase history, etc.) and an administrator server 300 that manages copyrighted works (books and treatises by the user, newspaper articles in which the user is described, etc.) related to the user. And may be provided individually. When the administrator server 300 is provided for each type of attribute information in this way, the attribute information of the user is distributed and managed by a plurality of administrator servers 300.

また、ネットワーク50には、ブロックチェーン400を構築するノード群401が接続されている。ノード群401には、サーバなどのコンピュータノードが複数含まれている。ブロックチェーン400は、DID(Decentralized IDentifier)を用いたデジタルIDサービスを提供する。DIDは、非集権的に管理される分散型のIDである。 Further, a node group 401 for constructing the blockchain 400 is connected to the network 50. The node group 401 includes a plurality of computer nodes such as servers. The blockchain 400 provides a digital ID service using a DID (Decentralized IDentifier). The DID is a decentralized ID that is managed decentralized.

デジタル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 business operator server 100, and the data administrator operating the administrator server 300. Hereinafter, the IDs issued to the user, the business operator, and the data administrator will be described as the user ID, the business operator ID, and the administrator ID, respectively. In the blockchain 400, for example, a public key is associated with each issued ID and managed.

図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 operator server 100 is realized as, for example, a computer as shown in FIG. The operator server 100 shown in FIG. 3 includes a processor 101, a RAM (Random Access Memory) 102, an HDD (Hard Disk Drive) 103, a graphic interface (I / F) 104, an input interface (I / F) 105, and a reading device 106. And network interface (I / F) 107.

プロセッサ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 processor 101 comprehensively controls the entire operator server 100. The processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device). Further, the processor 101 may be a combination of two or more elements of the CPU, MPU, DSP, ASIC, and PLD.

RAM102は、事業者サーバ100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。 The RAM 102 is used as the main storage device of the operator server 100. The RAM 102 temporarily stores at least a part of an OS (Operating System) program or an application program to be executed by the processor 101. Further, the RAM 102 stores various data necessary for processing by the processor 101.

HDD103は、事業者サーバ100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。 The HDD 103 is used as an auxiliary storage device of the operator server 100. The OS program, application program, and various data are stored in the HDD 103. As the auxiliary storage device, other types of non-volatile storage devices such as SSD (Solid State Drive) can also be used.

グラフィックインタフェース104には、表示装置104aが接続されている。グラフィックインタフェース104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置としては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。 A display device 104a is connected to the graphic interface 104. The graphic interface 104 causes the display device 104a to display an image according to an instruction from the processor 101. Display devices include liquid crystal displays and organic EL (ElectroLuminescence) displays.

入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 An input device 105a is connected to the input interface 105. The input interface 105 transmits a signal output from the input device 105a to the processor 101. The input device 105a includes a keyboard, a pointing device, and the like. Pointing devices include mice, touch panels, tablets, touchpads, trackballs, and the like.

読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。 A portable recording medium 106a is attached to and detached from the reading device 106. The reading device 106 reads the data recorded on the portable recording medium 106a and transmits it to the processor 101. Examples of the portable recording medium 106a include an optical disk, a magneto-optical disk, and a semiconductor memory.

ネットワークインタフェース107は、ネットワーク50を介して他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、事業者サーバ100の処理機能を実現することができる。なお、ユーザ端末200,200a,200b,・・・および管理者サーバ300についても、例えば、図3に示すような構成のコンピュータとして実現することができる。ユーザ端末200,200a,200b,・・・は、図3の構成の他、例えば、表示装置104aが一体化されたノート型コンピュータや、タブレット型端末、スマートフォンとして実現されてもよい。
The network interface 107 transmits / receives data to / from other devices via the network 50.
With the above hardware configuration, the processing function of the operator server 100 can be realized. The user terminals 200, 200a, 200b, ... And the administrator server 300 can also be realized as, for example, a computer having the configuration shown in FIG. In addition to the configuration shown in FIG. 3, the user terminals 200, 200a, 200b, ... May be realized as, for example, a notebook computer, a tablet terminal, or a smartphone in which the display device 104a is integrated.

次に、データマッチングシステムにおけるマッチング処理の具体例について説明する。
前述のように、管理者サーバ300では、ユーザの行動履歴やユーザに関する著作物といったユーザの属性情報が管理される。管理者サーバ300は、例えば、このような属性情報を各ユーザから収集することができる。
Next, a specific example of the matching process in the data matching system will be described.
As described above, the administrator server 300 manages user attribute information such as a user's action history and copyrighted works related to the user. The administrator server 300 can collect such attribute information from each user, for example.

以下の説明では、管理者サーバ300では属性情報として、ユーザの行動履歴、特にユーザの位置情報の履歴が管理されるものとする。この場合、例えば、ユーザが携帯する端末装置においてユーザの位置情報が計測される。位置情報としては、GPS(Global Positioning System)データが計測される。管理者サーバ300は、計測されたユーザの位置情報をユーザの端末装置から収集し、ユーザIDに対応付けて記憶する。なお、ユーザの位置情報が計測される端末装置として、図2に示すユーザ端末200,200a,200b,・・・が用いられてもよい。 In the following description, it is assumed that the administrator server 300 manages the user's action history, particularly the user's location information history, as attribute information. In this case, for example, the user's position information is measured in the terminal device carried by the user. As the position information, GPS (Global Positioning System) data is measured. The administrator server 300 collects the measured user position information from the user's terminal device and stores it in association with the user ID. The user terminals 200, 200a, 200b, ... Shown in FIG. 2 may be used as the terminal device for measuring the user's position information.

また、事業者サーバ100を運用する事業者は、地域の案内を行うボランティアを派遣する派遣事業を行う。この派遣事業に関し、事業者サーバ100は、ボランティアのマッチングサービスを提供する。マッチングサービスでは、事業者サーバ100は、サービスに対するユーザの登録を受け付け、登録されたユーザの中から、地域ごとに適切なユーザを特定して、そのユーザに地域案内のボランティアを行うように依頼する。ユーザの特定では、ユーザの位置情報の履歴に基づき、ある地域を案内するボランティアとして、その地域で行動する頻度が高い、あるいは行動する時間が長いユーザが特定される。 In addition, the business operator that operates the business operator server 100 conducts a dispatch business that dispatches volunteers to guide the area. Regarding this dispatch business, the business server 100 provides a volunteer matching service. In the matching service, the business server 100 accepts user registration for the service, identifies an appropriate user for each region from the registered users, and requests the user to volunteer for regional guidance. .. In the user identification, a user who frequently acts in a certain area or who acts for a long time is specified as a volunteer who guides a certain area based on the history of the user's location information.

ここで、図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 administrator server 300 includes a user data storage unit 310 in which user attribute information is stored. The administrator server 300 collects attribute information from the user as described above, and registers it in the collected user data storage unit 310. The user data storage unit 310 stores position information (GPS data) as attribute information in association with the user ID of each user.

ユーザは、ボランティアのマッチングサービスに対して事前に登録する。この登録では、ユーザ端末を用いてユーザ自身の属性情報が事業者サーバ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 business server 100 using the user terminal. Hereinafter, a case where the user who operates the user terminal 200 registers the attribute information will be described.

属性情報の登録処理では、ユーザ端末200から管理者サーバ300に対して、ユーザのユーザIDを指定して属性情報の送信が要求される。管理者サーバ300は、この送信要求に応じて、ユーザIDに対応する属性情報をユーザデータ記憶部310から読み出し、ユーザ端末200に送信する(ステップS11)。ユーザ端末200は、送信された属性情報を事業者サーバ100に転送し、ユーザIDを指定して属性情報の登録を要求する。事業者サーバ100は、ユーザデータ記憶部110を備えており、ユーザ端末200から登録が要求された属性情報を、ユーザIDに対応付けてユーザデータ記憶部110に登録する(ステップS12)。 In the attribute information registration process, the user terminal 200 requests the administrator server 300 to specify the user ID of the user and transmit the attribute information. In response to this transmission request, the administrator server 300 reads the attribute information corresponding to the user ID from the user data storage unit 310 and transmits it to the user terminal 200 (step S11). The user terminal 200 transfers the transmitted attribute information to the business server 100, specifies a user ID, and requests registration of the attribute information. The business server 100 includes a user data storage unit 110, and registers the attribute information requested to be registered from the user terminal 200 in the user data storage unit 110 in association with the user ID (step S12).

事業者サーバ100は、ユーザの属性情報とのマッチングの際に参照される参照データが登録された参照データ記憶部120を備えている。参照データは、地域ごとに登録され、対応する地域を案内するユーザを特定するための条件を示すデータである。例えば、参照データには、対応する地域において案内の対象となるランドマークの位置情報や、ランドマーク間の移動経路上のポイントを示す位置情報が記述される。 The operator server 100 includes a reference data storage unit 120 in which reference data to be referred to when matching with the attribute information of the user is registered. The reference data is data that is registered for each region and indicates conditions for identifying a user who guides the corresponding region. For example, in the reference data, the position information of the landmark to be guided in the corresponding area and the position information indicating the point on the movement route between the landmarks are described.

事業者サーバ100は、ユーザデータ記憶部110に登録された各ユーザの属性情報と、参照データ記憶部120に登録された各参照データとのマッチングを行って、地域案内をするボランティアとしてふさわしいユーザを地域ごとに特定する。ただし、属性情報はデータサイズが大きく、大量の属性情報をそのまま用いてマッチングを行うと、マッチングの処理負荷が過大となる。そこで、図4の例では、属性情報のスケッチングデータが算出され、スケッチングデータを用いてマッチングが行われる。 The business server 100 matches the attribute information of each user registered in the user data storage unit 110 with each reference data registered in the reference data storage unit 120, and selects a user suitable as a volunteer who provides regional guidance. Identify by region. However, the data size of the attribute information is large, and if matching is performed using a large amount of attribute information as it is, the matching processing load becomes excessive. Therefore, in the example of FIG. 4, sketching data of attribute information is calculated, and matching is performed using the sketching data.

スケッチングデータは、確率的データ構造を有するデータである。元データをスケッチングデータに変換することで、データサイズが縮小される。変換後のスケッチングデータを用いた場合のクエリに対する処理結果にはある程度の誤差が生じるものの、そのクエリに対する処理の効率を高めることができる。 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 business server 100 performs matching according to the following procedure. First, the business operator server 100 calculates sketching data for each user based on the attribute information of each user registered in the user data storage unit 110. At the same time, the operator server 100 calculates sketching data based on each reference data registered in the reference data storage unit 120 (step S13). The calculation of each sketching data may be executed at the time of registration for each storage unit.

事業者サーバ100は、各属性情報に基づくスケッチングデータと、各参照データに基づくスケッチングデータとのマッチングを行う(ステップS14)。例えば、ある1つの参照データに基づくスケッチングデータと、各属性情報に基づくスケッチングデータとのマッチングが行われたとすると、事業者サーバ100は、このマッチングにより参照データとの類似性が高い属性情報を特定する。例えば、属性情報に基づくスケッチングデータの中から、参照データに基づくスケッチングデータとの類似度が最大であり、かつ所定の閾値以上であるスケッチングデータがある場合に、そのスケッチングデータに対応する属性情報がマッチング結果として特定される。 The operator server 100 matches the sketching data based on each attribute information with the sketching data based on each reference data (step S14). For example, if the sketching data based on a certain reference data and the sketching data based on each attribute information are matched, the operator server 100 uses this matching to match the attribute information with high similarity to the reference data. To identify. For example, if there is sketching data that has the maximum similarity to the sketching data based on the reference data and is equal to or higher than a predetermined threshold among the sketching data based on the attribute information, the sketching data is supported. Attribute information to be specified is specified as a matching result.

次に、事業者サーバ100は、特定された属性情報をユーザデータ記憶部110から読み出すとともに、マッチングが行われた参照データを参照データ記憶部120から読み出す。そして、事業者サーバ100は、属性情報と参照データとのマッチングを行う(ステップS15)。このマッチングは、スケッチングデータを用いたマッチング(ステップS14)の結果が正しいかを確認するためのものであり、例えば、類似度が所定の閾値以上である場合にマッチング結果が正しいと判断される。この場合、事業者サーバ100は、属性情報に対応するユーザを、参照データに対応する地域を案内するボランティアとしてふさわしいと判断して、そのユーザに対してボランティアの活動を依頼する(ステップS16)。 Next, the business operator server 100 reads the specified attribute information from the user data storage unit 110 and reads the matched reference data from the reference data storage unit 120. Then, the operator server 100 matches the attribute information with the reference data (step S15). This matching is for confirming whether the result of matching using sketching data (step S14) is correct. For example, when the similarity is equal to or higher than a predetermined threshold value, it is determined that the matching result is correct. .. In this case, the business server 100 determines that the user corresponding to the attribute information is suitable as a volunteer to guide the area corresponding to the reference data, and requests the user to perform the volunteer activity (step S16).

ボランティアの依頼は、例えば、電子メールなどによってユーザ端末200に通知される。その通知を受けたユーザは、ボランティアの依頼を承諾する場合、ユーザ端末200を介して事業者サーバ100に対して依頼を承諾することを通知する(ステップS17)。 The volunteer request is notified to the user terminal 200 by, for example, e-mail. When accepting the volunteer request, the user who has received the notification notifies the operator server 100 of accepting the request via the user terminal 200 (step S17).

以上の比較例では、まず、スケッチングデータを用いてマッチングが行われ、その後にスケッチングデータの元データを用いてマッチングが行われる。このような手順によれば、ユーザデータ記憶部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 data storage unit 110 as it is is performed only for the attribute information specified by the matching using the sketching data among the registered attribute information. It is said. Therefore, the processing load of matching can be reduced. Further, since the correctness of the matching result using the sketching data is verified by the matching using the original data, it is possible to prevent the matching accuracy from being lowered.

ところで、ユーザの属性情報はユーザの個人情報であるので、慎重な取り扱いが必要である。図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 administrator server 300 provides the attribute information to the operator server 100 at least in a state where the consent of the user is surely obtained. For example, the transmission of the attribute information from the administrator server 300 is executed in response to the operation of the user's clear consent to the user terminal 200 (step S12a). Further, the transfer of the attribute information to the business server 100 is performed in a state where the business server 100 can confirm that the user has agreed.

属性情報の送信は、例えば、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 administrator server 300 is requested to send the attribute information by the operation of the user, the administrator server 300 signs the attribute information of the user by using the private key associated with the administrator ID, and signs the signature. The attribute information is transmitted to the user terminal 200. The user terminal 200 further signs the received data using the private key associated with the user ID, and transmits the signed data to the business server 100.

事業者サーバ100は、ユーザIDに対応付けられた公開鍵をブロックチェーン400上のレポジトリ(図示せず)から取得し、取得した公開鍵を用いてユーザの署名を復号することで、受信したデータの内容に改ざんがないかを確認する。このとき、データにユーザの署名があることで、改ざんの有無とともに、ユーザによる情報提供の同意があったことも確認できる。また、事業者サーバ100は、管理者IDに対応付けられた公開鍵を上記のレポジトリから取得し、取得した公開鍵を用いてデータ管理者の署名を復号することで、受信したデータの内容に改ざんがないかをさらに確認する。 The business server 100 acquires the public key associated with the user ID from the repository (not shown) on the blockchain 400, and decrypts the user's signature using the acquired public key to receive the received data. Check that the contents of are not tampered with. At this time, since the data has the user's signature, it can be confirmed whether or not the data has been tampered with and that the user has consented to the provision of information. Further, the operator server 100 acquires the public key associated with the administrator ID from the above repository, and decrypts the signature of the data administrator using the acquired public key to obtain the contents of the received data. Check further for tampering.

しかしながら、個人情報の取り扱いという観点では次のような課題もある。図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 operator server 100 as it is and stored. For this reason, there is a concern that personal information may be leaked to the user, and there is a great deal of psychological resistance to the provision of information. This point also causes the number of registered attribute information for the business server 100 not to increase, and leads to a decrease in the service quality of the business server 100.

さらに、図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 operator server 100 as it is and accumulated. Therefore, there is also a problem that the load on the network 50 and the capacity for accumulating data on the business server 100 side increase.

そこで、属性情報を事業者サーバ100にそのまま提供するのでなく、属性情報をスケッチングデータに変換した上で事業者サーバ100に提供する方法が考えられる。この方法によれば、個人情報の特定が困難なスケッチングデータの状態で属性情報が提供されることで、データの秘匿性が高まり、情報提供の際のユーザの心理的抵抗も小さくなる。また、事業者サーバ100に送信されるデータのサイズも縮小できる。その一方で、事業者サーバ100ではスケッチングデータを用いたマッチングしか行われなくなるので、マッチング精度が低下するという問題がある。 Therefore, instead of providing the attribute information to the business server 100 as it is, it is conceivable to convert the attribute information into sketching data and then provide the attribute information to the business server 100. According to this method, since the attribute information is provided in the state of sketching data in which it is difficult to identify personal information, the confidentiality of the data is increased and the psychological resistance of the user when providing the information is also reduced. In addition, the size of the data transmitted to the business server 100 can be reduced. On the other hand, since the operator server 100 only performs matching using sketching data, there is a problem that the matching accuracy is lowered.

そこで、第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 business server 100. The business server 100 performs matching using sketching data, and when a user is tentatively identified by the matching, the attribute information of the user is provided to the business server 100. In the operator server 100, the validity of the matching result using the sketching data is confirmed by executing the matching using the provided attribute information. By such a procedure, it is possible to improve the efficiency of a series of processes including matching while increasing the confidentiality of the user's personal information and maintaining the matching accuracy.

図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 administrator server 300 includes a user data storage unit 310 similar to that in FIG. On the other hand, the operator server 100 includes the same reference data storage unit 120 as in FIG. 4, but instead of the user data storage unit 110 in FIG. 4, sketching data storage for accumulating sketching data based on attribute information. A unit 111 is provided.

マッチングサービスに対する登録の際には、まず、管理者サーバ300において、ユーザデータ記憶部310からユーザの属性情報が読み出され、その属性情報に基づいてスケッチングデータが算出される(ステップS21)。算出されたスケッチングデータはユーザ端末200に送信され、ユーザ端末200から事業者サーバ100に転送されて、スケッチングデータ記憶部111に登録される(ステップS22)。このような管理者サーバ300から事業者サーバ100に対するスケッチングデータの提供は、ユーザの同意が得られた状態で行われる。 When registering for the matching service, first, the administrator server 300 reads the user attribute information from the user data storage unit 310, and the sketching data is calculated based on the attribute information (step S21). The calculated sketching data is transmitted to the user terminal 200, transferred from the user terminal 200 to the operator server 100, and registered in the sketching data storage unit 111 (step S22). The provision of sketching data from the administrator server 300 to the operator server 100 is performed with the consent of the user obtained.

事業者サーバ100は、スケッチングデータ記憶部111に登録された各ユーザのスケッチングデータを用いて、マッチングを行う(ステップS23)。このマッチングでは、参照データ記憶部120に登録された参照データに基づくスケッチングデータと、スケッチングデータ記憶部111に登録されたスケッチングデータとの類似度が計算される。 The operator server 100 performs matching using the sketching data of each user registered in the sketching data storage unit 111 (step S23). In this matching, the similarity between the sketching data based on the reference data registered in the reference data storage unit 120 and the sketching data registered in the sketching data storage unit 111 is calculated.

ここで、マッチングにより、ユーザ端末200を操作するユーザに対応するスケッチングデータが特定されたとする。この場合、参照データに対応する地域を案内するボランティアとして、ユーザが暫定的に特定されたことになる。すると、事業者サーバ100は、そのボランティアとして活動することをユーザに依頼する(ステップS24)。この依頼の際には、スケッチングデータを用いたマッチングの結果を検証するために、スケッチングデータに対応する元データ、すなわち属性情報の提供を要求することが、ユーザに対して明確に通知される。 Here, it is assumed that the sketching data corresponding to the user who operates the user terminal 200 is specified by the matching. In this case, the user has been tentatively identified as a volunteer to guide the area corresponding to the reference data. Then, the business server 100 requests the user to act as a volunteer (step S24). At the time of this request, the user is clearly notified that the source data corresponding to the sketching data, that is, the request for the provision of attribute information is requested in order to verify the result of matching using the sketching data. NS.

ユーザにより依頼を承諾する操作が行われると(ステップS25)、ユーザ端末200から管理者サーバ300に対して属性情報の提供が要求される。この承諾操作は、属性情報の提供にユーザが同意したことを示す。管理者サーバ300からは、この要求に応じてユーザの属性情報(元データ)が送信され、ユーザ端末200を介して事業者サーバ100に転送される(ステップS26)。このような手順により、属性情報の提供はユーザの同意が得られた状態で行われることになる。 When the user performs the operation of accepting the request (step S25), the user terminal 200 requests the administrator server 300 to provide the attribute information. This consent operation indicates that the user has consented to the provision of the attribute information. In response to this request, the administrator server 300 transmits user attribute information (original data) and transfers the user attribute information (original data) to the operator server 100 via the user terminal 200 (step S26). By such a procedure, the attribute information is provided with the consent of the user.

事業者サーバ100は、提供された属性情報と、ステップS23で用いられた参照データとのマッチングを実行して、ステップS23のマッチングの結果を確認する(ステップS27)。マッチングの結果が正しいと判定された場合、ユーザに対するボランティア活動の依頼処理が完了し、ユーザがそのボランティア活動を承諾したことが確定される(ステップS28)。 The business operator server 100 executes matching between the provided attribute information and the reference data used in step S23, and confirms the matching result in step S23 (step S27). If it is determined that the matching result is correct, the process of requesting the volunteer activity to the user is completed, and it is confirmed that the user has accepted the volunteer activity (step S28).

以上の手順によれば、各ユーザの属性情報は、データサイズが小さく、かつ個人情報の特定が困難なスケッチングデータに変換されて事業者サーバ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 business server 100, and registered. Then, the attribute information which is the original data of the sketching data is provided to the business operator server 100 only for the user specified by the matching using the sketching data.

これにより、各ユーザの属性情報を事業者サーバ100に提供する場合と比較して、事業者サーバ100に送信されるデータ量を低減でき、事業者サーバ100側で情報を蓄積するための容量を縮小できる。また、属性情報自体を用いたマッチングの実行回数が減少するので、マッチングの処理負荷を軽減できる。さらに、スケッチングデータを用いたマッチングの結果の正当性が元データを用いたマッチングによって検証されるので、マッチング精度の低下を防止できる。 As a result, the amount of data transmitted to the business server 100 can be reduced as compared with the case where the attribute information of each user is provided to the business server 100, and the capacity for storing the information on the business server 100 side can be increased. Can be reduced. Moreover, since the number of times of matching using the attribute information itself is reduced, the processing load of matching can be reduced. Further, since the correctness of the matching result using the sketching data is verified by the matching using the original data, it is possible to prevent the matching accuracy from being lowered.

また、事業者サーバ100側で属性情報が蓄積されないので、属性情報が漏洩する可能性を低減できる。また、マッチングに基づく特定のユーザについてのみ属性情報が提供されるので、全体として属性情報の秘匿性を向上させることができる。また、提供された属性情報は特定の参照データとの1回のマッチング時のみ使用される。このため、属性情報の使用目的や使用機会が限定されることから、この点でも属性情報の秘匿性を向上させることができ、個人情報のセキュリティを強化できる。 Further, since the attribute information is not accumulated on the business server 100 side, the possibility of leakage of the attribute information can be reduced. Further, since the attribute information is provided only for a specific user based on matching, the confidentiality of the attribute information can be improved as a whole. In addition, the provided attribute information is used only at the time of one matching with the specific reference data. Therefore, since the purpose and opportunity of using the attribute information are limited, the confidentiality of the attribute information can be improved and the security of the personal information can be strengthened in this respect as well.

また、ユーザによる情報登録時には、属性情報はスケッチングデータの状態で事業者サーバ100に登録されるので、情報登録に対するユーザの心理的抵抗を軽減できる。このため、事業者サーバ100に対する情報登録が促進され、事業者サーバ100のサービス品質を向上させることができる。 Further, when the information is registered by the user, the attribute information is registered in the business server 100 in the state of sketching data, so that the user's psychological resistance to the information registration can be reduced. Therefore, information registration to the business server 100 is promoted, and the service quality of the business server 100 can be improved.

また、ユーザは、上記のように属性情報の使用機会が限定され、しかもその使用目的を認識した状態で、属性情報の提供に同意することができる。このため、情報提供に対するユーザの心理的抵抗を軽減できる。また、この点については、このような同意の下で、属性情報が限定的な目的および機会で使用されることから、属性情報の秘匿性が向上し、個人情報のセキュリティが強化される、ということもできる。 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 administrator server 300. In the example of FIG. 6, the action history 321 is collected as the attribute information of the user. The action history 321 includes a set of position information (for example, GPS data indicating longitude / latitude) indicating the movement locus of the user. Then, a numerical array 322 indicating the feature amount is calculated from this action history 321 (step S31). For example, based on the action history 321, the position information of a predetermined landmark close to the movement locus of the user is calculated as a numerical array 322. In FIG. 6, the position information of n landmarks is described in the numerical array 322. In the numerical array 322, for example, the landmark identification number may be described instead of the landmark position information.

なお、ユーザデータ記憶部310に登録される属性情報としては、行動履歴321の情報が登録されてもよいし、数値配列322のように、行動履歴321を基に算出された特徴量を示す情報が登録されてもよい。前者の場合には、属性情報が管理者サーバ300から事業者サーバ100に提供される際、行動履歴321から再度算出された特徴量を示す情報が、事業者サーバ100に提供されてもよい。 As the attribute information registered in the user data storage unit 310, the information of the action history 321 may be registered, or the information indicating the feature amount calculated based on the action history 321 as in the numerical array 322. May be registered. In the former case, when the attribute information is provided from the administrator server 300 to the operator server 100, the information indicating the feature amount recalculated from the action history 321 may be provided to the operator server 100.

一方、事業者の事業者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 hash function sequence 323 having the number of elements k is generated using the business ID of the business and the user ID of the user corresponding to the attribute information as seed values (step S32). That is, the hash function sequence 323 includes k hash functions h1 (), h2 (), ..., Hk (). Then, hash values corresponding to each of the elements (position information) included in the numerical array 322 are calculated using k hash functions h1 (), h2 (), ..., Hk (), respectively ( Step S33). As a result, k numerical arrays 324_1, 324_2, ..., 324_k each containing n hash values are calculated.

なお、事業者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 minimum value array 325 is generated (step S34). This array 325 becomes sketching data based on the attribute information.

ところで、本実施の形態に係るデータマッチングシステムでは、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 transmission data 210 generated by the VC method when the sketching data is transmitted.
The administrator server 300 generates the "claim" information of the area 211 of the transmission data 210. In "claim", the user ID of the user is described in "id". Further, in the "sketch" in the "claim", "values" indicating the transmission target data, "type" indicating the type of the transmission target data, and "length" indicating the size of the transmission target data are described. When the sketching data is provided, the sketching data (array of minimum hash values) requested to be provided is described in the item of "values".

さらに本実施の形態では、スケッチングデータの提供の際には、「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 user terminal 200 receives the above-mentioned "claim" information from the administrator server 300, it adds predetermined header information such as the generation date and time to this information and also adds "signature" (area 212 in FIG. 7). .. The signature data of the user is described in the "signature". The user's signature data is calculated by encrypting the hash value based on the data described in "claim" with the private key corresponding to the user ID.

以上のようにして生成された送信データ210は、ユーザ端末200から事業者サーバ100に送信される。事業者サーバ100は、ユーザの署名データに基づいて、受信した送信データ210のうち、「claim」の領域における改ざんの有無を確認できる。また、事業者サーバ100は、データ管理者の署名データに基づいて、「sketch」の領域における改ざんの有無を確認できる。 The transmission data 210 generated as described above is transmitted from the user terminal 200 to the business server 100. Based on the user's signature data, the operator server 100 can confirm whether or not the received transmission data 210 has been tampered with in the "claim" area. In addition, the business server 100 can confirm the presence or absence of falsification in the "sketch" area based on the signature data of the data manager.

また、元データ(すなわち、属性情報)が提供される際には、「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 administrator server 300. Is generated by. However, "claim" does not include "hash". When such a "claim" is transmitted to the user terminal 200, predetermined header information is added to this information, and a "signature" in which the user's signature data is described is added to the operator server 100. Will be sent.

このように、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 operator server 100. The operator server 100 registers the provided hash value together with the sketching data in the sketching data storage unit 111 in association with the user ID. Then, when the operator server 100 receives the attribute information from the user based on the matching result using the sketching data, the received attribute information is the original data of the sketching data by using the corresponding hash value. Can be verified. This makes it possible to increase the certainty of the matching process using the attribute information.

以下、第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 repository server 410 shown in FIG. 8 is a server computer realized as one of the nodes included in the node group 401 shown in FIG. The repository server 410 includes a public key storage unit 411 and a key management unit 412.

公開鍵記憶部411は、例えば、リポジトリサーバ410が備える図示しない記憶装置の記憶領域として実現される。公開鍵記憶部411には、前述のデジタルIDサービスから発行されたIDに対応付けて、公開鍵が記憶されている。鍵管理部412の処理は、例えば、リポジトリサーバ410が備える図示しないプロセッサが所定のプログラムを実行することで実現される。鍵管理部412は、IDが発行された場合に、IDの保有者側で生成された非対称鍵方式の鍵ペア(秘密鍵と公開鍵)のうち、公開鍵の登録を受け付け、IDに対応付けて公開鍵記憶部411に登録する。本実施の形態では、少なくとも、ユーザID、事業者IDおよび管理者IDに対応する公開鍵が公開鍵記憶部411に登録される。また、鍵管理部412は、IDを指定した要求に応じて、そのIDに対応する公開鍵を提供する。 The public key storage unit 411 is realized, for example, as a storage area of a storage device (not shown) included in the repository server 410. The public key storage unit 411 stores the public key in association with the ID issued by the digital ID service described above. The processing of the key management unit 412 is realized, for example, by executing a predetermined program by a processor (not shown) included in the repository server 410. When the ID is issued, the key management unit 412 accepts the registration of the public key among the asymmetric key type key pairs (private key and public key) generated by the ID holder and associates it with the ID. And register it in the public key storage unit 411. In the present embodiment, at least the public key corresponding to the user ID, the business operator ID, and the administrator ID is registered in the public key storage unit 411. In addition, the key management unit 412 provides a public key corresponding to the ID in response to a request for specifying the ID.

管理者サーバ300は、前述のユーザデータ記憶部310に加えて、秘密鍵記憶部330、データ提供部341、スケッチングデータ算出部342および署名エンジン343を備える。 The administrator server 300 includes a secret key storage unit 330, a data provision unit 341, a sketching data calculation unit 342, and a signature engine 343 in addition to the user data storage unit 310 described above.

ユーザデータ記憶部310および秘密鍵記憶部330は、例えば、管理者サーバ300が備える図示しない記憶装置の記憶領域として実現される。ユーザデータ記憶部310には、ユーザIDに対応付けて、ユーザに関して収集された属性情報が登録される。秘密鍵記憶部330には、データ管理者の管理者IDに対応する秘密鍵が記憶される。 The user data storage unit 310 and the private key storage unit 330 are realized, for example, as storage areas of a storage device (not shown) included in the administrator server 300. Attribute information collected about the user is registered in the user data storage unit 310 in association with the user ID. The private key storage unit 330 stores the private key corresponding to the administrator ID of the data administrator.

データ提供部341、スケッチングデータ算出部342および署名エンジン343の処理は、例えば、管理者サーバ300が備える図示しないプロセッサが所定のプログラムを実行することで実現される。 The processing of the data providing unit 341, the sketching data calculation unit 342, and the signature engine 343 is realized, for example, by executing a predetermined program by a processor (not shown) included in the administrator server 300.

データ提供部341は、ユーザ端末200からの要求に応じて、指定されたユーザIDに対応する属性情報やスケッチングデータを提供するための処理を実行する。スケッチングデータ算出部342は、ユーザデータ記憶部310から読み出した属性情報に基づいてスケッチングデータを算出する。署名エンジン343は、データ管理者の秘密鍵を用いてデータ管理者の署名データを生成する。 The data providing unit 341 executes a process for providing attribute information and sketching data corresponding to the designated user ID in response to a request from the user terminal 200. The sketching data calculation unit 342 calculates sketching data based on the attribute information read from the user data storage unit 310. The signature engine 343 uses the data administrator's private key to generate the data administrator's signature data.

ユーザ端末200は、秘密鍵記憶部220、データ登録部231、元データ送信部232および署名エンジン233を備える。
秘密鍵記憶部220は、例えば、ユーザ端末200が備える図示しない記憶装置の記憶領域として実現される。秘密鍵記憶部220には、ユーザ端末200を操作するユーザのユーザIDに対応する秘密鍵が記憶される。
The user terminal 200 includes a private key storage unit 220, a data registration unit 231 and an original data transmission unit 232 and a signature engine 233.
The private key storage unit 220 is realized, for example, as a storage area of a storage device (not shown) included in the user terminal 200. The private key storage unit 220 stores the private key corresponding to the user ID of the user who operates the user terminal 200.

データ登録部231、元データ送信部232および署名エンジン233の処理は、例えば、ユーザ端末200が備える図示しないプロセッサが所定のプログラムを実現することで実現される。データ登録部231は、マッチングサービスにユーザを登録するために、ユーザの属性情報に基づくスケッチングデータを事業者サーバ100に登録する処理を実行する。元データ送信部232は、事業者サーバ100からの依頼に応じて、スケッチングデータの元データ(属性情報)を管理者サーバ300から取得し、事業者サーバ100に提供する処理を実行する。署名エンジン233は、ユーザの秘密鍵を用いてユーザの署名データを生成する。 The processing of the data registration unit 231 and the original data transmission unit 232 and the signature engine 233 is realized, for example, by the processor (not shown) included in the user terminal 200 realizing a predetermined program. The data registration unit 231 executes a process of registering sketching data based on the user's attribute information in the operator server 100 in order to register the user in the matching service. The original data transmission unit 232 acquires the original data (attribute information) of the sketching data from the administrator server 300 in response to the request from the operator server 100, and executes a process of providing the original data (attribute information) to the operator server 100. The signature engine 233 uses the user's private key to generate the user's signature data.

なお、図示しないが、他のユーザ端末200a,200b,・・・も、ユーザ端末200と同様の処理機能を備える。
事業者サーバ100は、前述のスケッチングデータ記憶部111および参照データ記憶部120に加えて、登録受付部131、マッチング部132、依頼処理部133および署名検証部134を備える。
Although not shown, the other user terminals 200a, 200b, ... Also have the same processing function as the user terminal 200.
The business server 100 includes a registration reception unit 131, a matching unit 132, a request processing unit 133, and a signature verification unit 134, in addition to the sketching data storage unit 111 and the reference data storage unit 120 described above.

スケッチングデータ記憶部111および参照データ記憶部120は、例えば、RAM102やHDD103など、事業者サーバ100が備える記憶装置の記憶領域として実現される。 The sketching data storage unit 111 and the reference data storage unit 120 are realized as storage areas of a storage device included in the operator server 100, such as a RAM 102 and an HDD 103.

スケッチングデータ記憶部111には、ユーザ端末200,200a,200b,・・・から登録されたユーザに関する情報が登録される。スケッチングデータ記憶部111には、各ユーザのユーザIDに対応付けて、少なくとも、スケッチングデータと、元データに基づくハッシュ値とが記憶される。 Information about the user registered from the user terminals 200, 200a, 200b, ... Is registered in the sketching data storage unit 111. In the sketching data storage unit 111, at least the sketching data and the hash value based on the original data are stored in association with the user ID of each user.

参照データ記憶部120には、マッチング処理においてユーザの属性情報と照合される参照データが、ボランティアに案内させる地域ごとに登録される。例えば、参照データとしては、地域ごとに、その地域において案内の対象となるランドマークの位置情報や、ランドマーク間の移動経路上のポイントを示す位置情報が記述される。また、参照データには、ランドマークや移動経路上のポイントを示す識別情報が記述されていてもよい。 In the reference data storage unit 120, reference data to be collated with the attribute information of the user in the matching process is registered for each area to be guided by the volunteer. For example, as the reference data, the position information of the landmark to be guided in the area and the position information indicating the point on the movement route between the landmarks are described for each area. Further, the reference data may describe identification information indicating a landmark or a point on the movement route.

登録受付部131は、ユーザ端末200,200a,200b,・・・からユーザのスケッチングデータの登録を受け付ける処理を実行する。マッチング部132は、スケッチングデータ記憶部111に登録されたスケッチングデータ、またはその元データと、参照データ記憶部120に登録された参照データとのマッチング処理を実行する。 The registration reception unit 131 executes a process of accepting the registration of the user's sketching data from the user terminals 200, 200a, 200b, .... The matching unit 132 executes a matching process of the sketching data registered in the sketching data storage unit 111 or the original data thereof and the reference data registered in the reference data storage unit 120.

依頼処理部133は、スケッチングデータを用いたマッチングによりボランティアを依頼するユーザが暫定的に特定された場合に、そのユーザに対してボランティアの活動を依頼するとともに、元データの提供を依頼する。依頼処理部133は、ユーザから元データが提供された場合には、元データを用いたマッチングをマッチング部132に実行させ、マッチングの結果をユーザに通知する。署名検証部134は、ユーザ端末200,200a,200b,・・・から受信したデータに付加された署名データに基づいて、データの正当性(改ざんの有無)を検証する。 When a user requesting volunteers is tentatively identified by matching using sketching data, the request processing unit 133 requests the user to perform volunteer activities and requests the provision of original data. When the original data is provided by the user, the request processing unit 133 causes the matching unit 132 to perform matching using the original data, and notifies the user of the matching result. The signature verification unit 134 verifies the validity (presence or absence of falsification) of the data based on the signature data added to the data received from the user terminals 200, 200a, 200b, ....

図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 user terminal 200, an application for receiving a volunteer matching service is executed. As a result, the data registration unit 231, the original data transmission unit 232, and the signature engine 233 are started, and the data registration unit 231 first executes the registration process for the matching service.

データ登録部231は、例えば、事業者サーバ100のWebサーバにアクセスし、ボランティアの依頼を受けるためのサービスに対する登録画面の情報を取得する。これにより、ユーザ端末200の表示装置にブラウザが表示され、ブラウザ内に登録画面が表示される。 The data registration unit 231 accesses, for example, the Web server of the business server 100 and acquires the information on the registration screen for the service for receiving the volunteer request. As a result, the browser is displayed on the display device of the user terminal 200, and the registration screen is displayed in the browser.

ユーザは、登録画面に対して、ユーザのユーザ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 data registration unit 231 transmits the registration request for the service to the business server 100 together with the input information.

[ステップS42]事業者サーバ100の登録受付部131は、受信したユーザIDと補助情報とをスケッチングデータ記憶部111に登録し、スケッチングデータの提供を要求する提供要求をユーザ端末200に送信する。この処理では、例えば、事業者ID、提供を要求するデータ(マッチングに必要なデータ)の種別を示すデータ種別(位置情報、時刻など)、データ種別ごとに使用されるアルゴリズム名、要求データ数(図6のnに対応)、その他の補助情報(データ取得期間、スケッチングデータの算出に必要なパラメータなど)が、提供要求とともに送信される。 [Step S42] The registration reception unit 131 of the operator server 100 registers the received user ID and auxiliary information in the sketching data storage unit 111, and transmits a provision request requesting the provision of sketching data to the user terminal 200. do. In this process, for example, the business operator ID, the data type (location information, time, etc.) indicating the type of data requested to be provided (data required for matching), the algorithm name used for each data type, and the number of requested data ( (Corresponding to n in FIG. 6) and other auxiliary information (data acquisition period, parameters required for calculating sketching data, etc.) are transmitted together with the provision request.

[ステップS43]ユーザ端末200のデータ登録部231は、少なくとも、受信したデータ種別が示す、提供が要求されたデータの内容を、ブラウザ内に表示して、ユーザに確認させる。ユーザは、表示内容を確認し、情報提供に同意する場合には同意の操作を行う。その場合、処理はステップS44に進められる。 [Step S43] The data registration unit 231 of the user terminal 200 displays at least the content of the data requested to be provided indicated by the received data type in the browser and causes the user to confirm it. The user confirms the displayed contents, and if he / she agrees to provide the information, he / she performs the consent operation. In that case, the process proceeds to step S44.

[ステップS44]データ登録部231は、事業者サーバ100から受信した情報を、ユーザのユーザIDとともに管理者サーバ300に送信して、スケッチングデータの提供を要求する。 [Step S44] The data registration unit 231 transmits the information received from the business server 100 to the administrator server 300 together with the user ID of the user, and requests the provision of sketching data.

ここで、図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 screen 240 shown in FIG. 10 is displayed on the browser of the user terminal 200 in step S41 of FIG.
On the screen 240, input fields 241,242 for inputting the user's name and the user's e-mail address, and a registration button 243 for requesting registration are displayed. When the information is input to the input fields 241, 242 and the selection operation for the registration button 243 is performed, the user ID corresponding to the name is transmitted to the business server 100 together with the input name and e-mail address.

図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 screen 250 shown in FIG. 11 is displayed on the browser of the user terminal 200 in step S43 of FIG.

画面250の領域251には、事業者から提供が要求された情報の内容を説明する文章が表示される。図9の例では、ユーザのアクティビティ情報が、統計的に処理された形式に加工され、個人の特定が不可能な状態で提供されること、提供された情報がマッチングの目的のみで利用されること、提供される情報として時刻情報とGPS情報が含まれることが、表示される。 In the area 251 of the screen 250, a sentence explaining the content of the information requested by the business operator is displayed. In the example of FIG. 9, the user's activity information is processed into a statistically processed format and provided in a state in which an individual cannot be identified, and the provided information is used only for the purpose of matching. It is displayed that the information provided includes time information and GPS information.

また、画面250には同意ボタン252と不同意ボタン253とが表示されている。ユーザが領域251の表示内容を確認した上で情報提供に同意する場合、同意ボタン252に対する選択操作が行われる。この場合、図9のステップS44の処理が実行される。すなわち、提供される情報の内容を確認したユーザによる明確な同意を示す操作に応じて、スケッチングデータの提供処理が実行されることになる。一方、情報提供に同意しない場合には、不同意ボタン253に対する選択操作が行われることで、登録処理は終了する。 Further, the consent button 252 and the disagreement button 253 are displayed on the screen 250. When the user agrees to provide the information after confirming the display content of the area 251, a selection operation for the consent button 252 is performed. In this case, the process of step S44 of FIG. 9 is executed. That is, the sketching data provision process is executed in response to an operation indicating clear consent by the user who has confirmed the content of the provided information. On the other hand, if the information provision is not agreed, the registration process is completed by performing the selection operation for the disagreement button 253.

以下、図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 data providing unit 341 of the administrator server 300 passes the information received from the user terminal 200 to the sketching data calculation unit 342 and requests the calculation of the sketching data. When the MinHash method is used as shown in FIG. 6, the sketching data calculation unit 342 acquires attribute information corresponding to the user ID from the user data storage unit 310 for the number of requested data (n). According to the example of FIG. 6, the position information of n landmarks is acquired. At this time, n location information included in the designated data acquisition period is acquired from the operator server 100.

スケッチングデータ算出部342は、ユーザIDと管理者IDをシード値として用いてk個のハッシュ関数を生成し、ハッシュ関数をそれぞれ用いてn個の属性情報のハッシュ値を計算して、ハッシュ関数ごとにハッシュ値の最小値を抽出する。これにより、n個の最小値を含む数値配列が、スケッチングデータとして算出される。 The sketching data calculation unit 342 generates k hash functions using the user ID and the administrator ID as seed values, calculates the hash values of n attribute information using each hash function, and performs the hash function. Extract the minimum hash value for each. As a result, a numerical array including n minimum values is calculated as sketching data.

[ステップS46]データ提供部341は、ステップS45でユーザデータ記憶部310から取得されたn個の属性情報を用いてハッシュ計算を行い、元データのハッシュ値を算出する。 [Step S46] The data providing unit 341 performs a hash calculation using the n attribute information acquired from the user data storage unit 310 in step S45, and calculates the hash value of the original data.

[ステップS47]データ提供部341は、ステップS45で算出されたスケッチングデータと、ステップS46で算出された元データのハッシュ値とを含む「sketch」のデータ(図7参照)を生成する。また、データ提供部341は、生成された「sketch」のデータを署名エンジン343に通知し、データ管理者の署名データの生成を依頼する。 [Step S47] The data providing unit 341 generates "sketch" data (see FIG. 7) including the sketching data calculated in step S45 and the hash value of the original data calculated in step S46. In addition, the data providing unit 341 notifies the signature engine 343 of the generated "sketch" data, and requests the data manager to generate the signature data.

署名エンジン343は、データ管理者の秘密鍵を秘密鍵記憶部330から取得する。データ提供部341は、所定のハッシュ関数を用いて「sketch」のデータのハッシュ値を算出し、算出されたハッシュ値をデータ管理者の秘密鍵で暗号化することで、データ管理者の署名データ(「signatureValue」、図7参照)を生成する。 The signature engine 343 acquires the private key of the data administrator from the private key storage unit 330. The data providing unit 341 calculates the hash value of the data of "sketch" using a predetermined hash function, and encrypts the calculated hash value with the private key of the data administrator to sign the data of the data administrator. ("SignatureValue", see FIG. 7) is generated.

データ提供部341は、「sketch」のデータと、署名データとを含む「claim」のデータを生成して、ユーザ端末200に送信する。なお、送信されるデータは、データ管理者の秘密鍵を用いて暗号化されていてもよい。 The data providing unit 341 generates "claim" data including "sketch" data and signature data, and transmits the data to the user terminal 200. The transmitted data may be encrypted using the private key of the data administrator.

[ステップS48]ユーザ端末200のデータ登録部231は、「claim」のデータを受信する。受信データが暗号化されていた場合、データ管理者の公開鍵を用いて受信データを復号し、「claim」のデータを取得する。データ管理者の公開鍵は、リポジトリサーバ410の鍵管理部412から取得される。 [Step S48] The data registration unit 231 of the user terminal 200 receives the data of "claim". When the received data is encrypted, the received data is decrypted using the public key of the data administrator, and the "claim" data is acquired. The public key of the data administrator is obtained from the key management unit 412 of the repository server 410.

データ登録部231は、「claim」のデータを署名エンジン233に通知して、ユーザの署名データの生成を依頼する。署名エンジン233は、ユーザの秘密鍵を秘密鍵記憶部220から取得する。署名エンジン233は、所定のハッシュ関数を用いて「claim」のデータのハッシュ値を算出し、算出されたハッシュ値をユーザの秘密鍵で暗号化することで、ユーザの署名データ(「signature」、図7参照)を生成する。 The data registration unit 231 notifies the signature engine 233 of the "claim" data and requests the user to generate the signature data. The signature engine 233 acquires the user's private key from the private key storage unit 220. The signature engine 233 calculates the hash value of the data of "claim" using a predetermined hash function, and encrypts the calculated hash value with the user's private key to obtain the user's signature data ("signature", (See FIG. 7) is generated.

データ登録部231は、「claim」のデータに生成日時などの所定のヘッダ情報を付加し、ユーザの署名データとともに事業者サーバ100に送信する。なお、送信されるデータは、ユーザの秘密鍵を用いて暗号化されていてもよい。 The data registration unit 231 adds predetermined header information such as the generation date and time to the "claim" data, and transmits the data together with the user's signature data to the business server 100. The transmitted data may be encrypted using the user's private key.

[ステップS49]事業者サーバ100の登録受付部131は、ユーザ端末200からのデータを受信すると、署名データを用いて受信データを検証する。
まず、登録受付部131は、ユーザのユーザIDを指定してユーザの公開鍵をリポジトリサーバ410に要求する。この要求に応じて、リポジトリサーバ410の鍵管理部412からユーザIDに対応する公開鍵が送信され、事業者サーバ100の登録受付部131がこの公開鍵を受信する。
[Step S49] When the registration reception unit 131 of the operator server 100 receives the data from the user terminal 200, the registration reception unit 131 verifies the received data using the signature data.
First, the registration reception unit 131 specifies the user ID of the user and requests the public key of the user from the repository server 410. In response to this request, the public key corresponding to the user ID is transmitted from the key management unit 412 of the repository server 410, and the registration reception unit 131 of the business server 100 receives the public key.

登録受付部131は、ユーザ端末200からの受信データが暗号化されていた場合、ユーザの公開鍵を用いて受信データを復号する。登録受付部131は、受信データからユーザの署名データを抽出し、ユーザの公開鍵を用いて復号する。登録受付部131は、受信データ内の「claim」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。 When the received data from the user terminal 200 is encrypted, the registration receiving unit 131 decrypts the received data using the user's public key. The registration reception unit 131 extracts the user's signature data from the received data and decrypts it using the user's public key. The registration reception unit 131 calculates the hash value of the "claim" data in the received data, and compares the calculated hash value with the hash value obtained by decoding the signature data.

これらのハッシュ値が一致した場合、「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 registration reception unit 131 next specifies the administrator ID and requests the public key of the data administrator from the repository server 410. In response to this request, the public key corresponding to the administrator ID is transmitted from the key management unit 412 of the repository server 410, and the registration reception unit 131 of the business server 100 receives the public key.

登録受付部131は、「claim」のデータからデータ管理者の署名データを抽出し、データ管理者の公開鍵を用いて復号する。登録受付部131は、受信データ内の「sketch」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。これらのハッシュ値が一致した場合、「sketch」のデータが改ざんされていないことが確認される。すると、処理がステップS50に進められる。 The registration reception unit 131 extracts the signature data of the data manager from the data of "claim" and decrypts it using the public key of the data manager. The registration reception unit 131 calculates the hash value of the "sketch" data in the received data, and compares the calculated hash value with the hash value obtained by decoding the signature data. When these hash values match, it is confirmed that the data of "sketch" has not been tampered with. Then, the process proceeds to step S50.

なお、ユーザの署名またはデータ管理者の署名のいずれかを用いた検証でデータの改ざんが認められた場合、ユーザ端末200に対して登録のエラーが通知され、登録処理は終了する。 If the data is falsified by verification using either the user's signature or the data administrator's signature, the user terminal 200 is notified of the registration error, and the registration process ends.

[ステップS50]登録受付部131は、受信データに含まれるスケッチングデータと元データのハッシュ値とを、ユーザIDに対応付けてスケッチングデータ記憶部111に登録する。 [Step S50] The registration receiving unit 131 registers the sketching data included in the received data and the hash value of the original data in the sketching data storage unit 111 in association with the user ID.

[ステップS51]登録受付部131は、登録が正常に完了したことをユーザ端末200に通知する。この通知に応じて、登録が正常に完了したことがユーザ端末200のブラウザに表示される。 [Step S51] The registration reception unit 131 notifies the user terminal 200 that the registration has been completed normally. In response to this notification, the browser of the user terminal 200 displays that the registration has been completed normally.

次に、図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 matching unit 132 of the operator server 100 between the sketching data of the user registered in the sketching data storage unit 111 and the sketching data based on the reference data registered in the reference data storage unit 120. Execute the matching process with. Here, a hash function for calculating sketching data based on the reference data is generated for each user corresponding to the sketching data to be collated. That is, the hash function is calculated using the user ID corresponding to the sketching data to be collated and the business operator ID as seeds.

ここで、ある参照データとの類似度が最も高く、かつ類似度が閾値以上であるユーザのスケッチングデータとして、ユーザ端末200を操作するあるユーザが特定されたとする。この場合、その参照データに対応する地域を案内するボランティアとして、そのユーザがふさわしいと暫定的に判定されたことになる。 Here, it is assumed that a user who operates the user terminal 200 is specified as sketching data of a user who has the highest degree of similarity to a certain reference data and whose degree of similarity is equal to or more than a threshold value. In this case, it is tentatively determined that the user is suitable as a volunteer to guide the area corresponding to the reference data.

[ステップS62]事業者サーバ100の依頼処理部133は、マッチングにより特定されたユーザに対して、ボランティアとして活動することを依頼する活動依頼を通知する。ここでは例として、依頼処理部133は、特定されたユーザのメールアドレスをスケッチングデータ記憶部111から取得し、取得したメールアドレス宛てに、活動依頼を通知するためのメールを送信する。また、活動依頼を通知する情報には、依頼されるボランティアの活動内容や、その依頼に対して申し込むための案内情報が含まれる。 [Step S62] The request processing unit 133 of the business operator server 100 notifies the user specified by matching of the activity request requesting to act as a volunteer. Here, as an example, the request processing unit 133 acquires the e-mail address of the specified user from the sketching data storage unit 111, and sends an e-mail for notifying the activity request to the acquired e-mail address. In addition, the information for notifying the activity request includes the activity content of the volunteer requested and the guidance information for applying for the request.

[ステップS63]送信されたメールがユーザ端末200に受信され、メールの内容をユーザが閲覧する。ユーザは、ボランティアの依頼内容を確認し、その依頼を承諾してボランティアに申し込みたいと考えた場合には、メールで案内された内容にしたがって申込操作を行う。 [Step S63] The transmitted e-mail is received by the user terminal 200, and the user browses the contents of the e-mail. When the user confirms the contents of the volunteer request, accepts the request, and wishes to apply for the volunteer, the user performs the application operation according to the contents notified by e-mail.

[ステップS64]事業者サーバ100の依頼処理部133は、スケッチングデータの元データ、すなわちユーザの属性情報の提供を要求する情報を送信する。送信される情報には、属性情報の要求情報として、事業者ID、提供を要求するデータのデータ種別、使用されるアルゴリズム名、要求データ数n、その他の補助情報(データ取得期間など)が含まれる。さらに、送信される情報には、提供を要求する属性情報の内容をユーザに確認させるための情報や、提供の同意を求めるための情報が含まれる。 [Step S64] The request processing unit 133 of the operator server 100 transmits the original data of the sketching data, that is, the information requesting the provision of the attribute information of the user. The information to be transmitted includes the business operator ID, the data type of the data requested to be provided, the algorithm name used, the number of requested data n, and other auxiliary information (data acquisition period, etc.) as the request information of the attribute information. Is done. Further, the transmitted information includes information for asking the user to confirm the content of the attribute information for which the provision is requested, and information for requesting the consent of the provision.

[ステップS65]ユーザ端末200の元データ送信部232は、受信した情報に基づいて、元データの提供に対する同意操作画面をブラウザに表示する。この同意操作画面には、提供が要求された属性情報の内容を示す情報や、提供の同意操作を行うための操作ボタンなどが含まれる。表示された情報をユーザが確認し、提供を同意する操作を行うと、処理がステップS66に進む。 [Step S65] The original data transmission unit 232 of the user terminal 200 displays an consent operation screen for providing the original data on the browser based on the received information. This consent operation screen includes information indicating the content of the attribute information for which provision is requested, operation buttons for performing the provision consent operation, and the like. When the user confirms the displayed information and performs an operation of consenting to the provision, the process proceeds to step S66.

[ステップS66]元データ送信部232は、ステップS64での送信情報に含まれる、属性情報の要求情報を、管理者サーバ300に送信する。
ここで、図14は、ボランティア活動の依頼画面の表示例を示す図である。図14に示す画面260は、図12のステップS62において事業者サーバ100からユーザに通知される情報の一例を示す。図12の画面260は、ユーザ宛ての電子メールによって活動依頼が通知された場合における、電子メールの表示例を例示している。
[Step S66] The original data transmission unit 232 transmits the request information of the attribute information included in the transmission information in step S64 to the administrator server 300.
Here, FIG. 14 is a diagram showing a display example of a volunteer activity request screen. The screen 260 shown in FIG. 14 shows an example of the information notified to the user from the operator server 100 in step S62 of FIG. Screen 260 of FIG. 12 illustrates an example of displaying an e-mail when an activity request is notified by an e-mail addressed to the user.

画面260には、ボランティアの依頼内容が表示される領域261と、依頼されたボランティアに申し込むためのボタン262と、ボランティアに申し込まないことを通知するためのボタン263とが含まれる。ユーザは、領域261に表示された内容を確認して、ボランティアに申し込むかを決める。 The screen 260 includes an area 261 in which the contents of the volunteer request are displayed, a button 262 for applying to the requested volunteer, and a button 263 for notifying the volunteer not to apply. The user confirms the contents displayed in the area 261 and decides whether to apply for volunteering.

ボタン262に対する選択操作が行われると、このボタン262に対応付けられていたURL(Uniform Resource Locator)に対してリンクされ、事業者サーバ100から元データ(属性情報)の提供に対する同意操作画面を表示するための表示情報が送信される。一方、ボタン263に対する選択操作が行われると、ボランティアに申し込まないことが事業者サーバ100に通知されて、処理が終了する。 When the selection operation for the button 262 is performed, the URL (Uniform Resource Locator) associated with the button 262 is linked, and the consent operation screen for the provision of the original data (attribute information) is displayed from the business server 100. Display information to be sent is sent. On the other hand, when the selection operation for the button 263 is performed, the business server 100 is notified that the volunteer does not apply, and the process ends.

図14の画面260において依頼された内容は、属性情報に基づくスケッチングデータを用いたマッチングにより依頼されたものである。このため、必ずしも依頼内容がユーザにマッチしているとは限らない。例えば、ユーザがほとんど行ったことのない地域を案内するボランティアの活動が依頼される可能性がある。 The content requested on the screen 260 of FIG. 14 is requested by matching using sketching data based on attribute information. Therefore, the request content does not always match the user. For example, a volunteer activity may be requested to guide an area that the user has rarely visited.

依頼内容が不適切な場合には、ユーザは、ボタン263に対する選択操作を行うことで、ボランティアに申し込まないことを事業者サーバ100に通知することができる。これにより、ユーザは、ユーザ自身の個人情報が事業者側に不必要に提供されることを抑止できる。 When the content of the request is inappropriate, the user can notify the business server 100 that he / she does not apply for volunteers by performing a selection operation on the button 263. As a result, the user can prevent the personal information of the user from being unnecessarily provided to the business operator.

図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 button 262 of FIG. 14 is performed, the request processing unit 133 of the operator server 100 transmits a request for providing the original data of the sketching data (step S64 of FIG. 12). When the original data transmission unit 232 of the user terminal 200 receives the provision request, for example, the screen 270 as shown in FIG. 15 is displayed on the browser. That is, the screen 270 is an example of the consent operation screen displayed in step S65 of FIG.

画面270には、提供が要求された属性情報の内容を示す領域271と、提供された属性情報の使用目的を示す領域272と、情報提供に同意するためのボタン273と、情報提供に同意せず、ボランティアの申込をキャンセルするためのボタン274とが含まれる。ユーザは、領域271を視認して提供が要求された情報の内容を確認し、さらに領域272を視認して情報の使用目的を確認した上で、情報提供に同意するか否かを決めることができる。また、例えば、領域271に含まれるボタン275の選択操作を行うことで、提供が要求された情報についてのさらに詳細な内容を表示させて確認することもできる。 On the screen 270, an area 271 indicating the content of the attribute information requested to be provided, an area 272 indicating the purpose of use of the provided attribute information, a button 273 for agreeing to provide the information, and consenting to the information provision are provided. It also includes a button 274 to cancel the volunteer application. The user can visually check the area 271 to confirm the content of the information requested to be provided, further visually check the area 272 to confirm the purpose of use of the information, and then decide whether or not to consent to the provision of the information. can. Further, for example, by performing a selection operation of the button 275 included in the area 271, it is possible to display and confirm more detailed contents of the information requested to be provided.

ボタン273に対する選択操作が行われると、属性情報の要求情報がユーザ端末200から管理者サーバ300に送信される(図12のステップS66)。一方、ボタン274に対する選択操作が行われると、情報提供に同意せず、ボランティアの申込をキャンセルすることが事業者サーバ100に通知される。 When the selection operation for the button 273 is performed, the request information of the attribute information is transmitted from the user terminal 200 to the administrator server 300 (step S66 in FIG. 12). On the other hand, when the selection operation for the button 274 is performed, the business server 100 is notified that the volunteer application is canceled without agreeing to the information provision.

このように、ユーザは、スケッチングデータの元データ、すなわち属性情報そのものの提供が要求された場合には、提供された情報の内容や使用目的を確実に確認した上で、属性情報を事業者に提供することができる。これにより、提供が要求された情報の内容やその使用目的に応じて、ユーザの意思により属性情報の提供機会を制限でき、属性情報の秘匿性を向上させることができる。 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 data providing unit 341 of the administrator server 300 receives the user attribute information from the user data storage unit 310 for the number of requested data (n) based on the attribute information request information received from the administrator server 300. get. As a result, the original data corresponding to the sketching data is acquired.

[ステップS68]データ提供部341は、取得された元データを含む「sketch」のデータ(図7参照)を生成する。なお、例えば、元データのデータ量が過大な場合には、元データを取得するための、一時的に使用可能なURLが生成されて、元データの代わりにそのURLが「sketch」に記述されてもよい。また、データ提供部341は、生成された「sketch」のデータを署名エンジン343に通知し、データ管理者の署名データの生成を依頼する。 [Step S68] The data providing unit 341 generates "sketch" data (see FIG. 7) including the acquired original data. For example, when the amount of data of the original data is excessive, a URL that can be temporarily used for acquiring the original data is generated, and the URL is described in "sketch" instead of the original data. You may. In addition, the data providing unit 341 notifies the signature engine 343 of the generated "sketch" data, and requests the data manager to generate the signature data.

署名エンジン343は、図9のステップS47と同様の手順で、「sketch」のデータとデータ管理者の秘密鍵とに基づいてデータ管理者の署名データ(「signatureValue」、図7参照)を生成する。データ提供部341は、「sketch」のデータと、署名データとを含む「claim」のデータを生成して、ユーザ端末200に送信する。なお、送信されるデータは、データ管理者の秘密鍵を用いて暗号化されていてもよい。 The signature engine 343 generates the data administrator's signature data (“signatureValue”, see FIG. 7) based on the “sketch” data and the data administrator's private key in the same procedure as in step S47 of FIG. .. The data providing unit 341 generates "claim" data including "sketch" data and signature data, and transmits the data to the user terminal 200. The transmitted data may be encrypted using the private key of the data administrator.

[ステップS69]ユーザ端末200の元データ送信部232は、「claim」のデータを受信する。受信データが暗号化されていた場合、データ管理者の公開鍵を用いて受信データを復号し、「claim」のデータを取得する。元データ送信部232は、「claim」の内容に基づいて、提供される情報の内容を示す情報をブラウザに表示する。ユーザは、この表示内容を確認することで、提供を同意した情報内容が正しく提供されるかを確認できる。 [Step S69] The original data transmission unit 232 of the user terminal 200 receives the data of "claim". When the received data is encrypted, the received data is decrypted using the public key of the data administrator, and the "claim" data is acquired. The original data transmission unit 232 displays information indicating the content of the provided information on the browser based on the content of the "claim". By confirming the displayed contents, the user can confirm whether the information contents agreed to be provided are correctly provided.

[ステップ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 data transmission unit 232 notifies the signature engine 233 of the "claim" data and requests the user to generate the signature data. The signature engine 233 generates the user's signature data (“signature”, see FIG. 7) based on the “claim” data and the user's private key in the same procedure as in step S48 of FIG. The original data transmission unit 232 adds predetermined header information such as the generation date and time to the "claim" data, and transmits the data together with the user's signature data to the business server 100. The transmitted data may be encrypted using the user's private key.

[ステップS72]事業者サーバ100の依頼処理部133は、ユーザ端末200からのデータを受信すると、署名データを用いて受信データを検証する。
まず、依頼処理部133は、ユーザのユーザIDを指定してユーザの公開鍵をリポジトリサーバ410に要求する。この要求に応じて、リポジトリサーバ410の鍵管理部412からユーザIDに対応する公開鍵が送信され、事業者サーバ100の依頼処理部133がこの公開鍵を受信する。
[Step S72] When the request processing unit 133 of the operator server 100 receives the data from the user terminal 200, the request processing unit 133 verifies the received data using the signature data.
First, the request processing unit 133 specifies the user ID of the user and requests the public key of the user from the repository server 410. In response to this request, the public key corresponding to the user ID is transmitted from the key management unit 412 of the repository server 410, and the request processing unit 133 of the operator server 100 receives the public key.

依頼処理部133は、ユーザ端末200からの受信データが暗号化されていた場合、ユーザの公開鍵を用いて受信データを復号する。依頼処理部133は、受信データからユーザの署名データを抽出し、ユーザの公開鍵を用いて復号する。依頼処理部133は、受信データ内の「claim」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。 When the received data from the user terminal 200 is encrypted, the request processing unit 133 decrypts the received data using the user's public key. The request processing unit 133 extracts the user's signature data from the received data and decrypts it using the user's public key. The request processing unit 133 calculates the hash value of the "claim" data in the received data, and compares the calculated hash value with the hash value obtained by decoding the signature data.

これらのハッシュ値が一致した場合、「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 request processing unit 133 next specifies the administrator ID and requests the public key of the data administrator from the repository server 410. In response to this request, the public key corresponding to the administrator ID is transmitted from the key management unit 412 of the repository server 410, and the request processing unit 133 of the business server 100 receives the public key.

依頼処理部133は、「claim」のデータからデータ管理者の署名データを抽出し、データ管理者の公開鍵を用いて復号する。依頼処理部133は、受信データ内の「sketch」のデータのハッシュ値を算出し、算出されたハッシュ値と署名データを復号して得られたハッシュ値とを比較する。これらのハッシュ値が一致した場合、「sketch」のデータが改ざんされていないことが確認される。すると、処理がステップS73に進められる。 The request processing unit 133 extracts the signature data of the data manager from the data of "claim" and decrypts it using the public key of the data manager. The request processing unit 133 calculates the hash value of the "sketch" data in the received data, and compares the calculated hash value with the hash value obtained by decoding the signature data. When these hash values match, it is confirmed that the data of "sketch" has not been tampered with. Then, the process proceeds to step S73.

なお、ユーザの署名またはデータ管理者の署名のいずれかを用いた検証でデータの改ざんが認められた場合、ユーザ端末200に対して情報提供のエラーが通知され、処理は終了する。 If the data is falsified by the verification using either the user's signature or the data administrator's signature, the user terminal 200 is notified of the information provision error, and the process ends.

[ステップS73]依頼処理部133は、スケッチングデータ記憶部111から、ユーザIDに対応付けられた、元データに基づくハッシュ値を取得する。また、依頼処理部133は、受信した「claim」に含まれる元データのハッシュ値を算出する。依頼処理部133は、これらのハッシュ値を比較することで、受信した元データが、マッチングの際に使用された同じユーザのスケッチングデータの元データであるかを検証する。ハッシュ値が一致した場合、受信した元データの正当性が確認され、処理がステップS74に進められる。一方、ハッシュ値が一致しなかった場合、ユーザ端末200に対して情報提供のエラーが通知され、処理は終了する。 [Step S73] The request processing unit 133 acquires a hash value based on the original data associated with the user ID from the sketching data storage unit 111. In addition, the request processing unit 133 calculates the hash value of the original data included in the received "claim". By comparing these hash values, the request processing unit 133 verifies whether the received original data is the original data of the sketching data of the same user used at the time of matching. If the hash values match, the validity of the received original data is confirmed, and the process proceeds to step S74. On the other hand, if the hash values do not match, the user terminal 200 is notified of an information provision error, and the process ends.

[ステップS74]依頼処理部133は、受信した元データをマッチング部132に通知して、ステップS61でのマッチングの正当性を確認するための再マッチングの実行を依頼する。マッチング部132は、ステップS61で同じユーザのスケッチングデータとの間でマッチングを行った参照データを、参照データ記憶部120から取得し、取得した参照データと、依頼処理部133から通知された元データとのマッチング処理を実行する。 [Step S74] The request processing unit 133 notifies the matching unit 132 of the received original data, and requests the matching unit 132 to execute rematching for confirming the validity of the matching in step S61. The matching unit 132 acquires the reference data matched with the sketching data of the same user in step S61 from the reference data storage unit 120, and the acquired reference data and the source notified from the request processing unit 133. Execute matching process with data.

例えば、これらの類似度が所定の閾値以上である場合、ステップ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 user terminal 200 is notified that the user's application has not been received. NS.

[ステップS75]依頼処理部133は、ユーザに対するボランティアの依頼が確定し、依頼処理が完了したことをユーザ端末200に通知する。ユーザ端末200の元データ送信部232は、通知された内容をブラウザに表示する。これにより、依頼処理が完了する。 [Step S75] The request processing unit 133 notifies the user terminal 200 that the volunteer request to the user has been confirmed and the request processing has been completed. The original data transmission unit 232 of the user terminal 200 displays the notified content on the browser. This completes the request processing.

なお、以上の第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 administrator server 300. The business server 100 holds the information on the work history and skills of the dispatched employee to be sought as reference data, and by matching the information of each user with the reference data, identifies an appropriate user as a dispatched employee and assigns the user to that user. Introduce or request work as a dispatched employee.

また、例えば、自動車を運転する運転者の中から安全な運転を行っている運転者を特定するサービスを適用することもできる。この場合、例えば、車載器によって検出された各運転者の運転データ(スピードや経路の履歴など)が管理者サーバ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 administrator server 300. The operator server 100 holds the driving data of the model driver as reference data, and calculates the degree of similarity between the driving data of each driver and the driving data of the model driver. Then, the operator server 100 identifies a driver having a high degree of similarity in driving data with the model driver as a driver performing safe driving.

なお、上記の各実施の形態に示した装置(例えば、情報処理装置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, information processing device 1, terminal device 2, business server 100, user terminals 200, 200a, 200b, ..., Administrator server 300) shown in each of the above embodiments are , Can be realized by computer. In that case, a program describing the processing content of the function that each device should have is provided, and the processing function is realized on the computer by executing the program on the computer. The program describing the processing content can be recorded on a computer-readable recording medium. Computer-readable recording media include magnetic storage devices, optical disks, opto-magnetic recording media, semiconductor memories, and the like. Magnetic storage devices include hard disk devices (HDDs), magnetic tapes, and the like. Optical discs include CDs (Compact Discs), DVDs (Digital Versatile Discs), and Blu-ray Discs (Blu-ray Discs: BDs, registered trademarks). The magneto-optical recording medium includes MO (Magneto-Optical disk) and the like.

プログラムを流通させる場合には、例えば、そのプログラムが記録された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 Information processing device 2 Terminal device 3 Storage unit 11, 12, 13, ... User information 11a Signing data 21, 22, 23, ... Sketching data 31 Reference data

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.
JP2020035630A 2020-03-03 2020-03-03 DATA MATCHING SYSTEM, INFORMATION PROCESSING DEVICE AND DATA MATCHING METHOD Active JP7335511B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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