(57)【要約】【課題】  強力なセキュリティとプライバシ保護をもたらし、簡単かつ手軽に更新を実行できる多レベル索引を生成して使用するための方法と装置を提供する。【解決手段】  本発明は、暗号文の索引付けと検索の方法および装置を提供する。暗号化ファイルに関して、複数レベルの索引が生成される。主索引の各項目は、主索引項目識別子と、関連するファイルの主索引付け情報の暗号文とを含む。各主索引付け情報は、関連する副索引項目識別子の識別子と、対応する復号情報とを含む。副索引の各項目は、副索引項目識別子と、副索引付け情報の暗号文とを含む。ファイルの取得に必要な情報は、対応する副索引付け情報に含められる。復号された主索引付け情報に含まれる副索引付け情報の復号情報を使用して、関連する副索引付け情報の暗号文が復号され、ファイルの復号キー等の情報が取得される。【選択図】  図２
2010211786.tif 000002
【特許請求の範囲】
【請求項１】
各主索引項目がキーワードに関連付けられ、かつ、主索引項目識別子と、前記キーワードに関連する各ファイルの主索引付け情報の暗号文とを少なくとも含む主索引を生成する主索引付け手段と、
各副索引項目が副索引項目識別子と副索引付け情報の暗号文とを少なくとも含む、１レベル以上の副索引を生成する副索引付け手段とを備え、
各主索引付け情報は、副索引項目識別子と、第１のレベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含み、各副索引付け情報は、暗号文の復号情報か、または副索引項目識別子と次レベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含むことを特徴とする暗号文索引付け装置。
【請求項２】
各ファイルの主索引付け情報が、前記ファイルのパス、前記ファイルの暗号文名、前記ファイルの平文名、復号を検証するためのフラグの少なくとも１つを含むことを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項３】
少なくとも１レベルの副索引中の副索引付け情報が、関連するファイルのパス、関連するファイルの暗号文名、復号を検証するためのフラグの少なくとも１つを含むことを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項４】
前記主索引付け手段は、前記主索引項目識別子を生成する主索引項目識別子生成モジュールと、前記主索引付け情報を決定し前記主索引付け情報の暗号文を生成する主索引付け情報暗号文生成モジュールを含み、
前記副索引付け手段は、前記副索引項目識別子を生成する副索引項目識別子生成モジュールと、前記副索引付け情報を決定し前記副索引付け情報の暗号文を生成する副索引付け情報暗号文生成モジュールを含むことを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項５】
第１のレベルの副索引の副索引項目識別子は、ファイルの一意の識別子であることを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項６】
前記副索引項目識別子が、ファイルのシリアル番号、ファイル内の一部分の内容を含む情報のハッシュ値、ファイルの暗号文名を含む情報のハッシュ値、またはマッピングテーブルの値の何れかであることを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項７】
前記副索引手段は、ファイルが更新されると、関係する副索引項目の副索引付け情報の暗号文を置き換えるため副索引付け情報の更新された暗号文を生成することを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項８】
主索引付け情報の暗号文と主索引項目識別子は、異なるキーで生成されることを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項９】
異なる主索引項目における主索引付け情報の暗号文のための復号キーは、互いに異なるキーであることを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項１０】
異なる副索引項目の副索引付け情報の暗号文のために復号キーは、互いに異なるキーであることを特徴とする請求項１に記載の暗号文索引付け装置。
【請求項１１】
各主索引項目がキーワードに関連付けられ、かつ、主索引項目識別子と、前記キーワードに関連する各ファイルの主索引付け情報の暗号文とを少なくとも含む主索引を生成し、
各副索引項目が副索引項目識別子と副索引付け情報の暗号文とを少なくとも含む１レベル以上の副索引を生成し、
前記各主索引付け情報は、前記副索引項目識別子と、第１レベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含み、
前記各副索引付け情報は、暗号文の復号情報か、または前記副索引項目識別子と次レベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含むことを特徴とする暗号文索引付け方法。
【請求項１２】
各ファイルの主索引付け情報が、前記ファイルのパス、前記ファイルの暗号文名、前記ファイルの平文ファイル名、復号を検証するためのフラグの少なくとも１つを含むことを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項１３】
少なくとも１レベルの副索引中の副索引付け情報が、関連するファイルのパス、関連するファイルの暗号文名、復号を検証するためのフラグの少なくとも１つを含むことを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項１４】
前記副索引の生成ステップが、第１のレベルの副索引の対応副索引項目識別子としてファイルの一意の識別子を決定するステップを含むことを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項１５】
前記副索引項目識別子が、ファイルのシリアル番号、ファイル内の一部分の内容を含む情報のハッシュ値、ファイルの暗号文名を含む情報のハッシュ値、またはマッピングテーブルの値の何れかであることを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項１６】
ファイルが更新されると、関係する副索引項目の副索引付け情報の暗号文を置き換えるため副索引付け情報の更新された暗号文を生成するステップを有することを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項１７】
主索引付け情報の暗号文と主索引項目識別子は、異なるキーで生成されることを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項１８】
異なる主索引項目の主索引付け情報の暗号文は異なるキーで生成されることを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項１９】
異なる副索引項目の副索引付け情報の暗号文は、異なるキーで生成されることを特徴とする請求項１１に記載の暗号文索引付け方法。
【請求項２０】
主索引項目識別子を含む主検索要求を生成する主検索要求手段と、
主索引付け情報を抽出するために、前記主検索要求への応答として受信された主索引付け情報の暗号文を復号する主索引付け情報復号手段と、
前記主索引付け情報に含まれる副索引項目識別子に基づいて副検索要求を生成する副検索要求手段と、
前記主索引付け情報に含まれる前記副索引付け情報の復号情報を使用して、副検索要求への応答として受信された副索引付け情報の暗号文を復号する副索引付け情報復号手段と、
ファイル取得情報と、前記主索引付け情報および副索引付け情報のいずれか一方か両方に含まれる復号キーとに基づいてファイルの暗号文を取得して復号するファイル取得手段と
を備えることを特徴とする暗号文検索装置。
【請求項２１】
前記副検索要求手段は、前記副索引付け情報に含まれる次レベルの副索引項目識別子に基づいて次レベルの副検索要求を生成し、
前記副索引付け情報復号手段は、前記副索引付け情報に含まれる次レベルの副索引付け情報の復号情報で、次レベルの副検索要求に応じて受信した次レベルの副索引付け情報の暗号文を復号することを特徴とする請求項２０に記載の暗号文検索装置。
【請求項２２】
前記主索引付け情報復号手段は、前記主索引付け情報に含まれるフラグに従って復号を検証することを特徴とする請求項２０に記載の暗号文検索装置。
【請求項２３】
前記副索引付け情報復号手段は、前記副索引付け情報に含まれるフラグに従って復号を検証することを特徴とする請求項２０に記載の暗号文検索装置。
【請求項２４】
主索引項目識別子を含む主検索要求を生成し、
主索引付け情報の暗号文を受信し、
前記主索引付け情報を抽出するために前記主索引付け情報の暗号文を復号し、
前記主索引付け情報に含まれる副索引項目識別子に基づいて副検索要求を生成し、
副索引付け情報の暗号文を受信し、
前記主索引付け情報に含まれる前記副索引付け情報の復号情報を使用して前記副索引付け情報の暗号文を復号し、
ファイル取得情報と、前記主索引付け情報および副索引付け情報のいずれか一方か両方に含まれる復号キーとに基づいてファイルの暗号文を取得し復号することを特徴とする暗号文検索方法。
【請求項２５】
前記副索引付け情報に含まれる次レベルの副索引項目識別子に基づいて次レベルの副検索要求を生成するステップと、
前記副索引付け情報に含まれる次レベルの副索引付け情報の復号情報で、次レベルの副索引付け情報の暗号文を復号するステップを有することを特徴とする請求項２４に記載の暗号文検索方法。
【請求項２６】
前記主索引付け情報に含まれるフラグに従って復号を検証するステップを有することを特徴とする請求項２４に記載の暗号文検索方法。
【請求項２７】
前記副索引付け情報に含まれるフラグに従って復号を検証するステップを有することを特徴とする請求項２４に記載の暗号文検索方法。
【請求項２８】
主索引項目識別子に基づき、一致する主索引項目を検出するために主索引の検索を実行し、前記主索引項目内の主索引付け情報の暗号文を送信する主検索手段と、
副索引項目識別子に基づき、一致する副索引項目を検出するために副索引の検索を実行し、前記副索引項目内の副索引付け情報の暗号文を送信する副検索手段と
を備えることを特徴とする暗号文検索装置。
【請求項２９】
前記副索引項目識別子と前記副索引付け情報の暗号文を受信し、受信した副索引付け情報の暗号文を使用して受信した前記副索引項目識別子と同じ副索引項目識別子を有する副索引項目の副索引付け情報を更新する更新手段をさらに備えることを特徴とする請求項２８に記載の暗号文検索装置。
【請求項３０】
主索引項目識別子に基づき、一致する主索引項目を検出するために主索引の検索を実行し、
前記主索引項目内の主索引情報の暗号文を送信し、
副索引項目識別子に基づき、一致する副索引項目を検出するために副索引の検索を実行し、
前記副索引項目内の副索引付け情報の暗号文を送信することを特徴とする暗号文検索方法。
【請求項３１】
副索引項目識別子と副索引付け情報の暗号文を受信するステップと、
受信した副索引項目識別子を有する副索引項目を検索するステップと、
受信した前記副索引付け情報の暗号文を有する副索引項目を更新するステップを含むことを特徴とする請求項３０に記載の暗号文検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は情報検索手法に関し、特に、暗号文検索において多レベル（多階層）索引を生成して使用するための方法と装置に関する。
【背景技術】
【０００２】
ストレージアウトソーシングサービスとストレージネットワーキングは、商業上ますます重要な技術となっている。情報量の爆発的な増大を背景に、データストレージとストレージ管理の外部委託を選択する企業は多い。こうしたデータアウトソーシングサービスの普及に伴い、研究者の間で暗号文検索手法への関心が高まっている。しかし、ストレージ技術が複雑化し、データ量の増大は果てしなく続き、データセキュリティとビジネス継続性がかつてないほど重要な問題となった現在、検索手法には様々な困難な課題が生じている。
【０００３】
一例として、特許文献１（中国特許出願公報第ＣＮ１５８８３６５Ａ号）でＸｉｎ  Ｌｉが提唱した、「暗号文グローバル検索技術」と呼ばれる暗号文検索手法を取り上げる。この手法では、暗号化フェーズにおいて、まずユーザがキーを生成し、そのキーでクエリキーワードを暗号化して暗号索引ファイルが生成され、同じキーでファイルを暗号化し暗号化ファイルを生成し、さらにユーザがそのキーを公開キーで暗号化して暗号化キーを生成し、最後に、これらの暗号索引ファイルと暗号化ファイルと暗号化キーとが暗号文保管庫に格納される。検索フェーズでは、暗号化キーが暗号文保管庫からダウンロードされ、秘密キーで復号してキーが取得され、そのキーでクエリキーワードを暗号化して暗号化クエリキーワードが取得される。この暗号化クエリキーワードは暗号文保管庫に送信され、暗号索引ファイル内で探索が実行され、一致する暗号化ファイルがダウンロードされる。最後に、キーでファイルを復号して平文データが取り出される。
【０００４】
しかし、既存の方法では、索引の更新が必要になったときに様々な問題点が生じる。例えば、ユーザが暗号化された逆索引を更新するためには、たとえファイルの内容に変更がない場合でも、サーバからファイルをダウンロードし、暗号化索引を再構築し、再構築した索引を再度サーバにアップロードしなければならない。
【０００５】
さらに、上記の方法によれば、ファイルが移動されたり名前が変更されたりすると、たとえキーワードとファイルのすべてが暗号化されていたとしても、ストレージサーバはキーワードとファイル間の連係を知ることができる。これは、直接的なプライバシ違反につながる可能性がある。第二に、ユーザは暗号化されたファイルの逆索引を再構築するためにファイルをダウンロードする必要があるが、これによりかなりの計算オーバーヘッドが発生する。第三に、ユーザはすべてのファイルを１つのキーで暗号化する。ほとんどの場合、ファイルの暗号化はストリーム暗号を利用して行われる。しかし、１つのキーで複数のファイルを暗号化することは、セキュリティを脆弱にする要因として広く認識されている。さらに、ユーザは同じキーを使ってファイルとキーワードのすべてを暗号化する。そのため、検索技術者（サーチャー）がユーザのファイルに対してたった１つのキーワードで検索を実行するだけで、そのユーザの全ファイルを取得することが可能になる。これもまた、セキュリティ脆弱化の要因となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】中国特許出願公報第ＣＮ１５８８３６５Ａ号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、強力なセキュリティとプライバシ保護をもたらし、簡単かつ手軽に更新を実行できる多レベル索引を提供する。
【０００８】
本発明の１つの態様では、暗号文索引付け装置であって、各主索引項目がキーワードに関連付けられ、かつ、主索引項目識別子と、キーワードに関連する各ファイルの主索引付け情報の暗号文とを少なくとも含む主索引を生成する主索引付け手段と、各副索引項目が副索引項目識別子と副索引付け情報の暗号文とを少なくとも含む、１レベル以上の副索引を生成する副索引付け手段とを備え、各主索引付け情報は、副索引項目識別子と、第１のレベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含み、各副索引付け情報は、暗号文の復号情報か、または副索引項目識別子と次レベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含む暗号文索引付け装置を提供する。
【０００９】
本発明の他の態様では、暗号文索引付け方法であって、各主索引項目がキーワードに関連付けられ、かつ、主索引項目識別子と、キーワードに関連する各ファイルの主索引付け情報の暗号文とを少なくとも含む主索引を生成し、各副索引項目が副索引項目識別子と副索引付け情報の暗号文とを少なくとも含む１レベル以上の副索引を生成し、各主索引付け情報は、副索引項目識別子と、第１レベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含み、各副索引付け情報は、暗号文の復号情報か、または副索引項目識別子と次レベルの対応する副索引項目の副索引付け情報の復号情報とを少なくとも含む暗号文索引付け方法を提供する。
【００１０】
本発明の他の態様では、暗号文検索装置であって、主索引項目識別子を含む主検索要求を生成する主検索要求手段と、主索引付け情報を抽出するために、主検索要求への応答として受信された主索引付け情報の暗号文を復号する主索引付け情報復号手段と、主索引付け情報に含まれる副索引項目識別子に基づいて副検索要求を生成する副検索要求手段と、主索引付け情報に含まれる副索引付け情報の復号情報を使用して、副検索要求への応答として受信された副索引付け情報の暗号文を復号する副索引付け情報復号手段と、ファイル取得情報と、主索引付け情報および副索引付け情報のいずれか一方か両方に含まれる復号キーとに基づいてファイルの暗号文を取得して復号するファイル取得手段とを備える暗号文検索装置を提供する。
【００１１】
本発明の他の態様では、暗号文検索方法であって、主索引項目識別子を含む主検索要求を生成し、主索引付け情報の暗号文を受信し、主索引付け情報を抽出するために主索引付け情報の暗号文を復号し、主索引付け情報に含まれる副索引項目識別子に基づいて副検索要求を生成し、副索引付け情報の暗号文を受信し、主索引付け情報に含まれる副索引付け情報の復号情報を使用して副索引付け情報の暗号文を復号し、ファイル取得情報と、主索引付け情報および副索引付け情報のいずれか一方か両方に含まれる復号キーとに基づいてファイルの暗号文を取得し復号する暗号文検索方法を提供する。
【００１２】
本発明の他の態様では、暗号文検索装置であって、主索引項目識別子に基づき、一致する主索引項目を検出するために主索引の検索を実行し、主索引項目内の主索引付け情報の暗号文を送信する主検索手段と、副索引項目識別子に基づき、一致する副索引項目を検出するために副索引の検索を実行し、副索引項目内の副索引付け情報の暗号文を送信する副検索手段とを備える暗号文検索装置を提供する。
【００１３】
本発明の他の態様では、暗号文検索方法であって、主索引項目識別子に基づき、一致する主索引項目を検出するために主索引の検索を実行し、主索引項目内の主索引情報の暗号文を送信し、副索引項目識別子に基づき、一致する副索引項目を検出するために副索引の検索を実行し、副索引項目内の副索引付け情報の暗号文を送信することを特徴とする暗号文検索方法を提供する。
【発明の効果】
【００１４】
本発明によれば、サーバは、格納される暗号化ファイルの内容とキーワード−ファイル間の関連性を知ることができない。また、異なるキーで暗号化するとセキュリティとプライバシは強化されるので、ファイルの不正復号が防止され、これまでの暗号文検索手法で問題となっていたプライバシ情報の漏洩を回避することができる。
【００１５】
さらに、本発明によれば、索引の更新をより柔軟に行えるようになる。すなわち、ファイルの変更により副索引が更新されたときにも、副索引項目識別子を利用して関連の副索引項目を容易に更新でき、状況次第では主索引の変更は不要となる。
【図面の簡単な説明】
【００１６】
本発明は、下記の好適な実施例の詳細な説明と以下の添付図面からさらに明確に理解されるであろう。なお、添付図面では、共通する部品は同じ参照番号を使用して示している。
【図１】一システム例の概略図である。
【図２】本発明の一実施例によるユーザ装置の構成例を概略的に示すブロック図である。
【図３】本発明の一実施例による多レベル暗号化索引の生成処理を概略的に示すフローチャートである。
【図４】本発明の一実施例によるサーチャー装置の構成例を概略的に示すブロック図である。
【図５】本発明の一実施例によるサーバの構成例を概略的に示すブロック図である。
【図６】本発明の一実施例による検索処理を概略的に示すフローチャートである。
【発明を実施するための形態】
【００１７】
続いて、図面を参照して、本発明の各態様の特徴と実施例を詳細に説明する。以下の詳細な説明では、本発明の完全な理解を促すため、具体的な細目を多数示している。しかし、当該技術に精通する当業者には、これらの具体的な細目の一部を省略しても、本発明は実施可能であることは明らかであろう。下記の実施例の詳細な説明は、本発明の具体例を示すことにより本発明に対する理解を深めることを唯一の目的とする。よって、本発明は下記の特定の構成およびアルゴリズムに限定されず、本発明の精神から逸脱しない範囲において、各要素、構成要素、アルゴリズムに対するあらゆる修正、改変、および改良を包含する。また、図面および下記の説明においては、本発明の本質をいたずらに曖昧にするのを回避するため、既知の構造や手法は省略している。
【００１８】
図１は、本発明を適用可能なシステム例の概略図である。図１に示すように、１つ以上のユーザ端末とストレージサービスを提供する１つ以上のサーバが、ネットワーク等を介して互いに通信可能となっている。
【００１９】
なお、本説明において使用される「サーバ」という用語は、ストレージと検索サービスの両方を提供する単独の装置を意味することも、あるいは互いに隣接または分散して設置された一連の複数装置を意味することある。後者の場合は、各装置がストレージ、データ検索、ユーザ管理等の各種サービスを個別に担うケースと、同じサービスを共同で担うケースとが含まれる。例えば、ファイルはストレージサーバ上に格納され、索引はストレージサーバと通信可能な検索サーバ上に格納される。説明を簡素化するため、本説明および図面ではこれらの装置を総称して「サーバ」という。
【００２０】
サーバは、通常、データを格納して保持し、端末からデータへの条件付きアクセスを許可する機能を有し、サービスプロバイダによって管理される、単独または一連のデバイスとして実装される。ユーザ端末は、情報処理機能と通信機能を有するデバイスとして実装することができ、これには、パーソナルコンピュータ（ＰＣ）、携帯情報端末（ＰＤＡ）、スマートフォン、ユーザが操作するサーバやエンタプライズワークステーション、その他のデータ処理デバイスなどが含まれる。サーバデバイスとユーザデバイスの各種実装は、特定のものに限定されないことに留意されたい。
【００２１】
図１に示すネットワークは、種類を問わず、電気通信ネットワークやコンピュータネットワーク等のあらゆるネットワークを含む。ネットワークは、各種デバイスが１つの装置の部品として実装される場合には、データバスやハブ等の内部データ転送メカニズムを備えることもできる。
【００２２】
これまでの暗号文検索手法とは異なり、本発明のシステムによれば、ユーザは、サーバ上に格納される複数の暗号化ファイルに対して１つの多レベル索引を作成する。そして、主索引での検索結果に応じて、副索引に含める１つ以上の項目が決定される。主索引と副索引はいずれも暗号化索引とすることができる。
【００２３】
図２は、本発明の一実施例による、索引の生成と更新を行うユーザ装置１００の構成例を概略的に示したものである。ユーザ装置１００は、任意の端末デバイスであっても、またはユーザが操作する端末デバイス内の任意の機能的構成要素（ハードウェア、ファームウェア、ソフトウェア、またはその組み合わせによって実装される）であってもよい。
【００２４】
図２に示すように、ユーザ装置１００は主に主索引付け手段１０１と副索引付け手段１０２とで構成される。
【００２５】
主索引付け手段１０１は、主索引を生成するように構成される。主索引内の各項目は１つのキーワードと関連付けられ、これには少なくとも、当該キーワードに基づいて生成される主索引項目識別子と、当該キーワードに関連する各ファイルの主索引付け情報の暗号文とを含めることができる。したがって、主索引付け手段１０１は、主索引項目識別子を生成するための主索引項目識別子生成モジュール１０３と、主索引付け情報の暗号文を生成するための主索引付け情報暗号文生成モジュール１０４と、その他の可能な構成要素で構成される。
【００２６】
副索引付け手段１０２は、単一の副索引か、または多レベルにわたる複数の副索引を生成するように構成される。主索引内の各項目は、１つのファイルに関連付けることができ、これには少なくとも、副索引項目識別子と、対応するファイルの取得に関連する副索引付け情報の暗号文とを含めることができる。したがって、副索引付け手段１０２は、副索引項目識別子を生成するための副索引項目識別子生成モジュール１０５と、副索引付け情報の暗号文を生成するための副索引付け情報暗号文生成モジュール１０６と、その他の可能な構成要素で構成される。
【００２７】
本発明の多レベル索引においては、各主索引付け情報は、少なくとも、対応する副索引項目の副索引項目識別子と、その副索引項目の復号に必要な復号情報とを含む。各副索引付け情報は少なくともファイルの暗号文の復号に必要な復号情報を含めることができ、次レベルの対応する副索引が存在する場合には少なくとも、次レベルの対応する副索引の副索引項目識別子と、次レベルの対応する副索引項目の副索引付け情報の復号に必要な復号情報とを含めることができる。他の実施例によれば、主索引付け情報または副索引情報には、ファイルパスの情報か、または暗号化ファイルを取得するためのファイルの暗号文名を含めることができる。
【００２８】
キーワードＫＷに関連するｎ個のファイルＦｉｌｅｉ（ｉ＝１，…，ｎ）（例えば、当該キーワードを含むファイル）があるとすると、主索引内のキーワードＫＷに対応する項目は以下のような形式となる。
＜ＰＩＤｋｗ：Ｅ（Ｉｎｆｏ＿Ｐ１，ｋｅｙ＿Ｐ１）；…；  Ｅ（Ｉｎｆｏ＿Ｐｉ，ｋｅｙ＿Ｐｉ）；…Ｅ（Ｉｎｆｏ＿Ｐｎ，ｋｅｙ＿Ｐｎ）＞              （式１）
ここで、ＰＩＤｋｗは、キーワードＫＷに関連する主索引項目識別子、Ｉｎｆｏ＿Ｐｉは、キーワードＫＷに関連するｉ番目のファイルＦｉｌｅｉ（ｉ＝１，…，ｎ）の主索引付け情報、ｋｅｙ＿Ｐｉは、Ｉｎｆｏ＿Ｐｉを暗号化するためのキーを表し、Ｅ（Ａ，Ｂ）は、キーＢでＡを暗号化することを表わす。
【００２９】
この場合、主索引項目内の他のファイルの主索引付け情報は、同じキーで暗号化できる。また、主索引項目内の他のファイルの主索引付け情報を、別のキーで暗号化することも可能である。主索引項目内の他のファイルの主索引付け情報が同じキーを共有する場合には、主索引項目を以下の形式にしてもよい。
＜ＰＩＤｋｗ：Ｅ（Ｉｎｆｏ＿Ｐ１｜｜…｜｜Ｉｎｆｏ＿Ｐｉ｜｜…，ｋｅｙ＿Ｐ）＞                                                      （式２）
これにより、キーワードＫＷに関連するすべてのファイルの主索引付け情報がキーｋｅｙ＿Ｐｉで暗号化される。
【００３０】
この場合、主索引項目内の他のファイルの主索引付け情報も、同じキーで暗号化できる。ただし、異なるキーワードに対応する主索引項目については、セキュリティ強化のため、これらの異なるキーワードを使って個々の主索引付け情報を暗号化するのが望ましい。
【００３１】
上記の主索引項目識別子ＰＩＤｋｗは、例えばＰＩＤｋｗ＝Ｅ（ＫＷ，ｓｋ）のように、キーワードＫＷの暗号文とすることができる。ｓｋは、キーワードを暗号化するためのキーであり、これにはユーザの秘密キー等を使用できる。主索引項目識別子ＰＩＤｋｗを生成するためのキーは、主索引付け情報の暗号文を生成するためのキーと異なるものとするのが望ましい。また、ＰＩＤｋｗは、異なるキーワードが異なるＰＩＤｋｗに対応するという条件が満たされる限り、他の方法で生成してもよい。
【００３２】
ファイルＦｉｌｅｉの主索引付け情報Ｉｎｆｏ＿Ｐｉは、少なくとも、当該ファイルの取得に関連する副索引項目の識別子と、当該副索引項目内の副索引付け情報の暗号文を復号するために必要な情報（例えば、復号キー）とを含む。ただし、Ｉｎｆｏ＿Ｐｉには他の情報を含むこともできる。例えば、いくつかの実施例においては、Ｉｎｆｏ＿Ｐｉに、主索引付け情報の復号を検証するための情報をさらに含めることができる。また、実施例によっては、Ｉｎｆｏ＿Ｐｉに、ファイルＦｉｌｅｉに関する情報をさらに含めることができる。さらに、ファイルＦｉｌｅｉの取得において必要とされる情報を、主索引付け情報Ｉｎｆｏ＿Ｐｉに含めることも可能である。
【００３３】
副索引は、１つの単独の副索引のみとすることも、多レベルにわたる複数の副索引とすることもできる。一般には、ｊ番目のレベルの副索引における、任意のファイルＦｉｌｅｉに関連する項目は、以下の式で表すことができる。
＜ＵＩＤｋ（ｊ）：Ｅ（Ｉｎｆｏ＿Ｓｋ（ｊ），ｋｅｙ＿Ｓｋ（ｊ））＞  （式３）
ここで、ＵＩＤｋ（ｊ）はこの副索引項目の副索引項目識別子、Ｉｎｆｏ＿Ｓｋ（ｊ）はこの副索引項目の副索引付け情報、ｋｅｙ＿Ｓｋ（ｊ）は副索引付け情報を暗号化するためのキーである。異なる副索引項目の副索引付け情報を暗号化するためのキーは、互いに異なるキーとすることができる。
【００３４】
副索引項目識別子ＵＩＤｋ（ｊ）は、異なるファイルに関連する副索引項目の副索引項目識別子が互いに異なるという条件が満たされる限り、任意のアルゴリズムを使用して計算でき、ユーザはファイルの情報からＵＩＤｋ（ｊ）を復元できる。例えば、副索引項目識別子  ＵＩＤｋ（ｊ）は、ファイルＦｉｌｅｋの一意の識別子であってもよい。
【００３５】
複数レベルの副索引を使用し、ファイルＦｉｌｅｋに関する完全な情報を取得するために次レベルの副索引にアクセスする場合、上記の副索引付け情報Ｉｎｆｏ＿Ｓｋ（ｊ）には、少なくとも、次レベルの対応する副索引の副索引項目識別子と、次レベルの対応する副索引項目における副索引付け情報の復号に必要な情報とが含まれる。ファイルＦｉｌｅｋの取得に必要な情報については、その全部または一部を、最終レベルの副索引項目識別子の副索引付け情報に含めても、あるいは複数レベルの副索引項目の副索引付け情報に分散させてもよい。
【００３６】
副索引項目のレベルが１つのみの場合は、上記の副索引付け情報Ｉｎｆｏ＿Ｓｋ（ｊ）（ｊ＝１）は、少なくとも、ファイルＦｉｌｅｋの取得に必要な情報の全部または一部を含む。
【００３７】
図３は、本発明の一実施例による多レベル暗号化索引の生成処理を概略的に示したものである。
【００３８】
最初に、ユーザ装置１００が初期設定を行う。この設定は、例えば、ステップＳ２０１においてファイルのキーワードを抽出して要約し、ステップＳ２０２において、索引の生成に必要な個々のキーを設定する、といった内容とする。ここで設定される個々のキーの例としては、主索引付け情報と副索引付け情報を暗号化するためのキーが挙げられるが、一部の実施例においては、主索引項目識別子と副索引項目識別子を生成するためのキーも任意で設定でき、さらには関連の復号キーを設定することもできる。上記の処理は、例えば、ユーザ装置１００内の初期設定手段や他の手段によって実行される。キーワードは既存の任意の方法を使用して抽出でき、各種のキーは、既存の任意の暗号方式を使用して設定できる。ここでは、本発明の本質をいたずらに曖昧にすること避けるため、これらの関連の構成要素と処理の詳細な説明は省略する。なお、本発明においては、対称暗号方式と非暗号方式のいずれも使用することができる。また、多レベルの暗号化索引では、対称暗号方式と非対称暗号方式を複合的に使用することも可能である。例えば、一部の情報には対称暗号方式を適用し、その他の情報には非対称暗号方式を適用することとしてもよい。
【００３９】
ステップＳ２０３において、主索引付け手段１０１が主索引項目識別子生成モジュール１０３により、各キーワードに関連する主索引項目の主索引項目識別子を生成する。主索引項目識別子は、例えば、キーワードかまたはキーワードを含む情報をユーザの秘密キーで暗号化することによって生成される。
【００４０】
ステップＳ２０４において、副索引付け手段１０２が副索引項目識別子生成モジュール１０５により、各ファイルに関連する副索引項目の副索引項目識別子を生成する。関連する副索引項目の識別子としては、例えば、ファイルの一意の識別子が計算される。
【００４１】
主索引付け手段１０１が、ステップＳ２０５において各主索引項目の主索引付け情報を決定し、ステップＳ２０６において主索引付け情報暗号文生成モジュール１０４により主索引付け情報を暗号化する。前述したように、異なるキーワードに関連する主索引付け情報については、暗号化にそれぞれ異なるキーを使用することができる。
【００４２】
副索引付け手段１０２が、ステップＳ２０７において各副索引項目の副索引付け情報を決定し、ステップＳ２０８において副索引付け情報暗号文生成モジュール１０６により副索引付け情報を暗号化する。前述したように、異なる副索引付け項目に含まれる副索引付け情報の暗号化は、それぞれ異なるキーを使用して行うことができる。
【００４３】
ステップＳ２０９において、主索引付け手段と副索引付け手段が、それぞれ主索引と副索引を形成する。
【００４４】
本発明への理解を深めるため、以下では多レベルの暗号化索引の具体例をいくつか示す。これらの具体例は説明を唯一の目的とするものであり、本発明の本質は説明に使用する特定のアルゴリズムや構成に限定されないことに留意されたい。
【００４５】
最初に、単純な具体例として、２レベルの暗号化索引（主索引と副索引がそれぞれ１レベルずつ）について説明する。以下の具体例では、ｎ個のファイルＦｉｌｅｉ（ｉ＝１，…，ｎ）がキーワードＫＷに関連する（例えば、ファイルにこのキーワードが含まれる）と想定する。したがって、主索引は上記の式１または２、副索引は上記の式３で表わすことができる。
（具体例１）
【００４６】
キーワードＫＷと関連付けられた主索引項目内に、ファイルＦｉｌｅｉの主索引付け情報Ｉｎｆｏ＿Ｐｉが以下のように生成される。
Ｉｎｆｏ＿Ｐｉ＝（ｆｌａｇ｜｜ｐａｔｈｉ｜｜ＣＦＮｉ｜｜ＰＦＮｉ｜｜ＵＩＤｉ｜｜Ｋｅｙ＿ＵＩＤｉ）                                            （式４）
ここで、ｆｌａｇは主索引付け情報の復号を検証するためのフラグ情報、ｐａｔｈｉはＦｉｌｅｉの暗号文へのアクセスパス、ＣＦＮｉはＦｉｌｅｉの暗号文ファイル名、ＰＦＮｉはＦｉｌｅｉの平文ファイル名、ＵＩＤｉはＦｉｌｅｉに関連付けられた副索引項目の副索引項目識別子、ｋｅｙ＿ＵＩＤｉは副索引項目内の副索引付け情報の暗号文を復号するための副索引付け情報復号キーである。復号キーｋｅｙ＿ＵＩＤｉは、対称暗号方式が使用される場合は上記の式３におけるキーｋｅｙ＿Ｓｉ（ｊ）と同じになることに留意されたい。
【００４７】
この具体例では、ファイルＦｉｌｅｋに関連付けられた副索引項目は、以下の式で表される。
＜ＵＩＤｋ：Ｅ（Ｉｎｆｏ＿Ｓｋ，ｋｅｙ＿Ｓｋ）＞    （式５）
ここで、副索引付け情報Ｉｎｆｏ＿Ｓｋは以下の式により生成される。
Ｉｎｆｏ＿Ｓｋ＝（ｆｌａｇ｜｜ｆｋｅｙｋ）      （式６）
ここで、ｆｌａｇは副索引付け情報の復号を検証するためのフラグ情報、ｆｋｅｙｋはファイルの暗号文ｆｋｅｙｋを復号するためのファイル復号キーである。
【００４８】
この具体例においては、副索引項目識別子ＵＩＤｋとして、ファイルＦｉｌｅｋの単なる連続または無作為の識別番号や、ファイルＦｉｌｅｋに固有なその他の任意の値を使用することができる。
【００４９】
この具体例における多レベル暗号化索引によれば、主索引項目識別子で主索引を探索して、一致する主索引項目が検出される。そして、この主索引項目内の主索引付け情報を復号することにより、対応するキーワードに関連するファイルパス、暗号文ファイル名、および各ファイルの平文ファイル名、並びに関連する副索引項目識別子および対応する副索引付け情報復号キーが取得される。上記の情報を取得した後に、取得された各副索引項目識別子を使用して副索引をさらに検索し、それぞれに一致する副索引項目を取得することもできる。その後、一致する副索引項目内における副索引付け情報の暗号文が個々の副索引付け情報復号キーで復号され、関連するファイルのファイル復号キーが取得される。上記で取得された情報を使用して、クエリ対象のキーワードに関連する各ファイルの平文を取得することができる。
【００５０】
次に、フラグの使用について説明する。ここでは、フラグがサーチャーに既知の値である場合を例にとる。フラグｆｌａｇを含む情報の暗号文を復号する（例えば、この具体例における主索引項目識別子または副索引付け情報の暗号文を復号する）際には、サーチャーは、復号された情報内の対応するフラグが既知のフラグと一致するかどうかをチェックすることにより、復号結果が正しいかどうかを判定することができる。また、最初に異なるキーで暗号化された複数の主索引付け情報または副索引付け情報の暗号文をサーチャーが受信した場合には、フラグを利用して復号可能な情報とそうでない情報を判別することもできる。したがって、異なるキーで異なる情報を暗号化した上で（例えば、同じ主索引項目内の異なる主索引付け情報を暗号化した上で）、各サーチャーに１つの復号キーかその一部を発行することにより、サーチャーの権限を差別化し、制御することが可能になる。
【００５１】
ここで、フラグはある種の補助情報であり、復号の検証が不要なアプリケーションや、他の検証手段が使用されるアプリケーションにおいては不要であることは明白である。
（具体例２）
【００５２】
この具体例では、上記の具体例1における主索引付け情報の代わりに、以下が使用される。
Ｉｎｆｏ＿Ｐｉ＝（ｆｌａｇ｜｜ＵＩＤｉ｜｜Ｋｅｙ＿ＵＩＤｉ）        （式７）
そして、上記の具体例1における副索引付け情報の代わりに、以下が使用される。
Ｉｎｆｏ＿Ｓｋ＝（ｐａｔｈｋ｜｜ＣＦＮｋ｜｜ＰＦＮｋ｜｜ｆｋｅｙｋ）  （式８）
【００５３】
この具体例における多レベル暗号化索引によれば、関連する各ファイルの副索引項目の識別子と、それに対応する副索引付け情報復号キーは、主索引と対応する復号結果とを検索することにより取得できる。その後、副索引と対応する復号結果とを検索することにより、関連する各ファイルのファイルパス、暗号文ファイル名、平文ファイル名、およびファイル復号キーが取得され、これによりファイルの平文の取得が可能になる。
【００５４】
この具体例では、任意のファイルＦｉｌｅｋに関連する副索引項目の副索引項目識別子ＵＩＤｋは、以下の式により生成することができる。
ＵＩＤｋ＝ｈａｓｈ（ｆｐａｒａｋ，ｓｋ）  （式９）
ここで、ｈａｓｈはハッシュ関数、ｆｐａｒａｋはファイルＦｉｌｅｋ内のある部分（例えば、最初の文または段落、または最後の文または段落など）の内容、ｓｋはユーザの秘密キー等の秘密情報である。
（具体例３）
【００５５】
この具体例は、ファイルＦｉｌｅｋに関連する副索引項目の副索引項目識別子ＵＩＤｋの代わりに以下が使用されることを除き、上記の具体例２と同様である。
ＵＩＤｋ＝ｈａｓｈ（ＣＦＮｋ，ｓｋ）  （式１０）
ここで、ＣＦＮｋはファイルＦｉｌｅｋの暗号文ファイル名である。
（具体例４）
【００５６】
この具体例は、ファイルＦｉｌｅｋに関連する副索引項目の上記の副索引項目識別子ＵＩＤｋ の代わりに以下が使用されることを除き、上記の具体例２および具体例３と同様である。
ＵＩＤｋ＝ＰＲＦ（ｓｅｅｄ）      （式１１）
ここで、ＰＲＦは擬似乱数関数、ｓｅｅｄはこの関数の無作為入力である。
【００５７】
この具体例においては、ユーザが各副索引項目識別子と対応するファイルとの対応関係を保持しておき、後の更新時に利用することができる。この目的のため、例えば以下のようなマッピングまたはテーブルが保存される。
＜ＵＩＤｋ：ＣＦＮｋ＞            （式１２）
【００５８】
上記では２レベル暗号化索引の具体例をいくつか示したが、任意のレベル数の暗号化索引を設計可能なことは理解されるであろう。次に、さらなる理解を促すため、１レベルの主索引と２レベルの副索引からなる３レベル暗号化索引の具体例を示す。
（具体例５）
【００５９】
キーワードＫＷと関連付けられた主索引項目において、ファイルＦｉｌｅｉに関連する主索引付け情報Ｉｎｆｏ＿Ｐｉが以下のように生成される。
Ｉｎｆｏ＿Ｐｉ＝（ｆｌａｇ｜｜ＵＩＤｉ（１）｜｜Ｋｅｙ＿ＵＩＤｉ（１））  （式１３）
ここで、ＵＩＤｉ（１）はファイルＦｉｌｅｉと関連付けられた第１レベルの副索引項目の副索引項目識別子、ｋｅｙ＿ＵＩＤｉ（１）はこの第１レベルの副索引項目の副索引付け情報を復号するための副索引付け情報復号キーである。
【００６０】
任意のファイルＦｉｌｅｋと関連付けられた第１レベルの副索引項目は、以下のとおりである。
＜ＵＩＤｋ（１）：Ｅ（Ｉｎｆｏ＿Ｓｋ（１），ｋｅｙ＿Ｓｋ（１））＞（式１４）
ここで、副索引付け情報Ｉｎｆｏ＿Ｓｋ（１）は以下の式により生成される。
Ｉｎｆｏ＿Ｓｋ（１）＝（ｆｌａｇ｜｜ｐａｔｈｋ｜｜ＣＦＮｋ｜｜ＵＩＤｋ（２）｜｜Ｋｅｙ＿ＵＩＤｋ（２））    （式１５）
ここで、ＵＩＤｋ（２）はファイルＦｉｌｅｋと関連付けられた第２レベルの副索引項目の副索引項目識別子、ｋｅｙ＿ＵＩＤｋ（２）はこの第２レベルの副索引項目の副索引付け情報を復号するための副索引付け情報復号キーである。
【００６１】
任意のファイルＦｉｌｅｋと関連付けられた第２レベルの副索引項目は、以下のとおりである。
＜ＵＩＤｋ（２）  ：Ｅ（Ｉｎｆｏ＿Ｓｋ（２），ｋｅｙ＿Ｓｋ（２））＞    （式１６）
ここで、副索引付け情報Ｉｎｆｏ＿Ｓｋ（２）は以下の式により生成される。
Ｉｎｆｏ＿Ｓｋ（２）＝（ｆｌａｇ｜｜  ＰＦＮｋ｜｜ｆｋｅｙｋ）（式１７）
【００６２】
この具体例においては、第１レベルの副索引項目識別子ＵＩＤｋ（１）および第２レベルの副索引項目識別子ＵＩＤｋ（２）は、各索引項目が確実に識別可能であるという条件が満たされる限り、任意の方法で指定することができる。
【００６３】
この具体例における３レベル暗号化索引によれば、関連する各ファイルの第１レベルの副索引項目識別子と、第１レベルの対応する副索引付け情報復号キーは、主索引と対応する復号結果とを検索することにより取得できる。その後、取得された第１レベルの１つ以上の副索引項目識別子で第１レベルの副索引を検索し、第１レベルの対応する副索引付け情報復号キーを復号することにより、関連する各ファイルのファイルパスおよび暗号文ファイル名と、関連する第２レベルの副索引項目の副索引項目識別子と、対応する第２レベルの副索引付け情報復号キーとを取得することができる。その後、取得された第２レベルの１つ以上の副索引項目識別子と第２レベルの対応する副索引付け情報復号キーとを使用して、第２レベルの副索引を検索および復号することにより、関連する各ファイルの平文ファイル名とファイル復号キーを取得でき、それによりファイルの平文を取得するために必要なすべての情報が得られる。
【００６４】
上記の具体例において、２レベルにわたる副索引の各項目は取得するファイルに関連して構成されていたが、副索引内で索引付けされる情報はこれに限定されないことは理解されるであろう。例えば、対応するファイルを取得するためのファイル復号キーは第１レベルの副索引内で索引付けし、追加の情報は第２レベルの副索引内で索引付けする、といったことも可能である。この場合、第２レベルの各副索引項目には、参考文書の情報等を関連付ける。この方法を採る場合には、第１レベルの副索引項目内の副索引付け情報に、第２レベルの１つ以上の副索引項目識別子と、関連する参考文書に対応する復号キーとを含めるとよい。また、副索引のレベル数は任意に設定でき、また、各レベルでは１種類かそれ以上の情報に索引付けできることも理解されるであろう。
【００６５】
上記の各具体例では、ファイルのアクセスパス、暗号文ファイル名、平文ファイル名、復号を検証するためのフラグ、およびファイルの復号キーがファイルの情報として使用され、暗号化索引内で索引付けされていた。しかし、アプリケーションによってはこうした情報が不要なこともある。例えば、サーバ上の暗号化ファイルを取得するためのアクセスパスまたは暗号文ファイル名が指定される場合には、アクセスパスまたは暗号文ファイル名は不要である。また、実装によっては平文ファイル名や検証フラグが不要な場合もある。さらに、索引内で索引付けされる情報は上記のものに限定されず、個々のアプリケーションの必要に応じて、どんな情報でも追加することができることは理解されるであろう。情報は、複数レベルにわたる副索引付け情報に分散させることも、あるいは一部を主索引付け情報に含めることもできる。
【００６６】
次に、図４〜６を参照して、本発明の一実施例による多レベル暗号化索引の使用について説明する。
【００６７】
図４は、本発明の一実施例によるサーチャー装置の構成例を概略的に示したものである。
【００６８】
図４に示すように、サーチャー装置３００は、主検索要求を生成するための主検索要求手段３０１と、主索引付け情報の暗号文を復号するための主索引付け情報復号手段３０２と、副検索要求を生成するための副検索要求手段３０３と、副索引付け情報の暗号文を復号するための副索引付け情報復号手段３０４と、ファイルの暗号文を取得して復号するためのファイル取得手段３０５とを主に備える。
【００６９】
図５は、本発明の一実施例による検索サーバの構成例を概略的に示したものである。
【００７０】
図５に示すように、サーバ４００は多レベル索引に対して検索を実行するように適応されており、主索引内で検索を実行するための主検索手段４０１と、副索引内で検索を実行するための副検索手段４０２とを主に備える。暗号化ファイルがサーバ４００上にも格納される場合には、サーバ４００に暗号化ファイルを検索するためのファイル検索手段を備えることもできる。
【００７１】
図６は、本発明の一実施例による検索処理を概略的に示したものである。図６の左側はサーチャー端末の動作を示し、図６の右側はストレージおよび検索サーバの動作を示す。
【００７２】
サーチャーは、検索の前に、検索を実行するための権限を取得しておく必要がある。例えば、サーチャーは、ファイル所有者等の関係者から、検索を許可されたキーワードに対応する主索引項目識別子と、主索引付け情報を復号するための対応する主索引付け情報復号キーとを取得する。あるいは、関連の情報を取得した後に、サーチャーが何らかの計算を行って主索引項目識別子と対応する復号キーを導出する。サーチャー端末が、こうした初期情報を取得するために必要な権限取得処理を実行してもよい。また、以下で説明するサーチャーは、データ所有者自身であってもよい。
【００７３】
検索時には、まずステップＳ５０１において、サーチャー端末の主検索要求手段３０１が、サーチャーが取得または計算した主索引項目識別子を含む主検索要求を生成する。サーチャー端末はこの主検索要求をサーバに送信する。
【００７４】
サーバが主検索要求を受信する。そして、ステップＳ５０２においてサーバの主検索手段４０１が、サーバ内に格納される主索引に対して検索を実行し、受信した要求に含まれる主索引項目識別子に適合する主索引項目識別子を有する主索引項目を検出する。サーバはその後、一致した主索引項目に含まれる主索引付け情報の暗号文をサーチャー端末に返送する。あるいは、検索前にサーバがサーチャーに対して所定の認証を実行するのでもよい。
【００７５】
主索引付け情報の暗号文を受信した後、サーチャー端末の主索引付け情報復号手段３０２はステップ５０３において、関連する各ファイルに対応する各副索引項目識別子とそれに対応する副索引付け情報復号キーとを導出するために事前に取得していた主索引付け情報復号キーを使用して、受信した主索引付け情報の暗号文を復号する。主索引付け情報からは、これに加えて他の情報が取得されることもある。例えば、上記の具体例１では、関連するファイルの暗号文ファイル名またはファイルパスも同時に取得されていた。
【００７６】
ステップＳ５０４において、サーチャー端末の副検索要求手段３０３が副検索要求を生成する。副検索要求には、上記で取得された１つ以上の副索引項目識別子を含めることができる。サーチャー端末はこの副検索要求をサーバに送信する。
【００７７】
副検索要求を受信した後、サーバの副検索手段４０２はステップＳ５０５において、サーバ内に格納される副索引に対して検索を実行し、副検索要求に含まれる副索引項目識別子に適合する副索引項目識別子を有する各副索引項目を検出する。サーバはその後、一致した副索引項目に含まれる副索引付け情報の各暗号文をサーチャー端末に返送する。
【００７８】
副索引付け情報の暗号文を受信した後、サーチャー端末の副索引付け情報復号手段３０４はステップ５０６において、取得した対応する副索引付け情報復号キーを使用して、受信した副索引付け情報の暗号文を復号し、対応する副索引付け情報を抽出する。
【００７９】
副索引が１レベルのみの場合には、サーチャー端末はこの時点で、復号された副索引付け情報（および復号された主索引付け情報）から、ファイルを取得するために必要なすべての情報を取得したことになる。主索引付け情報および副索引付け情報に他の情報が含まれていた場合には、サーチャー端末は当然ながらこれらの情報も取得しているはずである。
【００８０】
また、副索引が２レベル以上にわたる場合には、サーチャー端末は、現在の復号済み副索引付け情報から、次レベルの副索引項目識別子と対応する復号キーとを取得する。その後、Ｓ５０４〜Ｓ５０６の処理が、サーチャー端末が各レベルの索引に含まれるすべての必要な情報を取得するまで反復される。
【００８１】
続いて、サーチャー端末のファイル取得手段３０５がステップ５０７において、取得した情報に基づいて、関連するファイルに関するファイル取得要求を生成する。ファイル取得要求には、例えば暗号文ファイル名やファイルのアクセスパス等の、暗号化ファイルを一意に判別することが可能な情報が含められる。その後、サーチャー端末はこのファイル取得要求を、ファイルを格納するサーバに送信する（実装によっては、ファイルストレージサーバと検索サーバが１つのサーバのこともある）。
【００８２】
ファイルストレージサーバはステップＳ５０８において、例えばファイル検索手段により、サーチャー端末から送られてきた情報に基づいて要求された暗号化ファイルを検索し、一致する暗号化ファイルをサーチャー端末に返送する。
【００８３】
あるいは、実装によっては、サーチャー端末が、ファイルのアクセスパスに基づいて、ストレージ内の対応する場所から暗号化ファイルを取得することもある。
【００８４】
サーチャー端末のファイル取得手段３０５は、関連する各ファイルの暗号文を取得した後、副索引付け情報（または主索引付け情報）から取得した対応する復号キーを使用してファイルの暗号文を復号し、各ファイルの平文を取得する。
【００８５】
索引付け情報が復号を検証するためのフラグであるｆｌａｇを含む場合には、上記の復号処理の過程で、例えば、主索引付け情報復号手段、副索引付け情報復号手段、またはファイル取得手段のいずれかにより、復号された情報から取得されたフラグが既知の所定のフラグと一致するかどうかをチェックすることができる。一致する場合はその復号は正しく、一致しない場合は不正である。サーチャーは、検証結果に基づいて、正当な情報を選択し、正しく暗号化できない情報は破棄することができる。
【００８６】
上記の処理は一具体例にすぎず、本発明は上記の特定のステップやステップのシーケンスに限定されないことに留意されたい。例えば、全レベルのすべての副索引付け情報の復号が完了する前にファイルの暗号文ファイル名が取得されている場合（例えば、上記具体例１の場合）には、ステップＳ５０７とステップＳ５０８は前述したよりも早い段階に実行することができる。
【００８７】
本発明の多レベル暗号化索引および検索処理によれば、サーバは、格納される暗号化ファイルの内容とキーワード−ファイル間の関連性を知ることができない。また、異なるキーで暗号化するとセキュリティとプライバシは強化されるので、ファイルの不正復号が防止され、これまでの暗号文検索手法で問題となっていたプライバシ情報の漏洩を回避することができる。
【００８８】
さらに、本発明の多レベル索引によれば、索引の更新をより柔軟に行えるようになる。端的には、ファイルの変更により副索引が更新されたときにも、副索引項目識別子を利用して関連の副索引項目を容易に更新でき、状況次第では主索引の変更は不要となる。
【００８９】
上記の具体例２、３、および４において、例えばファイルの場所が変更されたとすると、ユーザ装置は、対応する副索引項目識別子と、更新された副索引付け情報の暗号文とを計算するだけで、それらをサーバに送信することができる。この処理は、例えば、ユーザ装置の副索引付け手段に実行させるか、あるいはこれを実行させるための更新手段を構成に追加してもよい。サーバは、取得した副索引項目識別子により対応する副索引項目を識別し、ユーザ装置から受け取った更新された副索引付け情報の暗号文を使用して、その項目に含まれる副索引付け情報の暗号文を更新する。このとき、主索引を変更する必要はない。この処理を実行させるために、サーバに更新手段を追加することも可能である。
【００９０】
また、上記の具体例２および４では、副索引項目識別子はファイル名から生成されない。そのため、ファイル名が変更されても、対応する副索引項目は対応する副索引項目識別子で識別でき、主索引を変更せずに、当該項目に含まれる副索引付け情報の暗号文を更新して訂正を反映することができる。
【００９１】
更新方法は、主索引および副索引内で索引付けされた情報の種類と、索引項目識別子の生成に使用した方法に応じて選択される。索引は複数レベルに構成された索引に分割されるため、索引内の１レベルのみを更新することも、あるいは索引内の特定の索引を更新することも可能である。
【００９２】
上記では図面を参照して本発明の特定の実施例について説明したが、本発明は上記の実施例で説明した特定の構成やプロセスに限定されるものではない。当該技術に精通する当業者であれば、本発明の精神の範囲内において、上記構成の様々な代替、変更、修正や、アルゴリズム、動作、および処理を考案できるであろう。
【００９３】
上記の説明で使用した「ファイル」という用語は広義に解釈すべきであり、これには、テキストファイル、ビデオ／オーディオファイル、画像、チャート等のあらゆるデータまたは情報が含まれる。
【００９４】
上記の説明で使用した「キーワード」という用語は広義に解釈すべきであり、これには特定のファイルに関連するあらゆるデータまたは情報が含まれる。
【００９５】
図面では、データ所有者端末、サーチャー装置、サーバの構成例としていくつかの相互に結合された手段が示されている。これらの手段は、バス等の信号線かまたは任意の無線接続を使用して相互に結合され、信号をやりとりすることができる。ただし、各装置に含まれる構成要素は説明した手段に限定されず、また明示した構成は修正や変更が可能である。各装置には、さらに、装置のオペレータに情報を表示するためのディスプレイ手段、オペレータの入力を取得するための入力手段、各手段の動作を制御するためのコントロ―ラ、通信のための通信手段およびインタフェース、必要なストレージまたは処理手段などを備えることができる。これらの手段は当該技術では既知のものであり、当業者は上記の装置に追加することに容易に思い至るであろうから、詳細な説明は省略している。また、説明した手段は図面では別個のブロックとして示されているが、それらを任意に組み合わせて一つの構成要素としたり、一つの手段を複数の構成要素に分割したりすることも可能である。
【００９６】
さらに、上記の具体例では、データ所有者端末、サーチャー端末、サーバは各々独立した装置として説明および図示されているが、これらは遠隔地に設置して通信ネットワークで接続することもできる。これらの端末およびサーバは、互いに組み合わせて、拡張機能を有する１つの装置にすることが可能である。一例としては、データ所有者端末とサーチャー端末を組み合わせて、あるときはデータ所有者端末として機能し、またあるときはサーチャー端末として検索を実行することのできる新たな装置を作ることが考えられる。また、サーバをデータ所有者端末またはサーチャー端末のいずれかと組み合わせて、１つのアプリケーション内で２つの役割を担わせたり、トランザクションに応じてデータ所有者端末、サーチャー端末、サーバのいずれかとして動作する１つの装置を作ったりすることもできる。
【００９７】
本発明の各要素は、ハードウェア、ソフトウェア、ファームウェア、またはその組み合わせで実装され、システム、サブシステム、そのコンポーネントもしくはサブコンポーネント内で利用される。ソフトウェアで実装された場合、本発明の各要素はプログラムもしくはコードセグメントとして必要なタスクを実行するために使用される。プログラムまたはコードセグメントは、機械読取り可能な媒体に格納することも、あるいは、伝送媒体もしくは通信リンクを介して搬送波内に具現化されたデータ信号により伝送することもできる。「機械読取り可能な媒体」には、情報を格納または伝送できるあらゆる媒体が含まれる。機械読取り可能媒体の例としては、電子回路、半導体記憶装置、ＲＯＭ、フラッシュメモリ、消去可能ＲＯＭ（ＥＲＯＭ）、フロッピーディスク、ＣＤ−ＲＯＭ、光ディスク、ハードディスク、光ファイバー媒体、無線周波数（ＲＦ）リンク等が挙げられる。コードセグメントは、インターネット、イントラネット等のコンピュータネットワークを介してダウンロードすることもできる。
【００９８】
本発明は、その精神または本質的な特徴から逸脱することなく、他の様々な形式で具現化することができる。したがって、本発明の実施例はあらゆる点において限定的ではなく例示的なものであり、本発明の範囲は前述の説明よりむしろ付記した特許請求の範囲に示されており、各請求項と等価な意味と範囲に含まれるあらゆる変更がそれに包含される。
【符号の説明】
【００９９】
１０１：主索引付け手段
１０２：副索引付け手段
１０３：主索引項目識別子生成モジュール
１０４：主索引付け情報暗号文生成モジュール
１０５：副索引項目識別子生成モジュール
１０６：副索引付け情報暗号文生成モジュール
３０１：主検索要求手段
３０２：主索引付け情報復号手段
３０３：副検索要求手段
３０４：副索引付け情報復号手段
３０５：ファイル取得手段
４０１：主検索手段
４０２：副検索手段
【図１】
2010211786.tif 000003
【図２】
2010211786.tif 000004
【図３】
2010211786.tif 000005
【図４】
2010211786.tif 000006
【図５】
2010211786.tif 000007
【図６】
2010211786.tif 000008
【外国語明細書】
2010211786000001.pdf