説明

検索代理装置及び検索代理方法

【課題】ストレージサーバに暗号化されたデータを保存する場合において、当該データの秘匿性を確保しつつ、端末装置の処理負荷及び端末装置〜ストレージサーバ間の通信トラフィックを抑制に寄与する検索代理装置及び検索代理方法を提供する。
【解決手段】検索プロキシ200は、通信ネットワーク上におけるストレージサーバ300の所在位置、ユーザデータDuの暗号化方式及び暗号化方式において用いられる鍵情報を含む暗号化データメタ情報を記憶するリモートインデックスDB250と、リモートインデックスDB250に記憶されている暗号化データメタ情報に基づいて、ユーザデータDuを当該暗号化方式に従って暗号化する暗号化モジュール230と、ユーザデータDuが暗号化された暗号化データDeを暗号化データメタ情報に基づいてストレージサーバ300に送信するリモート検索マネージャー210とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置とストレージサーバとの間において、ストレージサーバに保存されているデータの前記端末装置による検索を代理する検索代理装置及び検索代理方法に関する。
【背景技術】
【0002】
近年、携帯電話端末に代表される移動端末やパーソナルコンピュータなどの端末装置の性能向上に伴い、端末装置が取り扱うデータ量が増大している。そこで、端末装置が取り扱うデータを通信ネットワーク上に設けられたストレージサーバに保存するストレージサービスが提供されている。
【0003】
ストレージサービスの場合、ストレージサービスの利用者、つまり、保存対象のデータの所有者と、ストレージサービスの提供者、つまり、当該データの管理者とが異なるため、保存対象のデータのセキュリティ確保が問題となる。そこで、一般的には、保存対象のデータは暗号化された状態でストレージサーバに保存される。
【0004】
この場合、ストレージサーバに保存されているデータに含まれるキーワードを用いて所望のデータを検索しようとしても、ストレージサーバに保存されているデータは暗号化されているため、そのままでは検索することができない。
【0005】
そこで、暗号化されたデータを逐次復号して検索する方法が知られている(例えば、特許文献1)。また、暗号化されたデータを復号することなく検索するために、暗号化されたデータのインデックスを作成し、ストレージサーバに保存された当該インデックスの内容を検索する方法も提案されている(例えば、特許文献2)。インデックスを用いる場合、暗号化されたデータを逐次復号する必要がないため、検索処理の高速化が図れる。
【特許文献1】特開2001−222555号公報(第4−5頁、第3図)
【特許文献2】特開2005−134990号公報(第5−6頁、第3図)
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来のインデックスを用いるデータの検索方法には、次のような問題があった。すなわち、インデックスの内容の検索処理がストレージサーバにおいて実行されるため、インデックスの内容と暗号化されたデータとの関連性をヒントにストレージサーバに保存されているデータの内容が暴かれてしまう危険性がある。
【0007】
一方、このような危険性を回避するため、インデックスの検索処理を端末装置において実行すると、端末装置とストレージサーバとの間における通信トラフィックが増大する。具体的には、利用者が指定したキーワードがインデックスに含まれていない場合、ストレージサーバに保存されている暗号化されたデータを逐次復号しつつ検索処理が実行されるため、当該データの送受信に関する通信トラフィックが増大する。また、このような検索処理を端末装置において実行すると、端末装置の処理負荷が大きくなり過ぎる。
【0008】
そこで、本発明は、このような状況に鑑みてなされたものであり、ストレージサーバに暗号化されたデータを保存する場合において、当該データの秘匿性を確保しつつ、端末装置の処理負荷及び端末装置〜ストレージサーバ間の通信トラフィックを抑制に寄与する検索代理装置及び検索代理方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した問題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第1の特徴は、端末装置(移動端末100)と、前記端末装置が取り扱うデータ(ユーザデータDu)を保存するストレージサーバ(ストレージサーバ300)との間に介在し、前記ストレージサーバに保存されている前記データの前記端末装置による検索を代理する検索代理装置(検索プロキシ200)であって、通信ネットワーク上における前記ストレージサーバの所在位置、前記データの暗号化方式及び前記暗号化方式において用いられる鍵情報を含む暗号化データメタ情報(マスターテーブルTB1)を記憶するメタ情報記憶部(リモートインデックスDB250)と、前記メタ情報記憶部に記憶されている暗号化データメタ情報に基づいて、前記データを前記暗号化方式に従って暗号化する暗号化部(暗号化モジュール230)と、前記暗号化部によって前記データが暗号化された暗号化データ(暗号化データDe)を前記暗号化データメタ情報に基づいて前記ストレージサーバに送信する送信部(リモート検索マネージャー210)とを備えることを要旨とする。
【0010】
このような検索代理装置によれば、ストレージサーバの所在位置、データの暗号化方式及び暗号化方式において用いられる鍵情報を含む暗号化データメタ情報は、検索代理装置に記憶される。つまり、暗号化データメタ情報は、端末装置が取り扱うデータが暗号化された暗号化データを保存するストレージサーバから離隔して配置される。このため、ストレージサーバに暗号化されたデータを保存する場合において、当該データの秘匿性を確保することができる。
【0011】
また、データは、端末装置ではなく検索代理装置において暗号化されるため、端末装置の処理負荷、及び通信トラフィック、具体的には端末装置と検索代理装置との間の通信トラフィックを抑制できる。
【0012】
本発明の第2の特徴は、本発明の第1の特徴に係り、前記暗号化部による暗号化の対象とされたデータを特徴付けるとともに、前記ストレージサーバに保存されている前記暗号化データの検索に用いられるインデックス(例えば、インデックステーブルTB2)を作成するインデックス作成部(インデックス作成モジュール220)と、前記ストレージサーバに保存された前記暗号化データの検索を前記端末装置から要求された場合、前記インデックス作成部によって作成された前記インデックスを用いて前記暗号化データを検索するデータ検索部(リモート検索マネージャー210)とを備えることを要旨とする。
【0013】
本発明の第3の特徴は、本発明の第2の特徴に係り、前記ストレージサーバに保存されている前記暗号化データの取得、及び取得した前記暗号化データの復号を実行する復号部(復号モジュール240)を備え、前記データ検索部は、前記インデックスを用いた前記暗号化データの検索結果に基づいて、前記暗号化データの取得及び復号を前記復号部に対して要求することを要旨とする。
【0014】
本発明の第4の特徴は、本発明の第3の特徴に係り、前記インデックスを記憶するインデックス記憶部(リモートインデックスDB250)を備え、前記インデックス作成部は、前記端末装置から新たに追加された前記データのインデックスである追加インデックスを作成し、作成した追加インデックスを前記インデックス記憶部に記憶されている前記インデックスに追加することを要旨とする。
【0015】
本発明の第5の特徴は、端末装置と、前記端末装置が取り扱うデータを保存するストレージサーバとの間において、前記ストレージサーバに保存されている前記データの前記端末装置による検索を代理する検索代理方法であって、通信ネットワーク上における前記ストレージサーバの所在位置、前記データの暗号化方式及び前記暗号化方式において用いられる鍵情報を含む暗号化データメタ情報を記憶するメタ情報記憶部に記憶されている暗号化データメタ情報に基づいて、前記データを前記暗号化方式に従って暗号化するステップと、前記データが暗号化された暗号化データを前記ストレージサーバに送信するステップとを備えることを要旨とする。
【発明の効果】
【0016】
本発明の特徴によれば、ストレージサーバに暗号化されたデータを保存する場合において、当該データの秘匿性を確保しつつ、端末装置の処理負荷及び端末装置〜ストレージサーバ間の通信トラフィックを抑制に寄与する検索代理装置及び検索代理方法を提供することができる。
【発明を実施するための最良の形態】
【0017】
次に、本発明の実施形態について説明する。具体的には、(1)暗号化データ検索システムの全体概略構成、(2)検索代理装置の機能ブロック構成、(3)暗号化データ検索システムの動作、(4)作用・効果、及び(5)その他の実施形態について説明する。
【0018】
なお、以下の図面の記載において、同一または類似の部分には、同一または類似の符号を付している。ただし、図面は模式的なものであり、各寸法の比率などは現実のものとは異なることに留意すべきである。
【0019】
したがって、具体的な寸法などは以下の説明を参酌して判断すべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【0020】
(1)暗号化データ検索システムの全体概略構成
図1は、本実施形態に係る暗号化データ検索システム1の全体概略構成図である。図1に示すように、暗号化データ検索システム1は、移動端末100、検索プロキシ200、及びストレージサーバ300によって構成される。
【0021】
検索プロキシ200とストレージサーバ300とは、インターネット10を介して接続される。また、移動端末100と検索プロキシ200とは、移動通信網20を介して接続される。
【0022】
移動端末100は、所定の無線通信方式に従って移動通信網20に接続する。移動端末100は、移動端末100が取り扱うデータであるユーザデータDuをストレージサーバ300に保存することができる。本実施形態において、移動端末100は、端末装置を構成する。
【0023】
移動端末100は、ローカル検索マネージャー110及びローカルインデックスDB120を備える。
【0024】
ローカル検索マネージャー110は、ストレージサーバ300に保存したユーザデータDuの検索機能を提供する。ローカル検索マネージャー110は、ストレージサーバ300に保存したユーザデータDu、具体的にはユーザデータDuが暗号化された暗号化データDeに対する検索クエリを検索プロキシ200に送信する。また、ローカル検索マネージャー110は、暗号化データDeの追加・削除要求や、暗号化データDeの検索に用いられるインデックスの新規作成要求を検索プロキシ200に送信することもできる。
【0025】
ローカルインデックスDB120は、ストレージサーバ300に保存するために暗号化の対象とされたユーザデータDuを特徴付けるとともに、ストレージサーバ300に保存されている暗号化データDeの検索に用いられるインデックスを記憶する。なお、ローカルインデックスDB120は、必ずしも設けられていなくても構わない。
【0026】
検索プロキシ200は、移動端末100とストレージサーバ300との間に介在し、ストレージサーバ300に保存されている暗号化データDeの移動端末100による検索を代理する。本実施形態において、検索プロキシ200は、検索代理装置を構成する。
【0027】
検索プロキシ200は、移動端末100とストレージサーバ300との間において、検索プロキシ200とストレージサーバ300との通信に伴う通信コスト(通信料金)が安価となる通信ネットワーク(インターネット10または移動通信網20)上の位置に設けられる。
【0028】
検索プロキシ200は、リモート検索マネージャー210、インデックス作成モジュール220、暗号化モジュール230、復号モジュール240及びリモートインデックスDB250を備える。
【0029】
検索プロキシ200は、移動端末100から受信した検索クエリに従ってリモートインデックスDB250を検索し、検索クエリの内容に該当するユーザデータDuが特定できた場合、検索クエリに対する検索結果を移動端末100に送信する。なお、検索プロキシ200の具体的な機能については、後述する。
【0030】
ストレージサーバ300は、移動端末100が取り扱うユーザデータDuが暗号化された暗号化データDeを保存する。ストレージサーバ300は、暗号化データDeを保存する暗号化DB310を備える。
【0031】
(2)検索代理装置の機能ブロック構成
図2は、本実施形態において検索代理装置を構成する検索プロキシ200の機能ブロック構成図である。図2に示すように、検索プロキシ200は、リモート検索マネージャー210、インデックス作成モジュール220、暗号化モジュール230、復号モジュール240及びリモートインデックスDB250を備える。
【0032】
リモート検索マネージャー210は、ストレージサーバ300に保存されている暗号化データDeのリモート検索に関する機能を提供する。
【0033】
リモート検索マネージャー210は、移動端末100から検索クエリを受信する。リモート検索マネージャー210は、受信した検索クエリに応じてリモートインデックスDB250を検索し、検索クエリに対する検索結果を移動端末100に送信する。
【0034】
具体的には、リモート検索マネージャー210は、ストレージサーバ300に保存された暗号化データDeの検索を移動端末100から要求された場合、インデックス作成モジュール220によって作成されたインデックス(例えば、図8に示すインデックステーブルTB2)を用いて暗号化データDeを検索する。
【0035】
より具体的には、リモート検索マネージャー210は、検索クエリによって指定されたキーワードを用いてインデックスの内容を検索する。リモート検索マネージャー210は、当該キーワードがヒットした場合、ストレージサーバ300に検索対象の暗号化データDeが記憶されていると判定する。本実施形態において、リモート検索マネージャー210は、データ検索部を構成する。
【0036】
また、リモート検索マネージャー210は、暗号化モジュール230によってユーザデータDuが暗号化された暗号化データDeを、リモートインデックスDB250に記憶されているマスターテーブルTB1(図7参照)に基づいてストレージサーバ300に送信することができる。本実施形態において、リモート検索マネージャー210は、送信部を構成する。
【0037】
図7は、本実施形態において暗号化データメタ情報を構成するマスターテーブルTB1の構成例を示す。図7に示すように、マスターテーブルTB1には、暗号化データDeのファイルID及び暗号化データDeの所在URL、つまり、通信ネットワーク上におけるストレージサーバ300のURL(所在位置)が含まれる。ファイルIDは、暗号化データ検索システム1内においてユニークな識別子である。また、マスターテーブルTB1には、ユーザデータDuの暗号化(復号化)に用いられる暗号化方式、及び当該暗号化方式において用いられる暗号キー・復号キー(鍵情報)が含まれる。
【0038】
リモート検索マネージャー210は、移動端末100からの検索クエリに応じてリモートインデックスDB250に記憶されているマスターテーブルTB1を検索する。リモート検索マネージャー210は、マスターテーブルTB1に示されているストレージサーバ300のURL、暗号化方式及び鍵情報に基づいて、暗号化データDeの作成を暗号化モジュール230に要求する。さらに、リモート検索マネージャー210は、暗号化モジュール230によって作成された暗号化データDeをストレージサーバ300に送信する。
【0039】
また、リモート検索マネージャー210は、当該インデックスを用いた暗号化データDeの検索結果に基づいて、暗号化データDeの取得、及び取得した暗号化データDeの復号を復号モジュール240に対して要求する。
【0040】
具体的には、リモート検索マネージャー210は、マスターテーブルTB1に示されているストレージサーバ300のURL、暗号化方式及び鍵情報に基づいて、ストレージサーバ300からの暗号化データDeの取得及び復号を復号モジュール240に対して要求する。リモート検索マネージャー210は、復号モジュール240によって復号されたユーザデータDuを、移動端末100やインデックス作成モジュール220に送信することができる。
【0041】
インデックス作成モジュール220は、暗号化データDeの検索に用いられるインデックス、具体的には、インデックステーブルTB2やインデックステーブルTB3を作成する。インデックステーブルTB2(図8参照)やインデックステーブルTB3(図9参照)は、復号モジュール240による暗号化の対象とされたユーザデータDuを特徴付けるとともに、ストレージサーバ300に保存されている暗号化データDeの検索に用いられる。
【0042】
インデックス作成モジュール220は、リモート検索マネージャー210からの要求に基づいて、リモート検索マネージャー210を介して得られる復号済みのユーザデータDuを指定されたアルゴリズムに従って解析する。インデックス作成モジュール220は、当該解析の結果に基づいて、インデックステーブルTB2やインデックステーブルTB3を作成する。
【0043】
図8は、インデックステーブルTB2の構成例を示す。また、図9は、インデックステーブルTB3の構成例を示す。
【0044】
インデックステーブルTB2は、ファイル(ユーザデータDu)に含まれるキーワードを含むインデックステーブルである。インデックステーブルTB2は、キーワードと、当該キーワードを含むファイルIDの組合せのリストによって構成される。
【0045】
インデックステーブルTB3は、ファイルが作成された場所の座標(緯度経度)を含むインデックステーブルである。インデックステーブルTB3は、ファイルが作成された場所の座標と、当該座標の位置において作成されたファイルIDの組合せのリストによって構成される。
【0046】
本実施形態では、上述したように、複数種類のインデックステーブルが用いられる。それぞれのインデックステーブルには、名称(keyword, location)が付与される。リモート検索マネージャー210は、用いるインデックステーブルの名称とKeyとを指定する。
【0047】
また、インデックス作成モジュール220は、移動端末100から新たに追加されたユーザデータDuのインデックス(追加インデックス)を作成することができる。インデックス作成モジュール220は、作成したインデックス(追加インデックス)を、リモートインデックスDB250に既に記憶されているインデックステーブルTB2またはインデックステーブルTB3に追加する。
【0048】
さらに、インデックス作成モジュール220は、移動端末100から受信した暗号化データDeの削除要求に基づいて、インデックステーブルTB2またはインデックステーブルTB3の内容を修正することができる。また、インデックス作成モジュール220は、当該内容を修正後、該当する暗号化データDeのストレージサーバ300からの削除をストレージサーバ300に要求する。
【0049】
暗号化モジュール230は、リモートインデックスDB250に記憶されているマスターテーブルTB1に基づいて、移動端末100から送信されたユーザデータDuを指定された暗号化方式に従って暗号化する。具体的には、暗号化モジュール230は、リモート検索マネージャー210からの要求に基づいて、指定された暗号化方式及び鍵情報(キー)に従ってユーザデータDuを暗号化する。
【0050】
また、暗号化モジュール230は、ユーザデータDuを暗号化した暗号化データDeをストレージサーバ300にアップロードする。
【0051】
復号モジュール240は、ストレージサーバ300から暗号化データDeを取得し、取得した暗号化データDeを復号する。具体的には、復号モジュール240は、リモート検索マネージャー210からの要求に基づいて、ストレージサーバ300から特定の暗号化データDeをダウンロードする。さらに、復号モジュール240は、リモートインデックスDB250に記憶されているマスターテーブルTB1に基づいて、ダウンロードした暗号化データDeを復号する。復号モジュール240は、暗号化データDeが復号されたユーザデータDuをリモート検索マネージャー210に送信する。
【0052】
リモートインデックスDB250は、ハードディスク(不図示)などの記憶媒体上に構成される。本実施形態では、リモートインデックスDB250は、マスターテーブルTB1を記憶する。本実施形態において、リモートインデックスDB250は、メタ情報記憶部を構成する。
【0053】
また、リモートインデックスDB250は、インデックステーブルTB2及びインデックステーブルTB3(インデックス)を記憶する。本実施形態において、リモートインデックスDB250は、インデックス記憶部を構成する。
【0054】
(3)暗号化データ検索システムの動作
次に、暗号化データ検索システム1の動作について説明する。具体的には、暗号化データ検索システム1によるインデックスの検索、修正、及びインデックスの新規作成動作について説明する。
【0055】
(3.1)インデックス検索
図3は、暗号化データ検索システム1によるインデックスの検索動作フローを示す。具体的には、ステップS10〜ステップS70に示されるように、検索プロキシ200は、移動端末100からの要求に応じてリモートインデックスDB250を検索する。また、検索プロキシ200は、必要に応じて暗号化データDeを復号しながら全件検索を実行し、検索結果を移動端末100に送信する。
【0056】
具体的には、ステップS10において、検索プロキシ200は、移動端末100から検索要求(検索クエリ)があったか否かを判定する。
【0057】
移動端末100から検索要求があった場合(ステップS10のYES)、ステップS20において、検索プロキシ200は、リモートインデックスDB250を検索し、検索要求によって指定された内容がヒットするか否かを判定する。
【0058】
指定された内容がヒットしない場合(ステップS20のNO)、ステップS30において、検索プロキシ200は、ストレージサーバ300から検索データ、具体的には、暗号化データDeをダウンロードする。
【0059】
ステップS40において、検索プロキシ200は、ダウンロードした検索データを復号する。
【0060】
ステップS50において、検索プロキシ200は、検索データを復号することによって得られたユーザデータDuの全件検索を実行し、検索要求によって指定された内容がヒットするか否かを判定する。
【0061】
指定された内容がヒットしない場合(ステップS50のNO)、ステップS60において、検索プロキシ200は、指定された内容がヒットしないことを示す検索結果“Miss”応答を移動端末100に送信する。
【0062】
指定された内容がヒットした場合(ステップS20のYES)、ステップS70において、検索プロキシ200は、指定された内容がヒットしたことを示す検索結果“Hit”応答を移動端末100に送信する。
【0063】
(3.2)インデックス修正
次に、暗号化データ検索システム1によるインデックスの修正動作、具体的には、データ追加及びデータ削除について説明する。
【0064】
(3.2.1)データ追加
図4は、暗号化データ検索システム1によるインデックスへのデータ追加動作フローを示す。図4に示すように、ステップS110において、検索プロキシ200は、移動端末100からインデックスへのデータ追加要求があったか否かを判定する。
【0065】
移動端末100からデータ追加要求があった場合(ステップS110のYES)、ステップS120において、検索プロキシ200は、既存のインデックステーブル(例えば、インデックステーブルTB2)がリモートインデックスDB250に記憶されているか否かを判定する。
【0066】
既存のインデックステーブルが記憶されている場合(ステップS120のYES)、ステップS130において、検索プロキシ200は、データ追加要求に基づいて、既存のインデックステーブルの内容と追加内容との差分(インデックス差分)を作成する。
【0067】
ステップS140において、検索プロキシ200は、作成したインデックス差分に基づいて、リモートインデックスDB250に記憶されているインデックステーブルの内容を修正する。
【0068】
ステップS150において、検索プロキシ200は、マスターテーブルTB1に基づいて、データ追加要求によって追加されるユーザデータDuを指定された暗号化方式及び鍵情報を用いて暗号化する。
【0069】
ステップS160において、検索プロキシ200は、暗号化した暗号化データDeをストレージサーバ300に備えられている暗号化DB310に追加し、暗号化DB310の内容を更新する。
【0070】
既存のインデックステーブルが記憶されていない場合(ステップS120のNO)、ステップS170において、検索プロキシ200は、ストレージサーバ300から暗号化データDeをダウンロードする。
【0071】
ステップS180において、検索プロキシ200は、ダウンロードした暗号化データDeを復号する。
【0072】
ステップS190において、検索プロキシ200は、暗号化データDeを復号することによって得られたユーザデータDuを対象としたインデックステーブルを作成する。
【0073】
(3.2.2)データ削除
図5は、暗号化データ検索システム1によるインデックスからのデータ削除動作フローを示す。図5に示すように、ステップS210において、検索プロキシ200は、インデックスからのデータ削除要求が移動端末100からあったか否かを判定する。
【0074】
移動端末100からデータ削除要求があった場合(ステップS210のYES)、ステップS220において、検索プロキシ200は、データ削除要求に基づいて、既存のインデックステーブルの内容と削除内容との差分(インデックス差分)を作成する。
【0075】
ステップS230において、検索プロキシ200は、検索プロキシ200は、作成したインデックス差分に基づいて、リモートインデックスDB250に記憶されているインデックステーブルの内容を修正する。
【0076】
ステップS240において、検索プロキシ200は、データ削除要求の内容に基づいて、ストレージサーバ300に備えられている暗号化DB310から該当する暗号化データDeを削除し、暗号化DB310の内容を更新する。
【0077】
(3.3)インデックス新規作成
図6は、暗号化データ検索システム1によるインデックスの新規作成動作フローを示す。図6に示すように、ステップS310において、検索プロキシ200は、移動端末100からインデックスの新規作成要求があったか否かを判定する。
【0078】
移動端末100からインデックスの新規作成要求があった場合(ステップS310のYES)、ステップS320において、検索プロキシ200は、ストレージサーバ300から暗号化データDeをダウンロードする。
【0079】
ステップS330及びステップS340の処理は、図4に示したステップS180及びS190の処理と同様である。
【0080】
(4)作用・効果
暗号化データ検索システム1によれば、ストレージサーバ300の所在URL、データの暗号化方式及び暗号化方式において用いられる鍵情報を含むマスターテーブルTB1は、検索プロキシ200に記憶される。つまり、マスターテーブルTB1は、移動端末100が取り扱うユーザデータDuが暗号化された暗号化データDeを保存するストレージサーバ300から離隔して配置される。このため、ストレージサーバ300に暗号化されたユーザデータDuを保存する場合において、ユーザデータDuの秘匿性を確保することができる。
【0081】
また、ユーザデータDuは、移動端末100ではなく検索プロキシ200において暗号化される。さらに、本実施形態では、インデックステーブルも移動端末100ではなく検索プロキシ200において作成される。このため、移動端末100の処理負荷、及び移動端末100〜ストレージサーバ300間の通信トラフィックを抑制できる。
【0082】
本実施形態では、インデックス作成モジュール220によって作成されたインデックステーブルを用いて、ストレージサーバ300に保存された暗号化データDeが検索される。このため、ストレージサーバ300から移動端末100や検索プロキシ200に暗号化データDeをダウンロードすることなく検索できる。つまり、ストレージサーバ300に対してインデックステーブルの内容を秘匿しつつ、暗号化データDeを高速に検索できる。
【0083】
また、本実施形態では、インデックス作成モジュール220を用いて、インデックステーブルの内容の追加及び削除が実行される。このため、ストレージサーバ300から移動端末100や検索プロキシ200に暗号化データDeをダウンロードすることなくインデックステーブルを変更できる。つまり、検索プロキシ200とストレージサーバ300との通信トラフィックを抑制しつつ、インデックステーブルの内容を変更できる。
【0084】
(5)その他の実施形態
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態が明らかとなろう。
【0085】
例えば、検索プロキシ200は、インデックステーブルの内容の追加や削除を実行する機能、或いはストレージサーバ300から暗号化データDeをダウンロードする機能を有していなくても構わない。
【0086】
また、上述した実施形態では、移動端末100や検索プロキシ200とは、移動通信網20、つまり、無線通信方式によって接続されていたが、端末装置(例えば、パーソナルコンピュータ)と検索プロキシ200とは、有線通信方式によって接続されてもよい。
【0087】
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【0088】
【図1】本発明の実施形態に係る暗号化データ検索システム1の全体概略構成図である。
【図2】本発明の実施形態に係る検索プロキシ200の機能ブロック構成図である。
【図3】本発明の実施形態に係る暗号化データ検索システム1によるインデックスの検索動作フローを示す図である。
【図4】本発明の実施形態に係る暗号化データ検索システム1によるインデックスへのデータ追加動作フローを示す図である。
【図5】本発明の実施形態に係る暗号化データ検索システム1によるインデックスからのデータ削除動作フローを示す図である。
【図6】本発明の実施形態に係る暗号化データ検索システム1によるインデックスの新規作成動作フローを示す図である。
【図7】本発明の実施形態に係るマスターテーブルTB1の構成例を示す図である。
【図8】本発明の実施形態に係るインデックステーブルTB2の構成例を示す図である。
【図9】本発明の実施形態に係るインデックステーブルTB3の構成例を示す図である。
【符号の説明】
【0089】
1…暗号化データ検索システム、10…インターネット、20…移動通信網、100…移動端末、110…ローカル検索マネージャー、120…ローカルインデックスDB、200…検索プロキシ、210…リモート検索マネージャー、220…インデックス作成モジュール、…暗号化モジュール、240…復号モジュール、250…リモートインデックスDB、300…ストレージサーバ、310…暗号化DB、De…暗号化データ、Du…ユーザデータ、TB1…マスターテーブル、TB2,TB3…インデックステーブル

【特許請求の範囲】
【請求項1】
端末装置と、前記端末装置が取り扱うデータを保存するストレージサーバとの間に介在し、前記ストレージサーバに保存されている前記データの前記端末装置による検索を代理する検索代理装置であって、
通信ネットワーク上における前記ストレージサーバの所在位置、前記データの暗号化方式及び前記暗号化方式において用いられる鍵情報を含む暗号化データメタ情報を記憶するメタ情報記憶部と、
前記メタ情報記憶部に記憶されている暗号化データメタ情報に基づいて、前記データを前記暗号化方式に従って暗号化する暗号化部と、
前記暗号化部によって前記データが暗号化された暗号化データを前記暗号化データメタ情報に基づいて前記ストレージサーバに送信する送信部と
を備える検索代理装置。
【請求項2】
前記暗号化部による暗号化の対象とされたデータを特徴付けるとともに、前記ストレージサーバに保存されている前記暗号化データの検索に用いられるインデックスを作成するインデックス作成部と、
前記ストレージサーバに保存された前記暗号化データの検索を前記端末装置から要求された場合、前記インデックス作成部によって作成された前記インデックスを用いて前記暗号化データを検索するデータ検索部と
を備える請求項1に記載の検索代理装置。
【請求項3】
前記ストレージサーバに保存されている前記暗号化データの取得、及び取得した前記暗号化データの復号を実行する復号部を備え、
前記データ検索部は、前記インデックスを用いた前記暗号化データの検索結果に基づいて、前記暗号化データの取得及び復号を前記復号部に対して要求する請求項2に記載の検索代理装置。
【請求項4】
前記インデックスを記憶するインデックス記憶部を備え、
前記インデックス作成部は、前記端末装置から新たに追加された前記データのインデックスである追加インデックスを作成し、作成した追加インデックスを前記インデックス記憶部に記憶されている前記インデックスに追加する請求項3に記載の検索代理装置。
【請求項5】
端末装置と、前記端末装置が取り扱うデータを保存するストレージサーバとの間において、前記ストレージサーバに保存されている前記データの前記端末装置による検索を代理する検索代理方法であって、
通信ネットワーク上における前記ストレージサーバの所在位置、前記データの暗号化方式及び前記暗号化方式において用いられる鍵情報を含む暗号化データメタ情報を記憶するメタ情報記憶部に記憶されている暗号化データメタ情報に基づいて、前記データを前記暗号化方式に従って暗号化するステップと、
前記データが暗号化された暗号化データを前記ストレージサーバに送信するステップとを備える検索代理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−211384(P2009−211384A)
【公開日】平成21年9月17日(2009.9.17)
【国際特許分類】
【出願番号】特願2008−53472(P2008−53472)
【出願日】平成20年3月4日(2008.3.4)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】