(57)【要約】【課題】プライバシデータをより適切に保護する。【解決手段】情報処理方法は、ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを受信し（ステップＳ１）、第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、第１暗号化特徴量と複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得し（ステップＳ２）、複数のプライバシデータのうちのプライバシデータであって、第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを送信し（ステップＳ３）、不正アクセスが検出された場合に、クエリに含まれている秘匿情報を用いてユーザの秘密鍵を特定し、特定情報を出力する（ステップＳ４）。【選択図】図１２
2018116254.tif 000002
【特許請求の範囲】
【請求項１】
第１装置を含む情報処理システムが実行する情報処理方法であって、
前記第１装置は、プロセッサとメモリとを備え、
前記メモリは、予め取得された複数のプライバシデータから算出された複数の参照特徴量のそれぞれを内積暗号を用いて暗号化することにより生成された複数の第２暗号化特徴量を記憶しており、前記複数の参照特徴量のそれぞれはｎ次元のベクトルで表され、ｎは１以上の整数であり、
前記プロセッサにより、
（ａ）ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、前記第１装置に接続された第２装置から受信し、前記第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、前記第１特徴量はｎ次元のベクトルで表され、
（ｂ）前記第１暗号化特徴量と前記複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得し、
（ｃ）前記複数のプライバシデータのうちのプライバシデータであって、前記第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、前記第２装置に送信し、
（ｄ）前記第１装置への不正アクセスが検出された場合に、前記クエリに含まれている前記秘匿情報を用いて前記ユーザの秘密鍵を特定し、前記ユーザの前記秘密鍵を特定する特定情報を前記第２装置に出力する
情報処理方法。
【請求項２】
前記ユーザの前記秘密鍵は、前記ユーザが属するグループのグループ署名の署名生成鍵であり、
前記秘匿情報は、グループ署名を含み、
前記ユーザの前記秘密鍵を特定することは、前記クエリに含まれる前記秘匿情報に含まれる前記グループ署名の開示鍵を用いて、前記グループ署名から前記署名生成鍵を特定することを含む
請求項１に記載の情報処理方法。
【請求項３】
前記ユーザの前記秘密鍵は、前記第２装置に割り当てられたＴｒａｉｔｏｒ  Ｔｒａｉｃｉｎｇにおけるユーザに固有の秘密鍵である固有秘密鍵であり、
前記秘匿情報が付加された前記第１暗号化特徴量は、前記固有秘密鍵を用いた内積暗号により暗号化されており、
前記第２暗号化特徴量は、システム秘密鍵を用いた内積暗号により暗号化されており、
前記ユーザの前記秘密鍵を特定することは、
（ｅ）前記第２暗号化特徴量と前記クエリに含まれる前記第１暗号化特徴量との内積値である第１内積値を取得することと、
（ｆ）前記システム秘密鍵の要素のうち、複数のユーザのうちの一のユーザに対応する要素を乱数に変更した検証用秘密鍵を、前記複数のユーザごとに生成することと、
（ｇ）前記参照特徴量を、前記検証用秘密鍵を用いた内積暗号により暗号化することで生成した検証値と、前記クエリに含まれる前記第１暗号化特徴量との内積値である第２内積値を、前記複数のユーザごとに取得することと、
（ｈ）前記複数のユーザのうち、前記第１内積値と前記第２内積値とが一致しないユーザの秘密鍵を特定することとを含む
請求項１に記載の情報処理方法。
【請求項４】
前記ユーザのプライバシデータは、前記ユーザのバイタルデータを含む
請求項１〜３のいずれか１項に記載の情報処理方法。
【請求項５】
前記ユーザのプライバシデータは、前記ユーザが機器又は車両を操作したことの履歴を示すログ情報を含む
請求項１〜４のいずれか１項に記載の情報処理方法。
【請求項６】
前記第１特徴量は、前記ユーザの身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも１つに関連する指標を示す成分を含む
請求項１〜５のいずれか１項に記載の情報処理方法。
【請求項７】
前記複数のプライバシデータは、互いに異なる複数人のバイタルデータを含む
請求項４に記載の情報処理方法。
【請求項８】
第１装置を備える情報処理システムであって、
前記情報処理システムは、プロセッサとメモリとを備え、
前記メモリは、予め取得された複数のプライバシデータから算出された複数の参照特徴量のそれぞれを内積暗号を用いて暗号化することにより生成された複数の第２暗号化特徴量を記憶しており、前記複数の参照特徴量のそれぞれはｎ次元のベクトルで表され、ｎは１以上の整数であり、
前記プロセッサにより、ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、前記第１装置に接続された第２装置から受信し、前記第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、前記第１特徴量はｎ次元のベクトルで表される受信部と、
前記プロセッサにより、前記第１暗号化特徴量と前記複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得する演算部と、
前記プロセッサにより、前記複数のプライバシデータのうちのプライバシデータであって、前記第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、前記第２装置に送信する送信部と、
前記プロセッサにより、前記第１装置への不正アクセスが検出された場合に、前記クエリに含まれている前記秘匿情報を用いて前記ユーザの秘密鍵を特定し、前記ユーザの前記秘密鍵を特定する特定情報を前記第２装置に出力する特定部とを備える
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、及び、情報処理システムに関する。
【背景技術】
【０００２】
家庭で血圧等の測定を行い、サーバにおける分析により食生活などに関してユーザにアドバイスを行うシステムがある。このシステムは、分析において、その本人に関する過去の情報のみならず、類似した他の症例を参考にアドバイスを行うことにより、そのユーザに有用なアドバイスを行うことができる。サーバにおける類似症例の検索において、プライバシデータの保護の観点により、そのユーザに関する情報、及び、参照される他の症例についての情報は、サーバに対して秘匿されることが望ましい。
【０００３】
特許文献１には、加法準同型暗号を用いて、暗号化したまま被認証データおよび認証データを照合し、サーバに対して情報を秘匿にする照合システムの技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１４／１８５４５０号
【非特許文献】
【０００５】
【非特許文献１】Allison Bishop、外２名、「Function-Hiding Inner Product Encryption」、[online]、「Advances in Cryptology - ASIACRYPT 2015」、［平成２９年８月１日検索］、インターネット（URL：https://eprint.iacr.org/2015/672.pdf）、Springer Berlin Heidelberg
【非特許文献２】Mihir Bellare、外２名、「Foundations of Group Signatures: Formal Definitions, Simplified Requirements, and a Construction Based on General Assumptions」、[online]、「Advances in Cryptology - EUROCRYPT 2003」、［平成２９年８月１日検索］、インターネット（URL：https://cseweb.ucsd.edu/~mihir/papers/gs.pdf）、Springer Berlin Heidelberg
【非特許文献３】Kaoru Kurosawa、外１名、「Linear Code Implies Public-Key Traitor Tracing」、[online]、「Public Key Cryptography - PKC 2002」、［平成２９年８月１日検索］、インターネット（URL：https://eprint.iacr.org/2001/099.ps）、Springer Berlin Heidelberg
【非特許文献４】Junichi Tomida、外２名、「Efficient Functional Encryption for Inner-Product Values with Full-Hiding Security」、[online]、「International Conference on Information Security - ISC 2016」、［平成２９年８月１日検索］、インターネット（URL：http://rd.springer.com/chapter/10.1007/978-3-319-45871-7_24）、Springer Berlin Heidelberg
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ユーザに関する情報と、参照される情報とをユーザの端末で照合することは、参照される情報量が多くなると、ユーザの端末の処理負荷及び通信量の増大を招く。また、暗号化又は復号に用いる鍵が漏えいするとプライバシデータが保護できなくなるという問題がある。
【０００７】
そこで、本発明は、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護する情報処理方法等を提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る情報処理方法は、第１装置を含む情報処理システムが実行する情報処理方法であって、前記第１装置は、プロセッサとメモリとを備え、前記メモリは、予め取得された複数のプライバシデータから算出された複数の参照特徴量のそれぞれを内積暗号を用いて暗号化することにより生成された複数の第２暗号化特徴量を記憶しており、前記複数の参照特徴量のそれぞれはｎ次元のベクトルで表され、ｎは１以上の整数であり、前記プロセッサにより、（ａ）ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、前記第１装置に接続された第２装置から受信し、前記第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、前記第１特徴量はｎ次元のベクトルで表され、（ｂ）前記第１暗号化特徴量と前記複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得し、（ｃ）前記複数のプライバシデータのうちのプライバシデータであって、前記第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、前記第２装置に送信し、（ｄ）前記第１装置への不正アクセスが検出された場合に、前記クエリに含まれている前記秘匿情報を用いて前記ユーザの秘密鍵を特定し、前記ユーザの前記秘密鍵を特定する特定情報を前記第２装置に出力する。
【０００９】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本発明の情報処理方法は、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【図面の簡単な説明】
【００１１】
【図１Ａ】図１Ａは、サービスの全体像を示す図である。
【図１Ｂ】図１Ｂは、機器メーカがデータセンタ運営会社に該当する例を示す図である。
【図１Ｃ】図１Ｃは、機器メーカ及び管理会社の両者又はいずれか一方がデータセンタ運営会社に該当する例を示す図である。
【図２】図２は、実施の形態における情報処理システムの全体構成を示す図である。
【図３】図３は、実施の形態におけるユーザ端末装置の構成を示す構成図である。
【図４】図４は、実施の形態におけるデータ演算装置の構成を示す構成図である。
【図５】図５は、実施の形態におけるデータ提供装置の構成を示す構成図である。
【図６Ａ】図６Ａは、実施の形態におけるデータ演算装置の参照特徴量格納部の一例を示す図である。
【図６Ｂ】図６Ｂは、実施の形態におけるデータ演算装置の参照データ格納部の一例を示す図である。
【図７】図７は、実施の形態におけるデータ検証装置の構成を示す構成図である。
【図８】図８は、実施の形態における情報処理システムの動作を示す第一のシーケンス図である。
【図９】図９は、実施の形態における情報処理システムの動作を示す第二のシーケンス図である。
【図１０Ａ】図１０Ａは、実施の形態における通信データのフォーマットの一例を示す図である。
【図１０Ｂ】図１０Ｂは、実施の形態における通信データのフォーマットの別の一例を示す図である。
【図１１】図１１は、実施の形態における情報処理システムの動作を示すシーケンス図である。
【図１２】図１２は、実施の形態の変形例１における情報処理方法を示すフロー図である。
【図１３】図１３は、実施の形態の変形例１における情報処理システムの構成を示すブロック図である。
【図１４Ａ】図１４Ａは、実施の形態の変形例２におけるユーザ端末装置、データ提供装置、データ演算装置の暗号処理を示す第一の説明図である。
【図１４Ｂ】図１４Ｂは、実施の形態の変形例２におけるユーザ端末装置、データ提供装置、データ演算装置の暗号処理を示す第二の説明図である。
【図１４Ｃ】図１４Ｃは、実施の形態の変形例２におけるユーザ端末装置、データ提供装置、データ演算装置の暗号処理を示す第三の説明図である。
【図１５】図１５は、サービスの類型１（自社データセンタ型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。
【図１６】図１６は、サービスの類型２（ＩａａＳ利用型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。
【図１７】図１７は、サービスの類型３（ＰａａＳ利用型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。
【図１８】図１８は、サービスの類型４（ＳａａＳ利用型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。
【発明を実施するための形態】
【００１２】
（本発明の基礎となった知見）
情報を暗号化したまま類似検索する方法として、準同型暗号を用いた方法がある。しかしながら、準同型暗号を用いた演算は、加算及び乗算のいずれかの演算のみである。類似検索には、特徴量の類似度の導出のためにユークリッド距離又は内積を用いる。そのため、加算及び乗算のいずれかの演算のみでは類似度が導出できないという問題がある。
【００１３】
また、暗号化に用いる秘密鍵が漏えいした場合に、どのユーザ端末装置から漏えいした秘密鍵であるのかが特定できないという問題がある。
【００１４】
このような課題を解決するために、本発明の一態様に係る情報処理方法は、第１装置を含む情報処理システムが実行する情報処理方法であって、前記第１装置は、プロセッサとメモリとを備え、前記メモリは、予め取得された複数のプライバシデータから算出された複数の参照特徴量のそれぞれを内積暗号を用いて暗号化することにより生成された複数の第２暗号化特徴量を記憶しており、前記複数の参照特徴量のそれぞれはｎ次元のベクトルで表され、ｎは１以上の整数であり、前記プロセッサにより、（ａ）ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、前記第１装置に接続された第２装置から受信し、前記第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、前記第１特徴量はｎ次元のベクトルで表され、（ｂ）前記第１暗号化特徴量と前記複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得し、（ｃ）前記複数のプライバシデータのうちのプライバシデータであって、前記第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、前記第２装置に送信し、（ｄ）前記第１装置への不正アクセスが検出された場合に、前記クエリに含まれている前記秘匿情報を用いて前記ユーザの秘密鍵を特定し、前記ユーザの前記秘密鍵を特定する特定情報を前記第２装置に出力する。
【００１５】
上記態様によれば、情報処理システムは、ユーザのプライバシデータに基づく第１暗号化特徴量と、複数のプライバシデータに基づく複数の第２暗号化特徴量とを用いて、特徴量が暗号化された状態のままで類否判断がなされるので、プライバシデータが適切に保護される。また、類否判断により、ユーザのプライバシデータに類似すると判定されたプライバシデータだけが第２装置つまりユーザ端末装置に提供されるので、端末装置の処理負荷および通信量の増大を抑制することができる。さらに、不正アクセスを検出したことに基づいて、第１暗号化特徴量の暗号化に使用された秘密鍵が漏えいした可能性がある場合に、漏えいした可能性がある秘密鍵を特定し得る。これにより、秘密鍵が漏えいした可能性を認知し、漏えいした秘密鍵を使用しないようにシステム更新をするなどの運用が可能となる。このように、本態様に係る情報処理システムは、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【００１６】
例えば、前記ユーザの前記秘密鍵は、前記ユーザが属するグループのグループ署名の署名生成鍵であり、前記秘匿情報は、グループ署名を含み、前記ユーザの前記秘密鍵を特定することは、前記クエリに含まれる前記秘匿情報に含まれる前記グループ署名の開示鍵を用いて、前記グループ署名から前記署名生成鍵を特定することを含んでもよい。
【００１７】
上記態様によれば、情報処理システムは、ユーザに固有の秘匿情報としてグループ署名を用い、また、グループ署名の開示鍵を用いて、ユーザの秘密鍵を特定し得る。本態様に係る情報処理システムは、このような具体的構成に基づいて、情報処理システムは、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【００１８】
例えば、前記ユーザの前記秘密鍵は、前記第２装置に割り当てられたＴｒａｉｔｏｒ  Ｔｒａｉｃｉｎｇにおけるユーザに固有の秘密鍵である固有秘密鍵であり、前記秘匿情報が付加された前記第１暗号化特徴量は、前記固有秘密鍵を用いた内積暗号により暗号化されており、前記第２暗号化特徴量は、システム秘密鍵を用いた内積暗号により暗号化されており、前記ユーザの前記秘密鍵を特定することは、（ｅ）前記第２暗号化特徴量と前記クエリに含まれる前記第１暗号化特徴量との内積値である第１内積値を取得することと、（ｆ）前記システム秘密鍵の要素のうち、複数のユーザのうちの一のユーザに対応する要素を乱数に変更した検証用秘密鍵を、前記複数のユーザごとに生成することと、（ｇ）前記参照特徴量を、前記検証用秘密鍵を用いた内積暗号により暗号化することで生成した検証値と、前記クエリに含まれる前記第１暗号化特徴量との内積値である第２内積値を、前記複数のユーザごとに取得することと、（ｈ）前記複数のユーザのうち、前記第１内積値と前記第２内積値とが一致しないユーザの秘密鍵を特定することとを含んでもよい。
【００１９】
上記態様によれば、情報処理システムは、ユーザに固有の秘匿情報としてＴｒａｉｔｏｒ  Ｔｒａｉｃｉｎｇにおけるユーザに固有の秘密鍵を用い、また、Ｔｒａｉｔｏｒ  Ｔｒａｉｃｉｎｇによるトレース処理により、ユーザの秘密鍵を特定し得る。本態様に係る情報処理システムは、このような具体的構成に基づいて、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【００２０】
例えば、前記ユーザのプライバシデータは、前記ユーザのバイタルデータを含んでもよい。
【００２１】
上記態様によれば、情報処理システムは、ユーザのプライバシデータとしてユーザのバイタルデータを用いて、複数のバイタルデータのうちからユーザのバイタルデータに類似するバイタルデータを抽出できる。これにより、バイタルデータをより適切に保護することができる。
【００２２】
例えば、前記ユーザのプライバシデータは、前記ユーザが機器又は車両を操作したことの履歴を示すログ情報を含んでもよい。
【００２３】
上記態様によれば、情報処理システムは、ユーザのプライバシデータとしてユーザによる機器等の操作のログ情報を用いて、複数の操作のログ情報のうちからユーザの操作のログ情報に類似する操作のログ情報を抽出できる。これにより、操作のログ情報をより適切に保護することができる。
【００２４】
例えば、前記第１特徴量は、前記ユーザの身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも１つに関連する指標を示す成分を含んでもよい。
【００２５】
上記態様によれば、情報処理システムは、ユーザの身体の形状などを特徴量として用いて類否判断を行う。本態様に係る情報処理システムは、このような具体的構成に基づいて、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【００２６】
例えば、前記複数のプライバシデータは、互いに異なる複数人のバイタルデータを含んでもよい。
【００２７】
上記態様によれば、情報処理システムは、互いに異なる複数人のバイタルデータのうちから、ユーザのバイタルデータに類似するバイタルデータを抽出できる。これにより、同一人の複数のバイタルデータを抽出することが回避されることで、抽出できるバイタルデータがより一層利用しやすいものとなる。
【００２８】
また、本発明の一態様に係る情報処理システムは、第１装置を備える情報処理システムであって、前記情報処理システムは、プロセッサとメモリとを備え、前記メモリは、予め取得された複数のプライバシデータから算出された複数の参照特徴量のそれぞれを内積暗号を用いて暗号化することにより生成された複数の第２暗号化特徴量を記憶しており、前記複数の参照特徴量のそれぞれはｎ次元のベクトルで表され、ｎは１以上の整数であり、前記プロセッサにより、ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、前記第１装置に接続された第２装置から受信し、前記第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、前記第１特徴量はｎ次元のベクトルで表される受信部と、前記プロセッサにより、前記第１暗号化特徴量と前記複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得する演算部と、前記プロセッサにより、前記複数のプライバシデータのうちのプライバシデータであって、前記第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、前記第２装置に送信する送信部と、前記プロセッサにより、前記第１装置への不正アクセスが検出された場合に、前記クエリに含まれている前記秘匿情報を用いて前記ユーザの秘密鍵を特定し、前記ユーザの前記秘密鍵を特定する特定情報を前記第２装置に出力する特定部とを備える。
【００２９】
上記態様によれば、情報処理方法と同様の効果を奏する。
【００３０】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３１】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００３２】
なお、本明細書において、数式における記号「＾」は、べき乗を意味する。例えば、ｘ＾２と記載する場合、ｘ２を意味する。
【００３３】
（提供するサービスの全体像）
まず、本実施の形態における情報管理システムが提供するサービスの全体像について説明する。
【００３４】
図１Ａは、情報処理システムが提供するサービスの全体像を示す図である。情報処理システムは、グループ１０００、データセンタ運営会社１１１０及びサービスプロバイダ１１２０を備える。
【００３５】
グループ１０００は、例えば企業、団体又は家庭等であり、その規模を問わない。グループ１０００は、第１の機器及び第２の機器を含む複数の機器１１０１およびホームゲートウェイ１１０２を備える。複数の機器１１０１は、インターネットと接続可能な機器、及び、それ自身ではインターネットと接続不可能な機器を含む。ここで、インターネットと接続可能な機器とは、例えば、スマートフォン、パーソナルコンピュータ（ＰＣ）又はテレビ等である。また、それ自身ではインターネットと接続不可能な機器は、例えば、照明、洗濯機又は冷蔵庫等である。複数の機器１１０１は、それ自身ではインターネットと接続不可能であってもよく、ホームゲートウェイ１１０２を介してインターネットと接続可能となる機器を含んでもよい。また、ユーザ１０１０は、グループ１１００内の複数の機器１１０１を使用する。
【００３６】
データセンタ運営会社１１１０は、クラウドサーバ１１１１を備える。クラウドサーバ１１１１は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ１１１１は、主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ、つまりビッグデータ等を管理する。データセンタ運営会社１１１０は、データの管理、クラウドサーバ１１１１の管理、及びそれらを行うデータセンタの運営等を行っている。データセンタ運営会社１１１０が行っている役務の詳細については後述する。
【００３７】
ここで、データセンタ運営会社１１１０は、データの管理又はクラウドサーバ１１１１の管理のみを行っている会社に限らない。例えば、図１Ｂに示すように、複数の機器１１０１のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ１１１１の管理等を行っている場合は、機器メーカがデータセンタ運営会社１１１０に該当する。また、データセンタ運営会社１１１０は一つの会社に限らない。例えば、図１Ｃに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ１１１１の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社１１１０に該当する。
【００３８】
サービスプロバイダ１１２０は、サーバ１１２１を備える。ここで言うサーバ１１２１とは、その規模は問わず、例えば、個人用ＰＣ内のメモリ等も含む。また、サービスプロバイダ１１２０がサーバ１１２１を備えていない場合もある。
【００３９】
なお、上記の情報管理システムにおいて、ホームゲートウェイ１１０２は必須ではない。例えば、クラウドサーバ１１１１が全てのデータ管理を行っている場合等は、ホームゲートウェイ１１０２は不要となる。また、家庭内の全ての機器がインターネットに接続されている場合のように、それ自身ではインターネットと接続不可能な機器は存在しない場合もある。
【００４０】
次に、上記の情報管理システムにおける情報の流れを説明する。
【００４１】
まず、グループ１１００の第１の機器又は第２の機器は、各ログ情報をデータセンタ運営会社１１１０のクラウドサーバ１１１１にそれぞれ送信する。クラウドサーバ１１１１は、第１の機器又は第２の機器のログ情報を集積する（図１Ａの矢印１１３１）。ここで、ログ情報とは、複数の機器１１０１の例えば運転状況又は動作日時等を示す情報である。例えば、ログ情報は、テレビの視聴履歴、レコーダーの録画予約情報、洗濯機の運転日時、洗濯物の量、冷蔵庫の開閉日時、又は冷蔵庫の開閉回数などを含むが、これらの情報に限らず、種々の機器から取得が可能な種々の情報を含んでもよい。なお、ログ情報は、インターネットを介して複数の機器１１０１自体から直接クラウドサーバ１１１１に提供されてもよい。また、ログ情報は、複数の機器１１０１から一旦ホームゲートウェイ１１０２に集積され、ホームゲートウェイ１１０２からクラウドサーバ１１１１に提供されてもよい。
【００４２】
次に、データセンタ運営会社１１１０のクラウドサーバ１１１１は、集積したログ情報を一定の単位でサービスプロバイダ１１２０に提供する。ここで、一定の単位とは、データセンタ運営会社１１１０が集積した情報を整理してサービスプロバイダ１１２０に提供することの出来る単位でもよいし、サービスプロバイダ１１２０が要求する単位でもよい。また、一定の単位で提供するとしているが、一定の単位でなくてもよく、状況に応じて提供する情報量が変化してもよい。ログ情報は、必要に応じてサービスプロバイダ１１２０が保有するサーバ１１２１に保存される（図１Ａの矢印１１３２）。
【００４３】
そして、サービスプロバイダ１１２０は、ログ情報をユーザに提供するサービスに適合する情報に整理し、ユーザに提供する。情報が提供されるユーザは、複数の機器１１０１を使用するユーザ１０１０でもよいし、外部のユーザ１０２０でもよい。ユーザ１０１０，１０２０への情報提供方法としては、例えば、サービスプロバイダ１１２０から直接ユーザ１０１０，１０２０へ情報が提供されてもよい（図１Ａの矢印１１３４）。また、ユーザ１０１０への情報提供方法としては、例えば、データセンタ運営会社１１１０のクラウドサーバ１１１１を再度経由して、ユーザ１０１０に情報が提供されてもよい（図１Ａの矢印１１３５，１１３６）。また、データセンタ運営会社１１１０のクラウドサーバ１１１１は、ログ情報をユーザに提供するサービスに適合する情報に整理し、サービスプロバイダ１１２０に提供してもよい。
【００４４】
なお、ユーザ１０１０は、ユーザ１０２０と異なっていても同一であってもよい。
【００４５】
（実施の形態１）
実施の形態１において、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護する情報処理システム及び情報処理方法について説明する。
【００４６】
１．構成
１．１  情報処理システムの全体構成
図２は、本実施の形態の情報処理システム１０の全体構成を示す図である。情報処理システム１０は、ユーザ端末装置１００と、データ演算装置２００と、データ提供装置３００とを備える。
【００４７】
図２では、情報処理システム１０は、ユーザ端末装置１００と、データ演算装置２００と、データ提供装置３００とをそれぞれ１つずつ備えているが、それぞれ２つ以上備えてもよい。
【００４８】
また、各装置間の接続形態は、有線通信及び無線通信のいずれであってもよく、また、企業内ネットワーク、家庭内ネットワーク、専用回線、インターネットなどのいずれであってもよい。また、リアルタイムでの通信が必ずしも必要ではなく、例えばユーザ端末装置１００がセンシングした情報及び類似検索の要求データを複数集め、集めた要求データをまとめてデータ演算装置２００に送信してもよい。
【００４９】
１．２  ユーザ端末装置
図３は、ユーザ端末装置１００の構成を示す構成図である。ユーザ端末装置１００は、センシング部１０１と、特徴量算出部１０２と、鍵格納部１０３と、特徴量暗号部１０４と、復号部１０５と、参照データ利用部１０６と、通信部１０７とを含んで構成される。なお、ユーザ端末装置１００は、第２装置に相当する。
【００５０】
ユーザ端末装置１００は、例えば、プロセッサ又はマイクロプロセッサ、メモリ、センサ、通信インタフェース等を備えるコンピュータに実装され得る。メモリは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等であり、プロセッサにより実行されるプログラムを記憶することができる。ここで、プログラムとは、ソフトウェアとしてのコンピュータプログラムである。
【００５１】
なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりユーザ端末装置１００における各種機能が実現され得る。
【００５２】
ユーザ端末装置１００は、ユーザに関する情報をセンシングし、また、ユーザに対して情報提示を行う装置である。ユーザ端末装置１００は、例えば、ユーザの血圧、心拍、又は、ＣＴ（Ｃｏｍｐｕｔｅｄ  Ｔｏｍｏｇｒａｐｈｙ）スキャン情報などのユーザに関する情報をセンシングする。そして、ユーザ端末装置１００は、センシングにより得た情報から特徴量を抽出し、この特徴量に類似した症状の参照データをデータ演算装置２００に要求し、得られた参照データをユーザへのサービスに利用する。ここで、症例の参照データとは、例えば症例の名称などを含む情報である。
【００５３】
１．２．１  センシング部
センシング部１０１は、ユーザに関する情報をセンシングにより取得する。センシング部１０１は、例えば血圧計、ＣＴスキャナ、カメラ又はイメージセンサ等といった、センシングのための１つ以上のセンサ又は測定器を含んで構成され得る。
【００５４】
センシング部１０１がセンシングする情報は、例えばユーザの血圧、体温又は心拍等のバイタルデータであり、例えばユーザの身体を撮像又は測定することで得られる顔画像、エコー画像又はＣＴスキャン情報等の画像情報等であってもよい。
【００５５】
また、センシングする情報は、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）で得られる位置情報、ユーザが電気機器もしくは車両等の移動体を操作したことの履歴を示すログ情報、又は、ユーザによる商品等の購買履歴情報等であってもよい。
【００５６】
ログ情報は、例えば、車両のステアリング操作、アクセル操作、ブレーキ操作、変速ギアの操作等に関連して取得又は測定される各種情報を操作時刻と対応付けた情報であり得る。ここで、上記の各種情報は、変位量、速度又は加速度等を含む。
【００５７】
センシングされたユーザに関する情報は、例えば、ユーザが他人に知られたくない個人的な事柄であるプライバシデータであり得る。
【００５８】
情報処理システム１０は、プライバシデータの秘匿を行って類似検索を行い得るシステムである。ここでは、センシング部１０１でセンシングされたユーザに関する情報は、プライバシデータであることとして説明する。
【００５９】
センシング部１０１でセンシングされたプライバシデータは、ユーザ端末装置１００において各部で処理された後に特徴量暗号部１０４によって暗号化され、類似検索のためにデータ演算装置２００に送信されることになる。
【００６０】
１．２．２  特徴量算出部
特徴量算出部１０２は、センシング部１０１で取得した情報であるプライバシデータから特徴量を算出する。特徴量算出部１０２が算出する特徴量は、複数の成分を含むベクトルで表され得る。この特徴量は、例えば、ユーザの身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも１つに関連する指標を成分として含む。なお、上記における成分を要素ともいう。
【００６１】
なお、特徴量に関連するユーザの部位は、いかなる部位であってもよく、例えば、目、鼻、耳、手、足、臓器、血管等である。ユーザの身体の全体又は一部位についての状態としては、例えば健康状態、水分量、血圧、酸素飽和度等が挙げられる。また、ユーザの身体の全体又は一部位についての動きとしては、例えば、体動、微振動が挙げられる。ここで、健康状態とは、健康診断に用いられる各種検査項目についての状態を含む。体動に関する指標は、単位時間当たりの寝返り回数等を含む。微振動に関する指標は、心拍数、呼吸数又は吸気呼気比率等を含む。
【００６２】
また、特徴量は、例えば、ユーザの顔画像における特徴的なパラメータの主成分、ある領域の位置、面積、又は、幅等の情報であってもよい。
【００６３】
また、特徴量は、センシング部１０１で取得されたユーザに関する情報の履歴から、要素の時間的な変化を例えば多項式で表現した場合における各項の係数を成分として含むベクトルで表される情報であってもよい。
【００６４】
センシング部１０１で取得した情報から抽出された特徴量自体も、プライバシデータであり得る。
【００６５】
１．２．３  鍵格納部
鍵格納部１０３は、特徴量暗号部１０４及び復号部１０５における暗号処理に用いる鍵を格納する。ここで、暗号処理とは、暗号化、復号、又は、署名生成に係る処理を含む。
【００６６】
特徴量暗号部１０４及び復号部１０５のそれぞれが用いる暗号方式及び鍵は、同じであってもよいし、異なっていてもよい。
【００６７】
例えば、特徴量暗号部１０４が用いる鍵は、暗号化したまま内積演算を可能にする内積暗号の秘密鍵と、署名生成に用いる署名生成鍵とである。この場合、復号部１０５が用いる鍵は、公知の公開鍵暗号方式におけるユーザ端末装置１００の秘密鍵、つまり、データ演算装置２００またはデータ提供装置３００と共有する公開鍵と対をなす秘密鍵である。
【００６８】
また、特徴量暗号部１０４が用いた秘密鍵と同じ鍵を、復号部１０５が用いることとしてもよい。
【００６９】
１．２．４  特徴量暗号部
特徴量暗号部１０４は、特徴量算出部１０２により算出された特徴量を予め定められた暗号方式により暗号化する。特徴量暗号部１０４は、この暗号化において鍵格納部１０３に格納された鍵を用いる。
【００７０】
特徴量暗号部１０４は、データ演算装置２００において特徴量を暗号化したまま、類似検索のための演算、つまり内積演算が可能となる所定の内積暗号を用いて暗号化を行う。また、特徴量暗号部１０４は、内積暗号を用いた暗号文に対し、グループ署名の署名生成を行う。内積暗号については、非特許文献１又は非特許文献４に示された公知の方法を採用し得るので、ここでは詳細に述べない。
【００７１】
また、グループ署名については、非特許文献２に示された公知の方法を採用し得るので、ここでは詳細に述べない。
【００７２】
また、類似検索の類似度にユークリッド距離を用いる場合には、特徴量の変換を行う。特徴量の変換方法は後述する。
【００７３】
１．２．５  復号部
復号部１０５は、データ演算装置２００から送信された暗号化された参照データを復号する。この参照データは、類似検索の結果を含んでいる。復号部１０５は、この復号において鍵格納部１０３に格納された鍵を用いる。
【００７４】
１．２．６  参照データ利用部
参照データ利用部１０６は、復号部１０５において復号することで得た参照データを利用する。参照データの利用は、例えば、参照データのユーザへの提示である。
【００７５】
参照データ利用部１０６は、例えばディスプレイ、音声出力装置つまりスピーカ、その他のユーザインタフェースを含んで実装され得る。
【００７６】
参照データの提示は、例えば、ユーザ端末装置１００のディスプレイに、参照データをグラフ又は統計情報等の形式で表示すること、又は、参照データを示す音声をスピーカにより出力すること等が挙げられる。
【００７７】
また、参照データ利用部１０６は、参照データに基づいて、所定の演算、又は、情報検索等を行うことで、病院への検診のレコメンド、ユーザへの生活習慣の改善アドバイス、お勧めの食事等のアドバイスを提示してもよい。
【００７８】
１．２．７  通信部
通信部１０７は、データ演算装置２００との通信を行う。この通信には、例えばＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）プロトコルによる暗号通信を用いる。ＴＬＳプロトコルを単にＴＬＳをもいう。
【００７９】
ユーザ端末装置１００は、通信部１０７により、データ演算装置２００との間でＴＬＳに基づいて相互に認証し、データの暗号化を行う。ＴＬＳに用いる公開鍵証明書及び秘密鍵は、通信部１０７が保持している。
【００８０】
通信部１０７は、特徴量暗号部１０４により暗号化された特徴量である暗号化特徴量と、グループ署名との組を含む類似検索の要求であるクエリを、データ演算装置２００に送信する。
【００８１】
また、通信部１０７は、類似検索の要求に対するデータ演算装置２００からの応答としての、暗号化された参照データを受信して復号部１０５に提供する。ここで、暗号化された参照データは、類似検索の結果を含んでいる。
【００８２】
１．３  データ演算装置
図４は、データ演算装置２００の構成を示す構成図である。データ演算装置２００は、暗号化距離計算部２０１と、鍵格納部２０２と、暗号化特徴量格納部２０３と、通信部２０４とを含んで構成される。なお、データ演算装置２００は、第１装置に相当する。
【００８３】
データ演算装置２００は、例えば、ユーザ端末装置１００と同様に、プロセッサ、メモリ、通信インタフェース等を備えるコンピュータに実装され得る。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりデータ演算装置２００における各種機能が実現され得る。
【００８４】
データ演算装置２００は、類似検索を行うサーバとして機能する。データ演算装置２００は、ユーザ端末装置１００からの特徴量に関する類似検索の要求を受信する。この類似検索の要求は、特徴量が変換され暗号化された情報を含んでいる。そして、データ演算装置２００は、受信した類似検索の要求に応じて、データ提供装置３００から提供される参照特徴量との類似検索を行い、この検索結果を示す参照データを、上記要求に対する応答としてユーザ端末装置１００に送信する。
【００８５】
類似検索は、例えば、特徴量と対比可能な、ユーザとは別の複数人それぞれのバイタルデータ等の情報から算出した参照特徴量の集合から、特徴量と類似した特徴を有する参照特徴量を選定することを含む。また、類似検索は、その参照特徴量に対応する参照データを特定することをさらに含み得る。ここで、参照特徴量に対応する参照データは、例えば参照特徴量に対応する人に関わる症例等の情報を含んでいる。
【００８６】
１．３．１  暗号化距離計算部
暗号化距離計算部２０１は、ユーザ端末装置１００が送信した類似検索の要求であるクエリを、通信部２０４を介して受信により取得する。クエリには、暗号化特徴量とグループ署名との組が含まれている。ここで、暗号化特徴量は、第１暗号化特徴量に相当する。グループ署名は、ユーザに固有の秘匿情報の一例である。なお、この機能は、受信部の機能に相当する。
【００８７】
また、暗号化距離計算部２０１は、複数の暗号化参照特徴量を取得する。複数の暗号化参照特徴量は、暗号化特徴量格納部２０３により複数の参照特徴量が暗号化されたものである。
【００８８】
暗号化距離計算部２０１は、ユーザ端末装置１００から受信した暗号化特徴量を検証する。暗号化距離計算部２０１は、鍵格納部２０２に格納されているグループ署名の署名検証鍵を用いて、グループ署名の署名検証を行う。暗号化距離計算部２０１は、署名の検証において、署名が不正であると判定した場合には、距離計算を実行せずにエラーを返す。
【００８９】
暗号化距離計算部２０１は、署名の検証において、署名が正当であると判定した場合には、ユーザ端末装置１００から受信した暗号化特徴量と、データ提供装置３００から受信し格納している複数の暗号化参照特徴量それぞれとの内積を、暗号化したまま、内積演算により求める。なお、この機能は、演算部の機能に相当する。
【００９０】
例えば、特徴量のベクトルをｎ次元のベクトルＸ＝（ｘ１，ｘ２，ｘ３，・・・，ｘｎ）とし、参照特徴量のベクトルの１つをｎ次元のベクトルＹ１＝（ｙ１１，ｙ１２，ｙ１３，・・・，ｙ１ｎ）としたとき、非特許文献１又は非特許文献４の内積暗号によれば、２つのベクトルＸ及びＹ１の内積値＜Ｘ，Ｙ１＞が、下記（式１）により暗号化したまま求められる。
【００９１】
＜Ｘ，Ｙ１＞＝Σｘｉ・ｙ１ｉ      ただし、ｉ＝１，・・・，ｎ      （式１）
【００９２】
また、ユーザ端末装置１００の特徴量暗号部１０４、および、データ提供装置３００の参照特徴量暗号部３０２で事前に変換をすることで、暗号化距離計算部２０１は、下記（式２）に示されるユークリッド距離Ｄ１を算出できる。
【００９３】
Ｄ１＝Σ（ｘｊ−ｙ１ｊ）＾２      ただし、ｊ＝１，・・・，ｎ      （式２）
【００９４】
ここで、Σ（ｘｊ−ｙ１ｊ）＾２は、（ｘ１−ｙ１１）の２乗値から、（ｘｎ−ｙ１ｎ）の２乗値までの総和を示している。
【００９５】
なお、一般的なユークリッド距離の定義は、Ｄ１の平方根であるが、ここではＤ１をユークリッド距離として説明を行う。因みに、Ｄ１は、正式には、平方ユークリッド距離と呼ばれている。
【００９６】
ユーザ端末装置１００において特徴量のベクトルＸから変換されたベクトルＸ’＝（Σｘｊ＾２， １， ｘ１， ｘ２， ・・・ ， ｘｎ）と、データ提供装置３００において複数の参照特徴量のベクトルのうちの１つのベクトルＹ１から変換されたベクトルＹ１’＝（１，Σｙ１ｊ＾２， −２ｙ１１， −２ｙ１２， ・・・ ， −２ｙ１ｎ）との内積を、非特許文献１又は非特許文献４の内積暗号を用いて演算すると、下記（式３）のようになる。ここで、ベクトルＸ１’を第１変換特徴量のベクトルともいい、ベクトルＹ１’を第２変換特徴量ともいう。
【００９７】
＜Ｘ’，Ｙ１’＞
＝Σｘｊ＾２＋Σｙ１ｊ＾２−２ｘ１・ｙ１１−２ｘ２・ｙ１２−・・・−２ｘｎ・ｙ１ｎ
＝Σ（ｘｊ−ｙ１ｊ）＾２      （式３）
【００９８】
（式３）のように、特徴量のベクトルＸから変換されたベクトルＸ’と、参照特徴量のベクトルＹ１から変換されたベクトルＹ１’との内積演算をすると、特徴量と参照特徴量とのユークリッド距離であって、暗号化されたユークリッド距離が求められる。そして、この暗号化されたユークリッド距離を復号することでユークリッド距離が求められる。
【００９９】
暗号化距離計算部２０１は、内積演算により求めた内積またはユークリッド距離が条件を満たすか否かに基づいて、特徴量と参照特徴量とが類似であるか否かを判断する。特徴量と参照特徴量とが類似であるか否かを判断するためのこの条件は、例えば、内積が予め定められた閾値以下である、という条件である。ここで、閾値は、例えば１である。また、この条件を、類似判定のための条件ともいう。
【０１００】
暗号化距離計算部２０１は、特徴量と参照特徴量とが類似であると判断した場合は、対応する参照特徴量に対応付けられている識別子であるＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）を一時的に記憶する。ここで、対応する参照特徴とは、上記条件を満たすか否かの判断のための内積演算に用いられた暗号化参照特徴量を指す。
【０１０１】
暗号化距離計算部２０１は、特徴量と参照特徴量とが類似であると判断しなかった場合には、対応する参照特徴量のＩＤを記憶しない。
【０１０２】
暗号化距離計算部２０１は、暗号化特徴量格納部２０３に格納されている複数の暗号化参照特徴量それぞれと、ユーザ端末装置１００から受信した暗号化特徴量とを用いた内積演算を行って、上述の条件を満たすか否かの判断を行う。これにより、暗号化特徴量格納部２０３に格納されている複数の参照特徴量のうち、特徴量に類似する１つ以上の参照特徴量に対応付けられているＩＤのみが記憶されることで抽出される。その後、データ演算装置２００は、抽出されたＩＤをデータ提供装置３００に提供し、抽出されたＩＤに対応する参照データがデータ提供装置３００からユーザ端末装置１００に提供される。
【０１０３】
１．３．２  鍵格納部
鍵格納部２０２は、暗号化距離計算部２０１が用いる鍵を格納する。例えば、暗号化距離計算部２０１が用いる鍵は、グループ署名の署名検証鍵である。
【０１０４】
１．３．３  暗号化特徴量格納部
暗号化特徴量格納部２０３は、データ提供装置３００から提供された暗号化参照特徴量をメモリに格納する。暗号化参照特徴量は、第２暗号化特徴量に相当する。
【０１０５】
また、暗号化特徴量格納部２０３は、ユーザ端末装置１００からの類似検索の要求で受信した暗号化特徴量とグループ署名との組を格納する。
【０１０６】
１．３．４  通信部
通信部２０４は、ユーザ端末装置１００、データ提供装置３００及びデータ検証装置４００との通信を行う。これらの通信は、ＴＬＳによる暗号通信を用いる。つまり、通信する装置は、ＴＬＳにより、相互に認証し、データの暗号化を行う。ＴＬＳに用いる公開鍵証明書及び秘密鍵は、通信部２０４が保持している。
【０１０７】
また、データ検証装置４００からの要求に応じて、暗号化特徴量格納部２０３に格納している暗号化特徴量とグループ署名との組を送信する。送信する暗号化特徴量と、グループ署名との組は、ユーザ端末から得たものである。
【０１０８】
１．４  データ提供装置
データ提供装置３００は、例えば、プロセッサ、メモリ、通信インタフェース等を備えるコンピュータに実装され得る。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりデータ提供装置３００における各種機能が実現され得る。
【０１０９】
データ提供装置３００は、データ演算装置２００からの複数の暗号化参照特徴量を要求されると、この要求に応じて、複数の暗号化参照特徴量それぞれをＩＤとともにデータ演算装置２００に送信する。また、データ提供装置３００は、データ演算装置２００からＩＤを指定して参照データを要求されると、この要求に応じて、該当するＩＤを有する参照データをデータ演算装置２００に送信する。複数の暗号化参照特徴量は、暗号化第２変換特徴量に相当する。
【０１１０】
データ提供装置３００は、図５に示すように、参照特徴量格納部３０１と、参照特徴量暗号部３０２と、鍵格納部３０３と、参照データ格納部３０４と、参照データ暗号部３０５と、通信部３０６とを含んで構成される。
【０１１１】
１．４．１  参照特徴量格納部
参照特徴量格納部３０１は、データ演算装置２００による類似検索のために、検索の対象となる参照特徴量を格納する。参照特徴量は、例えば、ユーザとは別の複数人のプライバシデータ、より具体的にはバイタルデータの情報から算出された複数の特徴量である。
【０１１２】
参照特徴量は、ユーザ端末装置１００からの情報におけるその特徴量と対比され得る。すなわち、参照特徴量は、特徴量と同じ次元のベクトルで表現され、例えば、特徴量がｎ次元のベクトルで表わされる場合にはｎ次元のベクトルで表される。ユーザ端末装置１００からの情報には、特徴量が変換され暗号化された情報が含まれている。
【０１１３】
図６Ａは、参照特徴量格納部３０１に格納されている参照特徴量の例を示す。参照特徴量格納部３０１には、複数の参照特徴量それぞれが、識別子であるＩＤと対応付けて格納される。図６Ａの例では、参照特徴量格納部３０１には、ＩＤ毎に、ＩＤと参照特徴量Ｅｙとが対応付けて格納されている。この例では、複数の参照特徴量を、ｋ個のｎ次元のベクトルＹｉ＝（ｙｉ１，ｙｉ２，ｙｉ３，・・・，ｙｉｎ）で表している。ここで、ｋは、複数の参照特徴量の個数であり、ｉは、１からｋまでの整数値をとる。
【０１１４】
各参照特徴量は、例えば、互いに異なる複数人それぞれについての測定結果等の情報から算出されたものであり、例えば、その測定された人の身体の全体又は一部位についての形状、サイズ、重量、状態、及び、動きの少なくとも１つに関連する指標を成分として含むものであってもよい。
【０１１５】
ＩＤは、参照特徴量に関連する人を他の人と区別する識別子であり得る。
【０１１６】
また、参照特徴量格納部３０１に格納されている参照特徴量に対応付けられているＩＤは、後述する参照データ格納部３０４に格納されている参照データに対応付けられているＩＤと対応する。
【０１１７】
１．４．２  参照特徴量暗号部
参照特徴量暗号部３０２は、参照特徴量を予め定められた暗号方式により暗号化する。参照特徴量暗号部３０２は、この暗号化において鍵格納部３０３に格納された鍵を用いる。
【０１１８】
参照特徴量暗号部３０２は、参照特徴量格納部３０１の複数の参照特徴量のそれぞれに対して、ユーザ端末装置１００の特徴量暗号部１０４と同じ所定の内積暗号を用いて、暗号化を行う。また、類似検索の類似度にユークリッド距離を用いる場合には、特徴量に変換を行う。
【０１１９】
１．４．３  鍵格納部
鍵格納部３０３は、参照特徴量暗号部３０２及び参照データ暗号部３０５における各暗号処理に用いる鍵を格納する。参照特徴量暗号部３０２及び参照データ暗号部３０５のそれぞれが用いる暗号方式及び鍵は同じであってもよいし、異なっていてもよい。例えば、参照特徴量暗号部３０２が用いる鍵は、暗号化したまま内積演算を可能にする内積暗号の秘密鍵である。
【０１２０】
参照データ暗号部３０５が用いる鍵は、ユーザ端末装置１００の公開鍵等を用いることとしてもよいし、データ提供装置３００とユーザ端末装置１００とで共有する秘密鍵等を用いることとしてもよい。
【０１２１】
また、参照特徴量暗号部３０２で用いた秘密鍵と同じ鍵を参照データ暗号部３０５で用いることとしてもよい。
【０１２２】
１．４．４  参照データ格納部
参照データ格納部３０４は、ユーザ端末装置１００からの要求に応じて類似検索を行う際に、検索の対象となる複数の参照特徴量に対応する複数の参照データを格納する。例えば、参照データ格納部３０４は、ある人についての測定結果等の情報から算出された参照特徴量に対応する参照データを格納する。図６Ｂは、参照データ格納部３０４に格納されている参照データの例を示す。
【０１２３】
参照データ格納部３０４には、複数の参照データそれぞれが、識別子であるＩＤと対応付けて格納される。ＩＤにより、参照特徴量と参照データとは対応付けられている。図６Ｂの例では、ＩＤ毎に、ＩＤと参照データＥｚとが格納されている。
【０１２４】
各参照データは、例えば、複数人それぞれについての測定結果等の情報から算出されたものであり得る。例えば、参照特徴量が人の身体に係る指標としてのＣＴ画像、血圧、心拍数等である場合において、参照データは、その人の病気及び病気の履歴等であってもよい。
【０１２５】
また、例えば、参照特徴量が、人の位置情報を示すものである場合において、参照データは、その人が購入した商品の履歴等であってもよい。図６Ｂの例では、参照データ格納部３０４は、ＩＤが１の人が肺がんになった、ＩＤが２の人が肝臓がんになった、というように、過去に罹患した病気に関する情報を蓄積している。
【０１２６】
なお、参照データ格納部３０４に参照データを暗号化して格納しておいてもよい。
【０１２７】
参照データ格納部３０４と参照特徴量格納部３０１とは、例えばデータ演算装置２００におけるメモリ、ハードディスク等の記憶媒体で実装され、記憶媒体において、複数の参照データと、複数の参照特徴量とが対応付けて記憶される。
【０１２８】
１．４．５  参照データ暗号部
参照データ格納部３０４で保持する参照データのうち、データ演算装置２００がＩＤを指定して要求した参照データを暗号化して、その暗号化した参照データをデータ演算装置２００へ通信部３０６を介して送信する。
【０１２９】
このとき、暗号化に用いる鍵はユーザ端末の公開鍵であってもよい。
【０１３０】
１．４．６  通信部
通信部３０６は、データ演算装置２００との通信を行う。通信には、例えばＴＬＳによる暗号通信を用いる。データ提供装置３００は、通信部３０６により、データ演算装置２００との間でＴＬＳに基づいて相互に認証し、データの暗号化を行う。ＴＬＳに用いる公開鍵証明書又は秘密鍵は、通信部３０６が保持している。
【０１３１】
１．５  データ検証装置
データ検証装置４００は、例えば、プロセッサ、メモリ、通信インタフェース等を備えるコンピュータに実装され得る。例えば、メモリに格納されたプログラムをプロセッサが実行すること等によりデータ検証装置４００における各種機能が実現され得る。
【０１３２】
データ検証装置４００は、データ演算装置２００からの暗号化特徴量とグループ署名との組を受信すると、グループ署名に用いられている署名生成鍵を特定することによって、ユーザ端末を特定する。
【０１３３】
データ検証装置４００は、図７に示すように、特定部４０１と、鍵格納部４０２と、通信部４０３とを含んで構成される。
【０１３４】
１．５．１  特定部
特定部４０１は、ユーザ端末装置１００から鍵が漏えいした場合に、どのユーザ端末装置１００から鍵が漏えいしたかを特定する。例えば、特定部４０１は、ユーザ端末装置１００から鍵が漏えいして、クローン端末装置などの不正端末が作成された場合、不正端末からの類似検索の要求に係る通信から、どのユーザ端末装置１００から鍵が漏えいしたかを特定する。特定部４０１は、具体的には、通信部４０３を介して、データ演算装置２００から暗号化特徴量とグループ署名との組を受信する。
【０１３５】
次に、特定部４０１は、グループ署名の開示鍵を用いて、署名に用いられた秘密鍵を特定する。また、秘密鍵を特定する特定情報を出力する。特定情報を出力する先は、例えば、当該秘密鍵に係るユーザのユーザ端末装置１００であるが、これに限られない。
【０１３６】
１．５．２  鍵格納部
鍵格納部４０２は、特定部４０１における暗号処理に用いる鍵を格納する。特定部４０１でグループ署名の開示処理を行う開示鍵を格納する。
【０１３７】
１．５．３  通信部
通信部４０３は、データ演算装置２００との通信を行う。通信には、例えばＴＬＳによる暗号通信を用いる。
【０１３８】
データ検証装置４００は、通信部４０３により、データ演算装置２００との間でＴＬＳに基づいて相互に認証し、データの暗号化を行う。ＴＬＳに用いる公開鍵証明書および秘密鍵は、通信部４０３において保持している。
【０１３９】
１．６  情報処理システムの動作
情報処理システム１０の動作は、情報を暗号化したまま距離を計算することで、類似の参照データを検索する検索処理と、漏えいした鍵を特定する特定処理との２つを含む。
【０１４０】
１．６．１  検索処理
情報処理システム１０の検索処理の動作を、図８及び図９に示すシーケンス図を用いて説明する。図８及び図９は、本実施の形態における情報処理システム１０の動作を示す第一及び第二のシーケンス図である。
【０１４１】
ステップＳ１０１において、データ提供装置３００は、参照特徴量格納部３０１が格納している各参照特徴量を参照特徴量暗号部３０２により暗号化する。これにより、参照特徴量が所定の内積暗号により暗号化され、複数の暗号化参照特徴量が生成される。
【０１４２】
ステップＳ１０２において、データ提供装置３００は、複数の暗号化参照特徴量を該当のＩＤと対応付けてデータ演算装置２００へ送信する。複数の暗号化参照特徴量をデータ演算装置２００へ送信することは、例えば、データ演算装置２００からの要求をデータ提供装置３００が受信したことに応じて行う。データ演算装置２００は、送信された複数の暗号化参照特徴量を受信により取得し、暗号化特徴量格納部２０３に格納する。
【０１４３】
ステップＳ１０３において、ユーザ端末装置１００は、センシング部１０１により情報を取得する。取得する情報は、例えば、ユーザに関するプライバシデータを含む。
【０１４４】
ステップＳ１０４において、ユーザ端末装置１００は、センシング部１０１により取得した情報から、特徴量算出部１０２により特徴量を算出する。
【０１４５】
ステップＳ１０５において、ユーザ端末装置１００は、ステップＳ１０４で算出された特徴量を特徴量暗号部１０４により暗号化し、また、特徴量暗号部１０４によりグループ署名を生成する。これにより、特徴量が内積暗号により暗号化されることで暗号化特徴量が生成され、また、暗号化特徴量のグループ署名が生成される。
【０１４６】
ステップＳ１０６において、ユーザ端末装置１００は、暗号化した特徴量とグループ署名およびユーザの公開鍵とを含むクエリを通信部１０７によりデータ演算装置２００に送信する。このクエリは、類似のデータを要求するクエリである。類似のデータは、例えば、ユーザに関する特徴量に類似した特徴を有する他の人に関するデータである参照データである。また、類似か否かの判断には、類似判定のための条件が用いられる。これにより、暗号化特徴量がユーザ端末装置１００からデータ演算装置２００に提供される。
【０１４７】
ステップＳ１０７において、データ演算装置２００は、ユーザ端末装置１００から受信したクエリに含まれている暗号化特徴量とグループ署名とを用いて、署名検証鍵での検証により、署名が正当であるか否かを判定する。
【０１４８】
署名が正当でないと判定した場合（ステップＳ１０７でＮｏ）、ステップＳ１０８においてユーザ端末装置１００にエラー通知を行う。署名が正当であると判定した場合（ステップＳ１０７でＹｅｓ）、ステップＳ１０９に進む。
【０１４９】
後述するステップＳ１０９からステップＳ１１２までの処理は、複数の暗号化参照特徴量に付されたＩＤそれぞれについて行われる。
【０１５０】
ステップＳ１０９において、データ演算装置２００は、データ提供装置３００から取得した複数の暗号化参照特徴量のうちｉ番目のＩＤに対応する暗号化参照特徴量を選択する。ここで、ｉは、例えば最初は１であり、ステップＳ１０１で生成された暗号化参照特徴量の個数、つまり参照特徴量又はＩＤの総数になるまで、ステップＳ１０９が繰り返される毎にｉが１ずつ増加する。
【０１５１】
ステップＳ１１０において、データ演算装置２００は、暗号化距離計算部２０１により、ステップＳ１０９で選択した暗号化参照特徴量と、ユーザ端末装置１００から受信した暗号化特徴量とを用いた内積演算により内積値を算出する。この計算結果により特徴量とｉ番目のＩＤに対応する参照特徴量との内積値が得られる。
【０１５２】
ステップＳ１１１において、データ演算装置２００は、暗号化距離計算部２０１により、ステップＳ１１０で算出された内積値が類似判定のための条件を満たすか否かを判定する。具体的には、暗号化距離計算部２０１により、ステップＳ１１０で算出された内積値が所定の閾値以下であるという条件を満たすか否かを判定する。内積値が条件を満たすと判定した場合（ステップＳ１１１でＹｅｓ）にはステップＳ１１２に進み、そうでない場合（ステップＳ１１１でＮｏ）には、ｉを１増加させてステップＳ１０９に進む。
【０１５３】
ステップＳ１１２において、暗号化距離計算部２０１は、ｉ番目のＩＤに対応する参照特徴量が特徴量と類似していることから、参照特徴量が特徴量と類似するＩＤとしてｉ番目のＩＤを一時的に記憶する。ステップＳ１１２を終えたら、複数の暗号化参照特徴量に付されたＩＤのすべてについて、ステップＳ１０９からステップＳ１１２までの処理が行われたか否かを判定する。上記ＩＤのすべてについて上記処理が行われた場合にはステップＳ１１３に進み、そうでない場合には、ｉを１増加させてステップＳ１０９に進む。
【０１５４】
ステップＳ１１３において、ステップＳ１１２で記憶した１つ以上のＩＤを含む参照データの要求と、ユーザの公開鍵とをデータ提供装置３００に送信する。
【０１５５】
ステップＳ１１４において、参照データの要求を受信したデータ提供装置３００は、データ演算装置２００から受信したＩＤに対応する参照データを参照データ格納部３０４から抽出し、抽出した参照データを参照データ暗号部３０５によりユーザの公開鍵を用いて暗号化する。
【０１５６】
ステップＳ１１５において、データ提供装置３００は、参照データ暗号部３０５により暗号化された参照データを、通信部３０６によりデータ演算装置２００へ送信する。
【０１５７】
ステップＳ１１６において、データ演算装置２００は、データ提供装置３００から受信した、暗号化された参照データをユーザ端末装置１００に送信する。ここで、データ提供装置３００から受信した参照データがユーザ端末装置１００の公開鍵等で暗号化されている場合、データ演算装置２００は、データ提供装置３００から受信した暗号化された参照データをそのままユーザ端末装置１００に送信し得る。
【０１５８】
ステップＳ１１７において、この送信された、暗号化された参照データを受信して、ユーザ端末装置１００は、復号部１０５によりその参照データを復号し、参照データ利用部１０６で参照データを利用する。
【０１５９】
１．６．２  ユーザ端末装置とデータ演算装置との間のデータ交換
図１０Ａは、本実施の形態における通信データのフォーマットの一例を示す図である。具体的には、図１０Ａは、ステップＳ１０６でユーザ端末装置１００からデータ演算装置２００へ送信される通信データのフォーマットの例を示している。
【０１６０】
図１０Ａに示される通信データは、コマンド種別としての「類似のデータ要求コマンド」を示すフィールドと、データとしての「暗号化された特徴量」を含むフィールドと、グループ署名を含むフィールドとを有する。
【０１６１】
図１０Ｂは、本実施の形態における通信データのフォーマットの別の一例を示す図である。具体的には、図１０Ｂは、ステップＳ１１５でデータ提供装置３００からデータ演算装置２００に送信される通信データ、及び、ステップＳ１１６でデータ演算装置２００からユーザ端末装置１００に送信される通信データのフォーマット例を示す。
【０１６２】
図１０Ｂに示される通信データは、コマンド種別としての「類似のデータ返答コマンド」を示すフィールドと、データとしての１つ以上の「暗号化された参照データ」を含むフィールドとを有する。
【０１６３】
複数のユーザ端末装置１００と複数のデータ演算装置２００間で並行してコマンドがやり取りされる場合は、ステップＳ１０６の通信データとステップＳ１１５の通信データとを紐付けるための識別子を通信データに追加してもよい。
【０１６４】
１．６．３  特定処理
情報処理システム１０の特定処理の動作を、図１１に示すシーケンス図を用いて説明する。
【０１６５】
ステップＳ２０１において、データ検証装置４００は、各装置の処理の様子、各装置間の通信の様子などに基づいて、不正アクセス、つまり、通常時と異なる異常な動作の検知を行う。データ検証装置４００は、例えば、各装置への通信アクセス量の振る舞い、又は、ネットワークを流れる通信量の振る舞いなどに基づいて、通信量が通常時と比べ異常に多くなる、又は、一定期間内に類似データの要求が異常に増加するなどの事象を検知した場合に、異常な動作として検出する。ここで、例えば、通常の通信量の平均値の２倍以上の通信量が瞬間的に検出された場合に上記事象を検知し得る。類似データの要求についても同様である。また、データ検証装置４００は、ユーザ端末装置１００のクローン端末装置などを発見した場合など、ユーザ端末装置１００から鍵が漏えいしたことが疑われる場合にも、異常な動作として検知する。
【０１６６】
ステップＳ２０１において、異常な動作を検知した場合（ステップＳ２０１でＹｅｓ）にはステップＳ２０２に進み、そうでない場合（ステップＳ２０１でＮｏ）には再びステップＳ２０１を実行する。つまり、データ検証装置４００は、異常な動作を検知するまでステップＳ２０１で待ち状態をとる。
【０１６７】
ステップＳ２０２において、データ検証装置４００は、データ演算装置２００に対して、暗号化特徴量とグループ署名との組を要求する。このとき、データ検証装置４００は、すべての暗号化特徴量を要求してもよいし、異常なユーザ端末装置１００を絞り込めている場合には、その異常なユーザ端末装置１００の分のみの暗号化特徴量を要求してもよい。
【０１６８】
ステップＳ２０３において、データ演算装置２００は、データ検証装置４００に対し、暗号化特徴量格納部２０３に格納しているユーザ端末装置１００から受信した暗号化特徴量とグループ署名との組を送信する。
【０１６９】
ステップＳ２０４において、データ検証装置４００は、データ演算装置２００から暗号化特徴量とグループ署名との組を受信する。特定部４０１は、鍵格納部４０２に格納している開示鍵を用いて、グループ署名の開示を行い、鍵が漏えいしているユーザ端末装置１００の鍵を特定する。
【０１７０】
ステップＳ２０５において、データ検証装置４００は、鍵が漏えいしているユーザ端末装置１００に対し、鍵が漏えいしている旨の通知を行う。このとき、特定したユーザ端末装置１００が明らかに不正を行っているとわかっている場合には、通知を行わなくてもよい。
【０１７１】
１．７  効果
本実施の形態では、データ演算装置２００は、ユーザ端末装置１００側が暗号化した特徴量と、データ提供装置３００側で暗号化した参照特徴量とを用いて、暗号化されたまま内積値又はユークリッド距離を演算する。これにより、データ演算装置２００は、複数の参照特徴量のうちの特徴量に類似する参照特徴量から算出される、類似の参照データを抽出する。その際、データ演算装置２００は、ユーザ端末装置１００の特徴量とデータ提供装置３００の参照特徴量とを、暗号化されたまま扱い、すなわち平文で扱わないので、プライバシデータを保護することができる。また、内積値又はユークリッド距離が閾値以下である参照データだけを抽出するので、ユーザ端末装置１００の計算量及び通信量を削減することができる。
【０１７２】
さらに、ユーザ端末装置１００からの暗号化特徴量の署名にグループ署名を用いるので、匿名性を有しており、かつ、サービスの正規の利用者であることがわかるのみで、ユーザ固有の情報を開示する必要がない。よって、ユーザ端末装置１００からデータ演算装置２００に必要以上に情報を提供する必要がないという利点がある。
【０１７３】
さらに、ユーザ端末装置１００から漏えいした鍵を特定ができるので、漏えいした鍵を排除してシステムの更新をすることができる。また、漏えいした鍵を特定することは、攻撃者の特定につながる可能性があることから、攻撃を抑止させる効果も奏する。これらの効果に基づいて、システムの安全性を向上及び維持する効果も奏する。
【０１７４】
（実施の形態の変形例１）
本変形例では、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護する情報処理方法および情報処理システムについての必須の処理又は構成要素を説明する。
【０１７５】
図１２は、本変形例における情報処理方法を示すフロー図である。図１３は、本変形例における情報処理システム１０Ａの構成を示すブロック図である。
【０１７６】
図１３に示されるように、情報処理システム１０Ａは、プロセッサ５１０とメモリ５２０とを備えている。図１２に示される情報処理方法は、プロセッサ５１０がメモリ５２０等を用いて実現し得る。
【０１７７】
図１２に示されるように、本変形例における情報処理方法は、ステップＳ１〜Ｓ４を含む。
【０１７８】
メモリ５２０は、予め取得された複数のプライバシデータから算出された複数の参照特徴量のそれぞれを内積暗号を用いて暗号化することにより生成された複数の第２暗号化特徴量を記憶しており、複数の参照特徴量のそれぞれはｎ次元のベクトルで表され、ｎは１以上の整数である。
【０１７９】
ステップＳ１において、ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、第１装置に接続された第２装置から受信し、第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、第１特徴量はｎ次元のベクトルで表されている。
【０１８０】
ステップＳ２において、第１暗号化特徴量と複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得する。
【０１８１】
ステップＳ３において、複数のプライバシデータのうちのプライバシデータであって、第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、第２装置に送信する。
【０１８２】
ステップＳ４において、第１装置への不正アクセスが検出された場合に、クエリに含まれている秘匿情報を用いてユーザの秘密鍵を特定し、ユーザの秘密鍵を特定する特定情報を第２装置に出力する。
【０１８３】
また、プロセッサ５１０は、メモリ５２０を用いて所定のプログラムを実行することにより、受信部５１１と、演算部５１２と、送信部５１３と、特定部５１４との各機能を実現し得る。
【０１８４】
受信部５１１は、プロセッサ５１０により、ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、第１装置に接続された第２装置から受信し、第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、第１特徴量はｎ次元のベクトルで表される。
【０１８５】
演算部５１２は、プロセッサ５１０により、第１暗号化特徴量と複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得する。
【０１８６】
送信部５１３は、プロセッサ５１０により、複数のプライバシデータのうちのプライバシデータであって、第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、第２装置に送信する。
【０１８７】
特定部５１４は、プロセッサ５１０により、第１装置への不正アクセスが検出された場合に、クエリに含まれている秘匿情報を用いてユーザの秘密鍵を特定し、ユーザの秘密鍵を特定する特定情報を第２装置に出力する。
【０１８８】
これにより、情報処理システム１０Ａは、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護する。
【０１８９】
（実施の形態の変形例２）
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されないのは勿論である。以下のような場合も本発明に含まれる。
【０１９０】
（１）上記実施の形態では、グループ署名を用いて、ユーザ端末装置１００から漏えいした鍵を特定しているが、Ｔｒａｉｔｏｒ  Ｔｒａｃｉｎｇ技術を用いてもよい。Ｔｒａｉｔｏｒ  Ｔｒａｃｉｎｇ技術は、非特許文献３の技術を適用し得る。
【０１９１】
具体的な構成は以下となる。ここでユーザ端末装置１００の個数をｍとし、つまり、ユーザ端末装置１００１からユーザ端末装置１００ｍまでのｍ個のユーザ端末装置１００が存在する場合を一例に説明する。また、非特許文献４の内積暗号を用いて説明する。
【０１９２】
ｍ行ｍ列の行列Ｈと、ｍ次のベクトルｅとを用いて、ｅ＝ａＨとなるように設定したシステム秘密鍵であるｍ次のベクトルａをデータ提供装置３００の鍵格納部３０３およびデータ検証装置４００の鍵格納部４０２に格納する。
【０１９３】
また、行列Ｈのｉ列目を構成するベクトルＨｉ、および、ベクトルｅのｉ番目の要素ｅｉをユーザ秘密鍵として、ユーザ端末装置１００ｉの鍵格納部１０３に格納する。ここで、ｉは、１からｍまでの各整数値をとる。以降でも同様とする。また、このユーザ秘密鍵が、ユーザに固有の秘匿情報に相当する。
【０１９４】
ユーザ端末装置１００ｉは、特徴量暗号部１０４で暗号化する際に、内積暗号の暗号化に、内積暗号の秘密鍵と、ユーザ秘密鍵であるベクトルＨｉと要素ｅｉとを用いる。具体的な暗号処理演算を図１４Ａに示す。図１４ＡにおいてＣＴｘは、暗号化特徴量を示している。ここで、暗号処理演算でユーザ秘密鍵であるベクトルＨｉと要素ｅｉとを入力することで、ＣＴｘは、ユーザ端末装置１００ｉに固有の暗号化特徴量となり、ユーザ端末装置１００ｉを特定する特定情報が含まれている。ユーザ端末装置１００ｉは、上記にして得たＣＴｘを実施の形態１のステップＳ１０６のクエリとして送信する。
【０１９５】
データ提供装置３００は、参照特徴量暗号部３０２で暗号化する際に、内積暗号の暗号化に内積暗号の秘密鍵とシステム秘密鍵ａとを用いる。具体的な暗号処理演算を図１４Ｂに示す。図１４ＢにおいてＳＫｙは、暗号化参照特徴量を示している。ここでｙは、参照特徴量Ｙｋのそれぞれを示している。すなわち上記実施の形態の例ではＳＫｙがｋ個存在することになる。
【０１９６】
データ演算装置２００は、ユーザ端末装置１００ｉから得た暗号化特徴量ＣＴｘと、データ提供装置３００から得た複数のＳＫｙとに基づいて、暗号化距離を計算する。具体的な距離計算処理を図１４Ｃに示す。このとき、
【数１】
2018116254.tif 000003
からｘとｙとの内積値が演算できる。このとき、ｅ＝ａＨが成り立つため、ＣＴｘとＳＫｙとを演算して、ｘとｙとの内積値のみが出力される。
【０１９７】
データ検証装置４００は、参照特徴量と同じ次元のベクトルｙｔを生成し、鍵格納部４０２が保持しているベクトルａとの内積暗号を用いてＳＫｙｔを生成する。次に鍵格納部４０２が保持しているベクトルａを、ユーザ端末装置１００ｊにより生成された暗号化特徴量だけがｅ＝ａＨを成立させないようなｍ次のベクトルａｊに変更して、ＳＫｙｔｊを生成する。このとき、ｍ次のベクトルａの要素のうち、ユーザ端末装置１００ｊに対応する要素に乱数を入力することでベクトルａｊを生成する。データ検証装置４００は、図１４Ｃの演算と同様に、データ演算装置２００から受信した暗号化特徴量を、ＳＫｙｔとＳＫｙｔｊとのそれぞれに演算し、内積値Ｄを求める。このとき、ＣＴｘに対し、ＳＫｙｔとＳＫｙｔｊとのそれぞれとの演算により得られた内積値Ｄが同じである場合、ユーザ端末装置１００ｊの鍵が漏えいしていると特定できる。
【０１９８】
これにより、データ演算装置２００では、ユーザ端末装置１００の特徴量とデータ提供装置３００の参照特徴量とを暗号化されたまま扱い、すなわち平文で扱わないので、プライバシデータを保護することができる。また、ユーザ端末装置１００から漏えいした鍵を特定できることで、漏えいした鍵を排除してシステムの更新をすることができる。また、漏えいした鍵を特定することは、攻撃者の特定につながる可能性があることから、攻撃を抑止させる効果も奏する。
【０１９９】
このように、データ演算装置２００は、第２暗号化特徴量とクエリに含まれる第１暗号化特徴量との内積値である第１内積値を取得することと、システム秘密鍵の要素のうち、複数のユーザのうちの一のユーザに対応する要素を乱数に変更した検証用秘密鍵を、複数のユーザごとに生成することと、参照特徴量を、検証用秘密鍵を用いた内積暗号により暗号化することで生成した検証値と、クエリに含まれる第１暗号化特徴量との内積値である第２内積値を、複数のユーザごとに取得することと、複数のユーザのうち、第１内積値と第２内積値とが一致しないユーザの秘密鍵を特定することと、によって、ユーザの秘密鍵を特定する。
【０２００】
（２）上記実施の形態では、ユークリッド距離を演算する場合のユーザ端末装置１００およびデータ提供装置３００における変換の一例を示したが、その際、＜Ｘ’，Ｙ１’＞が下記（式４）を満たすように変換すればよい。
【０２０１】
Σｘｊ^２＋Σｙ１ｊ^２−２ｘ１・ｙ１１−２ｘ２・ｙ１２−・・・−２ｘｎ・ｙ１ｎ＝Σ（ｘｊ−ｙ１ｊ）＾２      （式４）
【０２０２】
具体的な別の変換方法としては、Ｘ’＝（Σｘｊ^２, １, −２ｘ１, −２ｘ２, ・・・ , −２ｘｎ）と変換し、Ｙ１’＝（１，Σｙ１ｊ^２, ｙ１１,ｙ１２, ・・・ , ｙ１ｎ）と変換してもよい。
【０２０３】
（３）上記実施の形態では、内積暗号を用いてユークリッド距離を演算する一例を示したが、重み付きユークリッド距離を演算してもよい。重み付きユークリッド距離を演算する場合、各要素ｊの重みをｗｊとすると、ユーザ端末装置１００での変換方法は、Ｘ’＝（Σ（ｗｊ・ｘｊ^２）, １, ｘ１, ｘ２, ・・・ , ｘｎ）とし、データ提供装置３００での変換方法は、Ｙ１’＝（１，Σ（ｗｊ・ｙ１ｊ^２）, −２ｗ１・ｙ１１, −２ｗ２・ｙ１２, ・・・ , −２ｗｎ・ｙ１ｎ）となる。このとき、＜Ｘ’，Ｙ１’＞は、下記（式５）のように表わされる。
【０２０４】
＜Ｘ’，Ｙ１’＞
＝Σ（ｗｊ・ｘｊ^２）＋Σ（ｗｊｙｉｊ^２）−２ｗ１・ｘ１・ｙｉ１−２ｗ２・ｘ２・ｙｉ２−・・・−２ｗｎ・ｘｎ・ｙｉｎ
＝Σｗｊ（ｘｊ−ｙｉｊ）＾２      （式５）
【０２０５】
（４）上記実施の形態では、暗号化距離計算部２０１は、特徴量暗号部１０４および参照特徴量暗号部３０２で変換することによってユークリッド距離を計算しているが、変換方法を以下のようにすることによって、特徴量と参照特徴量との差分のｎ乗を計算することができる。特徴量と参照特徴量との差分のｎ乗は、ユークリッド距離を拡張したものに相当する。
【０２０６】
例えば、Σ（ｘｊ−ｙ１ｊ）＾３を計算する場合、Ｘ’およびＹ１’は、それぞれ、下記（式６）および（式７）により変換される。
【０２０７】
Ｘ’＝（Σｘｊ^３, １, ｘ１＾２，ｘ１，ｘ２＾２，ｘ２, ・・・ , ｘｎ＾２，ｘｎ）（ｊ＝１，・・・，ｎ）      （式６）
【０２０８】
Ｙ１’＝（１，Σｙ１ｊ^３, −３ｙ１１，３ｙ１１＾２, −３ｙ１２，３ｙ１２＾２,・・・ , −３ｙ１ｎ，３ｙ１ｎ＾２）      （式７）
【０２０９】
このとき、＜Ｘ’，Ｙ１’＞＝Σ（ｘｊ−ｙ１ｊ）＾３となるので、特徴量と参照特徴量との差分の３乗を計算できる。同様に変換を行うとｎ乗の計算もすることができる。
【０２１０】
なお、さらなるユークリッド距離の拡張として、例えば、最初の項は２乗、２番目の項は３乗といった要素ごとにべき乗値を変更した値であっても、同様に変換可能である。
【０２１１】
（５）上記実施の形態では、ユークリッド距離を演算できるようにデータ提供装置３００で参照特徴量を事前に変換し、データ演算装置２００で変換して暗号化した暗号化参照特徴量を、格納しておいてもよい。
【０２１２】
（６）上記実施の形態では、データ演算装置２００において、図８に示されるように、全てのＩＤに対応する全ての暗号化参照特徴量に関して、内積演算の結果としてのユークリッド距離が、類似判定のための条件を満たすか否かに係る判定を行うこととしたが、例えば、類似判定のための条件を満たすと判定されるものが所定数個あることが判明した時点で、判定を終了することとしてもよい。ここで所定数は、例えば１０とする。
【０２１３】
また、データ演算装置２００は、全ての参照特徴量のうち、特徴量とのユークリッド距離が小さいものから所定数個の参照特徴量に対応する参照データのみを、ユーザ端末装置１００に送信することとしてもよい。ここで所定数は、例えば１０とする。
【０２１４】
（７）上記実施の形態におけるデータ提供装置３００からデータ演算装置２００への暗号化参照特徴量の送信は、データ演算装置２００からデータ提供装置３００への要求に応じて行ってもよいし、要求の有無にかかわらず自発的にデータ提供装置３００が行ってもよい。
【０２１５】
また、データ演算装置２００は、ユーザ端末装置１００から類似検索に係る要求を受信した後に、データ提供装置３００に暗号化参照特徴量の送信を要求することとし、この要求に応じてデータ提供装置３００がデータ演算装置２００に暗号化参照特徴量を送信することとしてもよい。
【０２１６】
（８）上記実施の形態では、データ検証装置４００のステップＳ２０４では、受信したクエリのグループ署名の検証を行うとしてもよい。
【０２１７】
（９）上記実施の形態では、データ提供装置３００とデータ検証装置４００とを別の装置としているが、同じ装置としてもよい。
【０２１８】
（１０）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。
【０２１９】
マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２２０】
（１１）上記の各装置を構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０２２１】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又はすべてを含むように１チップ化されてもよい。
【０２２２】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０２２３】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２２４】
（１２）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２２５】
（１３）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２２６】
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ(登録商標)  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【０２２７】
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２２８】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【０２２９】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２３０】
（１４）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【０２３１】
なお、上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現されるクラウドサービスの類型はこれらに限られるものでない。
【０２３２】
（サービスの類型１：自社データセンタ型クラウドサービス）
図１５は、サービスの類型１（自社データセンタ型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ１１２０がグループ１１００から情報を取得し、ユーザに対してサービスを提供する。本類型では、サービスプロバイダ１１２０が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ１１２０が、ビッグデータを管理するクラウドサーバ１１１１を保有している。したがって、データセンタ運営会社は存在しない。
【０２３３】
本類型では、サービスプロバイダ１１２０は、データセンタ（クラウドサーバ）１２０３を運営及び管理している。また、サービスプロバイダ１１２０は、オペレーティングシステム（ＯＳ）１２０２及びアプリケーション１２０１を管理する。サービスプロバイダ１１２０は、サービスプロバイダ１１２０が管理するＯＳ１２０２及びアプリケーション１２０１を用いてサービスを提供する（矢印１２０４）。
【０２３４】
（サービスの類型２：ＩａａＳ利用型クラウドサービス）
図１６は、サービスの類型２（ＩａａＳ利用型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。ここで、ＩａａＳとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０２３５】
本類型では、データセンタ運営会社１１１０が、データセンタ（クラウドサーバ）１２０３を運営及び管理している。また、サービスプロバイダ１１２０は、ＯＳ１２０２及びアプリケーション１２０１を管理する。サービスプロバイダ１１２０は、サービスプロバイダ１１２０が管理するＯＳ１２０２及びアプリケーション１２０１を用いてサービスを提供する（矢印１２０４）。
【０２３６】
（サービスの類型３：ＰａａＳ利用型クラウドサービス）
図１７は、サービスの類型３（ＰａａＳ利用型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。ここで、ＰａａＳとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
【０２３７】
本類型では、データセンタ運営会社１１１０は、ＯＳ１２０２を管理し、データセンタ（クラウドサーバ）１２０３を運営及び管理している。また、サービスプロバイダ１１２０は、アプリケーション１２０１を管理する。サービスプロバイダ１１２０は、データセンタ運営会社１１１０が管理するＯＳ１２０２及びサービスプロバイダ１１２０が管理するアプリケーション１２０１を用いてサービスを提供する（矢印１２０４）。
【０２３８】
（サービスの類型４：ＳａａＳ利用型クラウドサービス）
図１８は、サービスの類型４（ＳａａＳ利用型クラウドサービス）における情報管理システムが提供するサービスの全体像を示す図である。ここで、ＳａａＳとは、ソフトウェア・アズ・ア・サービスの略である。ＳａａＳ利用型クラウドサービスは、例えば、データセンタ（クラウドサーバ）を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ（クラウドサーバ）を保有していない会社又は個人などの利用者がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
【０２３９】
本類型では、データセンタ運営会社１１１０は、アプリケーション１２０１を管理し、ＯＳ１２０２を管理し、データセンタ（クラウドサーバ）１２０３を運営及び管理している。また、サービスプロバイダ１１２０は、データセンタ運営会社１１１０が管理するＯＳ１２０２及びアプリケーション１２０１を用いてサービスを提供する（矢印１２０４）。
【０２４０】
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ１１２０がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、ＯＳ、アプリケーション又はビッグデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。
【０２４１】
以上のように本実施の形態に係る情報処理方法によれば、情報処理システムは、ユーザのプライバシデータに基づく第１暗号化特徴量と、複数のプライバシデータに基づく複数の第２暗号化特徴量とを用いて、特徴量が暗号化された状態のままで類否判断がなされるので、プライバシデータが適切に保護される。また、類否判断により、ユーザのプライバシデータに類似すると判定されたプライバシデータだけが第２装置つまりユーザ端末装置に提供されるので、端末装置の処理負荷および通信量の増大を抑制することができる。さらに、不正アクセスを検出したことに基づいて、第１暗号化特徴量の暗号化に使用された秘密鍵が漏えいした可能性がある場合に、漏えいした可能性がある秘密鍵を特定し得る。これにより、秘密鍵が漏えいした可能性を認知し、漏えいした秘密鍵を使用しないようにシステム更新をするなどの運用が可能となる。このように、本態様に係る情報処理システムは、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【０２４２】
また、情報処理システムは、ユーザに固有の秘匿情報としてグループ署名を用い、また、グループ署名の開示鍵を用いて、ユーザの秘密鍵を特定し得る。本態様に係る情報処理システムは、このような具体的構成に基づいて、情報処理システムは、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【０２４３】
また、情報処理システムは、ユーザに固有の秘匿情報としてＴｒａｉｔｏｒ  Ｔｒａｉｃｉｎｇにおけるユーザに固有の秘密鍵を用い、また、Ｔｒａｉｔｏｒ  Ｔｒａｉｃｉｎｇによるトレース処理により、ユーザの秘密鍵を特定し得る。本態様に係る情報処理システムは、このような具体的構成に基づいて、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【０２４４】
また、情報処理システムは、ユーザのプライバシデータとしてユーザのバイタルデータを用いて、複数のバイタルデータのうちからユーザのバイタルデータに類似するバイタルデータを抽出できる。これにより、バイタルデータをより適切に保護することができる。
【０２４５】
また、情報処理システムは、ユーザのプライバシデータとしてユーザによる機器等の操作のログ情報を用いて、複数の操作のログ情報のうちからユーザの操作のログ情報に類似する操作のログ情報を抽出できる。これにより、操作のログ情報をより適切に保護することができる。
【０２４６】
また、情報処理システムは、ユーザの身体の形状などを特徴量として用いて類否判断を行う。本態様に係る情報処理システムは、このような具体的構成に基づいて、端末の処理負荷及び通信量の増大を抑制しながら、プライバシデータをより適切に保護することができる。
【０２４７】
また、情報処理システムは、互いに異なる複数人のバイタルデータのうちから、ユーザのバイタルデータに類似するバイタルデータを抽出できる。これにより、同一人の複数のバイタルデータを抽出することが回避されることで、抽出できるバイタルデータがより一層利用しやすいものとなる。
【０２４８】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の情報処理システムなどを実現するソフトウェアは、次のようなプログラムである。
【０２４９】
すなわち、このプログラムは、コンピュータに、第１装置を含む情報処理システムが実行する情報処理方法であって、前記第１装置は、プロセッサとメモリとを備え、前記メモリは、予め取得された複数のプライバシデータから算出された複数の参照特徴量のそれぞれを内積暗号を用いて暗号化することにより生成された複数の第２暗号化特徴量を記憶しており、前記複数の参照特徴量のそれぞれはｎ次元のベクトルで表され、ｎは１以上の整数であり、前記プロセッサにより、（ａ）ユーザに固有の秘匿情報が付加された第１暗号化特徴量を含むクエリを、前記第１装置に接続された第２装置から受信し、前記第１暗号化特徴量は、ユーザのプライバシデータから算出された第１特徴量を、内積暗号を用いて暗号化することにより生成されており、前記第１特徴量はｎ次元のベクトルで表され、（ｂ）前記第１暗号化特徴量と前記複数の第２暗号化特徴量のそれぞれとを内積演算することで、複数の内積値を取得し、（ｃ）前記複数のプライバシデータのうちのプライバシデータであって、前記第１暗号化特徴量と、当該プライバシデータから算出された参照特徴量が暗号化された第２暗号化特徴量との内積値が所定の閾値以下であるプライバシデータを、前記第２装置に送信し、（ｄ）前記第１装置への不正アクセスが検出された場合に、前記クエリに含まれている前記秘匿情報を用いて前記ユーザの秘密鍵を特定し、前記ユーザの前記秘密鍵を特定する特定情報を前記第２装置に出力する情報処理方法を実行させる。
【０２５０】
以上、一つまたは複数の態様に係る情報処理方法などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０２５１】
本発明は、暗号化したまま内積値やユークリッド距離を演算し、類似のデータを抽出することで、ユーザの特徴量をデータ演算装置において平文で扱わず、プライバシを保護することができる。
【符号の説明】
【０２５２】
１０、１０Ａ  情報処理システム
１００、１００１、１００ｉ、１００ｊ、１００ｍ  ユーザ端末装置
１０１  センシング部
１０２  特徴量算出部
１０３、２０２、３０３、４０２  鍵格納部
１０４  特徴量暗号部
１０５  復号部
１０６  参照データ利用部
１０７、２０４、３０６、４０３  通信部
２００  データ演算装置
２０１  暗号化距離計算部
２０３  暗号化特徴量格納部
３００  データ提供装置
３０１  参照特徴量格納部
３０２  参照特徴量暗号部
３０４  参照データ格納部
３０５  参照データ暗号部
４００  データ検証装置
４０１、５１４  特定部
５１０  プロセッサ
５１１  受信部
５１２  演算部
５１３  送信部
５２０  メモリ
１０００、１１００  グループ
１０１０、１０２０  ユーザ
１１０１  機器
１１０２  ホームゲートウェイ
１１１０  データセンタ運営会社
１１１１  クラウドサーバ
１１２０  サービスプロバイダ
１１２１  サーバ
１２０１  アプリケーション
１２０２  ＯＳ
１２０３  データセンタ
【図１Ａ】
2018116254.tif 000004
【図１Ｂ】
2018116254.tif 000005
【図１Ｃ】
2018116254.tif 000006
【図２】
2018116254.tif 000007
【図３】
2018116254.tif 000008
【図４】
2018116254.tif 000009
【図５】
2018116254.tif 000010
【図６Ａ】
2018116254.tif 000011
【図６Ｂ】
2018116254.tif 000012
【図７】
2018116254.tif 000013
【図８】
2018116254.tif 000014
【図９】
2018116254.tif 000015
【図１０Ａ】
2018116254.tif 000016
【図１０Ｂ】
2018116254.tif 000017
【図１１】
2018116254.tif 000018
【図１２】
2018116254.tif 000019
【図１３】
2018116254.tif 000020
【図１４Ａ】
2018116254.tif 000021
【図１４Ｂ】
2018116254.tif 000022
【図１４Ｃ】
2018116254.tif 000023
【図１５】
2018116254.tif 000024
【図１６】
2018116254.tif 000025
【図１７】
2018116254.tif 000026
【図１８】
2018116254.tif 000027