(57)【要約】【課題】処理負担を軽減すると共によりセキュアな検索可能暗号技術を実現する。【解決手段】第１の分散鍵を用いて算出された第１のハッシュ値を端末から受信する通信部と、前記第１のハッシュ値に対し前記第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定する分割部と、を備え、前記通信部は、前記分割部により決定された前記分割単位に係る暗号化情報を前記端末に送信する、情報処理装置が提供される。【選択図】図５
2020086116.tif 000002
【特許請求の範囲】
【請求項１】
第１の分散鍵を用いて算出された第１のハッシュ値を端末から受信する通信部と、
前記第１のハッシュ値に対し前記第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定する分割部と、
を備え、
前記通信部は、前記分割部により決定された前記分割単位に係る暗号化情報を前記端末に送信する、
情報処理装置。
【請求項２】
前記第１のハッシュ値は、検索対象となる文書に含まれる単語の分割候補を前記第１の分散鍵を用いた準同型ハッシュ演算によりハッシュ化した値である、
請求項１に記載の情報処理装置。
【請求項３】
前記第１のハッシュ値に係る単語の分割精度は、前記分割部による単語の分割精度よりも低い、
請求項２に記載の情報処理装置。
【請求項４】
前記分割部は、形態素解析により前記分割単位を決定する、
請求項１に記載の情報処理装置。
【請求項５】
前記分割部は、前記第２のハッシュ値と前記暗号化辞書とのマッチングに基づいてラティス構造を作成し、前記ラティス構造上の重みに基づいて前記分割単位を決定する、
請求項４に記載の情報処理装置。
【請求項６】
前記第１の分散鍵および第２の分散鍵は、前記暗号化辞書に登録される単語の暗号化に用いられた共通鍵を秘密分散処理することで生成され、
前記通信部は、前記端末から前記第２の分散鍵を受信する、
請求項１に記載の情報処理装置。
【請求項７】
前記通信部は、前記分割単位に係る暗号化情報に基づいて生成された暗号化インデックスを前記端末から受信する、
請求項１に記載の情報処理装置。
【請求項８】
前記通信部が前記端末から受信した暗号化キーワードと前記暗号化インデックスとに基づいて文書検索を行う検索部、
をさらに備える、
請求項７に記載の情報処理装置。
【請求項９】
前記暗号化キーワードおよび暗号化インデックスは、ブルームフィルタにマッピングされる、
請求項８に記載の情報処理装置。
【請求項１０】
検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出する暗号化部と、
前記第１のハッシュ値を外部装置に送信する通信部と、
を備え、
前記通信部は、前記第１のハッシュ値に対する第２の分散鍵を用いた準同型ハッシュ演算により算出された第２のハッシュ値と暗号化辞書とのマッチングに基づいて決定された、文書検索用の単語の分割単位に係る暗号化情報を前記外部装置から受信する、
情報処理装置。
【請求項１１】
前記暗号化辞書に登録される単語の暗号化に用いられた共通鍵に対する秘密分散処理を行い、前記第１の分散鍵および前記第２の分散鍵を生成する秘密分散処理部、
をさらに備え、
前記通信部は、前記第２の分散鍵を前記外部装置に送信する、
請求項１０に記載の情報処理装置。
【請求項１２】
前記暗号化部は、前記検索対象となる文書を固有鍵により暗号化した暗号化文書と、前記分割単位を前記固有鍵により暗号化した暗号化インデックスとを生成し、
前記通信部は、前記暗号化文書および前記暗号化インデックスを検索装置に送信する、
請求項１１に記載の情報処理装置。
【請求項１３】
前記暗号化部は、入力された検索キーワードを前記固有鍵により暗号化した暗号化キーワードを生成し、
前記通信部は、前記暗号化キーワードを前記検索装置に送信し、検索結果を受信する、
請求項１２に記載の情報処理装置。
【請求項１４】
前記分割単位は、前記暗号化辞書を用いた形態素解析により決定される、
請求項１０に記載の情報処理装置。
【請求項１５】
前記暗号化部は、形態素解析により前記分割候補を決定し、
前記暗号化部による形態素解析に用いられる辞書に登録される単語の数は、前記暗号化辞書に登録される単語の数よりも少ない、
請求項１４に記載の情報処理装置。
【請求項１６】
前記暗号化部は、Ｎ−Ｇｒａｍを用いて前記分割候補を決定する、
請求項１４に記載の情報処理装置。
【請求項１７】
前記秘密分散処理部は、前記暗号化文書および前記暗号化インデックスの生成に用いられた前記固有鍵に対する秘密分散処理を行い、第３の分散鍵および第４の分散鍵を生成し、
前記通信部は、前記第３の分散鍵を検索許諾端末に送信し、前記第４の分散鍵を前記検索装置に送信する、
請求項１２に記載の情報処理装置。
【請求項１８】
前記検索結果を復号する複合部、
をさらに備える、
請求項１３に記載の情報処理装置。
【請求項１９】
プロセッサが、
第１の分散鍵を用いて算出された第１のハッシュ値を端末から受信することと、
前記第１のハッシュ値に対し前記第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定することと、
前記分割単位に係る暗号化情報を前記端末に送信することと、
を含む、
情報処理方法。
【請求項２０】
プロセッサが、
検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出することと、
前記第１のハッシュ値を外部装置に送信することと、
前記第１のハッシュ値に対する第２の分散鍵を用いた準同型ハッシュ演算により算出された第２のハッシュ値と暗号化辞書とのマッチングに基づいて決定された、文書検索用の単語の分割単位に係る暗号化情報を前記外部装置から受信することと、
を含む、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
近年、クラウドサービス等の普及に伴い、個人や企業などのデータをサービス提供者が管理するサーバに保管する場面が増加している。上記のようなサーバでは、セキュリティ性を確保するために、データの暗号化などを行うのが一般的である。また、近年では、例えば、特許文献１に記載されるように、データを暗号化したまま情報検索を実現する検索可能暗号技術も開発されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２００９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の検索システムでは、クライアント端末から送信される文書を、クラウドに設置されるサーバ側で暗号化し、またインデックスの作成を行っている。このため、特許文献１に記載の検索システムでは、例えば、クライアントからの文書の送信時にデータを傍受された場合には、平文のままのデータが流出することとなる。
【課題を解決するための手段】
【０００５】
本開示によれば、第１の分散鍵を用いて算出された第１のハッシュ値を端末から受信する通信部と、前記第１のハッシュ値に対し前記第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定する分割部と、を備え、前記通信部は、前記分割部により決定された前記分割単位に係る暗号化情報を前記端末に送信する、情報処理装置が提供される。
【０００６】
また、本開示によれば、検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出する暗号化部と、前記第１のハッシュ値を外部装置に送信する通信部と、を備え、前記通信部は、前記第１のハッシュ値に対する第２の分散鍵を用いた準同型ハッシュ演算により算出された第２のハッシュ値と暗号化辞書とのマッチングに基づいて決定された、文書検索用の単語の分割単位に係る暗号化情報を前記外部装置から受信する、情報処理装置が提供される。
【０００７】
また、本開示によれば、プロセッサが、第１の分散鍵を用いて算出された第１のハッシュ値を端末から受信することと、前記第１のハッシュ値に対し前記第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定することと、
前記分割単位に係る暗号化情報を前記端末に送信することと、を含む、情報処理方法が提供される。
【０００８】
また、本開示によれば、プロセッサが、検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出することと、前記第１のハッシュ値を外部装置に送信することと、前記第１のハッシュ値に対する第２の分散鍵を用いた準同型ハッシュ演算により算出された第２のハッシュ値と暗号化辞書とのマッチングに基づいて決定された、文書検索用の単語の分割単位に係る暗号化情報を前記外部装置から受信することと、を含む、情報処理方法が提供される。
【０００９】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１０】
【図１】本開示の一実施形態に係る情報処理システムの構成例を示す図である。
【図２】同実施形態に係る情報処理端末の機能構成例を示すブロック図である。
【図３】同実施形態に係る情報処理サーバの機能構成例を示すブロック図である。
【図４】同実施形態に係る初期セットアップの流れを示す図である。
【図５】同実施形態に係る暗号化インデックス生成の流れを示す図である。
【図６】同実施形態に係る分割部により作成されるラティス構造の一例である。
【図７】同実施形態に係るインデックス保管部が有する、暗号化インデックスと文書の紐付きを示すテーブルの一例である。
【図８】同実施形態に係るデータ保管部が有する文書本体および文書ＩＤが保管されるテーブルの一例である。
【図９】同実施形態に係る暗号化文書の検索について説明するための図である。
【図１０】同実施形態に係る音声データの検索において、音声認識を情報処理端末側で行う場合の流れを示す図である。
【図１１】同実施形態に係る音声データの検索において、音声認識を情報処理サーバ側で行う場合の流れを示す図である。
【図１２】同実施形態に係るマルチユーザによる検索の共有について説明するための図である。
【図１３】同実施形態に係る共有元ユーザと共有先ユーザの対応付けを示すテーブルの一例である。
【図１４】本開示の一実施形態に係る情報処理端末と情報処理サーバのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１２】
なお、説明は以下の順序で行うものとする。
１．実施形態
１．１．背景
１．２．システム構成例
１．３．情報処理端末１０の機能構成例
１．４．情報処理サーバ２０の機能構成例
１．５．機能の詳細
２．ハードウェア構成例
３．まとめ
【００１３】
＜１．実施形態＞
＜＜１．１．背景＞＞
まず、本開示の一実施形態に係る背景について述べる。上述したように、近年では、クラウドサービス等の普及に伴い、個人や企業などのデータを、サービス提供者が管理するサーバに保管する場面が増加している。また、一般的なサーバでは、データベースを暗号化するなどの手法によりユーザのデータを保護している。
【００１４】
しかし、例えば、特許文献１に記載されるように、データの暗号化やインデックスの作成をサーバ側で行う場合、クライアントからのデータの送信時に当該データが傍受された場合や、暗号化前にサーバからデータが不正に取得された場合、平文のままのデータが流出することとなる。
【００１５】
また、一般的なクラウドサービスでは、データを復号するための復号鍵もサーバで管理あれている場合もあり、権限を有するサービス管理者やサービスベンダーであれば、当該復号鍵を用いてユーザデータを復号することも可能である。このような事態を防ぐためには、サーバ上に保管されるユーザデータを、ユーザが利用するユーザ端末のみで復号できるように制御することが重要となる。
【００１６】
ここで、上記のような制御を実現する手法としては、例えば、クライアント側によるユーザデータの暗号化が挙げられる。ユーザは、クライアント端末が管理するユーザの固有鍵（以下、固有鍵、とも称する）を用いて暗号化した暗号化データをサーバに送信・保管し、復号の際には、サーバからダウンロードした上記暗号化データを固有鍵を用いて復号することができる。
【００１７】
上記のようなクライアント側による暗号化技術によれば、通信時およびサーバでの処理・保管時に平文が露出することが一切ないため、よりセキュアな検索システムを実現することが可能である。また、当該暗号化技術によれば、復号鍵がサーバ上で管理されないため、上述したようなサービス管理者などによる不正なデータ取得を防止することが可能となる。
【００１８】
しかし、上記のように、クライアント側で検索用のインデックス作成を行う場合、インデックス作成に用いる辞書が肥大化し、クライアント側の処理を圧迫することも想定される。また、例えば、新語などへの対応のためには、上記の辞書を頻繁に更新することが求められ、更新のための通信コスト等も増大することとなる。
【００１９】
本開示に係る技術思想は、上記の点に着目して発想されたものであり、インデックス作成に必要な単語の分割をクライアントとサーバとで分散して実行し、処理負担を軽減すると共によりセキュアな検索可能暗号技術を実現するものである。
【００２０】
このために、本開示の一実施形態に係る情報処理端末１０は、検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出する暗号化部１３０と、第１のハッシュ値を情報処理サーバ２０に送信する通信部１７０を備える
【００２１】
また、本開示の一実施形態に係る情報処理サーバ２０は、情報処理端末１０から第１のハッシュ値を受信する端末通信部２４０と、受信されたハッシュ値に対し第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書２３６とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定する分割部２１０を備える。
【００２２】
以下、本開示の一実施形態に係る情報処理端末１０および情報処理サーバ２０が有する機能と、当該機能が奏する効果について詳細に説明する。
【００２３】
＜＜１．２．システム構成例＞＞
まず、本開示の一実施形態に係る情報処理システムの構成例について述べる。図１は、本実施形態に係る情報処理システムの構成例を示す図である。図１を参照すると、本実施形態に係る情報処理システムは、情報処理端末１０および情報処理サーバ２０を備える。また、情報処理端末１０と情報処理サーバ２０とは、互いに通信が行えるように、ネットワーク３０を介して接続される。
【００２４】
（情報処理端末１０）
本実施形態に係る情報処理端末１０は、文書の検索等を行うユーザが使用する情報処理装置である。情報処理端末１０は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン、タブレットなどであってもよい。
【００２５】
本実施形態に係る情報処理端末１０は、検索対象となる文書や当該文書の検索に用いられるインデックスをユーザの固有鍵で暗号化したうえで情報処理サーバ２０に送信・登録する。また、暗号化文書および暗号化インデックスの登録後においては、ユーザが入力する検索キーワードを暗号化して情報処理サーバ２０に送信し、当該検索キーワードに応じた検索結果を取得する。
【００２６】
（情報処理サーバ２０）
本実施形態に係る情報処理サーバ２０は、情報処理端末１０から受信した暗号化文書および暗号化インデックスを保管する情報処理装置である。また、本実施形態に係る情報処理サーバ２０は、情報処理端末１０から受信した暗号化キーワードと暗号化インデックスとに基づく文書検索を行い、検索結果を情報処理端末１０に送信する。
【００２７】
（ネットワーク３０）
ネットワーク３０は、情報処理端末１０と情報処理サーバ２０とを接続する機能を有する。ネットワーク３０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク３０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。また、ネットワーク３０は、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など無線通信網を含んでもよい。
【００２８】
以上、本開示の一実施形態に係る情報処理システムの構成例について述べた。なお、図１を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
【００２９】
＜＜１．３．情報処理端末１０の機能構成例＞＞
次に、本開示の一実施形態に係る情報処理端末１０の機能構成例について詳細に説明する。図２は、本実施形態に係る情報処理端末１０の機能構成例を示すブロック図である。図２を参照すると、本実施形態に係る情報処理端末１０は、鍵管理部１１０、入力部１２０、暗号化部１３０、秘密分散処理部１４０、復号部１５０、表示部１６０、および通信部１７０を備える。
【００３０】
（鍵管理部１１０）
本実施形態に係る鍵管理部１１０は、ユーザの固有鍵や、情報処理サーバ２０から受信した共通鍵、また秘密分散処理部１４０が生成した秘密分散片（分散鍵、とも称する）などを保管する。
【００３１】
（入力部１２０）
本実施形態に係る入力部１２０は、ユーザによる各種の入力操作を検出する。本実施形態に係る入力部１２０は、例えば、ユーザによる検索キーワードの入力や、文書の登録操作などを検出する。このために、本実施形態に係る入力部１２０は、キーボードやマウス、各種のボタンなどを有する。
【００３２】
（暗号化部１３０）
本実施形態に係る暗号化部１３０は、文書やインデックスの暗号化を行う。また、本実施形態に係る暗号化部１３０は、文書に含まれる単語の分割候補の作成や、当該分割候補に対する準同型ハッシュ演算などを行う。本実施形態に係る暗号化部１３０が有する機能の詳細については別途後述する。
【００３３】
（秘密分散処理部１４０）
本実施形態に係る秘密分散処理部１４０は、秘密分散処理による分散鍵の生成を行う。本実施形態に係る秘密分散処理部１４０は、例えば、情報処理サーバ２０が備える暗号化辞書２３６に登録される単語の暗号化に用いられた共通鍵に対する秘密分散処理を行い、第１の分散鍵および第２の分散鍵を生成する。本実施形態に係る秘密分散処理部１４０が有する機能の詳細については別途後述する。
【００３４】
（復号部１５０）
本実施形態に係る復号部１５０は、暗号化されたデータの復号を行う。本実施形態に係る復号部１５０は、例えば、情報処理サーバ２０から受信された検索結果の復号などを行う。
【００３５】
（表示部１６０）
本実施形態に係る表示部１６０は、画像やテキストなどの視覚情報を出力する。本実施形態に係る表示部１６０は、例えば、検索キーワードなどの入力データの入力、および検索結果の提示などの表示を行うためのユーザインタフェースを具備する。
【００３６】
（通信部１７０）
本実施形態に係る通信部１７０は、ネットワーク３０を介して情報処理サーバ２０との情報通信を行う。本実施形態に係る通信部１７０は、例えば、暗号化文書や暗号化インデックスを情報処理サーバ２０に送信する。また、通信部１７０は、例えば、暗号化キーワードを情報処理サーバ２０に送信し、当該暗号化キーワードに応じた検索結果を情報処理サーバ２０から受信する。
【００３７】
以上、本開示の一実施形態に係る情報処理端末１０の機能構成例について述べた。なお、図２を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理端末１０の機能構成は係る例に限定されない。本実施形態に係る情報処理端末１０の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００３８】
＜＜１．４．情報処理サーバ２０の機能構成例＞＞
次に、本開示の一実施形態に係る情報処理サーバ２０の機能構成例について詳細に説明する。図３は、本実施形態に係る情報処理サーバ２０の機能構成例を示すブロック図である。図３を参照すると、本実施形態に係る情報処理サーバ２０は、分割部２１０、検索部２２０、記憶部２３０、および端末通信部２４０を備える。
【００３９】
（分割部２１０）
本実施形態に係る分割部２１０は、暗号化辞書２３６を用いた形態素解析により、文書検索に用いられる単語の分割単位を決定する。本実施形態に係る分割部２１０が有する機能の詳細については別途後述する。
【００４０】
（検索部２２０）
本実施形態に係る検索部２２０は、情報処理端末１０から受信された暗号化キーワードとインデックス保管部２３８に保管される暗号化インデックスとに基づく文書検索を行う。
【００４１】
（記憶部２３０）
本実施形態に係る記憶部２３０は、文書検索に係る各種の情報を記憶する。本実施形態に係る記憶部２３０は、データ保管部２３２、分散鍵保管部２３４、暗号化辞書２３６、インデックス保管部２３８などを備える。
【００４２】
（データ保管部２３２）
本実施形態に係るデータ保管部２３２は、情報処理端末１０から受信された暗号化文書など、暗号化された各種のデータを保管する。
【００４３】
（分散鍵保管部２３４）
本実施形態に係る分散鍵保管部２３４は、情報処理端末１０から受信された分散鍵を保管する。また、本実施形態に係る分散鍵保管部２３４は、分散鍵と共に、分散鍵の生成元である情報処理端末１０やユーザの情報を記憶する。
【００４４】
（暗号化辞書２３６）
本実施形態に係る暗号化辞書２３６は、分割部２１０が形態素解析に用いる辞書である。本実施形態に係る暗号化辞書２３６には、全ユーザに共通の共通鍵により暗号化された複数の単語が登録される。
【００４５】
（インデックス保管部２３８）
本実施形態に係るインデックス保管部２３８は、情報処理端末１０から受信された暗号化インデックスを保管する。
【００４６】
（端末通信部２４０）
本実施形態に係る端末通信部２４０は、ネットワーク３０を介して情報処理端末１０との情報通信を行う。本実施形態に係る端末通信部２４０は、例えば、情報処理端末１０から暗号化文書や暗号化インデックスを受信する。また、端末通信部２４０は、例えば、情報処理端末１０から暗号化キーワードを受信し、検索部２２０が取得した検索結果を情報処理端末１０に送信する。
【００４７】
以上、本開示の一実施形態に係る情報処理サーバ２０の機能構成例について述べた。なお、図３を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理サーバ２０の機能構成は係る例に限定されない。例えば、本実施形態に係る検索部２２０が有する機能は、別途の検索装置により実現されてもよい。本実施形態に係る情報処理サーバ２０の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【００４８】
＜＜１．５．機能の詳細＞＞
次に、本実施形態に係る情報処理端末１０および情報処理サーバ２０が有する機能について詳細に説明する。上述したように、本実施形態に係る情報処理方法は、インデックス作成に必要な単語の分割をクライアントとサーバとで分散して実行し、処理負担を軽減すると共によりセキュアな検索可能暗号技術を実現するものである。
【００４９】
より具体的には、本実施形態に係る情報処理方法では、まず、情報処理端末１０の暗号化部１３０により検索対象となる文書に含まれる単語の分割候補を作成し、当該分割候補を暗号化したうえで情報処理サーバに送信する。
【００５０】
次に、情報処理サーバ２０の分割部２１０は、暗号化された分割候補と暗号化辞書２３６とのマッチングを行い、形態素解析に必要なラティス構造を作成する。
【００５１】
続いて、分割部２１０は、ラティス構造上の重み情報に基づいて、文書検索に最適な単語の分割単位を決定する。
【００５２】
次に、情報処理サーバ２０の暗号化部１３０は、上記の分割単位に基づいて文書の全文検索用インデックスの作成を行い、暗号化したうえで情報処理サーバ２０に登録する。
【００５３】
上記の処理によれば、以降、登録された暗号化インデックスを用いて暗号化文書の全文検索をセキュアに実行することが可能となる。また、本実施形態に係る情報処理方法によれば、情報処理サーバ２０上では検索可能暗号技術を用いることで平文が一切露出しない状況を作ることができ、また、復号鍵が情報処理サーバ２０上で管理されないため、サービス管理者などによる不正なデータ取得を防止することが可能となる。
【００５４】
以下、本実施形態に係る情報処理方法が含む各処理について、より詳細に説明する。まず、本実施形態に係る分散鍵の生成と保管について述べる。
【００５５】
図４は、本実施形態に係る初期セットアップの流れを示す図である。本実施形態に係る初期セットアップでは、まず、情報処理端末１０におけるユーザの固有鍵Ｕｋの生成と、情報処理サーバ２０における共通鍵Ｃｋの生成が行われる。
【００５６】
ここで、本実施形態に係る共通鍵Ｃｋは、暗号化辞書２３６に登録される単語を暗号化するための鍵であり、全ユーザに共通して用いられる。
【００５７】
次に、情報処理端末１０の秘密分散処理部１４０は、通信部１７０を介して情報処理サーバ２０から共通鍵Ｕｋをダウンロードし、共通鍵Ｕｋに対する秘密分散処理を行い、２つの秘密分散片である、第１の分散鍵ｓ１および第２の分散鍵ｓ２を生成する。なお、この際、生成される第１の分散鍵ｓ１および第２の分散鍵ｓ２は、情報処理端末１０ごとに異なる。
【００５８】
ここで、生成された第１の分散鍵ｓ１は鍵管理部１１０により保管され、第２の分散鍵ｓ２は通信部１７０により情報処理サーバ２０（検索装置）に送信され、分散鍵保管部２３４に保管される。
【００５９】
次に、本実施形態に係る暗号化インデックスの生成について述べる。図５は、本実施形態に係る暗号化インデックス生成の流れを示す図である。ここでは、まず、検索対象となる文書がユーザによる入力などにより生成される。暗号化部１３０は、生成された文書Ｄを固有鍵Ｕｋを用いて暗号化し、続いて、通信部１７０が暗号化された文書Ｄを情報処理サーバ２０に送信する。また、情報処理サーバ２０のデータ保管部２３２は、端末通信部２４０が受信した暗号化された文書Ｄを保管する。図８は、本実施形態に係るデータ保管部２３２が有する文書本体および文書ＩＤが保管されるテーブルの一例である。
【００６０】
次に、本実施形態に係る暗号化部１３０は、文書Ｄに含まれる単語の分割候補を複数生成する。ここで、暗号化部１３０による分割精度は、後述する情報処理サーバ２０の分割部２１０による単語の分割精度よりも低いものであってよい。具体的には、暗号化部１３０は、情報処理サーバ２０が備える暗号化辞書２３６よりも登録単語数が少ない簡易辞書を用いた形態素解析や、Ｎ−Ｇｒａｍにより分割候補の生成を行う。
【００６１】
形態素解析を行うためには、辞書が必要となるが、この際、新語や専門用語などに対応するためには辞書が肥大化し、情報処理端末１０の処理を圧迫する可能性がある。このため、本実施形態に係る暗号化部１３０は、暗号化辞書２３６よりも登録単語数の少ない簡易辞書を用いた形態素解析を行うことで、処理負担を軽減してもよい。
【００６２】
また、一般的に、Ｎ−Ｇｒａｍでは、本来の想定とは異なる単語に分割されることがあるが（例えば、「国会議事堂」が、「国会」「会議」、「議事」、「議事堂」などに分解されるなど）、本実施形態では、最終的な分割単位は情報処理サーバ２０の分割部２１０による暗号化辞書２３６を用いた形態素解析により決定されるため、暗号化部１３０による分割候補の生成においては、精度を求めずに処理効率を優先してよい。
【００６３】
続いて、暗号化部１３０は、生成した分割候補のすべてに対し、第１の分散鍵ｓ１を用いて準同型ハッシュ演算（べき乗算）を行い第１のハッシュ値を算出する。また、通信部１７０は、算出された第１のハッシュ値を情報処理サーバ２０（外部装置、とも称する）に送信する。
【００６４】
次に、情報処理サーバ２０の分割部２１０は、端末通信部２４０が情報処理端末１０（端末、とも称する）から受信した第１のハッシュ値に対し、対応する第２の分散鍵ｓ２を用いて準同型ハッシュ演算（乗算）を行い、第２のハッシュ値を算出する。
【００６５】
続いて、分割部２１０は、算出した第２のハッシュ値と暗号化辞書２３６とのマッチングに基づいて、文書検索に用いられる単語の分割単位を決定する。より詳細には、分割部２１０は、第２のハッシュ値（単語）と暗号化辞書２３６とのマッチングを行い、当該マッチングの結果に基づいてラティス構造を作成する。次に、分割部２１０は、作成したラティス構造の重みに基づく形態素解析を行い、分割単位を決定することができる。
【００６６】
通常、形態素解析に用いられる辞書は、単語の候補が複数ある場合に、出現頻度や単語間のつながりに係る数値を基に担当の区切りを確定させるため、単語や品詞、また出現頻度や単語間のつながりやすさなどに関する情報を有している。
【００６７】
この際、本実施形態のように、検索可能暗号向けに暗号化を行う場合、辞書が含むすべての単語を検索可能暗号で暗号文に予め変換しておくことが求められる。しかし、ここで、共通鍵で暗号化を行う場合、鍵を共有することにより、どの単語を検索しているかを把握できてしまう可能性がある。このために、本実施形態では、暗号化辞書２３６の暗号化に用いた共通鍵を情報処理端末１０側で秘密分散処理により分散し、一方の分散片である第２の分散鍵ｓ２を情報処理サーバ２０での辞書検索に用いることで、他のユーザに検索する単語が流出することを防止することができる。
【００６８】
図６は、本実施形態に係る分割部２１０により作成されるラティス構造の一例である。図６では、文章「国会議事堂に行く」に対するラティス構造の一例が示されている。本実施形態に係る分割部２１０は、情報処理端末１０の暗号化部１３０が暗号化した、例えば、「国会」などの単語を暗号化辞書２３６とマッチングさせることにより図示するようなラティス構造を作成し、生起コストや連接コストなどの重みに基づいて、品詞などを決定することが可能である。
【００６９】
なお、図６では、日本語に対するラティス構造の一例を示したが、本実施形態に係る分割部２１０は、例えば、英語などの他の言語に対する形態素解析を行うことも可能である。例えば、“Ｉ  ｌｉｖｅ  ｉｎ  Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ”という文章の場合、“Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ”は固有名詞であるため、連結した状態で取得することが望まれる。この場合、暗号化辞書２３６に、固有名詞“Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ”を予め登録しておくことで、“Ｉ”、“ｌｉｖｅ”、“ｉｎ”、“Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ”を文書検索に最適な単位で分割することが可能となる。
【００７０】
なお、“Ｎｅｗ  Ｙｏｒｋ  Ｃｉｔｙ”が固有名詞であることが暗号化辞書２３６に登録されている場合、分割部２１０は、略称である“ＮＹ”や“ＮＹＣ”などを関連語として分割単位の含めることもできる。
【００７１】
再び図５を参照して暗号化インデックス生成の流れについて説明を続ける。分割部２１０により分割単位が決定されると、端末通信部２４０は、決定された分割単位に係る暗号化情報を情報処理端末１０に送信する。ここで、上記の分割単位に係る暗号化情報とは、分割されたすべての単語を暗号化したデータであってよい。
【００７２】
次に、情報処理端末１０の復号部１５０は、通信部１７０が受信した暗号化情報を復号化し、文書Ｄに対するインデックスが確定する。
【００７３】
次に、暗号化部１３０は、確定したインデックスを、固有鍵Ｕｋを用いて暗号化し暗号化インデックスを生成する。続いて、通信部１７０は、生成された暗号化インデックスを情報処理サーバ２０に送信する。また、情報処理サーバ２０のインデックス保管部２３８は、端末通信部２４０が受信した暗号化された文書Ｄを保管する。図７は、本実施形態に係るインデックス保管部２３８が有する、暗号化インデックスと文書の紐付きを示すテーブルの一例である。図７に示す一例の場合、例えば、単語Ｗ９は文書Ａおよび文書Ｂに含まれており、単語Ｗ１１は文書Ａ、文書Ｂ、および文書Ｃに含まれていることがわかる。
【００７４】
以上、本実施形態に係る暗号化インデックス生成の流れについて説明した。次に、上記のように生成した暗号化インデックスを用いた暗号化文書の検索について説明する。図９は、本実施形態に係る暗号化文書の検索について説明するための図である。
【００７５】
まず、情報処理端末１０の暗号化部１３０は、ユーザにより入力された検索キーワードを固有鍵Ｕｋを用いて暗号化し、暗号化キーワードＥＫＷを生成する。本実施形態に係る暗号化部１３０は、検索キーワードを準同型ハッシュ演算によりハッシュ値化し、当該ハッシュ値を、例えば、ブルームフィルタやカウンティングフィルタのようなＡＭＱ(Ａｐｐｒｉｘｉｍａｔｅ  Ｍｅｍｂｅｒｓｈｉｐ  Ｑｕｅｒｙ)形式にエンコード（マッピング）することで、暗号化キーワードを生成してもよい。
【００７６】
この際、暗号化部１３０は、入力された検索キーワードが単一である場合や、複数の検索キーワードを用いたＡＮＤ検索の場合には、例えば、単一のブルームフィルタにマッピングを行う。一方、複数の検索キーワードを用いたＯＲ検索の場合、暗号化部１３０は、例えば、ＯＲの単位でブルームフィルタへのマッピングを行ってよい。
【００７７】
通信部１７０は、暗号化部１３０が生成した暗号化キーワードＥＫＷを情報処理サーバ２０に送信する。
【００７８】
次に、情報処理サーバ２０の検索部２２０は、情報処理端末１０から受信された暗号化キーワードＥＫＷと、インデックス保管部２３８が保管する複数の暗号化インデックスＥＩとに基づいて文書検索を実行する。具体的には、検索部２２０は、暗号化キーワードＥＫＷと暗号化インデックスＥＩとの間でビット単位の一致判定を行うことで検索を行うことができる。なお、本実施形態に係る暗号化インデックスＥＩは、暗号化キーワードＥＫＷと同じくブルームフィルタなどにマッピングされたものあってよい。
【００７９】
ここで、暗号化インデックスＥＫＷが含まれる暗号化インデックスＥＩが存在する場合、検索部２２０は、図７に示したようなテーブルに基づいて、対応する暗号化文書を特定することが可能である。例えば、暗号化キーワードＥＫＷが単語Ｗ１１であった場合、検索部２２０は、文書Ａ、文書Ｂ、文書Ｃが該当する旨を検索結果として、端末通信部２４０を介して情報処理端末１０に返してもよい。また、一方で、検索部２２０は、文書Ａ、文書Ｂ、文書Ｃそのものを検索結果として返してもよい。図９に示す一例では、検索部２２０は、該当する暗号化文書ＥＤそのものを検索結果として情報処理端末１０に返している。
【００８０】
この場合、情報処理端末１０の復号部１５０は、通信部１７０が受信した、検索結果である暗号化文書ＥＤを復号し、平文の文書Ｄを取得することができる。
【００８１】
以上、本実施形態に係る情報処理端末１０および情報処理サーバ２０による処理の流れについて説明した。上述したように、本実施形態に係る情報処理方法によれば、情報処理サーバ２０上では検索可能暗号技術を用いることで平文が一切露出しない状況を作ることができ、また、復号鍵が情報処理サーバ２０上で管理されないため、サービス管理者などによる不正なデータ取得を防止することが可能となる。
【００８２】
なお、上記では、主に文書の検索を行う場合を例に述べたが、本実施形態に係る情報処理方法は、文書以外のデータに対しても適用することが可能である。本実施形態に係る情報処理方法は、例えば、音声メモの検索に用いられてもよい。本実施形態に係る情報処理方法によれば、録音された音声データに対する音声認識を行い、当該音声認識の結果に基づいて検索用のインデックスを作成することで、よりセキュアに音声データの検索を行うことが可能となる。
【００８３】
この際、上記を実現するための構成としては、音声認識を情報処理端末１０側で行う場合と、情報処理サーバ２０側で行う場合とが想定される。
【００８４】
図１０は、本実施形態に係る音声データの検索において、音声認識を情報処理端末１０側で行う場合の流れを示す図である。この場合、まず、ユーザの発話ＵＯに対して情報処理端末１０に備えられる音声認識部が音声認識を行い、音声認識結果ＲＲと音声データＶＲを生成する。次に、暗号化部１３０が固有鍵Ｕｋを用いて音声データＶＲを暗号化し、通信部１７０が暗号化された音声データＶＲを情報処理サーバ２０に送信する。情報処理サーバ２０のデータ保管部２３２は、端末通信部２４０が受信した、暗号化された音声データＶＲを保管する。
【００８５】
また、本実施形態に係る情報処理端末１０および情報処理サーバ２０は、上記の処理と並行して、音声認識結果ＲＲに基づく暗号化インデックスの生成処理を行う。情報処理端末１０および情報処理サーバ２０は、音声認識結果ＲＲから生成された分割候補に対し、図５のステップＳ１１０１に示す後続処理を行うことで、暗号化インデックスを生成することが可能である。
【００８６】
一方、図１１は、本実施形態に係る音声データの検索において、音声認識を情報処理サーバ２０側で行う場合の流れを示す図である。この場合、まず、情報処理端末１０の暗号化部１３０がユーザの発話ＵＯを録音した音声データＶＲを固有鍵を用いて暗号化し、通信部１７０が暗号化された音声データＶＲを情報処理サーバ２０に送信する。情報処理サーバ２０のデータ保管部２３２は、端末通信部２４０が受信した、暗号化された音声データＶＲを保管する。
【００８７】
また、この場合も同様に、情報処理端末１０および情報処理サーバ２０は、暗号化インデックスの生成処理を並行して行う。まず、情報処理サーバ２０に備えられる音声認識部がユーザの発話ＵＯに対する音声認識処理を実行し音声認識結果ＲＲを取得する。次に、情報処理サーバ２０の分割部２１０が音声認識結果ＲＲから分割候補を作成する。続いて、分割部２１０は、分割候補に対し、情報処理端末１０から一時的に取得した第１の分割鍵ｓ１を用いた準同型ハッシュ演算、および分散鍵保管部２３４に保管される第２の分割鍵ｓ２を用いた準同型ハッシュ演算を行う。上記の処理の後、情報処理サーバ２０および情報処理端末１０は、図５のステップＳ１１０２に示す後続処理を行うことで、暗号化インデックスを生成することが可能である。
【００８８】
このように、本実施形態に係る情報処理方法によれば、テキストデータのみではなく、音声データの検索もよりセキュアに実現することが可能である。
【００８９】
また、本実施形態に係る情報処理方法は、例えば、Ｗｅｂサービスのパスワード管理などに適用することも可能である。近年では、多種多様なＷｅｂサービスが展開されているが、複数のＷｅｂサービスを利用するユーザにとっては、パスワードを覚えきれないなどの弊害が発生し得る。
【００９０】
このために、本実施形態に係る情報処理方法では、Ｗｅｂサービスに使用するパスワードやユーザＩＤ、ＵＲＬやサイト名などを検索対象とすることで、セキュアなパスワード管理を実現することができる。
【００９１】
具体的には、図５に示した処理の流れにおいて、ユーザは文書Ｄに代えて、パスワード、ユーザＩＤ、ＵＲＬ、サイト名などを暗号化して情報処理サーバ２０に登録する。次に、図５に示す情報処理サーバ２０および情報処理端末１０は、上記の情報に基づく暗号化インデックスの生成処理を実行し、情報処理サーバ２０が当該暗号化インデックスを保管する。
【００９２】
上記の処理によれば、固有鍵Ｕｋを有するユーザのみが、ユーザＩＤやＵＲＬ、サイト名などを用いてパスワードを検索することができ、セキュアなパスワード管理を実現することが可能となる。
【００９３】
また、例えば、暗号化辞書２３６にパスワードとして不適当なパターン(例えば、ａｂｃ１２３など)を登録することにより、脆弱なパスワードが登録されることを防ぐことなども可能であり、セキュリティ性をより向上させることができる。
【００９４】
以上、本実施形態に係る情報処理方法の文書検索以外への適用例について説明した。このように、本実施形態に係る情報処理方法は、種々の検索サービスに柔軟に適用可能である。
【００９５】
また、本実施形態に係る情報処理方法は、マルチユーザによる検索にも対応可能である。例えば、自身が登録した文書に対する検索行為を特定の他のユーザにのみ許諾したい状況なども想定される。しかし、データの暗号化に用いた固有鍵を他のユーザと共有する場合、なりすましなどが可能となることから、セキュリティ性が低下することとなる。このため、本実施形態に係る情報処理方法では、文書などのデータの暗号化に用いた固有鍵を秘密分散処理により分散し、一方の分散片を他のユーザに、他方の分散片を情報処理サーバ２０に保管することで、マルチユーザによる検索の共有をセキュアに実現することができる。
【００９６】
図１２は、本実施形態に係るマルチユーザによる検索の共有について説明するための図である。図１２では、情報処理端末１０ａを所有するユーザが、図４および図５に示した暗号化文書と暗号化インデックスの登録を行った後、登録した暗号化文書の検索を情報処理端末１０ｂを所有するユーザに許諾する場合の一例が示されている。
【００９７】
この際、共有元となる情報処理端末１０ａの秘密分散処理部１４０は、暗号化文書および暗号化インデックスの生成に用いた固有鍵Ｕｋに対する秘密分散処理を行い、第３の分散鍵ｓ３および第４の分散鍵ｓ４を生成する。次に、通信部１７０は、生成された第３の分散鍵ｓ３を共有先となる情報処理端末１０ｂ（検索許諾装置）に送信し、第４の分散鍵ｓ４を情報処理端末１０を情報処理サーバ２０（検索装置）に送信する。
【００９８】
この後、共有先の情報処理端末１０ｂで検索を行う場合、情報処理端末１０ｂの暗号化部１３０ｂは、情報処理端末１０ａから受信した第３の分散鍵ｓ３と準同型ハッシュパラメータｇを用いて準同型ハッシュ演算（べき乗算）を行い、算出した第３のハッシュ値を情報処理サーバ２０に送信する。
【００９９】
次に、情報処理サーバ２０の検索部２２０は、端末通信部２４０が受信した第３のハッシュ値に対し、情報処理端末１０ａから受信され分散鍵保管部２３４に保管される第４の分散鍵ｓ４を用いて準同型ハッシュ演算（乗算）を行う。続いて、検索部２２０は、算出した第４のハッシュ値と、インデックス保管部２３８に保管される暗号化インデックスとの間でビット単位の一致判定を行うことで検索を実行する。
【０１００】
この際、検索部２２０は、文書の所有者（共有元ユーザ）と検索が許諾されたユーザ（共有先ユーザ）との対応付けを示すテーブルに基づいて、検索を実行してもよい。図１３は、本実施形態に係る共有元ユーザと共有先ユーザの対応付けを示すテーブルの一例である。
【０１０１】
例えば、図７に示した暗号化インデックスに対し単語Ｗ１１を検索する場合、文書Ａ、文書Ｂ、文書Ｃが該当する文書となるが、ここで、図１３を参照すると、文書Ａには検索が許諾されたユーザがなく、文書Ｂにはユーザβおよびユーザγ、文章Ｃにはユーザβおよびユーザσが検索を許諾されている。このため、検索部２２０は、ユーザβによる単語Ｗ１１の検索に関しては、検索結果から文書Ａの存在を排除し、文書Ｂおよび文書Ｃのみに係る検索結果を返してよい。同様に、ユーザγが単語Ｗ１１を検索した場合、検索部２２０は、検索結果から文書Ａおよび文書Ｃの存在を排除し、文書Ｂのみに係る検索結果を返してよい。
【０１０２】
このように、本実施形態に係るマルチユーザによる検索の共有によれば、共有が許諾された文書のみに係る検索結果を返すことで、共有が許諾されていない文書の存在を秘匿することができ、よりセキュアな検索の共有を実現することができる。
【０１０３】
＜２．ハードウェア構成例＞
次に、本開示の一実施形態に係る情報処理端末１０と情報処理サーバ２０に共通するハードウェア構成例について説明する。図１４は、本開示の一実施形態に係る情報処理端末１０と情報処理サーバ２０のハードウェア構成例を示すブロック図である。図１４を参照すると、情報処理端末１０と情報処理サーバ２０は、例えば、プロセッサ８７１と、ＲＯＭ８７２と、ＲＡＭ８７３と、ホストバス８７４と、ブリッジ８７５と、外部バス８７６と、インターフェース８７７と、入力装置８７８と、出力装置８７９と、ストレージ８８０と、ドライブ８８１と、接続ポート８８２と、通信装置８８３と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
【０１０４】
（プロセッサ８７１）
プロセッサ８７１は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ８７２、ＲＡＭ８７３、ストレージ８８０、又はリムーバブル記録媒体９０１に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
【０１０５】
（ＲＯＭ８７２、ＲＡＭ８７３）
ＲＯＭ８７２は、プロセッサ８７１に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ８７３には、例えば、プロセッサ８７１に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１０６】
（ホストバス８７４、ブリッジ８７５、外部バス８７６、インターフェース８７７）
プロセッサ８７１、ＲＯＭ８７２、ＲＡＭ８７３は、例えば、高速なデータ伝送が可能なホストバス８７４を介して相互に接続される。一方、ホストバス８７４は、例えば、ブリッジ８７５を介して比較的データ伝送速度が低速な外部バス８７６に接続される。また、外部バス８７６は、インターフェース８７７を介して種々の構成要素と接続される。
【０１０７】
（入力装置８７８）
入力装置８７８には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置８７８としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。また、入力装置８７８には、マイクロフォンなどの音声入力装置が含まれる。
【０１０８】
（出力装置８７９）
出力装置８７９は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ、又は有機ＥＬ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。また、本開示に係る出力装置８７９は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
【０１０９】
（ストレージ８８０）
ストレージ８８０は、各種のデータを格納するための装置である。ストレージ８８０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
【０１１０】
（ドライブ８８１）
ドライブ８８１は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９０１に記録された情報を読み出し、又はリムーバブル記録媒体９０１に情報を書き込む装置である。
【０１１１】
（リムーバブル記録媒体９０１）
リムーバブル記録媒体９０１は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙ（登録商標）メディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９０１は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。
【０１１２】
（接続ポート８８２）
接続ポート８８２は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９０２を接続するためのポートである。
【０１１３】
（外部接続機器９０２）
外部接続機器９０２は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。
【０１１４】
（通信装置８８３）
通信装置８８３は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、又は各種通信用のモデム等である。
【０１１５】
＜３．まとめ＞
以上説明したように、本開示の一実施形態に係る情報処理サーバ２０は、第１の分散鍵を用いて算出された第１のハッシュ値を情報処理端末１０から受信する端末通信部２４０と、第１のハッシュ値に対し第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定する分割部２１０と、を備える。また、上記の端末通信部２４０は、分割部２１０により決定された分割単位に係る暗号化情報を情報処理端末１０に送信する。
【０１１６】
また、本開示の一実施形態に係る情報処理端末１０は、検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出する暗号化部１３０と、第１のハッシュ値を情報処理サーバ２０に送信する通信部１７０と、を備える。また、上記の通信部１７０は、第１のハッシュ値に対する第２の分散鍵を用いた準同型ハッシュ演算により算出された第２のハッシュ値と暗号化辞書とのマッチングに基づいて決定された、文書検索用の単語の分割単位に係る暗号化情報を情報処理サーバ２０から受信する。
【０１１７】
上記の構成によれば、処理負担を軽減すると共によりセキュアな検索可能暗号技術を実現することが可能となる。
【０１１８】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１９】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１２０】
また、コンピュータに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアに、情報処理サーバ２０が有する構成と同等の機能を発揮させるためのプログラムも作成可能であり、当該プログラムを記録した、コンピュータに読み取り可能な非一過性の記録媒体も提供され得る。
【０１２１】
また、本明細書の情報処理サーバ２０の処理に係る各ステップは、必ずしも図示された順序に沿って時系列に処理される必要はない。例えば、情報処理サーバ２０の処理に係る各ステップは、図示された順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１２２】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
第１の分散鍵を用いて算出された第１のハッシュ値を端末から受信する通信部と、
前記第１のハッシュ値に対し前記第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定する分割部と、
を備え、
前記通信部は、前記分割部により決定された前記分割単位に係る暗号化情報を前記端末に送信する、
情報処理装置。
（２）
前記第１のハッシュ値は、検索対象となる文書に含まれる単語の分割候補を前記第１の分散鍵を用いた準同型ハッシュ演算によりハッシュ化した値である、
前記（１）に記載の情報処理装置。
（３）
前記第１のハッシュ値に係る単語の分割精度は、前記分割部による単語の分割精度よりも低い、
前記（２）に記載の情報処理装置。
（４）
前記分割部は、形態素解析により前記分割単位を決定する、
前記（１）に記載の情報処理装置。
（５）
前記分割部は、前記第２のハッシュ値と前記暗号化辞書とのマッチングに基づいてラティス構造を作成し、前記ラティス構造上の重みに基づいて前記分割単位を決定する、
前記（４）に記載の情報処理装置。
（６）
前記第１の分散鍵および第２の分散鍵は、前記暗号化辞書に登録される単語の暗号化に用いられた共通鍵を秘密分散処理することで生成され、
前記通信部は、前記端末から前記第２の分散鍵を受信する、
前記（１）〜（５）のいずれかに記載の情報処理装置。
（７）
前記通信部は、前記分割単位に係る暗号化情報に基づいて生成された暗号化インデックスを前記端末から受信する、
前記（１）〜（６）のいずれかに記載の情報処理装置。
（８）
前記通信部が前記端末から受信した暗号化キーワードと前記暗号化インデックスとに基づいて文書検索を行う検索部、
をさらに備える、
前記（７）に記載の情報処理装置。
（９）
前記暗号化キーワードおよび暗号化インデックスは、ブルームフィルタにマッピングされる、
前記（８）に記載の情報処理装置。
（１０）
検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出する暗号化部と、
前記第１のハッシュ値を外部装置に送信する通信部と、
を備え、
前記通信部は、前記第１のハッシュ値に対する第２の分散鍵を用いた準同型ハッシュ演算により算出された第２のハッシュ値と暗号化辞書とのマッチングに基づいて決定された、文書検索用の単語の分割単位に係る暗号化情報を前記外部装置から受信する、
情報処理装置。
（１１）
前記暗号化辞書に登録される単語の暗号化に用いられた共通鍵に対する秘密分散処理を行い、前記第１の分散鍵および前記第２の分散鍵を生成する秘密分散処理部、
をさらに備え、
前記通信部は、前記第２の分散鍵を前記外部装置に送信する、
前記（１０）に記載の情報処理装置。
（１２）
前記暗号化部は、前記検索対象となる文書を固有鍵により暗号化した暗号化文書と、前記分割単位を前記固有鍵により暗号化した暗号化インデックスとを生成し、
前記通信部は、前記暗号化文書および前記暗号化インデックスを検索装置に送信する、
前記（１１）に記載の情報処理装置。
（１３）
前記暗号化部は、入力された検索キーワードを前記固有鍵により暗号化した暗号化キーワードを生成し、
前記通信部は、前記暗号化キーワードを前記検索装置に送信し、検索結果を受信する、
前記（１２）に記載の情報処理装置。
（１４）
前記分割単位は、前記暗号化辞書を用いた形態素解析により決定される、
前記（１０）〜（１３）のいずれかに記載の情報処理装置。
（１５）
前記暗号化部は、形態素解析により前記分割候補を決定し、
前記暗号化部による形態素解析に用いられる辞書に登録される単語の数は、前記暗号化辞書に登録される単語の数よりも少ない、
前記（１４）のいずれかに記載の情報処理装置。
（１６）
前記暗号化部は、Ｎ−Ｇｒａｍを用いて前記分割候補を決定する、
前記（１４）のいずれかに記載の情報処理装置。
（１７）
前記秘密分散処理部は、前記暗号化文書および前記暗号化インデックスの生成に用いられた前記固有鍵に対する秘密分散処理を行い、第３の分散鍵および第４の分散鍵を生成し、
前記通信部は、前記第３の分散鍵を検索許諾端末に送信し、前記第４の分散鍵を前記検索装置に送信する、
前記（１２）に記載の情報処理装置。
（１８）
前記検索結果を復号する複合部、
をさらに備える、
前記（１３）に記載の情報処理装置。
（１９）
プロセッサが、
第１の分散鍵を用いて算出された第１のハッシュ値を端末から受信することと、
前記第１のハッシュ値に対し前記第１の分散鍵に対応する第２の分散鍵を用いて準同型ハッシュ演算を行い、算出した第２のハッシュ値と暗号化辞書とのマッチングに基づいて文書検索に用いられる単語の分割単位を決定することと、
前記分割単位に係る暗号化情報を前記端末に送信することと、
を含む、
情報処理方法。
（２０）
プロセッサが、
検索対象となる文書に含まれる単語の分割候補に対し第１の分散鍵を用いた準同型ハッシュ演算を行い、第１のハッシュ値を算出することと、
前記第１のハッシュ値を外部装置に送信することと、
前記第１のハッシュ値に対する第２の分散鍵を用いた準同型ハッシュ演算により算出された第２のハッシュ値と暗号化辞書とのマッチングに基づいて決定された、文書検索用の単語の分割単位に係る暗号化情報を前記外部装置から受信することと、
を含む、
情報処理方法。
【符号の説明】
【０１２３】
１０      情報処理端末
１１０    鍵管理部
１３０    暗号化部
１４０    秘密分散処理部
１５０    復号部
１７０    通信部
２０      情報処理サーバ
２１０    分割部
２２０    検索部
２３２    データ保管部
２３４    分散鍵保管部
２３６    暗号化辞書
２３８    インデックス保管部
２４０    端末通信部
【図１】
2020086116.tif 000003
【図２】
2020086116.tif 000004
【図３】
2020086116.tif 000005
【図４】
2020086116.tif 000006
【図５】
2020086116.tif 000007
【図６】
2020086116.tif 000008
【図７】
2020086116.tif 000009
【図８】
2020086116.tif 000010
【図９】
2020086116.tif 000011
【図１０】
2020086116.tif 000012
【図１１】
2020086116.tif 000013
【図１２】
2020086116.tif 000014
【図１３】
2020086116.tif 000015
【図１４】
2020086116.tif 000016