特許第6688688号(P6688688)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社エヌ・ティ・ティ・データの特許一覧

特許6688688秘匿情報分析システム、および秘匿情報分析方法
<>
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000002
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000003
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000004
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000005
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000006
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000007
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000008
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000009
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000010
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000011
  • 特許6688688-秘匿情報分析システム、および秘匿情報分析方法 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6688688
(24)【登録日】2020年4月8日
(45)【発行日】2020年4月28日
(54)【発明の名称】秘匿情報分析システム、および秘匿情報分析方法
(51)【国際特許分類】
   G09C 1/00 20060101AFI20200421BHJP
   H04L 9/32 20060101ALI20200421BHJP
【FI】
   G09C1/00 660D
   G09C1/00 640E
   H04L9/00 675Z
【請求項の数】4
【全頁数】20
(21)【出願番号】特願2016-117830(P2016-117830)
(22)【出願日】2016年6月14日
(65)【公開番号】特開2017-223784(P2017-223784A)
(43)【公開日】2017年12月21日
【審査請求日】2019年4月19日
(73)【特許権者】
【識別番号】000102728
【氏名又は名称】株式会社エヌ・ティ・ティ・データ
(74)【代理人】
【識別番号】110001634
【氏名又は名称】特許業務法人 志賀国際特許事務所
(72)【発明者】
【氏名】栗原 優樹
(72)【発明者】
【氏名】平井 康雅
【審査官】 青木 重徳
(56)【参考文献】
【文献】 特開2001−357243(JP,A)
【文献】 特表2016−511890(JP,A)
【文献】 国際公開第2013/080365(WO,A1)
【文献】 国際公開第2015/063905(WO,A1)
【文献】 松崎 なつめ ほか,類似検索可能暗号を用いたプライバシ保護システムの考察,SCIS2016 [USB],日本,2016年 1月19日,2C2−5,p.1−5
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
情報を収集する情報収集部と、
前記情報を秘匿化する秘匿化部と、
前記情報ごとにインデックス情報を擬似乱数に基づいて生成し、秘匿化された前記情報である秘匿化情報と前記インデックス情報とが対応付けられた秘匿化情報リストを生成する秘匿化情報リスト生成部と、
前記秘匿化情報リストに含まれる前記秘匿化情報に対する分析指示を示す分析指示情報を生成する分析指示情報生成部と、
前記分析指示情報が示す分析対象範囲に含まれる前記秘匿化情報を抽出し、抽出された前記秘匿化情報を用いて分析を実行する分析実行部と、
分析に用いられた前記秘匿化情報に対応付けられた前記インデックス情報を前記秘匿化情報リストから取得し、取得された前記インデックス情報のリストである利用インデックス情報リストを生成する利用情報リスト生成部と、
前記利用インデックス情報リストに含まれるそれぞれの前記インデックス情報を、逆関数を有する第1関数によって第1変換インデックス情報へデータ変換し、変換された前記第1変換インデックス情報のリストである第1変換インデックス情報リストを生成する第1変換リスト生成部と、
前記インデックス情報に対してデータ変換を行った場合にパラメータ値が同一ならばデータ変換されたインデックス情報の値が固定値となる第2関数によって、前記第1変換インデックス情報リストに含まれる前記第1変換インデックス情報を第2変換インデックス情報へデータ変換し、変換された前記第2変換インデックス情報のリストである第2変換インデックス情報リストを生成する第2変換リスト生成部と、
前記第2変換インデックス情報リストに含まれる前記第2変換インデックス情報を、前記逆関数によって第3変換インデックス情報へデータ変換し、変換された前記第3変換インデックス情報のリストである第3変換インデックス情報リストを生成する第3変換リスト生成部と、
前記第3変換インデックス情報リストに含まれる前記第3変換インデックス情報において前記固定値と同一の値である前記第3変換インデックス情報の個数に基づいて前記分析に用いられた前記秘匿化情報の個数を特定する分析利用数特定部と、
を有することを特徴とする秘匿情報分析システム。
【請求項2】
前記第2関数は、一定の周期ごとの前記インデックス情報の値の入力に対して同一の値を出力する周期関数である
ことを特徴とする請求項1に記載の秘匿情報分析システム。
【請求項3】
前記周期関数は、三角関数である
ことを特徴とする請求項2に記載の秘匿情報分析システム。
【請求項4】
コンピュータによる秘匿情報分析方法であって、
情報収集部が、情報を収集する情報収集ステップと、
秘匿化部が、前記情報を秘匿化する秘匿化ステップと、
秘匿化情報リスト生成部が、前記情報ごとにインデックス情報を擬似乱数に基づいて生成し、秘匿化された前記情報である秘匿化情報と前記インデックス情報とが対応付けられた秘匿化情報リストを生成する秘匿化情報リスト生成ステップと、
分析指示情報生成部が、前記秘匿化情報リストに含まれる前記秘匿化情報に対する分析指示を示す分析指示情報を生成する分析指示情報生成ステップと、
分析実行部が、前記分析指示情報が示す分析対象範囲に含まれる前記秘匿化情報を抽出し、抽出された前記秘匿化情報を用いて分析を実行する分析実行ステップと、
利用情報リスト生成部が、分析に用いられた前記秘匿化情報に対応付けられた前記インデックス情報を前記秘匿化情報リストから取得し、取得された前記インデックス情報のリストである利用インデックス情報リストを生成する利用情報リスト生成ステップと、
第1変換リスト生成部が、前記利用インデックス情報リストに含まれるそれぞれの前記インデックス情報を、逆関数を有する第1関数によって第1変換インデックス情報へデータ変換し、変換された前記第1変換インデックス情報のリストである第1変換インデックス情報リストを生成する第1変換リスト生成部と、
第2変換リスト生成部が、前記インデックス情報に対してデータ変換を行った場合にパラメータ値が同一ならばデータ変換されたインデックス情報の値が固定値となる第2関数によって、前記第1変換インデックス情報リストに含まれる前記第1変換インデックス情報を第2変換インデックス情報へデータ変換し、変換された前記第2変換インデックス情報のリストである第2変換インデックス情報リストを生成する第2変換リスト生成ステップと、
第3変換リスト生成部が、前記第2変換インデックス情報リストに含まれる前記第2変換インデックス情報を、前記逆関数によって第3変換インデックス情報へデータ変換し、変換された前記第3変換インデックス情報のリストである第3変換インデックス情報リストを生成する第3変換リスト生成ステップと、
分析利用数特定部が、前記第3変換インデックス情報リストに含まれる前記第3変換インデックス情報において前記固定値と同一の値である前記第3変換インデックス情報の個数に基づいて前記分析に用いられた前記秘匿化情報の個数を特定する分析利用数特定ステップと、
を有することを特徴とする秘匿情報分析方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘匿情報分析システム、および秘匿情報分析方法に関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)デバイスから情報(データ)を収集し、当該情報を分析するサービスが広がっている。収集された情報には、情報提供者本人に関する情報や、これらに起因するプライバシ情報などが含まれるため、情報の秘匿化が必要とされる。例えば、特許文献1に記載の情報処理装置は、個々のデータを秘匿しつつ、データ全体における順位を計算することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2013−205796号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、収集された情報には価値があることから、分析に利用された情報を提供した情報提供者に対して、対価が支払われるような仕組みが必要とされている。しかしながら、対価を支払うためには分析に利用された情報を提供した情報提供者を識別する必要があるが、その一方でプライバシを保護しなければならない。そのような場合には、情報の秘匿したまま、サービス利用者が情報を利用したことを証明できる必要があり、また、情報提供者は利用された情報の情報提供者であることを証明できる必要がある。
【0005】
本発明は上記の点に鑑みてなされたものであり、情報を秘匿したまま当該情報の情報提供者を識別することができる秘匿情報分析システム、および秘匿情報分析方法を提供する。
【課題を解決するための手段】
【0006】
(1)本発明は上記の課題を解決するためになされたものであり、本発明の一態様としては、情報を収集する情報収集部と、前記情報を秘匿化する秘匿化部と、前記情報ごとにインデックス情報を擬似乱数に基づいて生成し、秘匿化された前記情報である秘匿化情報と前記インデックス情報とが対応付けられた秘匿化情報リストを生成する秘匿化情報リスト生成部と、前記秘匿化情報リストに含まれる前記秘匿化情報に対する分析指示を示す分析指示情報を生成する分析指示情報生成部と、前記分析指示情報が示す分析対象範囲に含まれる前記秘匿化情報を抽出し、抽出された前記秘匿化情報を用いて分析を実行する分析実行部と、分析に用いられた前記秘匿化情報に対応付けられた前記インデックス情報を前記秘匿化情報リストから取得し、取得された前記インデックス情報のリストである利用インデックス情報リストを生成する利用情報リスト生成部と、前記利用インデックス情報リストに含まれるそれぞれの前記インデックス情報を、逆関数を有する第1関数によって第1変換インデックス情報へデータ変換し、変換された前記第1変換インデックス情報のリストである第1変換インデックス情報リストを生成する第1変換リスト生成部と、前記インデックス情報に対してデータ変換を行った場合にパラメータ値が同一ならばデータ変換されたインデックス情報の値が固定値となる第2関数によって、前記第1変換インデックス情報リストに含まれる前記第1変換インデックス情報を第2変換インデックス情報へデータ変換し、変換された前記第2変換インデックス情報のリストである第2変換インデックス情報リストを生成する第2変換リスト生成部と、前記第2変換インデックス情報リストに含まれる前記第2変換インデックス情報を、前記逆関数によって第3変換インデックス情報へデータ変換し、変換された前記第3変換インデックス情報のリストである第3変換インデックス情報リストを生成する第3変換リスト生成部と、前記第3変換インデックス情報リストに含まれる前記第3変換インデックス情報において前記固定値と同一の値である前記第3変換インデックス情報の個数に基づいて前記分析に用いられた前記秘匿化情報の個数を特定する分析利用数特定部と、を有することを特徴とする秘匿情報分析システムである。
【0007】
(2)また、本発明の一態様としては、前記第2関数は、一定の周期ごとの前記インデックス情報の値の入力に対して同一の値を出力する周期関数であることを特徴とする(1)に記載の秘匿情報分析システムである。
【0008】
(3)また、本発明の一態様としては、前記周期関数は、三角関数であることを特徴とする(2)に記載の秘匿情報分析システムである。
【0009】
(4)また、本発明の一態様としては、コンピュータによる秘匿情報分析方法であって、情報収集部が、情報を収集する情報収集ステップと、秘匿化部が、前記情報を秘匿化する秘匿化ステップと、秘匿化情報リスト生成部が、前記情報ごとにインデックス情報を擬似乱数に基づいて生成し、秘匿化された前記情報である秘匿化情報と前記インデックス情報とが対応付けられた秘匿化情報リストを生成する秘匿化情報リスト生成ステップと、分析指示情報生成部が、前記秘匿化情報リストに含まれる前記秘匿化情報に対する分析指示を示す分析指示情報を生成する分析指示情報生成ステップと、分析実行部が、前記分析指示情報が示す分析対象範囲に含まれる前記秘匿化情報を抽出し、抽出された前記秘匿化情報を用いて分析を実行する分析実行ステップと、利用情報リスト生成部が、分析に用いられた前記秘匿化情報に対応付けられた前記インデックス情報を前記秘匿化情報リストから取得し、取得された前記インデックス情報のリストである利用インデックス情報リストを生成する利用情報リスト生成ステップと、第1変換リスト生成部が、前記利用インデックス情報リストに含まれるそれぞれの前記インデックス情報を、逆関数を有する第1関数によって第1変換インデックス情報へデータ変換し、変換された前記第1変換インデックス情報のリストである第1変換インデックス情報リストを生成する第1変換リスト生成部と、第2変換リスト生成部が、前記インデックス情報に対してデータ変換を行った場合にパラメータ値が同一ならばデータ変換されたインデックス情報の値が固定値となる第2関数によって、前記第1変換インデックス情報リストに含まれる前記第1変換インデックス情報を第2変換インデックス情報へデータ変換し、変換された前記第2変換インデックス情報のリストである第2変換インデックス情報リストを生成する第2変換リスト生成ステップと、第3変換リスト生成部が、前記第2変換インデックス情報リストに含まれる前記第2変換インデックス情報を、前記逆関数によって第3変換インデックス情報へデータ変換し、変換された前記第3変換インデックス情報のリストである第3変換インデックス情報リストを生成する第3変換リスト生成ステップと、分析利用数特定部が、前記第3変換インデックス情報リストに含まれる前記第3変換インデックス情報において前記固定値と同一の値である前記第3変換インデックス情報の個数に基づいて前記分析に用いられた前記秘匿化情報の個数を特定する分析利用数特定ステップと、を有することを特徴とする秘匿情報分析方法である。
【発明の効果】
【0010】
本発明によれば、情報を秘匿したまま当該情報の情報提供者を識別することができる。
【図面の簡単な説明】
【0011】
図1】本発明の実施形態に係る秘匿情報分析システム1の構成を示すブロック図である。
図2】本実施形態に係る秘匿情報分析システム1の情報の収集のフェーズにおける処理の一例を示す概略図である。
図3】本実施形態に係る秘匿情報分析システム1の情報の利用のフェーズにおける処理の一例を示す概略図である。
図4】本実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける処理の一例を示す概略図である。
図5】本実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける処理の一例を示す概略図である。
図6】本実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける処理の一例を示す概略図である。
図7】本発明の実施形態に係る秘匿情報分析システム1の情報の収集のフェーズにおける動作を示すフローチャートである。
図8】本発明の実施形態に係る秘匿情報分析システム1の情報の利用のフェーズにおける動作を示すフローチャートである。
図9】本発明の実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける動作を示すフローチャートである。
図10】本発明の実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける動作を示すフローチャートである。
図11】本発明の実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
(実施形態)
以下、本発明の実施形態について、図面を参照しながら説明する。
(秘匿情報分析システムの構成の概要)
図1は、本発明の実施形態に係る秘匿情報分析システム1の構成を示すブロック図である。図示するように、本発明の実施形態に係る秘匿情報分析システム1は、秘匿情報分析装置10と、情報提供者A端末20と、情報提供者B端末21と、情報利用者端末30と、を含んで構成される。
【0013】
なお、説明を簡単にするため、本実施形態に係る秘匿情報分析システム1においては、情報提供者端末は情報提供者A端末20と情報提供者B端末21の2つであるものとしたが、情報提供者端末が3つ以上あるような構成であっても構わない。
また、説明を簡単にするため、本実施形態に係る秘匿情報分析システム1においては、情報利用者端末30は1つであるものとしたが、情報利用者端末30が2つ以上あるような構成であっても構わない。
【0014】
情報提供者A端末20および情報提供者B端末21は、それぞれ情報提供者Aおよび情報提供者Bが管理する端末装置である。情報提供者A端末20および情報提供者B端末21は、例えば、パーソナルコンピュータ、タブレット型端末、またはスマートフォン等を含んで構成される。情報提供者A端末20および情報提供者B端末21は、情報を収集して、収集した情報を秘匿し、秘匿化された情報(秘匿化情報)を含む秘匿化情報リストを秘匿情報分析装置10へ送信する。なお、情報提供者A端末20および情報提供者B端末21は、例えば、各種のセンサ(図示せず)等によって情報を収集するようにしてもよい。
情報提供者A端末20および情報提供者B端末21は、自らの情報提供者A端末20および自らの情報提供者B端末21が利用可能な情報については、安全に(他者に取得されることなく)記憶することが可能である。
また、情報提供者A端末20および情報提供者B端末21は、他の情報提供者端末や情報利用者端末を識別することはできない。
【0015】
情報利用者端末30は、情報利用者が管理する端末装置である。情報利用者端末30は、例えば、パーソナルコンピュータ、タブレット型端末、またはスマートフォン等を含んで構成される。情報利用者端末30は、秘匿情報分析装置10に対して秘匿情報分析装置10に記憶された秘匿された情報の分析要求を示す情報(分析コマンド)を送信し、当該分析要求に対する分析結果を示す情報を秘匿情報分析装置10から受信する。
また、情報利用者端末30は、他の情報提供者端末や情報利用者端末を識別することはできない。
【0016】
秘匿情報分析装置10は、例えば、情報分析サービスを提供する事業者が管理するサーバ装置である。秘匿情報分析装置10は、例えば、汎用コンピュータ、またはパーソナルコンピュータなどを含んで構成される。秘匿情報分析装置10は、情報提供者A端末20および情報提供者B端末21から秘匿化情報リストを取得して記憶する。また、秘匿情報分析装置10は、情報利用者端末30から受信した分析要求を示す情報(分析コマンド)に基づいて、当該秘匿された情報を分析し、分析結果を情報利用者端末30へ出力する。
【0017】
そして、秘匿情報分析装置10は、分析に利用した情報ついて、情報提供者A端末20および情報提供者B端末21へ確認依頼を示す情報を送信し、情報提供者A端末20によって提供された情報であって分析に利用した情報の総数および情報提供者B端末21によって提供された情報であって分析に利用した情報の総数を特定する。
【0018】
秘匿情報分析装置10は、自らの秘匿情報分析装置10が利用可能な情報については、安全に(他者に取得されることなく)記憶することが可能である。
また、秘匿情報分析装置10は、情報提供者A端末20および情報提供者B端末21から取得した秘匿された情報が、それぞれ情報提供者A端末20および情報提供者B端末21のどちらから取得した情報であるかについて、保存した情報のみでは識別することはできない。
【0019】
なお、秘匿情報分析システム1を構成する、秘匿情報分析装置10、情報提供者A端末20、情報提供者B端末21、および情報利用者端末30のそれぞれ機能構成の詳細については後述する。
【0020】
本実施形態に係る秘匿情報分析システム1が行う処理は、情報の収集、情報の利用、および、利用実績の確認の3つのフェーズにより構成される。
【0021】
情報の収集のフェーズにおいては、情報提供者A端末20および情報提供者B端末21において収集された情報が秘匿され、秘匿された情報を含む秘匿化情報リストが秘匿情報分析装置10へ送信される。送信された情報は、秘匿情報分析装置10において記憶される。
【0022】
情報の利用のフェーズにおいては、情報利用者端末30から秘匿情報分析装置10へ分析要求を示す情報(分析コマンド)が送信され、秘匿情報分析装置10において情報の分析が行われる。当該分析においては、秘匿情報分析装置10が記憶する情報および分析要求を示す情報に含まれる分析範囲を示す情報ともに秘匿されたまま分析されるため、秘匿情報分析装置10は、秘匿情報分析装置10が記憶する情報および分析要求を示す情報に含まれる分析範囲を示す情報の内容を認識することはない。
【0023】
利用実績の確認のフェーズにおいては、上記の情報の利用のフェーズにおいて利用された複数の情報について、情報を提供した情報提供者端末(情報提供者A端末20または情報提供者B端末21)ごとの情報の総数が秘匿情報分析装置10によって特定される。
以下、上記の3つのフェーズにおけるぞれぞれの処理について説明する。
【0024】
(情報の収集)
以下、情報の収集のフェーズにおける処理について、図面を参照しながら説明する。
図2は、本実施形態に係る秘匿情報分析システム1の情報の収集のフェーズにおける処理の一例を示す概略図である。
【0025】
まず、情報提供者A端末20および情報提供者B端末21は適宜、情報を収集する。収取される情報は、例えば、農家向けの温度情報、または船舶や人などの位置情報などである。ここでは、情報提供者A端末20によって収集されたi番目の情報をDataAi、および情報提供者B端末21によって収集されたi番目の情報をDataBiとする。
情報提供者A端末20および情報提供者B端末21は、収集した情報を秘匿する。ここでは、DataAiが秘匿された情報をENC(DataAi)、およびDataBiが秘匿された情報をENC(DataBi)とする。図2に図示するように、秘匿された情報であるENC(DataAi)の値は、例えば、「A6CD4D3E・・・」という値である。
【0026】
なお、秘匿情報分析装置10が情報を秘匿したまま分析を行えるようにするため、DataAiおよびDataBiの秘匿化は、情報を秘匿した状態で範囲検索および統計処理が行えるようにする暗号技術によって行う。当該暗号技術とは、例えば、秘密計算、準同型暗号、または検索可能暗号を用いることで実現可能である。
【0027】
情報提供者A端末20および情報提供者B端末21は、秘匿された情報であるそれぞれのENC(DataAi)およびENC(DataBi)について、インデックス情報を生成する。ここでは、ENC(DataAi)に対応付けられたインデックス情報をindexAi、およびENC(DataBi)に対応付けられたインデックス情報をindexBiとする。図2に図示するように、indexAiの値は、例えば、「0a4g2daag2・・・」という値である。
【0028】
なお、インデックス情報であるindexAiおよびindexBiは、理想的な乱数生成によって生成される。
【0029】
情報提供者A端末20および情報提供者B端末21は、インデックス情報であるindexAiおよびindexBiと、秘匿された情報であるENC(DataAi)およびENC(DataBi)とを対応づけたリストである秘匿化情報リストをそれぞれ生成する。情報提供者A端末20および情報提供者B端末21は、生成した秘匿化情報リストを、秘匿情報分析装置10へ送信する。
【0030】
秘匿情報分析装置10は、情報提供者A端末20および情報提供者B端末21からそれぞれ秘匿化情報リストを受信すると、双方の秘匿化情報リストを併せて1つの秘匿化情報リストにして記憶する。
【0031】
(情報の利用)
以下、情報の利用のフェーズにおける処理について、図面を参照しながら説明する。
図3は、本実施形態に係る秘匿情報分析システム1の情報の利用のフェーズにおける処理の一例を示す概略図である。
【0032】
まず、情報利用者端末30は、秘匿情報分析装置10へ、分析要求を示す情報である分析コマンドを送信する。分析コマンドは、「分析の種類」と「分析範囲」の組み合わせにより構成される。
【0033】
「分析の種類」は、秘匿情報分析装置10に実行させる分析処理の種類を表し、例えば、合計値の算出や平均値の算出などである。「分析の種類」は秘匿されず、秘匿情報分析装置10が識別可能な形式で送信される。「分析範囲」は、分析処理を行うための入力情報の範囲を示し、例えば、「20歳〜30歳」、「男性のみ」、「特定の地域の情報提供者端末において収集された情報」などである。「分析範囲」は秘匿された状態で秘匿情報分析装置10へ送信されるため、秘匿情報分析装置10においては内容を認識することはできない。
なお、図2に例示した分析コマンドである「avg(分析範囲)」は、指定する分析範囲に該当する秘匿化情報に対して平均値(average)を算出させる分析要求を示す分析コマンドである。
【0034】
なお、分析範囲の指定方法としては、上記の情報の収集のフェーズにおいて指定された方法に従い、例えば、検索可能暗号によって実現することができる。
【0035】
秘匿情報分析装置10は、情報利用者端末30から受信した分析コマンドが示す分析範囲に基づいて、秘匿情報分析装置10が記憶する秘匿化情報リストから該当する秘匿化情報を抽出する。分析範囲を示す情報、および当該分析範囲に該当する秘匿化情報は、いずれも秘匿されているため、秘匿情報分析装置10は、どのような分析範囲が指定されているか、および、どのような分析結果が得られたか、を認識することはできないが、例えば、検索可能暗号により、分析範囲に該当する秘匿化情報を取得することはできる。
【0036】
秘匿情報分析装置10は、上記において取得した秘匿化情報と、分析コマンドが示す分析の種類とに基づいて分析を行う。分析は、上記の情報の収集のフェーズにおいて指定された方法に従い、例えば、秘密計算、または準同型暗号を利用した方法によって実現することができる。
【0037】
秘匿情報分析装置10は、分析結果を示す情報を、情報利用者端末30へ送信する。
また、秘匿情報分析装置10は、上記の分析において利用した秘匿化情報を、情報利用者端末30によって利用された情報として、当該秘匿化情報にそれぞれ対応付けられたインデックス情報を秘匿化情報リストから取得し、利用インデックス情報リストとしてリスト化する。ここでは、利用インデックス情報リストをindexXjとする。
【0038】
(利用実績の確認)
以下、利用実績の確認のフェーズにおける処理について、図面を参照しながら説明する。
図4乃至6は、本実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける処理の一例を示す概略図である。
【0039】
図4に示すように、秘匿情報分析装置10は、上記の情報の利用のフェーズにおいてリスト化された利用インデックス情報リストであるindexXjに含まれるそれぞれのインデックス情報に対して、f<kserverj>(indexXj)を計算する。そして、秘匿情報分析装置10は、f<kserverj>(indexXj)のリスト(第1変換リスト)を、情報提供者端末(情報提供者A端末20および情報提供者B端末21)へ送信する。このように、各情報提供者端末へは同一の第1変換リストが送信される。
【0040】
なお、f<kserverj>(indexXj)は、秘匿情報分析装置10のみが知ることができるkserverjと、indexXjとを用いて生成される情報であり、かつ、逆関数が存在する関数である。kserverjは、indexXjごとにランダムに生成される。また、生成されたkserverjは、秘匿情報分析装置10に記憶される。
【0041】
図5に示すように、情報提供者端末(情報提供者A端末20および情報提供者B端末21)は、秘匿情報分析装置10から受信したf<kserverj>(indexXj)のリスト(第1変換リスト)に含まれるそれぞれのf<kserverj>(indexXj)に対して、g<kx>*f<kserverj>(indexXj)を計算する。例えば、情報提供者A端末20は、g<kA>*f<kserverj>(indexAj)を計算する。
【0042】
そして、情報提供者端末(情報提供者A端末20および情報提供者B端末21)は、g<kx>*f<kserverj>(indexXj)のリスト(第2変換リスト)を、Xjとともに秘匿情報分析装置10へ送信する。
【0043】
なお、g<kx>(indexXj)は、indexXjとkxとを入力値として、情報提供者端末に関する情報Xj(すなわち、情報提供者A端末20に関する情報ならばXaであり、情報提供者B端末21に関する情報ならばXb)を生成する関数であり、kxは情報提供者端末のみが知りうる情報である。すなわち、kaは情報提供者A端末20のみが知りうる情報であり、kbは情報提供者B端末21のみが知りうる情報である。
【0044】
なお、indexXjとg<kx>(indexXj)は、それぞれ以下のような要件を満たす必要がある。
indexXjは、乱数成分を含み、同値の情報とはならないこと。例えば、indexXjは、indexXj=θx+360×randj、0≦θx≦360、を満たす値である。ここで、randjは擬似乱数である。
g<kx>(indexXj)は、上述したように、kxが同一の値であれば、上記のindexXjを入力した場合に、同一の値(Xj)が出力される関数であること。例えば、g<kx>(indexXj)は、g<kx>(indexXj)=(kx・cosindexXj,kx・sinindexXj)=(kx・cosθx,kx・sinθx)を満たす関数である。このように、g<kx>(indexXj)は、周期関数(例えば、三角関数)によって実現されうる。
【0045】
図6に示すように、秘匿情報分析装置10は、情報提供者端末(情報提供者A端末20および情報提供者B端末21)から受信したg<kx>*f<kserverj>(indexXj)のリスト(第2変換リスト)に含まれるそれぞれのg<kx>*f<kserverj>(indexXj)に対して、h<kserverj>*g<kx>*f<kserverj>(indexXj)を計算する。ここで、h<kserverj>は、f<kserverj>の逆関数である。したがって、上記の計算により、g<kx>(indexXj)が算出される。
【0046】
そして、秘匿情報分析装置10は、情報提供者端末(情報提供者A端末20および情報提供者B端末21)から受信したXjとg<kx>(indexXj)とを照合し、Xjに一致するg<kx>(indexXj)のデータの数を確認する。
【0047】
具体的には、秘匿情報分析装置10は、情報提供者A端末20から受信したXaとg<ka>(indexAj)とを照合し、Xaに一致するg<kx>(indexAj)のデータの数を確認する。これにより、秘匿情報分析装置10は、一致すると確認されたデータの数が、分析に利用された情報のうち情報提供者A端末20によって提供されたデータの数であることを認識することができる。同様に、秘匿情報分析装置10は、情報提供者B端末21から受信したXbとg<kb>(indexBj)とを照合し、Xbに一致するg<kx>(indexBj)のデータの数を確認する。これにより、秘匿情報分析装置10は、一致すると確認されたデータの数が、分析に利用された情報のうち情報提供者B端末21によって提供されたデータの数であることを認識することができる。
【0048】
秘匿情報分析装置10は、上記において確認された、分析に利用された情報のうち情報提供者A端末20によって提供されたデータの数と、分析に利用された情報のうち情報提供者B端末21によって提供されたデータの数との合計が、分析に利用された情報の数と一致している場合には、利用実績の確認の処理が正常に行われたものと判定し、処理を終了する。そして、秘匿情報分析装置10は、上記の処理で用いたXjの値を破棄する。
【0049】
なお、秘匿情報分析装置10は、上記において確認された、分析に利用された情報のうち情報提供者A端末20によって提供されたデータの数と、分析に利用された情報のうち情報提供者B端末21によって提供されたデータの数との合計が、分析に利用された情報の数と一致していない場合には、利用実績の確認の処理が正常に行われなかったものと判定し、当該利用実績の確認の処理を再度、始めから実行する。
【0050】
利用実績の確認の処理が正常に行われない場合とは、例えば、秘匿情報分析装置10と情報提供者端末(情報提供者A端末20および情報提供者B端末21)との間の通信が正常に行われなかった場合や、第三者により不正にデータが改ざんされた場合などが考えられる。
【0051】
(秘匿情報分析システムの機能構成)
以下、秘匿情報分析システム1を構成する、秘匿情報分析装置10、情報提供者A端末20、および情報利用者端末30の機能構成について、再び図1を参照しながら説明する。なお、情報提供者B端末21の機能構成は、情報提供者A端末20の機能構成と共通であるため説明を省略する。
【0052】
図1に図示するように、本実施形態に係る秘匿情報分析装置10は、送受信部101と、記憶部102と、分析実行部103と、利用情報リスト生成部104と、第1変換リスト生成部105と、第3変換リスト生成部106と、分析利用数特定部107と、を含んで構成される。
【0053】
送受信部101は、通信ネットワークを介して、情報提供者A端末20、情報提供者B端末21、または情報利用者端末30と通信接続し、各種の情報を送受信するための通信インターフェースである。
【0054】
記憶部102は、情報提供者A端末20および情報提供者B端末21から受信した秘匿化情報リスト、後述する利用情報リスト生成部104によって生成された利用インデックス情報リスト、後述する第1変換リスト生成部105によって生成された第1変換リスト、および後述する第3変換リスト生成部106によって生成された第3変換リストなどを記憶する。記憶部102は、記憶媒体、例えば、ハードディスクドライブ(HDD;Hard Disk Drive)、フラッシュメモリ、イーイープロム(EEPROM;Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory;読み出し専用メモリ)、RAM(Random Access read/write Memory;読み書き可能なメモリ)、またはそれらの任意の組み合わせを含んで構成される。
【0055】
分析実行部103は、情報利用者端末30から受信した分析指示情報が示す分析対象範囲に含まれる秘匿化情報を記憶部102から抽出し、抽出された秘匿化情報を用いて分析を実行する。
【0056】
利用情報リスト生成部104は、分析実行部103によって分析に用いられた秘匿化情報に対応付けられたインデックス情報を秘匿化情報リストから取得し、取得されたインデックス情報のリストである利用インデックス情報リストを生成する。
【0057】
第1変換リスト生成部105は、利用インデックス情報リストに含まれるそれぞれのインデックス情報を、逆関数を有する第1関数によって第1変換インデックス情報へデータ変換し、変換された第1変換インデックス情報のリストである第1変換インデックス情報リストを生成する。
【0058】
第3変換リスト生成部106は、第2変換インデックス情報リストに含まれる第2変換インデックス情報を、逆関数によって第3変換インデックス情報へデータ変換し、変換された第3変換インデックス情報のリストである第3変換インデックス情報リストを生成する。
【0059】
分析利用数特定部107は、第3変換インデックス情報リストに含まれる第3変換インデックス情報において固定値と同一の値である第3変換インデックス情報の個数に基づいて分析に用いられた秘匿化情報の個数を特定する。
【0060】
図1に図示するように、本実施形態に係る情報提供者A端末20は、送受信部201と、記憶部202と、情報収集部203と、秘匿化部204と、秘匿化情報リスト生成部205と、第2変換リスト生成部206と、を含んで構成される。
【0061】
送受信部201は、通信ネットワークを介して、秘匿情報分析装置10と通信接続し、各種の情報を送受信するための通信インターフェースである。
【0062】
記憶部202は、後述する秘匿化情報リスト生成部205によって生成された秘匿化情報リストを記憶する。記憶部202は、記憶媒体、例えば、ハードディスクドライブ、フラッシュメモリ、イーイープロム、ROM、RAM、またはそれらの任意の組み合わせを含んで構成される。
【0063】
情報収集部203は、外部の装置(図示せず)等から情報を収集する。
秘匿化部204は、情報収集部203によって収集された情報を秘匿化する。
【0064】
秘匿化情報リスト生成部205は、秘匿化部204によって秘匿化された情報(秘匿化情報)ごとにインデックス情報を擬似乱数に基づいて生成し、秘匿化情報とインデックス情報とが対応付けられた秘匿化情報リストを生成する。
【0065】
第2変換リスト生成部206は、インデックス情報に対してデータ変換を行った場合にパラメータ値が同一ならばデータ変換されたインデックス情報の値が固定値となる第2関数によって、第1変換インデックス情報リストに含まれる第1変換インデックス情報を第2変換インデックス情報へデータ変換し、変換された第2変換インデックス情報のリストである第2変換インデックス情報リストを生成する。
【0066】
図1に図示するように、本実施形態に係る情報利用者端末30は、送受信部301と、分析指示情報生成部302と、を含んで構成される。
【0067】
送受信部301は、通信ネットワークを介して、秘匿情報分析装置10と通信接続し、各種の情報を送受信するための通信インターフェースである。
【0068】
分析指示情報生成部302は、秘匿化情報リストに含まれる秘匿化情報に対する分析指示を示す分析指示情報を生成する。
【0069】
(秘匿情報分析システムの動作)
以下、秘匿情報分析システム1の動作を、情報の収集のフェーズ、情報の利用のフェーズ、および利用実績の確認のフェーズに分けて、それぞれ図面を参照しながら説明する。
まず、情報の収集のフェーズにおける秘匿情報分析システム1の動作について説明する。
図7は、本発明の実施形態に係る秘匿情報分析システム1の情報の収集のフェーズにおける動作を示すフローチャートである。本フローチャートは、情報提供者端末(情報提供者A端末20および情報提供者B端末21)が情報の収集を開始する際に開始する。
【0070】
(ステップst001)情報提供者端末の第2変換リスト生成部(例えば、情報提供者A端末20の第2変換リスト生成部206)は、第2変換リストの生成において用いられる関数のパラメータであるkxと、当該関数の出力値(固定値)となるXjとを生成し、記憶部(例えば、情報提供者A端末の記憶部202)に記憶させる。その後、ステップst002へ進む。
【0071】
(ステップst002)情報提供者端末の情報収集部(例えば、情報提供者A端末20の情報収集部203)は、情報(DataXi)を収集する。その後、ステップst003へ進む。
【0072】
(ステップst003)情報提供者端末の秘匿化情報リスト生成部(例えば、情報提供者A端末20の秘匿化情報リスト生成部205)は、情報(DataXi)に対するインデックス情報(indexXi)を生成する。当該インデックス情報は、例えば、indexXi=θx+360・nxiを計算することにより生成される。その後、ステップst004へ進む。
【0073】
(ステップst004)情報提供者端末の秘匿化情報リスト生成部(例えば、情報提供者A端末20の秘匿化情報リスト生成部205)は、秘匿化部(例えば、情報提供者A端末20の秘匿化部204)によって秘匿された情報であるENC(DataXi)とindexXiとが対応付けられた秘匿化情報リストを生成する。その後、ステップst005へ進む。
【0074】
(ステップst005)情報提供者端末の送受信部(例えば、情報提供者A端末20の送受信部201)は、秘匿化情報リスト生成部によって生成された秘匿化情報リストを、通信ネットワークを介して秘匿情報分析装置10の送受信部101へ送信する。その後、ステップst006へ進む。
【0075】
(ステップst006)秘匿情報分析装置10の送受信部101は、情報提供者端末から送信された秘匿化情報リストを受信すると、記憶部102に記憶させる。その後、ステップst007へ進む。
【0076】
(ステップst007)情報提供者端末による情報の収集の処理が完了した場合、本フローチャートの処理が終了する。そうでない場合は、ステップst002へ戻る。
【0077】
次に、情報の利用のフェーズにおける秘匿情報分析システム1の動作について説明する。
図8は、本発明の実施形態に係る秘匿情報分析システム1の情報の利用のフェーズにおける動作を示すフローチャートである。本フローチャートは、情報利用者端末30が秘匿情報分析装置10に対し情報の分析を要求する際に開始する。
【0078】
(ステップst101)情報利用者端末30の送受信部301は、分析コマンドを、通信ネットワークを介して秘匿情報分析装置10の送受信部101へ送信する。その後、ステップst102へ進む。
【0079】
(ステップst102)秘匿情報分析装置10の送受信部101は、情報利用者端末30から送信された分析コマンドを受信する。その後、ステップst103へ進む。
【0080】
(ステップst103)秘匿情報分析装置10の分析実行部103は、送受信部101が受信した分析コマンドに含まれる分析範囲情報の条件に合致する秘匿化情報を、記憶部102に記憶された秘匿化情報リストから取得する。その後、ステップst104へ進む。
【0081】
(ステップst104)秘匿情報分析装置10の分析実行部103は、分析コマンドが示す分析の種類に従って、上記において取得された秘匿化情報を分析する。秘匿情報分析装置10の送受信部101は、分析結果を示す情報を、通信ネットワークを介して情報利用者端末30の送受信部301へ送信する。その後、ステップst104へ進む。
【0082】
(ステップst105)秘匿情報分析装置10の利用情報リスト生成部104は、分析に利用した秘匿化情報に対応するインデックス情報(indexXi)をリスト化した利用インデックス情報リストを生成し、記憶部102に記憶させる。
以上で、本フローチャートの処理が終了する。
【0083】
次に、利用実績の確認のフェーズにおける秘匿情報分析システム1の動作について説明する。
図9乃至11は、本発明の実施形態に係る秘匿情報分析システム1の利用実績の確認のフェーズにおける動作を示すフローチャートである。本フローチャートは、秘匿情報分析装置10が利用実績の確認の処理を行う際に開始する。
【0084】
(ステップst201)秘匿情報分析装置10の第1変換リスト生成部105は、利用情報リスト生成部104によって生成された利用インデックス情報リストを記憶部102から取得する。その後、ステップst202へ進む。
【0085】
(ステップst202)秘匿情報分析装置10の第1変換リスト生成部105は、kserverjを生成する。その後、ステップst203へ進む。
【0086】
(ステップst203)秘匿情報分析装置10の第1変換リスト生成部105は、利用インデックス情報リストに含まれるインデックス情報(indexXj)に対して、f<kserverj>(indexXj)を計算し、その値をF(X)とする。その後、ステップst204へ進む。
【0087】
(ステップst204)秘匿情報分析装置10の第1変換リスト生成部105は、F(X)を第1変換リストに追加し、kserverjを鍵リストに追加する。その後、ステップst205へ進む。
【0088】
(ステップst205)秘匿情報分析装置10の第1変換リスト生成部105が、利用インデックス情報リストに含まれる全てのインデックス情報(indexXj)に対して上記の計算の処理が完了したならば、ステップst205へ進む。そうでない場合は、ステップst202へ戻る。
【0089】
(ステップst206)秘匿情報分析装置10の第1変換リスト生成部105は、鍵リストを記憶部102に記憶させる。その後、ステップst207へ進む。
【0090】
(ステップst207)秘匿情報分析装置10の送受信部101は、通信ネットワークを介して各情報提供者端末へ第1変換リストを送信する。その後、ステップst208へ進む。
【0091】
(ステップst208)各情報提供者端末の送受信部(例えば、情報提供者A端末20の送受信部201)は、秘匿情報分析装置10から送信された第1変換リストを受信する。その後、ステップst209へ進む。
【0092】
(ステップst209)各情報提供者端末の第2変換リスト生成部(例えば、情報提供者A端末20の第2変換リスト生成部206)は、記憶部(例えば、情報提供者A端末20の記憶部202)からKxの値を取得する。その後、ステップst210へ進む。
【0093】
(ステップst210)各情報提供者端末の第2変換リスト生成部(例えば、情報提供者A端末20の第2変換リスト生成部206)は、第1変換リストに含まれるインデックス情報(f<kserverj>(indexXj))に対して、g<kx>*f<kserverj>(indexXj)を計算し、その値をG(X)とする。その後、ステップst211へ進む。
【0094】
(ステップst211)各情報提供者端末の第2変換リスト生成部(例えば、情報提供者A端末20の第2変換リスト生成部206)は、G(X)を第2変換リストに追加する。その後、ステップst212へ進む。
【0095】
(ステップst212)各情報提供者端末の第2変換リスト生成部(例えば、情報提供者A端末20の第2変換リスト生成部206)が、第1変換リストに含まれる全てのインデックス情報(f<kserverj>(indexXj))に対して上記の計算の処理が完了したならば、ステップst213へ進む。そうでない場合は、ステップst209へ戻る。
【0096】
(ステップst213)各情報提供者端末の送受信部(例えば、情報提供者A端末20の送受信部201)は、通信ネットワークを介して秘匿情報分析装置10の送受信部101へ、第2変換リストとXjとを送信する。その後、ステップst214へ進む。
【0097】
(ステップst214)秘匿情報分析装置10の送受信部101は、各情報提供者端末(例えば、情報提供者A端末20)から送信された第2変換リストとXjとを受信する。その後、ステップst215へ進む。
【0098】
(ステップst215)秘匿情報分析装置10の第3変換リスト生成部106は、第2変換リストに含まれるインデックス情報(g<kx>*f<kserverj>(indexXj))に対して、f<kserverj>*g<kx>*f<kserverj>(indexXj)を計算し、その値をH(X)とする。その後、ステップst216へ進む。
【0099】
(ステップst216)秘匿情報分析装置10の第3変換リスト生成部106は、H(X)の値とXjの値とを照合する。H(X)の値とXjの値とが一致したならば、ステップst217へ進む。そうでない場合は、ステップst218へ進む。
【0100】
(ステップst217)秘匿情報分析装置10の第3変換リスト生成部106は、H(X)の値を第3変換リストに追加する。その後、ステップst218へ進む。
【0101】
(ステップst218)秘匿情報分析装置10の第3変換リスト生成部106が、第2変換リストに含まれる全てのインデックス情報(g<kx>*f<kserverj>(indexXj))に対して上記の計算の処理が完了したならば、ステップst219へ進む。そうでない場合は、ステップst215へ戻る。
【0102】
(ステップst219)秘匿情報分析装置10の第3変換リスト生成部106は、第2変換リストの要素数と、全ての情報提供者端末に該当する第3変換リストの要素数の合計値とを比較する。第2変換リストの要素数と、全ての情報提供者端末に該当する第3変換リストの要素数の合計値が同じ値であるならば、ステップst220へ進む。そうでない場合は、ステップst201へ戻る。
【0103】
(ステップst220)秘匿情報分析装置10の第3変換リスト生成部106は、各情報提供者端末に該当する第3変換リストの要素数に基づいて、情報提供者端末ごとの利用された情報の個数を特定する。その後、ステップst221へ進む。
【0104】
(ステップst221)秘匿情報分析装置10の第3変換リスト生成部106は、記憶部102に記憶されたXjの値を破棄する。
以上で、本フローチャートの処理を終了する。
【0105】
以上説明したように、本実施形態に係る秘匿情報分析システム1は、情報を秘匿したまま当該情報の情報提供者を識別することができる。すなわち、本実施形態に係る秘匿情報分析システム1によれば、秘匿状態を保つことによってプライバシは保護されつつ、サービス利用者は情報を利用したことを証明することができ、サービス提供者は利用された情報の提供者であることを証明することができる。
【0106】
以上、この発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0107】
なお、上述した実施形態における秘匿情報分析システム1の一部又は全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
【0108】
なお、ここでいう「コンピュータシステム」とは、秘匿情報分析システム1に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0109】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0110】
また、上述した実施形態における秘匿情報分析システム1を、LSI(Large Scale Integration)等の集積回路として実現してもよい。秘匿情報分析システム1の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0111】
1・・・秘匿情報分析システム、10・・・秘匿情報分析装置、20・・・情報提供者A端末、21・・・情報提供者B端末、30・・・情報利用者端末、101・・・送受信部、102・・・記憶部、103・・・分析実行部、104・・・利用情報リスト生成部、105・・・第1変換リスト生成部、106・・・第3変換リスト生成部、107・・・分析利用数特定部、201・・・送受信部、202・・・記憶部、203・・・情報収集部、204・・・秘匿化部、205・・・秘匿化情報リスト生成部、206・・・第2変換リスト生成部、301・・・送受信部、302・・・分析指示情報生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11