(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-22
(45)【発行日】2022-10-03
(54)【発明の名称】ユーザ情報管理装置、ユーザ情報登録装置、ユーザ情報取得装置およびそれらのプログラム
(51)【国際特許分類】
G06F 16/735 20190101AFI20220926BHJP
G06F 16/78 20190101ALI20220926BHJP
H04L 9/32 20060101ALI20220926BHJP
【FI】
G06F16/735
G06F16/78
H04L9/32 200Z
(21)【出願番号】P 2018173262
(22)【出願日】2018-09-18
【審査請求日】2021-09-09
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】梶田 海成
(72)【発明者】
【氏名】大竹 剛
(72)【発明者】
【氏名】小川 一人
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】再公表特許第2016/129259(JP,A1)
【文献】特開2017-168130(JP,A)
【文献】米国特許出願公開第2016/0132692(US,A1)
【文献】大竹 剛、外2名,委託可能な属性ベース検索可能暗号の実装評価,2018年 暗号と情報セキュリティシンポジウム(SCIS2018)予稿集 [USB] 2018年 暗号と情報セキュリティシンポジウム概要集,日本,一般社団法人電子情報通信学会,2018年02月13日,p.1-8
【文献】大竹 剛、外2名,検証可能な属性ベース検索可能暗号の効率化に関する検討,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2017年03月02日,第116巻,第505号,p.195-202
【文献】大竹 剛、外2名,委託先の攻撃に対して耐性のある委託可能な属性ベース暗号,SCIS2016,日本,電子情報通信学会,2016年01月19日,p.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
H04L 9/30- 9/40
(57)【特許請求の範囲】
【請求項1】
属性が予め定めたポリシーを満たす場合のみ検索対象を検索可能な属性ベース検索可能暗号方式で検索対象履歴データを暗号化した暗号化検索対象履歴データとユーザ情報とを対応付けた暗号化データベースを用いて、サービス事業者が提供するサービスと当該サービスを享受するユーザとをマッチングさせるユーザ情報管理装置であって、
ユーザ側のユーザ情報登録装置から、前記ユーザの属性と前記ユーザの履歴データに含まれるキーワードとにより生成された前記属性ベース検索可能暗号方式のユーザ用検索トークンとユーザ情報とを登録要求として受信する登録要求受信手段と、
前記ユーザの属性が前記ポリシーを満たす場合に、前記暗号化データベースにおいて、前記ユーザ用検索トークンに対応する前記暗号化検索対象履歴データを検索し、対応するレコードに、前記ユーザ情報を登録する登録手段と、
サービス事業者側のユーザ情報取得装置から、前記サービス事業者の属性と指定したキーワードとにより生成された前記属性ベース検索可能暗号方式の事業者用検索トークンを検索要求として受信する検索要求受信手段と、
前記サービス事業者の属性が前記ポリシーを満たす場合に、前記暗号化データベースにおいて、前記事業者用検索トークンに対応する前記暗号化検索対象履歴データを検索し、対応するレコードから前記ユーザ情報を読み出す検索手段と、
前記暗号化データベースから読み出した前記ユーザ情報を、前記ユーザ情報取得装置に送信する検索結果送信手段と、
を備えることを特徴とするユーザ情報管理装置。
【請求項2】
前記検索対象履歴データは、放送番組の番組情報であって、前記履歴データは、前記ユーザが視聴した放送番組の番組情報であることを特徴とする請求項1に記載のユーザ情報管理装置。
【請求項3】
請求項1または請求項2に記載のユーザ情報管理装置に、ユーザ情報の登録を要求するユーザ情報登録装置であって、
ユーザの属性と履歴データに含まれるキーワードとを含んだ属性ベース検索可能暗号方式のユーザ用検索トークンを生成する検索トークン生成手段と、
前記ユーザ用検索トークンとユーザ情報とを登録要求として前記ユーザ情報管理装置に送信する登録要求送信手段と、
を備えることを特徴とするユーザ情報登録装置。
【請求項4】
請求項1または請求項2に記載のユーザ情報管理装置から、指定されたキーワードに対応するユーザ情報を取得するユーザ情報取得装置であって、
サービス事業者の属性と前記指定されたキーワードとを含んだ属性ベース検索可能暗号方式の事業者用検索トークンを生成する検索トークン生成手段と、
前記事業者用検索トークンを検索要求として前記ユーザ情報管理装置に送信する検索要求送信手段と、
前記検索要求に対する検索結果として、前記キーワードに対応するユーザ情報を前記ユーザ情報管理装置から受信する検索結果受信手段と、
を備えることを特徴とするユーザ情報取得装置。
【請求項5】
コンピュータを、請求項1または請求項2に記載のユーザ情報管理装置として機能させるためのユーザ情報管
理プログラム。
【請求項6】
コンピュータを、請求項3に記載のユーザ情報登録装置として機能させるためのユーザ情報登録プログラム。
【請求項7】
コンピュータを、請求項4に記載のユーザ情報取得装置として機能させるためのユーザ情報取得プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの個人情報を保護して、サービス事業者が提供するサービスと当該サービスを享受したいユーザとをマッチングさせるユーザ情報管理装置、ユーザ情報登録装置、ユーザ情報取得装置およびそれらのプログラムに関する。
【背景技術】
【0002】
現在、放送と通信とを融合させた放送通信連携サービスにより、様々な機器(IoT〔Internet of Things〕機器等)がテレビと繋がり、新しいサービスを提供することが可能になっている。例えば、2013年9月よりHybridcast(登録商標)と呼ばれる放送通信連携サービスが開始されている(非特許文献1参照)。
この放送通信連携サービスの1つとして、例えば、ユーザの視聴した放送番組の視聴履歴に基づいて、サービス事業者が、ユーザの嗜好に合わせたお勧め番組等をレコメンドとして提供するレコメンドサービスがある。
【0003】
このようなサービスを実用化するための重要な課題の一つが、視聴履歴(履歴データ)等の個人情報の保護である。
個人情報の保護は、CRYPTREC(Cryptography Research and Evaluation Committees)が推奨する公開鍵暗号方式のRSA暗号、共通鍵暗号方式のAES等の暗号アルゴリズムを用いて個人情報を暗号化することで実現することができる。
【0004】
しかし、これらの暗号アルゴリズムを用いた場合、ユーザとサービス事業者とが1対1に対応し、同一システム上において、1つの暗号化鍵に対して暗号文を復号する復号鍵は1つとなる。その場合、サービス事業者は、ユーザごとに異なる鍵を所有しなければならないため、大容量のストレージが必要となる。また、サービス事業者は、ユーザごとに鍵を使い分ける必要があるため、効率が悪いという問題がある。
【0005】
そこで、近年では、サービス事業者側で鍵を使い分ける必要がなく、視聴者のプライバシを保護したままで、個人情報を利用または活用する暗号方式が種々提案されている。
例えば、データ(個人情報等)を暗号化したままでキーワードによる検索を可能とし、検索結果の正当性を検証することが可能な属性ベース検索可能暗号(VABKS:Verifiable Attribute-Based Keyword Search)方式である(非特許文献2参照)。このVABKS方式は、属性ベース暗号(ABE:Attribute-Based Encryption)方式が元となっており(非特許文献3参照)、秘密鍵や暗号文にユーザの属性(居住地、性別、年齢、会員種別等)を関連付け、復号条件(ポリシー)を満たすユーザのみが暗号文を復号することが可能な暗号方式である。
【0006】
さらに、VABKS方式の暗号化処理の一部をクラウドサーバに委託したVABKS委託方式が提案されている(非特許文献4参照)。
また、検索結果の正当性を検証する機能を有していない属性ベース検索可能暗号(ABKS:Attribute-Based Keyword Search)方式(非特許文献2参照)、ABKS方式の暗号化処理の一部をクラウドサーバに委託したABKS委託方式等も提案されている(非特許文献4参照)。
【先行技術文献】
【非特許文献】
【0007】
【文献】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.
【発明の概要】
【発明が解決しようとする課題】
【0008】
従来提案されているVABKS方式の暗号方式を用いた手法は、個人情報を暗号化したままでキーワードによる検索を可能とし、そのキーワードに合致したユーザにサービスを提供することができる。
例えば、従来の手法は、あるユーザの個人情報である履歴データ(視聴履歴)を暗号化した状態で取得し、商品名(キーワード)でその商品が登場した番組の視聴の有無を検索することができる。そして、従来手法は、ユーザがその商品が登場した番組を視聴した場合に、ユーザに当該商品に関連するレコメンド情報を提供することができる。
【0009】
このように、従来の手法では、個人情報を暗号化したままでキーワード検索が可能であるが、サービス事業者は、複数のユーザを対象としてサービスを提供するためには、すべてのユーザの履歴データから、当該サービスに関心のあるユーザを特定しなければならず、極めて効率が悪い。
そのため、サービス事業者が提供するサービスと当該サービスを享受したいユーザとを効率よくマッチングさせる手法が望まれていた。
【0010】
本発明は、このような問題や要望に鑑みてなされたものであり、個人情報である履歴データを保護しつつ、サービス事業者が提供するサービスと当該サービスを享受したいユーザとを効率よくマッチングさせるユーザ情報管理装置、ユーザ情報登録装置、ユーザ情報取得装置およびそれらのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0011】
前記課題を解決するため、本発明に係るユーザ情報管理装置は、属性が予め定めたポリシーを満たす場合のみ検索対象を検索可能な属性ベース検索可能暗号方式で検索対象履歴データを暗号化した暗号化検索対象履歴データとユーザ情報とを対応付けた暗号化データベースを用いて、サービス事業者が提供するサービスと当該サービスを享受するユーザとをマッチングさせるユーザ情報管理装置であって、登録要求受信手段と、登録手段と、検索要求受信手段と、検索手段と、検索結果送信手段と、を備える構成とした。
【0012】
かかる構成において、ユーザ情報管理装置は、登録要求受信手段によって、ユーザ側のユーザ情報登録装置から、ユーザの属性とユーザの履歴データに含まれるキーワードとにより生成された属性ベース検索可能暗号方式のユーザ用検索トークンとユーザ情報とを登録要求として受信する。ユーザの属性は、検索条件を示すポリシーに対応したユーザを区分するための個別情報である。また、履歴データは、ユーザの番組の視聴履歴、商品の購入履歴等の番組や商品を示すキーワードであって、番組名、出演者、商品名等である。
そして、ユーザ情報管理装置は、登録手段によって、ユーザの属性がポリシーを満たす場合に、暗号化データベースにおいて、ユーザ用検索トークンに対応する暗号化検索対象履歴データを検索し、対応するレコードに、ユーザ情報を登録する。これによって、ユーザ情報管理装置は、ユーザの履歴データを暗号化したままで検索して、対応する履歴データのレコードにユーザ情報を追加登録することができる。
【0013】
また、ユーザ情報管理装置は、検索要求受信手段によって、サービス事業者側のユーザ情報取得装置から、サービス事業者の属性と指定したキーワードとにより生成された属性ベース検索可能暗号方式の事業者用検索トークンを検索要求として受信する。サービス事業者の属性は、検索条件を示すポリシーに対応したサービス事業者を区分するための個別情報である。
そして、ユーザ情報管理装置は、検索手段によって、サービス事業者の属性がポリシーを満たす場合に、暗号化データベースにおいて、事業者用検索トークンに対応する暗号化履歴対象データを検索し、対応するレコードからユーザ情報を読み出す。これによって、ユーザ情報管理装置は、ユーザの履歴データを暗号化したままで検索して、対応するユーザ情報を暗号化データベースから読み出すことができる。
【0014】
そして、ユーザ情報管理装置は、検索結果送信手段によって、暗号化データベースから読み出したユーザ情報を、サービス事業者側のユーザ情報取得装置に送信する。
これによって、ユーザ情報管理装置は、履歴データを保護しつつ、検索の属性を有するサービス事業者にキーワードに対応するユーザ情報を提供することができる。
【0015】
また、前記課題を解決するため、本発明に係るユーザ情報登録装置は、ユーザ情報管理装置に、ユーザ情報の登録を要求するユーザ情報登録装置であって、検索トークン生成手段と、登録要求送信手段と、を備える構成とした。
【0016】
かかる構成において、ユーザ情報登録装置は、検索トークン生成手段によって、ユーザの属性と履歴データに含まれるキーワードとを含んだ属性ベース検索可能暗号方式のユーザ用検索トークンを生成する。これによって、ユーザ用検索トークンには、暗号化データベースを検索するための属性とキーワードとが含まれる。
そして、ユーザ情報登録装置は、登録要求送信手段によって、ユーザ用検索トークンとユーザ情報とを登録要求としてユーザ情報管理装置に送信する。
これによって、ユーザ情報登録装置は、暗号化データベースにおいて、履歴データに対応してユーザ情報を登録することができる。
【0017】
また、前記課題を解決するため、本発明に係るユーザ情報取得装置は、ユーザ情報管理装置から、指定されたキーワードに対応するユーザ情報を取得するユーザ情報取得装置であって、検索トークン生成手段と、検索要求送信手段と、検索結果受信手段と、を備える構成とした。
【0018】
かかる構成において、ユーザ情報取得装置は、検索トークン生成手段によって、サービス事業者の属性と指定されたキーワードとを含んだ属性ベース検索可能暗号方式の事業者用検索トークンを生成する。これによって、事業者用検索トークンには、暗号化データベースを検索するための属性とキーワードとが含まれる。
そして、ユーザ情報取得装置は、検索要求送信手段によって、事業者用検索トークンを検索要求としてユーザ情報管理装置に送信する。
そして、ユーザ情報取得装置は、検索結果受信手段によって、検索要求に対する検索結果として、キーワードに対応するユーザ情報をユーザ情報管理装置から受信する。
これによって、ユーザ情報取得装置は、履歴データを介して、サービス事業者が提供するサービスに、関心や興味を持つユーザ情報を取得することができる。
【0019】
なお、ユーザ情報管理装置、ユーザ情報登録装置およびユーザ情報取得装置は、それぞれ、コンピュータを、前記した各手段として機能させるためのプログラムで動作させることができる。
【発明の効果】
【0020】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、サービス事業者が指定する履歴データと合致する履歴を持つユーザを特定することができ、履歴データを介して効率的に、サービス事業者が提供するサービスと当該サービスを享受したいユーザとをマッチングさせることができる。
また、本発明によれば、属性ベース検索可能暗号方式で履歴データを暗号化したまま検索することができるため、個人情報である履歴データを保護することができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の実施形態に係るマッチングシステムの全体構成を示すシステム構成図である。
【
図2】
図1のマッチングシステムのクラウドサーバを構成するデータ記憶装置およびユーザ情報管理装置の各構成を示すブロック図である。
【
図3】暗号化データベースの構造を示すデータ構造図である。
【
図4】
図1のユーザ情報登録装置の構成を示すブロック図である。
【
図5】
図1のユーザ情報取得装置の構成を示すブロック図である。
【
図6】本発明の実施形態に係るマッチングシステムの視聴履歴によるユーザ情報の登録動作を示すフローチャートである。
【
図7】本発明の実施形態に係るマッチングシステムのユーザ情報の取得動作を示すフローチャートである。
【
図8】本発明の実施形態に係るマッチングシステムの他の構成を示すシステム構成図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について図面を参照して説明する。
[マッチングシステムの構成]
まず、
図1を参照して、本発明の実施形態に係るマッチングシステムSの構成について説明する。
【0023】
マッチングシステムSは、ユーザの個人情報である履歴データ(ここでは、視聴履歴)を保護して、サービス事業者が提供するサービスとユーザとをマッチングさせるものである。
このマッチングシステムSは、視聴履歴により、ユーザが視聴した番組に固有のユーザ情報であるユーザIDを対応付ける。そして、マッチングシステムSは、サービス事業者が提供するサービスに関連する番組の視聴ユーザのユーザIDをサービス事業者が取得することで、サービスとユーザとをマッチングさせる。
【0024】
ここでは、マッチングシステムSは、鍵生成装置1と、暗号化装置2と、データ記憶装置3と、ユーザ情報管理装置4と、ユーザ情報登録装置5と、ユーザ情報取得装置6と、を備える。なお、これらの各装置は、図示を省略したネットワークを介して接続される。また、ここでは、説明を簡略化するため、ユーザ側の装置であるユーザ情報登録装置5、および、サービス事業者側の装置であるユーザ情報取得装置6を、それぞれ1台だけ図示しているが、複数台ネットワークに接続することとしてもよい。
【0025】
このマッチングシステムSは、個人情報であるユーザの視聴履歴を保護するための暗号化処理として、データを暗号化したままでキーワードによる検索が可能で検索結果の正当性を検証することが可能な属性ベース検索可能暗号方式(検証可能属性ベース検索可能暗号方式〔VABKS方式〕)を用いることとする。
【0026】
(鍵生成装置)
鍵生成装置1は、VABKS方式の暗号化処理に用いる公開鍵および秘密鍵を生成するものである。この鍵生成装置1は、マッチングシステムSを管理するシステム管理者の装置である。
【0027】
公開鍵は、暗号化装置2、ユーザ情報管理装置4、ユーザ情報登録装置5およびユーザ情報取得装置6に対して公開される共通の情報である。ここでは、鍵生成装置1は、ネットワークを介して、暗号化装置2、ユーザ情報管理装置4、ユーザ情報登録装置5およびユーザ情報取得装置6に公開鍵を送信する。
秘密鍵は、ユーザ情報登録装置5およびユーザ情報取得装置6に対してそれぞれの秘密情報として送信される個別の情報である。
【0028】
ここでは、鍵生成装置1は、ユーザ情報登録装置5から通知される属性から公開鍵と秘密鍵とを生成し、ユーザ情報登録装置5に送信する。
ユーザ情報登録装置5から通知される属性は、ユーザを区分するための個別情報であって、例えば、サービスを有料とした場合、料金を支払った会員であるか否かを示す会員種別の情報である。なお、ユーザ情報登録装置5に送信する秘密鍵には、個々のユーザに対応して、検索トークン(ユーザ用検索トークン)を生成するためのトークン生成鍵が含まれる。
【0029】
また、鍵生成装置1は、ユーザ情報取得装置6から通知される属性から公開鍵と秘密鍵とを生成し、ユーザ情報取得装置6に送信する。
ユーザ情報取得装置6から通知される属性は、サービス事業者を区分するための個別情報であって、例えば、認定を受けたサービス事業者であるか否かを示す事業者種別の情報である。なお、ユーザ情報取得装置6に送信する秘密鍵には、個々のサービス事業者に対応して、検索トークン(事業者用検索トークン)を生成するためのトークン生成鍵と、暗号化ユーザID(暗号化されたユーザ情報)を復号するための復号鍵とが含まれる。
【0030】
鍵生成装置1は、マッチングシステムSを構築する際に、最初に、公開鍵を生成し、ユーザを登録する際に、ユーザごとに秘密鍵を生成し、サービス事業者を登録する際に、サービス事業者ごとに秘密鍵を生成する。
なお、鍵生成装置1における公開鍵および秘密鍵の生成手法は、従来のVABKS方式と同じであるため、ここでは説明を省略する。
【0031】
(暗号化装置)
暗号化装置2は、VABKS方式により、番組データ(放送番組の番組情報)と、当該番組データを検索するためのインデックスとを、ポリシーを用いて暗号化するものである。この暗号化装置2は、放送番組の各種情報を所有する番組データ所有者(例えば、放送局等)の装置である。
【0032】
番組データは、過去に放送した番組の情報である。例えば、番組データは、○月○日○時、番組名○○、出演者○○、…といった番組を特定する情報、番組の内容を記載した情報等である。
インデックスは、番組データを検索するための情報(キーワード)である。例えば、インデックスは、番組データに含まれる番組名、出演者等である。
なお、番組データおよびインデックスは、検索対象の履歴データ(検索対象履歴データ)となる情報である。
【0033】
ポリシーは、暗号化された番組データ(暗号化番組データ)を復号ための条件や、履歴データを検索するための条件を示す情報である。すなわち、ポリシーは、ある属性のユーザおよびサービス事業者に対して復号、検索の許可を与えるか否かを示す情報である。例えば、属性が、料金を支払った会員であるユーザ、または、認定を受けたサービス事業者である場合に、そのユーザまたはサービス事業者に対して復号、検索の許可を示す情報である。
【0034】
なお、マッチングシステムSでは、暗号化装置2が暗号化番組データを生成する際に設定するポリシーと、ユーザ情報登録装置5(ユーザID暗号化手段55)が暗号化ユーザIDを生成する際に設定するポリシーとの2種類を用いる。
暗号化装置2が設定するポリシーは、暗号化番組データを復号する必要はないため、検索条件を示すもの(検索ポリシー)とする。ユーザ情報登録装置5(ユーザID暗号化手段55)が設定するポリシーは、暗号化ユーザIDを検索する必要はないため、復号条件を示すもの(復号ポリシー)とする。
【0035】
暗号化装置2は、検索対象履歴データ(番組データ、インデックス)を暗号化して、暗号化検索対象履歴データ(暗号化番組データ、暗号化インデックス)を生成する。
すなわち、暗号化装置2は、公開鍵とポリシーとにより、番組データを暗号化して、暗号化番組データを生成する。この暗号化番組データにはポリシーが含まれる。
また、暗号化装置2は、公開鍵とポリシーとにより、インデックスを暗号化して、暗号化インデックスを生成するとともに、検索結果の検証を行うための検証鍵と検証用データとを生成する。この暗号化インデックスにはポリシーが含まれる。
【0036】
また、暗号化装置2は、暗号化番組データに電子署名を付加し、ユーザ情報取得装置6に、電子署名を検証するための検証鍵を送信する。
なお、暗号化装置2における暗号化手法は、従来のVABKS方式と同じであるため、ここでは説明を省略する。
この暗号化装置2は、番組ごとに生成した暗号化番組データ、暗号化インデックスおよび検証用データを、ネットワークを介して、クラウドサーバ上のデータ記憶装置3に送信する。
【0037】
(データ記憶装置およびユーザ情報管理装置)
データ記憶装置3およびユーザ情報管理装置4は、クラウドサーバ上の装置である。なお、ここでは、データ記憶装置3およびユーザ情報管理装置4は、ローカルに接続されているものとする。
【0038】
データ記憶装置3は、暗号化装置2で生成された番組ごとの暗号化検索対象履歴データ(暗号化番組データ、暗号化インデックス)および検証用データを、暗号化データベースDBとして記憶する。暗号化データベースDBは、ユーザ情報管理装置4によって、番組データが暗号化されたままで検索される。また、暗号化データベースDBは、ユーザ情報管理装置4によって、番組を視聴したユーザを示す暗号化ユーザID(ユーザ情報)が暗号化検索対象履歴データに対応して記録される。
【0039】
ユーザ情報管理装置4は、ユーザが視聴した番組をデータ記憶装置3から検索し、対応する暗号化検索対象履歴データに暗号化ユーザID(ユーザ情報)を登録するとともに、サービス事業者が要求する番組を視聴したユーザの暗号化ユーザIDを検索するものである。
【0040】
ここで、
図2を参照して、クラウドサーバ(データ記憶装置3およびユーザ情報管理装置4)の構成について説明する。
(データ記憶装置)
図2に示すように、データ記憶装置3は、データ受信手段30と、記憶手段31と、を備える。
【0041】
データ受信手段30は、暗号化装置2で生成された暗号化検索対象履歴データ(暗号化番組データ、暗号化インデックス)および検証用データを受信するものである。ここでは、データ受信手段30は、ネットワークを介して、暗号化検索対象履歴データおよび検証用データを受信し、記憶手段31に書き込み記憶する。
【0042】
記憶手段31は、データ受信手段30で受信した暗号化検索対象履歴データ(暗号化番組データ、暗号化インデックス)および検証用データを暗号化データベースDBとして記憶するものである。
【0043】
暗号化データベースDBは、暗号化装置2で生成された暗号化検索対象履歴データ(暗号化番組データ、暗号化インデックス)および検証用データ、ならびに、番組を視聴したユーザの暗号化ユーザID(ユーザ情報)を番組ごとに記憶したデータベースである。
暗号化データベースDBは、
図3に示すように、レコードR1,R2,…Rn(nは1以上の整数)ごとに、番組情報としての暗号化番組データ、暗号化インデックスおよび検証データ、ならびに、ユーザ情報としての暗号化ユーザIDが記録される。なお、レコードR1,R2,…Rnは、暗号化ユーザIDの登録数に応じた可変長レコードである。
この暗号化データベースDBは、ユーザ情報管理装置4の登録手段43および検索手段44によって、番組情報が検索され、登録手段43によって暗号化ユーザID(ユーザ情報)が登録される。
【0044】
(ユーザ情報管理装置)
図2に示すように、ユーザ情報管理装置4は、公開鍵受信手段40と、公開鍵記憶手段41と、要求受信手段42と、登録手段43と、検索手段44と、検索結果送信手段45と、を備える。
【0045】
公開鍵受信手段40は、鍵生成装置1で生成されたVABKS方式の公開鍵を受信するものである。ここでは、公開鍵受信手段40は、ネットワークを介して、公開鍵を受信し、受信した公開鍵を公開鍵記憶手段41に書き込み記憶する。
【0046】
公開鍵記憶手段41は、公開鍵受信手段40で受信した公開鍵を記憶するものである。この公開鍵記憶手段41は、半導体メモリ等の一般的な記憶媒体で構成することができる。この公開鍵記憶手段41に記憶された公開鍵は、登録手段43および検索手段44によって読み出される。
【0047】
要求受信手段42は、ユーザ情報登録装置5から送信される登録要求、および、ユーザ情報取得装置6から送信される検索要求を、ネットワークを介して受信するものである。
ユーザ情報登録装置5から送信される登録要求には、暗号化データベースDBの番組情報を検索するための履歴データ(具体的には、番組データのインデックス)をキーワードとした検索トークン(ユーザ用検索トークン)と、登録用の暗号化ユーザIDが含まれている。
ユーザ情報取得装置6から送信される検索要求には、暗号化データベースDBの番組情報を検索するための履歴データ(具体的には、番組データのインデックス)をキーワードとした検索トークン(事業者用検索トークン)が含まれている。
【0048】
ユーザ用検索トークンは、VABKS方式において、秘密鍵と、公開鍵と、キーワードと、ユーザの属性とにより生成されるものである。すなわち、ユーザ用検索トークンには、キーワードおよびユーザの属性を示す情報が含まれている。
事業者用検索トークンは、VABKS方式において、秘密鍵と、公開鍵と、キーワードと、サービス事業者の属性とにより生成されるものである。すなわち、事業者用検索トークンには、キーワードおよびサービス事業者の属性を示す情報が含まれている。
要求受信手段42は、ユーザ情報登録装置5から登録要求を受信した場合、当該登録要求に含まれるユーザ用検索トークンおよび暗号化ユーザIDを登録手段43に出力する。
また、要求受信手段42は、ユーザ情報取得装置6から検索要求を受信した場合、当該検索要求に含まれる事業者用検索トークンを検索手段44に出力する。
【0049】
登録手段43は、ユーザ用検索トークンに対応する番組を暗号化データベースDBにおいて検索し、検索したレコードに暗号化ユーザID(ユーザ情報)を追加登録するものである。ここでは、登録手段43は、番組検索手段430と、ユーザID追加手段431と、を備える。
【0050】
番組検索手段430は、暗号化データベースDBにおいてユーザ用検索トークンに対応する番組を検索するものである。
この番組検索手段430は、暗号化データベースDBの番組(レコード)ごとに、暗号化インデックスに含まれるポリシーと、ユーザ用検索トークンに含まれるユーザの属性とにより、ユーザが検索可能なユーザであるか否かを判定する。
そして、番組検索手段430は、ユーザの属性がポリシーを満たすと判定された番組(レコード)について、ユーザ用検索トークン(キーワード)に対応する番組を検索する。なお、番組検索手段430は、公開鍵を用いて、VABKS方式による検索を行うことで、番組データを暗号化したままで、キーワードによる検索を行うことができる。
この番組検索手段430は、検索した番組(レコード)を識別する番号(レコード番号)と暗号化ユーザIDとをユーザID追加手段431に出力する。
なお、番組検索手段430は、検索結果が複数のレコードである場合、そのすべてのレコード番号をユーザID追加手段431に出力する。
【0051】
ユーザID追加手段431は、番組検索手段430で検索された暗号化データベースDBのレコードに、暗号化ユーザIDを追加するものである。
これによって、登録手段43は、暗号化データベースDBにおいて、ユーザ用検索トークンに対応する番組を暗号化したままで検索し、暗号化ユーザIDを追加することができ、ユーザの視聴履歴を暗号化データベースDBに反映することができる。
【0052】
検索手段44は、事業者用検索トークンに対応する番組を暗号化データベースDBにおいて検索し、検索したレコードに登録されている暗号化ユーザID(ユーザ情報)を取得するものである。ここでは、検索手段44は、番組検索手段440と、ユーザID読出手段441と、を備える。
【0053】
番組検索手段440は、暗号化データベースDBにおいて事業者用検索トークンに対応する番組を検索するものである。
この番組検索手段440は、暗号化データベースDBの番組(レコード)ごとに、暗号化インデックスに含まれるポリシーと、事業者用検索トークンに含まれるサービス事業者の属性とにより、サービス事業者が検索可能なサービス事業者であるか否かを判定する。
そして、番組検索手段440は、サービス事業者の属性がポリシーを満たすと判定された番組(レコード)について、サービス事業者用検索トークン(キーワード)に対応する番組を検索する。なお、番組検索手段440は、公開鍵を用いて、VABKS方式による検索を行うことで、番組データを暗号化したままで、キーワードによる検索を行うことができる。
この番組検索手段440は、検索した番組(レコード)の識別番号(レコード番号)をユーザID読出手段441に出力する。
なお、番組検索手段440は、検索結果が複数のレコードである場合、そのすべてのレコード番号をユーザID読出手段441に出力する。
【0054】
ユーザID読出手段441は、番組検索手段440で検索された暗号化データベースDBのレコードから、暗号化ユーザIDを読み出すものである。
なお、ここでは、ユーザID読出手段441は、暗号化ユーザID以外にも、暗号化番組データおよび検証用データを暗号化データベースDBのレコードから読み出すこととする。暗号化番組データおよび検証用データは、ユーザ情報取得装置6において、検索結果が、事業者用検索トークンに対応するものであることを検証するためのデータである。
ユーザID読出手段441は、読み出した暗号化番組データ、検証用データおよび暗号化ユーザIDを、検索結果送信手段45に出力する。
これによって、検索手段44は、暗号化データベースDBにおいて、事業者用検索トークンに対応する番組を暗号化したままで検索し、暗号化ユーザIDを読み出すことができる。
【0055】
検索結果送信手段45は、検索手段44で検索された検索結果である暗号化番組データ、検証用データおよび暗号化ユーザIDを、ネットワークを介して、事業者検索トークンを送信したユーザ情報取得装置6に送信するものである。
【0056】
以上説明したようにデータ記憶装置3およびユーザ情報管理装置4を構成することで、ユーザ情報管理装置4は、ユーザ情報登録装置5からの登録要求によって、データ記憶装置3に記憶されている暗号化データベースDBを検索し、番組に対応するレコードにユーザの暗号化ユーザIDを登録することができる。
また、ユーザ情報管理装置4は、ユーザ情報取得装置6からの検索要求によって、サービス事業者が指定した番組に対応する暗号化データベースDBに登録されている暗号化ユーザIDを検索し、ユーザ情報取得装置6に送信することができる。
このとき、ユーザ情報管理装置4は、VABKS方式により、番組データを暗号化したままで検索することができるため、ユーザの個人情報を保護することができる。
なお、ユーザ情報管理装置4は、コンピュータを前記した各手段として機能させるためのユーザ情報管理プログラムで動作させることができる。
図1に戻って、マッチングシステムSの構成について説明を続ける。
【0057】
(ユーザ情報登録装置)
ユーザ情報登録装置5は、ユーザが視聴した番組の履歴データから、クラウドサーバ上の暗号化データベースDBに、視聴した番組に対応付けてユーザ情報を登録するものである。
このユーザ情報登録装置5は、ユーザが保持する装置であって、例えば、多機能端末(スマートフォン等)、テレビ受像機等、放送番組の視聴履歴を収集可能な装置である。
ここで、
図4を参照して、ユーザ情報登録装置5の構成について説明する。
図4に示すように、ユーザ情報登録装置5は、属性送信手段50と、鍵情報受信手段51と、鍵情報記憶手段52と、視聴履歴記憶手段53と、検索トークン生成手段54と、ユーザID暗号化手段55と、登録要求送信手段56と、を備える。
【0058】
属性送信手段50は、ユーザの属性を、ネットワークを介して、鍵生成装置1に送信するものである。この属性送信手段50は、ユーザの属性(例えば、サービスの料金を支払った会員を示す情報)を鍵生成装置1に送信する。
【0059】
鍵情報受信手段51は、属性送信手段50で送信された属性に基づいて鍵生成装置1で生成されたVABKS方式の秘密鍵と公開鍵とを、ネットワークを介して受信するものである。なお、秘密鍵には、検索トークン(ユーザ用検索トークン)を生成するためのトークン生成鍵が含まれている。
この鍵情報受信手段51は、受信した秘密鍵と公開鍵とを、鍵情報記憶手段52に書き込み記憶する。
【0060】
鍵情報記憶手段52は、鍵情報受信手段51で受信した秘密鍵と公開鍵とを記憶するものである。この鍵情報記憶手段52は、半導体メモリ等の一般的な記憶媒体で構成することができる。この鍵情報記憶手段52に記憶された秘密鍵と公開鍵とは、検索トークン生成手段54と、ユーザID暗号化手段55とによって読み出される。
【0061】
視聴履歴記憶手段53は、ユーザが視聴した放送番組の履歴を記憶するものである。この視聴履歴記憶手段53は、半導体メモリ等の一般的な記憶媒体で構成することができる。この視聴履歴記憶手段53に記憶する視聴履歴は、図示を省略した放送受信手段が放送番組を受信する際に、電子番組表(EPG:Electronic Program Guide)に記載されている番組データを抽出して、視聴履歴記憶手段53に記憶したものである。
【0062】
検索トークン生成手段54は、視聴履歴の番組データに含まれるキーワードにより、クラウドサーバの暗号化データベースDBにおいて、当該番組データのレコードを検索するための検索トークン(ユーザ用検索トークン)を生成するものである。
なお、検索トークン生成手段54が用いるキーワードは、番組データを特定するものであって、例えば、番組名である。
検索トークン生成手段54は、視聴履歴記憶手段53に記憶されている視聴履歴(履歴データ)に含まれるキーワードと、鍵情報記憶手段52に記憶されている公開鍵と、秘密鍵(トークン生成鍵を含む)とから、VABKS方式の検索トークンを生成する。秘密鍵にはユーザの属性を示す情報が含まれる。すなわち、ユーザ用検索トークンは、キーワードおよびユーザの属性を示す情報が含まれた情報である。
この検索トークン生成手段54は、生成した検索トークン(ユーザ用検索トークン)を、登録要求送信手段56に出力する。
【0063】
ユーザID暗号化手段55は、ABE暗号方式により、予め定めたユーザID(ユーザ情報)を、ポリシーを用いて暗号化するものである。なお、ユーザIDは、マッチングシステムSで一意に特定できるユーザの識別情報であれば何でもよい。例えば、放送番組の視聴履歴に対応した視聴者を識別するID等である。なお、ポリシーは、あるサービス事業者に対して、そのサービス事業者の属性に応じて暗号化ユーザIDを復号する許可を与えるか否かを示す情報である。
ABE暗号方式では、鍵情報記憶手段52に記憶されている公開鍵を用いて暗号化を行う。ABE暗号方式による暗号化は従来手法と同じであるため暗号化の詳細は省略する。
ユーザID暗号化手段55は、生成した暗号化ユーザIDを登録要求送信手段56に出力する。
【0064】
登録要求送信手段56は、検索トークン生成手段54で生成されたユーザ用検索トークンと、ユーザID暗号化手段55で生成された暗号化ユーザIDとを、登録要求として、ユーザ情報管理装置4に送信するものである。
【0065】
以上説明したようにユーザ情報登録装置5を構成することで、ユーザ情報登録装置5は、ユーザの個人情報である視聴履歴を秘匿したままで、クラウドサーバ上の暗号化データベースDBにおいて、視聴した番組に対応するレコードに暗号化ユーザIDを登録することができる。
なお、ユーザ情報登録装置5は、コンピュータを前記した各手段として機能させるためのユーザ情報登録プログラムで動作させることができる。
図1に戻って、マッチングシステムSの構成について説明を続ける。
【0066】
(ユーザ情報取得装置)
ユーザ情報取得装置6は、サービス事業者が指定した番組の視聴ユーザのユーザ情報をクラウドサーバのユーザ情報管理装置4から取得するものである。
このユーザ情報取得装置6は、サービス事業者が保持する装置であって、パーソナルコンピュータ等の一般的なコンピュータで構成することができる。
ここで、
図5を参照して、ユーザ情報取得装置6の構成について説明する。
図5に示すように、ユーザ情報取得装置6は、属性送信手段60と、鍵情報受信手段61と、鍵情報記憶手段62と、検索トークン生成手段63と、検索要求送信手段64と、検索結果受信手段65と、検証鍵受信手段66と、復号手段67と、を備える。
【0067】
属性送信手段60は、サービス事業者の属性を、ネットワークを介して、鍵生成装置1に送信するものである。この属性送信手段60は、サービス事業者の属性(例えば、認定を受けたサービス事業者であるか否かを示す情報)を鍵生成装置1に送信する。
【0068】
鍵情報受信手段61は、属性送信手段60で送信された属性に基づいて鍵生成装置1で生成されたVABKS方式の秘密鍵と公開鍵とを、ネットワークを介して受信するものである。なお、秘密鍵には、検索トークン(事業者用検索トークン)を生成するためのトークン生成鍵が含まれている。
この鍵情報受信手段61は、受信した秘密鍵と公開鍵とを、鍵情報記憶手段62に書き込み記憶する。
【0069】
鍵情報記憶手段62は、鍵情報受信手段61で受信した秘密鍵と公開鍵とを記憶するものである。この鍵情報記憶手段62は、半導体メモリ等の一般的な記憶媒体で構成することができる。この鍵情報記憶手段62に記憶された秘密鍵と公開鍵とは、検索トークン生成手段63と、復号手段67とによって読み出される。
【0070】
検索トークン生成手段63は、サービス事業者が指定する番組データのキーワードとして、クラウドサーバの暗号化データベースDBにおいて、当該番組データのレコードを検索するための検索トークン(事業者用検索トークン)を生成するものである。
なお、サービス事業者が指定する番組データのキーワードには、例えば、サービス事業者が扱う商品が登場する番組名、関連する商品の名称等のサービス事業者が提供するサービスに関連するキーワードを用いる。
【0071】
検索トークン生成手段63は、指定されたキーワードと、鍵情報記憶手段62に記憶されている公開鍵と、秘密鍵(トークン生成鍵を含む)とから、VABKS方式の検索トークンを生成する。秘密鍵にはサービス事業者の属性を示す情報が含まれる。すなわち、事業者検索トークンは、キーワードおよびサービス事業者の属性を示す情報が含まれた情報である。
この検索トークン生成手段63は、生成した検索トークン(事業者用検索トークン)を、検索要求送信手段64に出力する。
検索要求送信手段64は、検索トークン生成手段63で生成された事業者用検索トークンを、検索要求として、ユーザ情報管理装置4に送信するものである。
【0072】
検索結果受信手段65は、ユーザ情報管理装置4において、検索トークン(事業者用検索トークン)により検索された検索結果を、ネットワークを介して受信するものである。
この検索結果には、事業者用検索トークンで指定したキーワードに対応する番組の暗号化番組データ、検証用データおよび暗号化ユーザIDが含まれる。
この検索結果受信手段65は、受信した検索結果を、復号手段67に出力する。
【0073】
検証鍵受信手段66は、暗号化装置2から、暗号化番組データに付加されている電子署名を検証するための検証鍵を、ネットワークを介して受信するものである。この検証鍵受信手段66は、受信した検証鍵を復号手段67に出力する。
なお、検証鍵受信手段66は、復号手段67が検証鍵を参照するタイミングで、暗号化装置2に検証鍵を要求し取得する。
【0074】
復号手段67は、検索結果受信手段65で受信した検索結果に含まれる暗号化ユーザIDを復号するものである。ここでは、復号手段67は、検索結果検証手段670と、ユーザID復号手段671と、を備える。
【0075】
検索結果検証手段670は、検索結果に含まれる検証用データに基づいて、検索結果(暗号化番組データ)が、要求した検索トークン(事業者用検索トークン)に対応する検索結果であるか否かを検証するものである。ここでは、検索結果検証手段670は、VABKS方式の検証を行う。
また、検索結果検証手段670は、暗号化番組データに付加されている電子署名を、検証鍵受信手段66で受信した検証鍵で検証する。なお、署名方式は、暗号化装置2との間で予め共有しておく。
検索結果検証手段670は、検証(署名検証を含む)が正しく行われた場合、暗号化ユーザIDを、ユーザID復号手段671に出力する。
【0076】
ユーザID復号手段671は、検索結果検証手段670で検証が正しく行われた暗号化ユーザIDを復号するものである。このユーザID復号手段671は、ユーザ情報登録装置5のユーザID暗号化手段55(
図4参照)で使用した暗号化手法に対応した復号手法によって、暗号化ユーザIDを復号する。
【0077】
すなわち、ユーザID復号手段671における復号手法は、ABE暗号方式を用いる。
ユーザID復号手段671は、ユーザ情報登録装置5のユーザID暗号化手段55で使用した公開鍵に対応する秘密鍵を、鍵情報記憶手段62から取得し復号を行う。このとき、ABE暗号方式の性質により、復号を行うサービス事業者が、ユーザが暗号化の際に設定したポリシーを満たさなければ復号することができない。また、サービス事業者の属性が、暗号化ユーザIDに予め設定されたポリシーを満たすとき、復号されたユーザIDを得ることができる。
このユーザID復号手段671は、復号したユーザIDを、図示を省略した表示装置、記憶装置等に出力する。
【0078】
以上説明したようにユーザ情報取得装置6を構成することで、ユーザ情報取得装置6は、サービス事業者が指定したキーワードに対応するユーザ情報を取得することができ、サービス事業者が提供するサービスと、ユーザとをマッチングさせることができる。
なお、ユーザ情報取得装置6は、コンピュータを前記した各手段として機能させるためのユーザ情報取得プログラムで動作させることができる。
【0079】
[マッチングシステムの動作]
次に、本発明の実施形態に係るマッチングシステムSの動作について説明する。なお、ここでは、鍵生成装置1は、VABKS方式の公開鍵を生成してシステム上に公開しているものとする。また、ユーザ情報登録装置5は、ユーザの属性に応じて、鍵生成装置1から鍵情報(秘密鍵、公開鍵)を取得し、ユーザ情報取得装置6は、サービス事業者の属性に応じて、鍵生成装置1から鍵情報(秘密鍵、公開鍵)を取得しているものとする。さらに、暗号化装置2は、番組データおよびインデックスを、ポリシーを用いで暗号化し、データ記憶装置3は、その暗号化した番組データおよびインデックスと検証用データとを、暗号化データベースDBとして記憶しているものとする。
以下、ユーザ情報を番組に対応付けて暗号化データベースDBに登録する動作と、キーワードに応じたユーザ情報を暗号化データベースDBから取得する動作について説明する。
【0080】
(視聴履歴によるユーザ情報登録動作)
図6を参照(構成については適宜
図1,
図2,
図4参照)して、マッチングシステムSにおいて、ユーザ情報登録装置5とユーザ情報管理装置4とにより、視聴履歴に応じてユーザのユーザIDを暗号化して暗号化データベースDBに登録する動作について説明する。
【0081】
まず、ユーザ情報登録装置5は、以下のステップS1~S4の動作を行う。
ステップS1において、ユーザID暗号化手段55は、予め定めたユーザIDを、サービス事業者のユーザ情報取得装置6が保持する秘密鍵に対応した、ABE暗号方式の公開鍵を用いて暗号化する。
ステップS2において、検索トークン生成手段54は、ユーザの視聴履歴をキーワードとして取得する。ここでは、検索トークン生成手段54は、視聴履歴記憶手段53に記憶されている視聴履歴の番組ごとの番組データ(例えば、番組名)をキーワードとして読み込む。
【0082】
ステップS3において、検索トークン生成手段54は、ステップS2で取得したキーワード(番組データ)と、鍵情報記憶手段52に記憶されている公開鍵と、秘密鍵(トークン生成鍵を含む)とから、VABKS方式の検索トークン(ユーザ用検索トークン)を生成する。なお、VABKS方式により、ユーザ用検索トークンは、キーワード(番組データ)を暗号化した状態で含んでいる。
【0083】
ステップS4において、登録要求送信手段56は、ステップS3で生成したユーザ用検索トークンと、ステップS1で生成した暗号化ユーザIDとを、登録要求としてユーザ情報管理装置4に送信する。
なお、ユーザ情報登録装置5は、視聴履歴記憶手段53に逐次番組データが記憶されるたびに、ステップS2~S4の動作を繰り返す。
以上の動作によって、ユーザ情報登録装置5は、ユーザの視聴履歴に応じて、ユーザIDを暗号化した状態で、ユーザ情報管理装置4に送信することができる。
【0084】
次に、ユーザ情報管理装置4は、以下のステップS5~S9の動作を行う。
ステップS5において、要求受信手段42は、ステップS4でユーザ情報登録装置5から送信されたユーザ用検索トークンを受信する。
ステップS6において、登録手段43の番組検索手段430は、暗号化データベースDBに登録されている番組(レコード)ごとに、ユーザ用検索トークンに含まれるユーザの属性が、暗号化インデックスに含まれる検索ポリシーを満たすか否かを判定する。
ここで、ユーザの属性がポリシーを満たす場合(ステップS6でYes)、ステップS7において、番組検索手段430は、ユーザ用検索トークンに含まれるキーワードが、暗号化インデックスに含まれるか否かを判定する。
【0085】
ここで、キーワードが暗号化インデックスに含まれている場合(ステップS7でYes)、ステップS8において、ユーザID追加手段431は、ステップS7でキーワードが含まれると判定された暗号化データベースDBのレコードに、ステップS5で受信した暗号化ユーザIDを追加する。そして、ユーザ情報管理装置4は、ステップS9に動作を進める。
また、ステップS6において、ユーザの属性がポリシーを満たさなかった場合(ステップS6でNo)、ステップS7において、キーワードが暗号化インデックスに含まれていない場合(ステップS7でNo)も、ユーザ情報管理装置4は、ステップS9に動作を進める。
【0086】
ステップS9において、登録手段43は、暗号化データベースDBのすべてのレコードにおいて検索を行ったか否かを判定する。
ここで、まだ、未検索のレコードが存在する場合(ステップS9でNo)、ユーザ情報管理装置4は、ステップS6に戻って、次の番組(レコード)について、検索を継続する。一方、すべてのレコードにおいて検索を行った場合(ステップS9でYes)、ユーザ情報管理装置4は、動作を終了する。
以上の動作によって、データ記憶装置3の暗号化データベースDBには、ユーザの視聴履歴に応じて、番組ごとに暗号化ユーザIDが登録される。
【0087】
(キーワードによるユーザ情報取得動作)
次に、
図7を参照(構成については適宜
図1,
図2,
図5参照)して、マッチングシステムSにおいて、ユーザ情報取得装置6とユーザ情報管理装置4とにより、サービス事業者が、キーワードにより、番組を視聴したユーザのユーザID(暗号化ユーザID)を取得する動作について説明する。
【0088】
まず、ユーザ情報取得装置6は、以下のステップS10~S12の動作を行う。
ステップS10において、検索トークン生成手段63は、番組名等のキーワードを入力する。
ステップS11において、検索トークン生成手段63は、ステップS10で取得したキーワードと、鍵情報記憶手段62に記憶されている公開鍵と、秘密鍵(トークン生成鍵を含む)とから、VABKS方式の検索トークン(事業者用検索トークン)を生成する。なお、VABKS方式により、事業者用検索トークンは、キーワードを暗号化した状態で含んでいる。
ステップS12において、検索要求送信手段64は、ステップS11で生成した事業者用検索トークンを、検索要求としてユーザ情報管理装置4に送信する。
以上の動作によって、ユーザ情報取得装置6は、キーワードを含んだ番組を視聴したユーザのユーザIDを、ユーザ情報管理装置4に要求する。
【0089】
次に、ユーザ情報管理装置4は、以下のステップS13~S18の動作を行う。
ステップS13において、要求受信手段42は、ステップS12でユーザ情報取得装置6から送信された検索要求を受信する。
ステップS14において、検索手段44の番組検索手段440は、暗号化データベースDBに登録されている番組(レコード)ごとに、事業者用検索トークンに含まれるサービス事業者の属性が、暗号化インデックスに含まれる検索ポリシーを満たすか否かを判定する。
【0090】
ここで、サービス事業者の属性がポリシーを満たす場合(ステップS14でYes)、ステップS15において、番組検索手段440は、サービス事業者用検索トークンに含まれるキーワードが、暗号化インデックスに含まれるか否かを判定する。
ここで、キーワードが暗号化インデックスに含まれている場合(ステップS15でYes)、ステップS16において、ユーザID読出手段441は、ステップS15でキーワードが含まれると判定された暗号化データベースDBのレコードに登録されている暗号化番組データ、検証用データおよび暗号化ユーザIDを読み出す。
【0091】
ステップS17において、検索結果送信手段45は、ステップS16で読み出した暗号化番組データ、検証用データおよび暗号化ユーザIDを、検索結果としてユーザ情報取得装置6に送信する。そして、ユーザ情報管理装置4は、ステップS18に動作を進める。
なお、ステップS14において、サービス事業者の属性がポリシーを満たさない場合(ステップS14でNo)、ステップS15において、キーワードが暗号化番組データに含まれていない場合(ステップS15でNo)も、ユーザ情報管理装置4は、ステップS18に動作を進める。
【0092】
ステップS18において、検索手段44は、暗号化データベースDBのすべてのレコードにおいて検索を行ったか否かを判定する。
ここで、まだ、未検索のレコードが存在する場合(ステップS18でNo)、ユーザ情報管理装置4は、ステップS14に戻って、次の番組(レコード)について、検索を継続する。一方、すべてのレコードにおいて検索を行った場合(ステップS18でYes)、ユーザ情報管理装置4は、動作を終了する。
以上の動作によって、ユーザ情報管理装置4は、要求のあったキーワードをインデックスとして含む番組を視聴したユーザのユーザID(暗号化ユーザID)を、視聴履歴を暗号化したままで検索し、ユーザ情報取得装置6に送信することができる。
【0093】
次に、ユーザ情報取得装置6は、以下のステップS19~S22の動作を行う。
ステップS19において、検索結果受信手段65は、ステップS17でユーザ情報管理装置4から送信された検索結果(暗号化番組データ、検証データ、暗号化ユーザID)を受信する。
ステップS20において、検証鍵受信手段66は、暗号化装置2から、暗号化番組データに付加されている電子署名を検証するための検証鍵を取得する。
ステップS21において、復号手段67の検索結果検証手段670は、ステップS19で受信した暗号化番組データに付加されている電子署名を、ステップS20で取得した検証鍵で検証する。さらに、検索結果検証手段670は、ステップS19で受信した検証用データに基づいて、検証結果である暗号化番組データが、要求した検索トークン(事業者用検索トークン)に対応する検索結果であるか否かについて、VABKS方式の検証を行う。
【0094】
ここで、検証に失敗した場合(ステップS21でNo)、ユーザ情報取得装置6は動作を終了する。
一方、検証に成功した場合(ステップS21でYes)、ステップS22において、ユーザID復号手段671は、ステップS19で受信した暗号化ユーザIDに含まれるポリシーについて、サービス事業者の属性が満たしているか否かを判定する。属性がポリシーを満たす場合(ステップ22でYes)、ステップS23において、ユーザID復号手段671は、ステップS19で受信した暗号化ユーザIDを、ステップS1(
図6参照)で行った暗号化手法に対応する復号手法(ABE暗号方式)で復号する。
ここで、サービス事業者の属性が、暗号化ユーザIDに含まれるユーザのポリシーを満たしていない場合(ステップS22でNo)、他に受信した暗号化ユーザIDがあれば、再度ステップS22の処理を行う。一方、他に受信した暗号化ユーザIDがなければ、ユーザ情報取得装置6は動作を終了する。
以上の動作によって、ユーザ情報取得装置6は、ユーザの視聴履歴を保護した状態で、キーワードで指定した番組を視聴したユーザのユーザIDを取得することができ、サービス事業者が提供するサービスにマッチングしたユーザを特定することが可能になる。
【0095】
以上、本発明の実施形態に係るマッチングシステムSの構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
【0096】
ここでは、マッチングシステムSは、暗号化装置2における暗号化処理として、データを暗号化したままでキーワードによる検索が可能で検索結果の正当性を検証することが可能な検証可能属性ベース検索可能暗号方式(VABKS方式)を用いることとした。
しかし、この暗号化処理には、非特許文献3に記載されているような、暗号化処理の一部をクラウド上に委託する検証可能属性ベース検索可能暗号方式(VABKS委託方式)を用いてもよい。例えば、
図8に示すように、マッチングシステムSBを構成する。
【0097】
すなわち、
図1で説明したマッチングシステムSの暗号化装置2を、
図8に示す部分暗号化装置2Aと、委託暗号化装置2Bとで構成する。その場合、部分暗号化装置2Aは、番組データおよびインデックスの暗号化処理を中間段階まで行い、部分暗号化番組データ、部分暗号化インデックスおよび検証用データを委託暗号化装置2Bに送信し、委託暗号化装置2Bが、最終段階まで暗号化処置を行う。
このように、部分暗号化装置2Aを番組データ所有者の装置とし、委託暗号化装置2Bをクラウドサーバの装置とすることで、暗号化処理の一部をクラウドに委託することができる。
【0098】
また、ここでは、暗号化装置2における暗号化方式として、検証可能属性ベース検索可能暗号方式(VABKS方式、VABKS委託方式)を例に説明した。しかし、暗号化方式は、検索結果の正当性を検証する機能を有していない属性ベース検索可能暗号方式(ABKS方式)、あるいは、ABKS方式の暗号化処理の一部をクラウドサーバに委託したABKS委託方式を用いて、簡易化して構成してもよい。その場合、マッチングシステムS,SBから、検証用データを用いた検証の機能(
図5の検証鍵受信手段66、検索結果検証手段670)を省略すればよい。
【0099】
また、ここでは、ユーザIDを、ユーザ情報登録装置5のユーザID暗号化手段55において暗号化し、ユーザ情報取得装置6のユーザID復号手段671において復号する構成とした。本実施形態では、ABE暗号方式を採用することで、鍵配布・鍵管理のコストを抑えることができ、さらにユーザがサービス事業者に対してポリシーによるアクセス制御を可能とした。
しかし、本発明において、個人情報である履歴情報を保護する目的を達成するためには、必ずしもユーザIDの暗号化および復号は必須ではない。
【0100】
また、ここでは、サービス事業者が提供するサービスと、ユーザ(ユーザID)とをマッチングさせるため、ユーザの番組の視聴履歴を用いた。
しかし、このマッチングは、番組の視聴履歴に限定されるものではない。例えば、ユーザがインターネットで商品を購入した購入履歴を用いることとしてもよい。この場合、実施形態で説明した番組を商品、視聴履歴を購入履歴に置き換えて適用すればよい。
これによって、ユーザは、自身の購入履歴を暗号化してクラウドに登録し、提供可能なサービス事業者(例えば、認定を受けたサービス事業者)のみに、ユーザ情報を提供することが可能になる。
【符号の説明】
【0101】
S,SB マッチングシステム
1 鍵生成装置
2 暗号化装置
2A 部分暗号化装置
2B 委託暗号化装置
3 データ記憶装置
30 データ受信手段
31 記憶手段
4 ユーザ情報管理装置
40 公開鍵受信手段
41 公開鍵記憶手段
42 要求受信手段
43 登録手段
430 番組検索手段
431 ユーザID追加手段
44 検索手段
440 番組検索手段
441 ユーザID読出手段
45 検索結果送信手段
5 ユーザ情報登録装置
50 属性送信手段
51 鍵情報受信手段
52 鍵情報記憶手段
53 視聴履歴記憶手段
54 検索トークン生成手段
55 ユーザID暗号化手段
56 登録要求送信手段
6 ユーザ情報取得装置
60 属性送信手段
61 鍵情報受信手段
62 鍵情報記憶手段
63 検索トークン生成手段
64 検索要求送信手段
65 検索結果受信手段
66 検証鍵受信手段
67 復号手段
670 検索結果検証手段
671 ユーザID復号手段
DB 暗号化データベース