(57)【要約】【課題】履歴データを保護しつつ、履歴データをサービス事業者のサービスとマッチングさせるマッチングシステムを提供する。【解決手段】マッチングシステムＳは、属性ベース検索可能暗号方式により、履歴データのキーワードをインデックスとして、サービスを特定する事業者別識別情報とサービス事業者の公開鍵とを暗号化した暗号化データベースから、検索トークンに対応するレコードを検索するデータ管理装置５と、履歴データのキーワードから検索トークンを生成し、データ管理装置５から、暗号化した事業者別識別情報と公開鍵と受信し復号した後、ユーザＩＤと事業者別識別情報とを公開鍵で暗号化してユーザ情報取得装置２に送信するユーザ情報通知装置６と、暗号化されたユーザＩＤと事業者別識別情報とを秘密鍵で復号するユーザ情報取得装置２と、を備える。【選択図】図１
2020187247.tif 000002
【特許請求の範囲】
【請求項１】
属性が予め定めたポリシーを満たす場合のみ検索対象を検索可能な属性ベース検索可能暗号方式の公開鍵によって、サービス事業者の事業者ＩＤと、前記サービス事業者が提供するサービスデータを識別する事業者別識別情報と、前記サービスデータを特定するキーワードとなるインデックスと、公開鍵暗号方式における前記サービス事業者の事業者公開鍵と、前記サービスデータとを暗号化した暗号化公開用データをレコードとして含むデータベースの検索を行うデータ管理装置であって、
ユーザ情報通知装置から、ユーザの属性と前記ユーザの履歴データに含まれるキーワードとにより生成された前記属性ベース検索可能暗号方式の検索トークンを検索要求として受信する検索要求受信手段と、
前記ユーザの属性が前記暗号化したインデックスに含まれるポリシーを満たす場合に、前記データベースにおいて、前記検索トークンに対応する暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを検索する検索手段と、
前記データベースで検索された前記暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを、前記ユーザ情報通知装置に送信する検索結果送信手段と、
を備えることを特徴とするデータ管理装置。
【請求項２】
請求項１に記載のデータ管理装置から、ユーザの履歴データに対応するサービス事業者の事業者ＩＤおよび前記サービス事業者が提供するサービスデータを識別する事業者別識別情報を取得し、前記サービス事業者のユーザ情報取得装置にユーザ情報として通知するユーザ情報通知装置であって、
ユーザの属性と前記履歴データに含まれるキーワードとを含んだ属性ベース検索可能暗号方式の検索トークンを生成する検索トークン生成手段と、
前記検索トークンを検索要求として前記データ管理装置に送信する検索要求送信手段と、
前記データ管理装置から、暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを、検索結果として受信する検索結果受信手段と、
前記暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを前記属性ベース検索可能暗号方式の秘密鍵で復号する復号手段と、
前記ユーザを識別するユーザＩＤと前記復号された事業者別識別情報とを、前記復号された事業者公開鍵で暗号化して暗号化ユーザ情報を生成するユーザ情報暗号化手段と、
前記暗号化ユーザ情報を前記復号された事業者ＩＤに対応するユーザ情報取得装置に送信するユーザ情報送信手段と、
を備えることを特徴とするユーザ情報通知装置。
【請求項３】
ユーザの履歴データに対応して、属性が予め定めたポリシーを満たす場合のみ検索対象を検索可能な属性ベース検索可能暗号方式により暗号化した、サービス事業者が提供するサービスデータを識別する事業者別識別情報と、前記ユーザを識別するユーザＩＤとを、ユーザ情報として取得するユーザ情報取得装置であって、
公開鍵暗号方式における公開鍵である事業者公開鍵と、秘密鍵である事業者秘密鍵とを生成する鍵情報生成手段と、
サービス事業者の事業者ＩＤと、前記事業者別識別情報と、前記サービスデータを特定するキーワードとなるインデックスと、前記事業者公開鍵と、前記サービスデータとを、属性ベース検索可能暗号方式の公開鍵によって暗号化公開用データとして暗号化する暗号化手段と、
前記暗号化公開用データを、請求項１に記載のデータ管理装置が検索する前記暗号化公開用データをデータベースのレコードとして記憶するデータ記憶装置に送信するデータ送信手段と、
請求項２に記載のユーザ情報通知装置から、暗号化ユーザ情報を受信するユーザ情報受信手段と、
前記暗号化ユーザ情報を、前記事業者秘密鍵で前記事業者別識別情報と前記ユーザＩＤとに復号するユーザ情報復号手段と、
を備えることを特徴とするユーザ情報取得装置。
【請求項４】
前記データ送信手段は、送信元のアドレスをデータ転送装置のアドレスに変換する前記データ転送装置を中継して、前記暗号化公開用データを前記データ記憶装置に送信することを特徴とする請求項３に記載のユーザ情報取得装置。
【請求項５】
コンピュータを、請求項１に記載のデータ管理装置として機能させるためのデータ管理プログラム。
【請求項６】
コンピュータを、請求項２に記載のユーザ情報通知装置として機能させるためのユーザ情報通知プログラム。
【請求項７】
コンピュータを、請求項３または請求項４に記載のユーザ情報取得装置として機能させるためのユーザ情報取得プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの個人情報を保護して、サービス事業者が提供するサービスと当該サービスを享受したいユーザとをマッチングさせるデータ管理装置、ユーザ情報通知装置、ユーザ情報取得装置およびそれらのプログラムに関する。
【背景技術】
【０００２】
現在、様々な機器（ＩｏＴ〔Internet of Things〕機器等）が互いにつながり、新しいサービスを提供することが可能になっている。例えば、放送機器と通信機器とが連携し、２０１３年９月よりＨｙｂｒｉｄｃａｓｔ(登録商標)と呼ばれる放送通信連携サービスが開始されている（非特許文献１参照）。
この機器連携サービスの１つとして、例えば、ユーザの視聴した放送番組の視聴履歴に基づいて、サービス事業者が、ユーザの嗜好に合わせたおすすめ番組等をレコメンドとして提供するレコメンドサービスがある。
【０００３】
このようなサービスを実用化するための重要な課題の一つが、視聴履歴（履歴データ）等の個人情報の保護である。
個人情報の保護は、ＣＲＹＰＴＲＥＣ（Cryptography Research and Evaluation Committees）が推奨する公開鍵暗号方式のＲＳＡ暗号、共通鍵暗号方式のＡＥＳ等の暗号アルゴリズムを用いて個人情報を暗号化することで実現することができる。
しかし、これらの暗号アルゴリズムを用いた場合、ユーザとサービス事業者とが１対１に対応し、同一システム上において、１つの暗号化鍵に対して暗号文を復号する復号鍵は１つとなる。その場合、サービス事業者は、ユーザごとに異なる鍵を所有しなければならないため、大容量のストレージが必要となる。また、サービス事業者は、ユーザごとに鍵を使い分ける必要があるため、効率が悪いという問題がある。
【０００４】
そこで、近年では、サービス事業者側で鍵を使い分ける必要がなく、視聴者のプライバシを保護したままで、個人情報を利用または活用する暗号方式が種々提案されている。
例えば、データ（個人情報等）を暗号化したままでキーワードによる検索を可能とし、検索結果の正当性を検証することが可能な属性ベース検索可能暗号（ＶＡＢＫＳ：Verifiable Attribute-Based Keyword Search）方式である（非特許文献２参照）。このＶＡＢＫＳ方式は、属性ベース暗号（ＡＢＥ：Attribute-Based Encryption）方式が元となっており（非特許文献３参照）、秘密鍵や暗号文にユーザの属性（居住地、性別、年齢、会員種別等）を関連付け、復号条件（ポリシー）を満たすユーザのみが暗号文を復号することが可能な暗号方式である。
【０００５】
さらに、ＶＡＢＫＳ方式の暗号化処理の一部をクラウドサーバに委託したＶＡＢＫＳ委託方式が提案されている（非特許文献４参照）。
また、検索結果の正当性を検証する機能を有していない属性ベース検索可能暗号（ＡＢＫＳ：Attribute-Based Keyword Search）方式（非特許文献２参照）、ＡＢＫＳ方式の暗号化処理の一部をクラウドサーバに委託したＡＢＫＳ委託方式等も提案されている（非特許文献４参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】IPTVFJ STD-0010 STD-0011.  http://www.iptvforum.jp/download/.
【非特許文献２】Q. Zheng, S. Xu, and G. Ateniese, “VABKS: Verifiable Attribute-based Keyword Search over Outsourced Encrypted Data”, Proc. of IEEE Infocom’14, pp. 522-530, 2014.
【非特許文献３】J. Bethencourt, A. Sahai, and B. Waters,“Ciphertext-policy attribute-based  encryption”, Proc. of IEEE S&P, pp. 321-334, 2007.
【非特許文献４】G. Ohtake, R. Safavi-Naini, and L. F. Zhang, “Outsourcing of veriable attribute-based key-word search”. In Nordic Conference on Secure IT Systems (2017), Springer, pp. 18-35.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来提案されているＶＡＢＫＳ方式の暗号方式を用いた手法は、個人情報を暗号化したままでキーワードによる検索を可能とし、そのキーワードに合致したユーザにサービスを提供することができる。
例えば、従来の手法は、あるユーザの個人情報である履歴データを暗号化した状態で取得し、暗号化された履歴データに含まれている暗号化された商品名（キーワード）でその商品に関連する他の情報を検索することができる。そして、従来の手法は、ユーザに当該商品に関連するレコメンド情報を提供することができる。
このように、従来の手法では、個人情報を暗号化したままでキーワード検索が可能であるが、サービス事業者は、複数のユーザを対象としてサービスを提供するためには、すべてのユーザの履歴データから、当該サービスに関心のあるユーザを特定しなければならず、極めて効率が悪い。
そのため、サービス事業者が提供するサービスと当該サービスを享受したいユーザとを効率よくマッチングさせる手法が望まれていた。
【０００８】
本発明は、このような問題や要望に鑑みてなされたものであり、個人情報である履歴データを保護しつつ、サービス事業者が提供するサービスと当該サービスを享受したいユーザとを効率よくマッチングさせるデータ管理装置、ユーザ情報通知装置、ユーザ情報取得装置およびそれらのプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するため、本発明に係るデータ管理装置は、属性が予め定めたポリシーを満たす場合のみ検索対象を検索可能な属性ベース検索可能暗号方式の公開鍵によって、サービス事業者の事業者ＩＤと、前記サービス事業者が提供するサービスデータを識別する事業者別識別情報と、前記サービスデータを特定するキーワードとなるインデックスと、公開鍵暗号方式における前記サービス事業者の事業者公開鍵と、前記サービスデータとを暗号化した暗号化公開用データをレコードとして含むデータベースの検索を行うデータ管理装置であって、検索要求受信手段と、検索手段と、検索結果送信手段と、を備える。
【００１０】
かかる構成において、データ管理装置は、検索要求受信手段によって、ユーザ情報通知装置から、ユーザの属性とユーザの履歴データに含まれるキーワードとにより生成された属性ベース検索可能暗号方式の検索トークンを検索要求として受信する。
そして、データ管理装置は、検索手段によって、ユーザの属性が暗号化したインデックスに含まれるポリシーを満たす場合に、データベースにおいて、検索トークンに対応する暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを検索する。
これによって、ユーザの履歴データに含まれるキーワードに対応して、サービス事業者のサービスデータを識別する事業者別識別情報が暗号化された状態で検索されることになる。
【００１１】
そして、データ管理装置は、検索結果送信手段によって、データベースで検索された暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを、ユーザ情報通知装置に送信する。
これによって、ユーザ情報通知装置は、履歴データに対応する事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを、暗号化したままで取得することができる。
【００１２】
また、前記課題を解決するため、本発明に係るユーザ情報通知装置は、データ管理装置から、ユーザの履歴データに対応するサービス事業者の事業者ＩＤおよび前記サービス事業者が提供するサービスデータを識別する事業者別識別情報を取得し、前記サービス事業者のユーザ情報取得装置にユーザ情報として通知するユーザ情報通知装置であって、検索トークン生成手段と、検索要求送信手段と、検索結果受信手段と、復号手段と、ユーザ情報暗号化手段と、ユーザ情報送信手段と、を備える。
【００１３】
かかる構成において、ユーザ情報通知装置は、検索トークン生成手段によって、ユーザの属性と履歴データに含まれるキーワードとを含んだ属性ベース検索可能暗号方式の検索トークンを生成する。
そして、ユーザ情報通知装置は、検索要求送信手段によって、検索トークンを検索要求としてデータ管理装置に送信する。
そして、ユーザ情報通知装置は、検索結果受信手段によって、データ管理装置から、暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを、検索結果として受信する。
さらに、ユーザ情報通知装置は、復号手段によって、暗号化された事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータを属性ベース検索可能暗号方式の秘密鍵で復号する。
これによって、履歴データに含まれるキーワードに対応する事業者ＩＤ、事業者別識別情報、事業者公開鍵およびサービスデータのみが復号されることになる。
【００１４】
そして、ユーザ情報通知装置は、ユーザ情報暗号化手段によって、ユーザを識別するユーザＩＤと復号された事業者別識別情報とを、復号された事業者公開鍵で暗号化して暗号化ユーザ情報を生成する。
そして、ユーザ情報通知装置は、ユーザ情報送信手段によって、暗号化ユーザ情報を復号された事業者ＩＤに対応するユーザ情報取得装置に送信する。
これによって、ユーザＩＤと事業者別識別情報とが暗号化された状態で、サービス事業者に通知されることになる。
【００１５】
また、前記課題を解決するため、本発明に係るユーザ情報取得装置は、ユーザの履歴データに対応して、属性が予め定めたポリシーを満たす場合のみ検索対象を検索可能な属性ベース検索可能暗号方式により暗号化した、サービス事業者が提供するサービスデータを識別する事業者別識別情報と、前記ユーザを識別するユーザＩＤとを、ユーザ情報として取得するユーザ情報取得装置であって、鍵情報生成手段と、暗号化手段と、データ送信手段と、ユーザ情報受信手段と、ユーザ情報復号手段と、を備える。
【００１６】
かかる構成において、ユーザ情報取得装置は、鍵情報生成手段によって、公開鍵暗号方式における公開鍵である事業者公開鍵と、秘密鍵である事業者秘密鍵とを生成する。
そして、ユーザ情報取得装置は、暗号化手段によって、サービス事業者の事業者ＩＤと、事業者別識別情報と、サービスデータを特定するキーワードとなるインデックスと、事業者公開鍵と、サービスデータとを、属性ベース検索可能暗号方式の公開鍵によって暗号化公開用データとして暗号化する。
そして、ユーザ情報取得装置は、データ送信手段によって、暗号化公開用データを、データ管理装置が検索する暗号化公開用データをデータベースのレコードとして記憶するデータ記憶装置に送信する。
これによって、データベースに、事業者ＩＤと、事業者別識別情報と、インデックスと、サービスデータと、事業者公開鍵とが、暗号化された状態で登録されることになる。
【００１７】
そして、ユーザ情報取得装置は、ユーザ情報受信手段によって、ユーザ情報通知装置から、暗号化ユーザ情報を受信する。この暗号化ユーザ情報は、ユーザ情報通知装置において、サービス事業者の公開鍵で、事業者別識別情報およびユーザＩＤが暗号化された情報である。
そして、ユーザ情報取得装置は、ユーザ情報復号手段によって、暗号化ユーザ情報を、事業者秘密鍵で事業者別識別情報とユーザＩＤとに復号する。
これによって、サービス事業者が、自身のサービスを識別する事業者別識別情報と、当該サービスに対応したユーザＩＤとを取得することができる。
【００１８】
なお、データ管理装置、ユーザ情報通知装置およびユーザ情報取得装置は、それぞれ、コンピュータを、前記した各手段として機能させるためのプログラムで動作させることができる。
【発明の効果】
【００１９】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、サービス事業者が指定するインデックスに合致する履歴を持つユーザを特定することができ、履歴データを介して効率的に、サービス事業者が提供するサービスと当該サービスを享受したいユーザとをマッチングさせることができる。
また、本発明によれば、属性ベース検索可能暗号方式で履歴データを暗号化したまま検索することができるため、個人情報である履歴データを保護することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係るマッチングシステムの全体構成を示すシステム構成図である。
【図２】図１のユーザ情報取得装置の構成を示すブロック図である。
【図３】図１のマッチングシステムのクラウドサーバを構成するデータ記憶装置およびデータ管理装置の各構成を示すブロック図である。
【図４】暗号化データベースの構造を示すデータ構造図である。
【図５】図１のユーザ情報通知装置の構成を示すブロック図である。
【図６】本発明の実施形態に係るマッチングシステムの履歴データによるユーザ情報の通知・取得動作を示すフローチャートである。
【図７】ユーザ情報取得装置の暗号化手段を暗号化装置として分離した構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面を参照して説明する。
［マッチングシステムの構成］
まず、図１を参照して、本発明の実施形態に係るマッチングシステムＳの構成について説明する。
【００２２】
マッチングシステムＳは、ユーザの個人情報である履歴データ（放送視聴の場合における視聴履歴、商品購買の場合における購買履歴等）を保護して、サービス事業者が提供するサービスとユーザとをマッチングさせるものである。
このマッチングシステムＳは、ユーザの履歴データにより、クラウドサーバが保持するサービス事業者が提供するユーザの嗜好に合うサービスを特定する情報（事業者別識別情報）とユーザＩＤとを対応付ける。そして、マッチングシステムＳは、サービス事業者がユーザからユーザＩＤと事業者別識別情報とをユーザ情報として取得することで、サービスとユーザとをマッチングさせる。
ここでは、マッチングシステムＳは、鍵生成装置１と、ユーザ情報取得装置２と、データ転送装置３と、データ記憶装置４と、データ管理装置５と、ユーザ情報通知装置６と、を備える。
【００２３】
鍵生成装置１は、マッチングシステムＳを管理するシステム管理者の装置である。
ユーザ情報取得装置２は、サービスを提供するサービス事業者の装置である。
データ転送装置３は、データを転送するデータ転送者（例えば、システム管理者または信頼できる第三者）の装置である。
データ記憶装置４およびデータ管理装置５は、クラウドサーバとして機能するクラウド上に配置された装置である。
ユーザ情報通知装置６は、サービス事業者が提供するサービスを利用するユーザの装置である。例えば、ユーザ情報通知装置６は、多機能端末（スマートフォン等）、テレビ受像機等、購買履歴、視聴履歴等の履歴データを収集可能な装置である。
【００２４】
これらの各装置は、図示を省略したネットワークを介して接続される。なお、データ記憶装置４とデータ管理装置５は、それぞれ、イントラネット等のローカルなネットワークで接続される。
また、ここでは、説明を簡略化するため、サービス事業者側の装置であるユーザ情報取得装置２、および、ユーザ側の装置であるユーザ情報通知装置６を、それぞれ１台だけ図示しているが、実際には、複数台ネットワークに接続される。
【００２５】
このマッチングシステムＳは、個人情報であるユーザの視聴履歴や購買履歴を保護するための暗号化処理として、データを暗号化したままでキーワードによる検索が可能で検索結果の正当性を検証することが可能な属性ベース検索可能暗号方式（検証可能属性ベース検索可能暗号方式〔ＶＡＢＫＳ方式〕）を用いることとする。
【００２６】
（鍵生成装置）
鍵生成装置１は、ＶＡＢＫＳ方式の暗号化処理に用いる公開鍵および秘密鍵を生成するものである。
公開鍵は、公開の情報である。ここでは、鍵生成装置１は、ネットワークを介してユーザ情報取得装置２と、データ管理装置５と、ユーザ情報通知装置６とに公開鍵を送信する。
秘密鍵は、複数のユーザ情報通知装置６に対してそれぞれの秘密情報として送信される個別の情報である。
ここでは、鍵生成装置１は、ユーザ情報通知装置６から通知される属性から秘密鍵を生成し、ユーザ情報通知装置６に送信する。
【００２７】
ユーザ情報通知装置６から通知される属性は、ユーザを区分するための個別情報であって、例えば、サービスを有料とした場合、料金を支払った会員であるか否かを示す会員種別の情報である。なお、ユーザ情報通知装置６に送信する秘密鍵には、個々のユーザに対応して、検索トークンを生成するためのトークン生成鍵が含まれる。
鍵生成装置１は、マッチングシステムＳを構築する際に、予め公開鍵を生成し、ユーザを登録する際に、ユーザごとに秘密鍵を生成する。
なお、鍵生成装置１における公開鍵および秘密鍵の生成手法は、従来のＶＡＢＫＳ方式と同じであるため、ここでは説明を省略する。
【００２８】
（ユーザ情報取得装置）
ユーザ情報取得装置２は、ユーザの履歴データに対応して、サービス事業者が提供するサービスを特定する情報（事業者別識別情報）を、ユーザＩＤとともにユーザ情報通知装置６から取得するものである。
なお、ユーザ情報取得装置２は、ユーザ情報通知装置６が事業者ＩＤと事業者別識別情報とを暗号化したままで検索するために、ＶＡＢＫＳ方式により、事業者ＩＤと、事業者別識別情報と、サービスデータと、インデックスと、事業者公開鍵と、事業者公開鍵証明書とを、ポリシーを用いて暗号化する。
【００２９】
事業者ＩＤは、サービス事業者を識別するためのサービス事業者固有のＩＤ（識別子）である。
事業者別識別情報は、サービス事業者内で、サービスを識別するための識別情報である。この事業者別識別情報は、サービス事業者が複数のサービスを提供する場合に、それらのサービスを個別に識別するための情報である。
サービスデータは、サービス事業者がサービスとして提供するデータである。例えば、サービス事業者が放送局の場合、サービスデータは、放送番組の番組情報あるいは放送番組に関連する情報である。また、例えば、サービス事業者が商品販売事業者の場合、サービスデータは、商品情報あるいは商品に関連する情報である。
【００３０】
インデックスは、履歴データに含まれるキーワードである。例えば、サービス事業者が放送局の場合、インデックスは、過去に放送した番組のデータ（番組データ）である○月○日○時、番組名○○、…といった番組を特定する情報、出演者○○、あらすじ、…といった番組の内容を示す情報等に含まれるキーワードである。また、例えば、サービス事業者が商品販売事業者の場合、インデックスは、販売している商品のデータ（商品データ）であって、製造者名、商品名、…といった物品を特定する情報、用途、使用方法、…といった商品の内容を示す情報等に含まれるキーワードである。
なお、事業者ＩＤ、事業者別識別情報およびインデックスは、検索対象のデータ（検索用データ）となる情報である。
【００３１】
ポリシーは、暗号化されたデータを復号するための条件を示す情報である。すなわち、ポリシーは、ある属性のユーザに対して復号、検索の許可を与えるか否かを示す情報である。例えば、属性が、料金を支払った会員であるユーザである場合に、そのユーザに対して復号、検索の許可を示す情報である。
なお、マッチングシステムＳでは、ユーザ情報取得装置２が各種データを暗号化する際にポリシーを設定する。ユーザ情報取得装置２が設定するポリシーは、検索の許可となる検索条件を示すもの（検索ポリシー）である。
事業者公開鍵および事業者公開鍵証明書は、鍵情報生成手段２０（図２）で生成される情報である。
【００３２】
ここで、図２を参照して、ユーザ情報取得装置２の構成について説明する。
図２に示すように、ユーザ情報取得装置２は、鍵情報生成手段２０と、公開鍵証明書要求手段２１と、公開鍵証明書受信手段２２と、暗号化手段２３と、データ送信手段２４と、ユーザ情報受信手段２５と、ユーザ情報復号手段２６と、を備える。
【００３３】
鍵情報生成手段２０は、ＲＳＡ、ＥｌＧａｍａｌ暗号方式等のサービス事業者が使用する公開鍵暗号方式の公開鍵である事業者公開鍵および秘密鍵である事業者秘密鍵を生成するものである。
鍵情報生成手段２０は、事業者公開鍵を公開鍵証明書要求手段２１と暗号化手段２３に出力する。また、鍵情報生成手段２０は、事業者秘密鍵をユーザ情報復号手段２６に出力する。
【００３４】
公開鍵証明書要求手段２１は、図示していない公開鍵認証局に公開鍵証明書を要求するものである。公開鍵証明書要求手段２１は、鍵情報生成手段２０から事業者公開鍵を入力し、公開鍵認証局に、事業者公開鍵の公開鍵証明書を要求する。
【００３５】
公開鍵証明書受信手段２２は、公開鍵認証局から送信される事業者公開鍵用の公開鍵証明書（事業者公開鍵証明書）を受信するものである。公開鍵証明書受信手段２２は、受信した事業者公開鍵証明書を、暗号化手段２３に出力する。
【００３６】
暗号化手段２３は、ＶＡＢＫＳ方式の暗号化を行うものである。
暗号化手段２３は、鍵生成装置１が公開した公開鍵と、設定されたポリシーとにより、検索用データ（事業者ＩＤ、事業者別識別情報およびインデックス）を暗号化して、暗号化検索用データを生成するとともに、検索結果の検証を行うための検証データと検証鍵とを生成する。なお、ＶＡＢＫＳ方式の暗号化において、暗号化したデータには、ポリシーの情報が含まれている。
暗号化手段２３は、暗号化検索用データに電子署名を付加する。
【００３７】
また、暗号化手段２３は、公開鍵とポリシーとにより、事業者公開鍵と事業者公開鍵証明書とを暗号化して、暗号化事業者公開鍵データを生成するとともに、サービスデータを暗号化して暗号化サービスデータを生成する。
さらに、暗号化手段２３は、暗号化検索用データと暗号化事業者公開鍵データと暗号化サービスデータとを合成（連結）し、暗号化公開用データを生成する。
なお、暗号化手段２３における暗号化手法は、従来のＶＡＢＫＳ方式と同じであるため、ここでは説明を省略する。
暗号化手段２３は、生成した暗号化公開用データ、検証データおよび検証鍵を、データ送信手段２４に出力する。
【００３８】
データ送信手段２４は、暗号化手段２３で生成された暗号化公開用データ、検証データおよび検証鍵を、ネットワークを介して、データ転送装置３に送信するものである。
【００３９】
ユーザ情報受信手段２５は、ユーザ情報通知装置６から送信された暗号化ユーザ情報である暗号化ユーザＩＤと暗号化事業者別識別情報とを受信するものである。
ユーザ情報受信手段２５は、受信した暗号化ユーザＩＤと暗号化事業者別識別情報とを、ユーザ情報復号手段２６に出力する。
【００４０】
ユーザ情報復号手段２６は、ユーザ情報受信手段２５で受信した暗号化ユーザ情報（暗号化ユーザＩＤ、暗号化事業者別識別番号）を、鍵情報生成手段２０で生成された事業者秘密鍵を用いて復号するものである。この復号手法は、ユーザ情報通知装置６のユーザ情報暗号化手段６７で使用した暗号化手法に対応した復号手法となる。具体的には、ユーザ情報復号手段２６の復号手法は、事業者公開鍵証明書に記載されたＲＳＡ、ＥｌＧａｍａｌ等の公開鍵暗号方式を用いる。
このユーザ情報復号手段２６は、復号したユーザＩＤと事業者別識別情報とを、図示を省略した表示装置、記憶装置等に出力する。
なお、ユーザ情報取得装置２は、マッチングシステムＳを構築する際に、最初に、事業者公開鍵および事業者秘密鍵を生成し、事業者公開鍵に関し、公開鍵認証局から、事業有公開鍵の公開鍵証明書を取得しておく。
【００４１】
以上説明したようにユーザ情報取得装置２を構成することで、ユーザ情報取得装置２は、ユーザの履歴データに基づいて、サービス事業者が提供するサービスとユーザとをマッチングさせることができる。
なお、ユーザ情報取得装置２は、コンピュータを前記した各手段として機能させるためのユーザ情報取得プログラムで動作させることができる。
図１に戻って、マッチングシステムＳの構成について説明を続ける。
【００４２】
（データ転送装置）
データ転送装置３は、サービス事業者のユーザ情報取得装置２から暗号化公開用データ、検証データおよび検証鍵を受信し、クラウドサーバ上のデータ記憶装置４に転送するものである。データ転送装置３は、データ転送する際、データ内のサービス事業者の特定につながる平文の情報をデータ転送者の情報に変更する。
具体的には、データ転送装置３は、データパケット内における送信元のサービス事業者のアドレス（ＩＰアドレス）を、データ転送者のアドレス（ＩＰアドレス）に変更する。
これによって、データ記憶装置４に転送された各種データが、どのサービス事業者から送信されたデータかを暗号化公開用データを復号できないエンティティ、例えば、クラウドサーバに対して秘匿することができる。なお、サービス事業者の秘匿を行わない場合は、データ転送装置３を設ける必要はない。
【００４３】
（データ記憶装置およびデータ管理装置）
データ記憶装置４は、ユーザ情報取得装置２で生成された暗号化公開用データ（暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、暗号化事業者公開鍵、暗号化事業者公開鍵証明書、暗号化サービスデータ）と、検証データと、検証鍵とを、暗号化データベースＤＢとして記憶するものである。
データ管理装置５は、ユーザ情報通知装置６からの検索要求に基づいて、ユーザの履歴データに対応する暗号化公開用データを、暗号化データベースＤＢにおいて暗号化したまま検索するものである。
ここで、図３を参照して、クラウドサーバ（データ記憶装置４およびデータ管理装置５）の構成について説明する。
【００４４】
（データ記憶装置）
図３に示すように、データ記憶装置４は、データ受信手段４０と、記憶手段４１と、を備える。
【００４５】
データ受信手段４０は、ユーザ情報取得装置２で生成された暗号化公開用データと、検証データと、検証鍵とを受信するものである。ここでは、データ受信手段４０は、ネットワークを介して、暗号化公開用データと、検証データと、検証鍵とを受信し、記憶手段４１に書き込み記憶する。
【００４６】
記憶手段４１は、データ受信手段４０で受信した暗号化公開用データと、検証データと、検証鍵とを、暗号化データベースＤＢとして記憶するものである。
暗号化データベースＤＢは、ユーザ情報取得装置２で生成された暗号化公開用データ（暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、暗号化事業者公開鍵、暗号化事業者公開鍵証明書、暗号化サービスデータ）と、検証データと、検証鍵とを、サービス事業者が提供するサービスごとに記憶したデータベースである。
【００４７】
暗号化データベースＤＢには、図４に示すように、レコードＲ１，Ｒ２，…，Ｒｎ（ｎは１以上の整数）ごとに、暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、検証データおよび検証鍵、ならびに、暗号化事業者公開鍵、暗号化事業者公開鍵証明書および暗号化サービスデータが記録される。
この暗号化データベースＤＢは、データ管理装置５の検索手段５３によって検索される。
【００４８】
（データ管理装置）
図３に示すように、データ管理装置５は、公開鍵受信手段５０と、記憶手段５１と、検索要求受信手段５２と、検索手段５３と、検索結果送信手段５４と、を備える。
【００４９】
公開鍵受信手段５０は、鍵生成装置１で生成されたＶＡＢＫＳ方式の公開鍵を受信するものである。ここでは、公開鍵受信手段５０は、ネットワークを介して、公開鍵を受信し、受信した公開鍵を記憶手段５１に書き込み記憶する。
【００５０】
記憶手段５１は、公開鍵受信手段５０で受信した公開鍵を記憶するものである。この記憶手段５１は、半導体メモリ等の一般的な記憶媒体で構成することができる。この記憶手段５１に記憶された公開鍵は、検索手段５３によって読み出される。
【００５１】
検索要求受信手段５２は、ユーザ情報通知装置６から送信される検索要求を、ネットワークを介して受信するものである。
ユーザ情報通知装置６から送信される検索要求には、暗号化データベースＤＢを検索するための履歴データ（具体的には、データのインデックス）をキーワードとした検索トークンが含まれている。
検索トークンは、ＶＡＢＫＳ方式において、秘密鍵と、公開鍵と、キーワードと、ユーザの属性とにより生成されるものである。すなわち、検索トークンには、キーワードおよびユーザの属性を示す情報が含まれている。
検索要求受信手段５２は、データ検索要求に含まれる検索トークンを検索手段５３に出力する。
【００５２】
検索手段５３は、検索トークンに対応するレコードを暗号化データベースＤＢにおいて検索するものである。ここでは、検索手段５３は、データ検索手段５３０と、データ読出手段５３１と、を備える。
【００５３】
データ検索手段５３０は、暗号化データベースＤＢにおいて検索トークンに対応するデータ（レコード）を検索するものである。
このデータ検索手段５３０は、暗号化データベースＤＢのレコードごとに、暗号化インデックスに含まれるポリシーと、検索トークンに含まれるユーザの属性とにより、ユーザが検索可能なユーザであるか否かを判定する。
そして、データ検索手段５３０は、ユーザの属性がポリシーを満たすと判定されたレコードについて、検索トークン（キーワード）に対応するレコードを検索する。なお、データ検索手段５３０は、公開鍵を用いて、ＶＡＢＫＳ方式による検索を行うことで、データを暗号化したままで、キーワードによる検索を行うことができる。
このデータ検索手段５３０は、検索したレコードの識別番号（レコード番号）をデータ読出手段５３１に出力する。
なお、データ検索手段５３０は、検索結果が複数のレコードである場合、そのすべてのレコード番号をデータ読出手段５３１に出力する。
【００５４】
データ読出手段５３１は、データ検索手段５３０で検索された暗号化データベースＤＢのレコードから、データ（暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、検証データ、検証鍵、暗号化事業者公開鍵、暗号化事業者公開鍵証明書、暗号化サービスデータ）を読み出すものである。
データ読出手段５３１は、読み出したデータ（暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、検証データ、検証鍵、暗号化事業者公開鍵、暗号化事業者公開鍵証明書、暗号化サービスデータ）を、検索結果送信手段５４に出力する。
これによって、検索手段５３は、暗号化データベースＤＢにおいて、検索トークンに対応するデータを暗号化したままで検索することができる。
【００５５】
検索結果送信手段５４は、検索手段５３で検索された検索結果であるデータ（暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、検証データ、検証鍵、暗号化事業者公開鍵、暗号化事業者公開鍵証明書、暗号化サービスデータ）を、ネットワークを介して、検索トークンを送信したユーザ情報通知装置６に送信するものである。
以上説明したようにデータ記憶装置４およびデータ管理装置５を構成することで、データ管理装置５は、ユーザ情報通知装置６から要求のあったデータを検索することができる。
【００５６】
このとき、データ管理装置５は、ＶＡＢＫＳ方式により、データを暗号化したままで検索することができるため、ユーザの個人情報を保護することができる。
なお、データ管理装置５は、コンピュータを前記した各手段として機能させるためのデータ管理プログラムで動作させることができる。
図１に戻って、マッチングシステムＳの構成について説明を続ける。
【００５７】
（ユーザ情報通知装置）
ユーザ情報通知装置６は、クラウドサーバ上の暗号化データベースＤＢにおいて、ユーザの履歴データに対応するサービス事業者のサービスを特定する情報（事業者別識別情報）を検索し、ユーザと事業者別識別情報とを対応付けたユーザ情報をサービス事業者に通知するものである。
【００５８】
ここで、図５を参照して、ユーザ情報通知装置６の構成について説明する。図５に示すように、ユーザ情報通知装置６は、属性送信手段６０と、鍵情報受信手段６１と、記憶手段６２と、検索トークン生成手段６３と、検索要求送信手段６４と、検索結果受信手段６５と、復号手段６６と、ユーザ情報暗号化手段６７と、ユーザ情報送信手段６８と、を備える。
【００５９】
属性送信手段６０は、ユーザの属性を、ネットワークを介して、鍵生成装置１に送信するものである。この属性送信手段６０は、ユーザの属性（例えば、サービスの料金を支払った会員を示す情報）を鍵生成装置１に送信する。
【００６０】
鍵情報受信手段６１は、属性送信手段６０で送信された属性に基づいて鍵生成装置１で生成されたＶＡＢＫＳ方式の秘密鍵と公開鍵とを、ネットワークを介して受信するものである。なお、秘密鍵には、検索トークンを生成するためのトークン生成鍵が含まれている。
この鍵情報受信手段６１は、受信した秘密鍵と公開鍵とを、記憶手段６２に鍵情報として書き込み記憶する。
【００６１】
記憶手段６２は、ユーザ情報通知装置６が使用する各種データを記憶するものである。この記憶手段６２は、半導体メモリ等の一般的な記憶媒体で構成することができる。
ここでは、記憶手段６２は、鍵情報受信手段６１で受信した鍵情報である秘密鍵と公開鍵とを記憶する。また、記憶手段６２は、ユーザの履歴データ（視聴履歴、購入履歴等）を記憶する。履歴データは、図示を省略した放送受信手段が放送番組を受信する際に、電子番組表（ＥＰＧ：Electronic Program Guide）に記載されている番組データを抽出したものでもよいし、図示を省略した通信手段によってインターネットを介して商品を購入する際の商品のデータ（製造者名、商品名等）であってもよい。
なお、記憶手段６２は、秘密鍵と公開鍵とを記憶する鍵情報記憶手段と、ユーザの履歴データを記憶する履歴データ記憶手段とに分離して構成してもよい。
この記憶手段６２に記憶された秘密鍵と公開鍵とは、検索トークン生成手段６３と、復号手段６６とによって読み出される。
【００６２】
検索トークン生成手段６３は、履歴データに含まれるキーワードにより、クラウドサーバの暗号化データベースＤＢにおいて、履歴データに関連するレコードを検索するための検索トークンを生成するものである。
なお、検索トークン生成手段６３が用いるキーワードは、履歴データに含まれる名詞、名詞句等の検索用のデータであって、例えば、商品名や番組名である。
この検索トークン生成手段６３は、定期的、あるいは、履歴データが更新されたタイミングで検索トークンを生成する。
検索トークン生成手段６３は、記憶手段６２に記憶されている履歴データに含まれるキーワードと、記憶手段６２に記憶されている公開鍵と、秘密鍵（トークン生成鍵を含む）とから、ＶＡＢＫＳ方式の検索トークンを生成する。秘密鍵にはユーザの属性を示す情報が含まれる。すなわち、検索トークンは、キーワードおよびユーザの属性を示す情報が含まれた情報である。
この検索トークン生成手段６３は、生成した検索トークンを、検索要求送信手段６４に出力する。
【００６３】
検索要求送信手段６４は、検索トークン生成手段６３で生成された検索トークンを、検索要求として、データ管理装置５に送信するものである。
検索結果受信手段６５は、データ管理装置５で検索され、送信された、検索結果（暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、検証データ、検証鍵、暗号化事業者公開鍵、暗号化事業者公開鍵証明書、暗号化サービスデータ）を、受信するものである。
この検索結果受信手段６５は、受信した検索結果を復号手段６６に出力する。
【００６４】
復号手段６６は、検索結果受信手段６５で受信した検索結果を復号するものである。ここでは、復号手段６６は、検索結果検証手段６６０と、データ復号手段６６１と、を備える。
【００６５】
検索結果検証手段６６０は、検索結果に含まれる検証データに基づいて、検索結果が、要求した検索トークンに対応する検索結果であるか否かを検証するものである。ここでは、検索結果検証手段６６０は、ＶＡＢＫＳ方式の検証を行う。
また、検索結果検証手段６６０は、暗号化検索用データに付加されている電子署名を、検索結果受信手段６５で受信した検索結果に含まれる検証鍵で検証する。なお、署名方式は、ユーザ情報取得装置２との間で予め共有しておく。
検索結果検証手段６６０は、検証（署名検証を含む）が正しく行われた場合、検索結果をデータ復号手段６６１に出力する。
【００６６】
データ復号手段６６１は、検索結果受信手段６５で受信した検索結果である暗号化されたデータ（暗号化事業者ＩＤ、暗号化事業者別識別情報、暗号化インデックス、暗号化事業者公開鍵、暗号化事業者公開鍵証明書、暗号化サービスデータ）を、記憶手段６２に記憶されている秘密鍵で復号するものである。
このデータ復号手段６６１は、復号した検索結果のうち、事業者ＩＤ、事業者別識別情報、事業者公開鍵および事業者公開鍵証明書をユーザ情報暗号化手段６７に出力する。
【００６７】
ユーザ情報暗号化手段６７は、復号手段６６で復号された事業者公開鍵を用いて、事業者公開鍵証明書に記載されている公開鍵暗号方式（例えばＲＳＡ）により、ユーザＩＤと、事業者別識別情報とを暗号化するものである。なお、ユーザＩＤは、マッチングシステムで一意に特定できるユーザの識別情報であれば何でもよい。
ここで利用する公開鍵暗号方式は、安全な暗号方式であればどのような方式でもよく、例えばＲＳＡやＥｌＧａｍａｌ暗号方式を用いる。これらの暗号方式による暗号化は従来手法と同じであるため暗号化の詳細は省略する。
ユーザ情報暗号化手段６７は、事業者ＩＤと、事業者公開鍵で暗号化されたユーザＩＤおよび事業者別識別情報（暗号化ユーザＩＤおよび暗号化事業者別識別情報）とを、ユーザ情報送信手段６８に出力する。
【００６８】
ユーザ情報送信手段６８は、ユーザ情報暗号化手段６７で生成された暗号化ユーザＩＤと、暗号化事業者別識別番号とを、事業者ＩＤに対応するサービス事業者のユーザ情報取得装置２に送信するものである。なお、事業者ＩＤは、ユーザ情報取得装置２のアドレスそのものであってもよいし、事業者ＩＤとユーザ情報取得装置２のアドレスとが予め対応付けられて記憶手段６２に記憶されていることとしてもよい。
【００６９】
以上説明したようにユーザ情報通知装置６を構成することで、ユーザ情報通知装置６は、ユーザの個人情報である履歴データを秘匿したままで、クラウドサーバ上の暗号化データベースＤＢにおいてデータがキーワード検索され、キーワードに対応するデータのサービス事業者にユーザＩＤと事業者別識別情報とを暗号化して通知することができる。
なお、ユーザ情報通知装置６は、コンピュータを前記した各手段として機能させるためのユーザ情報通知プログラムで動作させることができる。
【００７０】
［マッチングシステムの動作］
次に、図６を参照（構成については、適宜図２，図３，図５参照）して、本発明の実施形態に係るマッチングシステムＳの動作について説明する。なお、ここでは、鍵生成装置１は、ＶＡＢＫＳ方式の公開鍵を生成してシステム上に公開しているものとする。また、ユーザ情報通知装置６は、ユーザの属性に応じて、鍵生成装置１から鍵情報（秘密鍵、公開鍵）を取得し、ユーザ情報取得装置２は、鍵情報生成手段２０により鍵情報（事業者秘密鍵、事業者公開鍵）を生成し、公開鍵認証局より事業者公開鍵の公開鍵証明書を取得しているものとする。さらに、ユーザ情報取得装置２は、データ（事業者ＩＤ、事業者別識別情報、インデックス、事業者公開鍵、事業者公開鍵証明書、サービスデータ）を、ポリシーを用いで暗号化し、データ記憶装置４は、その暗号化したデータと、検証データおよび検証鍵とを、暗号化データベースＤＢとして記憶しているものとする。
【００７１】
以下、ユーザの履歴データに基づいて、ユーザＩＤと、サービス事業者が提供するサービスを特定する情報（事業者別識別情報）とをマッチングさせる動作について説明する。
まず、ユーザ情報通知装置６は、以下のステップＳ１〜Ｓ３の動作を行う。
ステップＳ１において、検索トークン生成手段６３は、記憶手段６２に記憶されている履歴データからキーワードを取得する。ここでは、検索トークン生成手段６３は、キーワードとして、履歴データに含まれる商品名、番組名等を読み込む。
ステップＳ２において、検索トークン生成手段６３は、取得したキーワードと、記憶手段６２に記憶されている公開鍵と秘密鍵（トークン生成鍵を含む）とから、ＶＡＢＫＳ方式の検索トークンを生成する。なお、ＶＡＢＫＳ方式により、検索トークンには、キーワードおよびユーザの属性が暗号化された状態で含まれている。
ステップＳ３において、検索要求送信手段６４は、ステップＳ２で生成された検索トークンを、検索要求として、データ管理装置５に送信する。
【００７２】
次に、データ管理装置５は、以下のステップＳ４〜Ｓ８の動作を行う。
ステップＳ４において、検索要求受信手段５２は、ユーザ情報通知装置６から送信された検索要求（検索トークン）を受信する。
ステップＳ５において、検索手段５３のデータ検索手段５３０は、データ記憶装置４の記憶手段４１に記憶されている暗号化データベースＤＢにおいて、レコードごとに、暗号化インデックスに含まれるポリシーと、検索トークンに含まれるユーザの属性とにより、ユーザが検索可能なユーザであるか否かを判定する。
【００７３】
ここで、ユーザの属性がポリシーを満たす場合（ステップＳ５でＹｅｓ）、ステップＳ６において、データ検索手段５３０は、検索トークンに含まれるキーワードが、暗号化インデックスに含まれるレコードか否かを判定する。
ここで、キーワードが暗号化インデックスに含まれる場合（ステップＳ６でＹｅｓ）、ステップＳ７において、データ読出手段５３１は、当該レコードを暗号化データベースＤＢから読み出す。そして、データ管理装置５は、ステップＳ８に動作を進める。なお、ステップＳ５において、ユーザの属性がポリシーを満たさない場合（ステップＳ５でＮｏ）、ステップＳ６において、キーワードが暗号化インデックスに含まれない場合（ステップＳ６でＮｏ）に、データ管理装置５は、ステップＳ８に動作を進める。
ステップＳ８において、検索手段５３は、暗号化データベースＤＢのすべてのレコードにおいて検索を行ったか否かを判定する。
【００７４】
ここで、まだ、未検索のレコードが存在する場合（ステップＳ８でＮｏ）、データ管理装置５は、ステップＳ５に戻って、次のレコードについて、検索を継続する。一方、すべてのレコードにおいて検索を行った場合（ステップＳ８でＹｅｓ）、ステップＳ９において、検索結果送信手段５４は、ステップＳ７で読み出したすべてのレコードを検索結果として、ユーザ情報通知装置６に送信する。
【００７５】
次に、ユーザ情報通知装置６は、以下のステップＳ１０〜Ｓ１４の動作を行う。
ステップＳ１０において、検索結果受信手段６５は、ステップＳ９でデータ管理装置５から送信された検索結果を受信する。
【００７６】
ステップＳ１１において、復号手段６６の検索結果検証手段６６０は、ステップＳ１０で受信した検索結果（暗号化公開用データ）に付加されている電子署名を、ステップＳ１０で受信した検索結果に含まれている検証鍵で検証する。さらに、検索結果検証手段６６０は、検索結果に含まれている検証データに基づいて、暗号化公開用データが、要求した検索トークンに対応する検索結果であるか否かについて、ＶＡＢＫＳ方式の検証を行う。ここで、検証に失敗した場合、ユーザ情報通知装置６は動作を終了する（ステップとして図示せず）。
【００７７】
ステップＳ１２において、復号手段６６のデータ復号手段６６１は、検証に成功した暗号化公開用データを、記憶手段６２に記憶されている秘密鍵で復号する。ただし、データ復号手段６６１は、暗号化公開用データに含まれるポリシーについて、ユーザの属性が満たして場合だけ復号を行う。
これによって、     ユーザの履歴データに対応する暗号化検索用データおよび暗号化事業者公開鍵データ（図４参照）が復号される。
また、ユーザの履歴データに対応する暗号化サービスデータがサービスデータとして復号されるため、ユーザは、嗜好に合ったサービスデータを利用することができる。
【００７８】
ステップＳ１３において、ユーザ情報暗号化手段６７は、ユーザＩＤと、ステップＳ１２で復号された暗号化検索用データのうちの事業者別識別番号とを、同じく復号された事業者公開鍵で暗号化する。このとき、ユーザ情報暗号化手段６７は、復号された事業者公開鍵証明書に記載されている暗号化方式によって、暗号化を行う。
ステップＳ１４において、ユーザ情報送信手段６８は、ステップＳ１３で暗号化した暗号化ユーザＩＤおよび暗号化事業者別識別番号を暗号化ユーザ情報として、ユーザ情報取得装置２に送信する。
【００７９】
次に、ユーザ情報取得装置２は、以下のステップＳ１５，Ｓ１６の動作を行う。
ステップＳ１５において、ユーザ情報受信手段２５は、ユーザ情報通知装置６から送信された暗号化ユーザ情報（暗号化ユーザＩＤおよび暗号化事業者別識別番号）を受信する。
ステップＳ１６において、ユーザ情報復号手段２６は、ステップＳ１５で受信した暗号化ユーザＩＤおよび暗号化事業者別識別番号を、鍵情報生成手段２０で生成された事業者秘密鍵で復号し、ユーザＩＤおよび事業者別識別情報を取得する。
【００８０】
以上の動作によって、ユーザ情報通知装置６は、ユーザの履歴データに応じて、ユーザＩＤを暗号化した状態で、ユーザ情報取得装置２に送信することができる。
また、以上の動作によって、ユーザ情報取得装置２は、ユーザの個人情報（履歴データ）を保護した状態で、サービス事業者が提供したデータを利用したユーザのユーザＩＤを取得することができ、サービス事業者が提供するサービスにマッチングしたユーザを特定することが可能になる。
【００８１】
以上、本発明の実施形態について説明したが、本発明は、この実施形態に限定されるものではない。
例えば、ユーザ情報取得装置２から、暗号化手段２３を分離して構成してもよい。
図７に、ユーザ情報取得装置２から、暗号化手段２３を分離したユーザ情報取得装置２Ｂおよび暗号化装置７の構成を示す。
ユーザ情報取得装置２Ｂは、ユーザ情報取得装置２の暗号化手段２３およびデータ送信手段２４の代わりに事業者公開鍵送信手段２７を備えて構成している。
事業者公開鍵送信手段２７は、ネットワークを介して、暗号化装置７に、事業者公開鍵と事業者公開鍵証明書とを送信するものである。
事業者公開鍵送信手段２７は、鍵情報生成手段２０で生成された事業者公開鍵と、公開鍵証明書受信手段２２で受信した事業者公開鍵証明書とを暗号化装置７に送信する。
【００８２】
暗号化装置７は、事業者公開鍵受信手段７０と、暗号化手段７１と、データ送信手段７２と、を備える。
事業者公開鍵受信手段７０は、ネットワークを介して、ユーザ情報取得装置２Ｂから、事業者公開鍵と事業者公開鍵証明書とを受信するものである。
事業者公開鍵受信手段７０は、受信した事業者公開鍵と事業者公開鍵証明書とを、暗号化手段７１に出力する。
【００８３】
暗号化手段７１およびデータ送信手段７２は、図２で説明したユーザ情報取得装置２の暗号化手段２３およびデータ送信手段２４と同じものである。
また、データ記憶装置４とデータ管理装置５とを一体化してデータ管理装置を構成してもよい（不図示）。
【符号の説明】
【００８４】
Ｓ      マッチングシステム
１      鍵生成装置
２，２Ｂ  ユーザ情報取得装置
２０    鍵情報生成手段
２１    公開鍵証明書要求手段
２２    公開鍵証明書受信手段
２３    暗号化手段
２４    データ送信手段
２５    ユーザ情報受信手段
２６    ユーザ情報復号手段
２７    事業者公開鍵送信手段
３      データ転送装置
４      データ記憶装置
４０    データ受信手段
４１    記憶手段
５      データ管理装置
５０    公開鍵受信手段
５１    記憶手段
５２    検索要求受信手段
５３    検索手段
５３０  データ検索手段
５３１  データ読出手段
５４    検索結果送信手段
６      ユーザ情報通知装置
６０    属性送信手段
６１    鍵情報受信手段
６２    記憶手段
６３    検索トークン生成手段
６４    検索要求送信手段
６５    検索結果受信手段
６６    復号手段
６６０  検索結果検証手段
６６１  データ復号手段
６７    ユーザ情報暗号化手段
６８    ユーザ情報送信手段
７      暗号化装置
７０    事業者公開鍵受信手段
７１    暗号化手段
７２    データ送信手段
ＤＢ    暗号化データベース（データベース）
【図１】
2020187247.tif 000003
【図２】
2020187247.tif 000004
【図３】
2020187247.tif 000005
【図４】
2020187247.tif 000006
【図５】
2020187247.tif 000007
【図６】
2020187247.tif 000008
【図７】
2020187247.tif 000009