(57)【要約】【課題】ファイルから抽出したテキストから平文のインデックスを作成することによって、作成されたインデックスから機密情報が漏洩する危険性が高まる。【解決手段】計算機と、計算機に接続されるストレージ装置と、計算機とストレージ装置とを接続するネットワークと、を備える計算機システムであって、計算機は、ネットワークに接続されるインタフェースと、インタフェースに接続される第１プロセッサと、第１プロセッサに接続されるメモリと、を備え、ストレージ装置は、データを格納するディスク装置を備え、ディスク装置の記憶領域は、少なくとも第１記憶領域及び第２記憶領域を含む複数の記憶領域に分割され、第１プロセッサは、第１記憶領域に格納されているデータの一部を読み出し、第１記憶領域に格納されているデータが暗号化されていると判定された場合、第１記憶領域から読み出されたデータを暗号化して第２記憶領域に書き込む。【選択図】図１
2009064055.tif 000002
【特許請求の範囲】
【請求項１】
計算機と、前記計算機に接続されるストレージ装置と、前記計算機と前記ストレージ装置とを接続するネットワークと、を備える計算機システムであって、
前記計算機は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続されるメモリと、を備え、
前記ストレージ装置は、データを格納するディスク装置と、前記ディスク装置を制御する第２プロセッサと、を備え、
前記ディスク装置の記憶領域は、少なくとも第１記憶領域及び第２記憶領域を含む複数の記憶領域に分割され、
前記第１プロセッサは、
前記第１記憶領域に格納されているデータの一部を読み出し、
前記第１記憶領域に格納されているデータが暗号化されているか否かを判定し、
前記第１記憶領域に格納されているデータが暗号化されていると判定された場合、前記第１記憶領域から読み出されたデータを暗号化して前記第２記憶領域に書き込むことを特徴とする計算機システム。
【請求項２】
前記複数の記憶領域は、さらに第３記憶領域を含み、
前記第１プロセッサは、さらに、
前記第３記憶領域に格納されているデータの一部を読み出し、
前記第１記憶領域に格納されているデータが暗号化されていると判定された場合、前記第３記憶領域から読み出されたデータを暗号化して前記第２記憶領域に書き込むことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記第１プロセッサは、さらに、
前記第１記憶領域に格納されているデータ、及び、前記第３記憶領域に格納されているデータがいずれも暗号化されている場合、前記第１記憶領域に格納されているデータに適用されている暗号化の強度と、前記第３記憶領域に格納されているデータに適用されている暗号化の強度とを比較し、
前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第３記憶領域に格納されているデータに適用されている暗号化の強度より強い場合、前記第１記憶領域に格納されているデータに適用されているものと同等の強度の暗号化を適用することによって、前記第３記憶領域から読み出されたデータを暗号化することを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記第１プロセッサは、
前記第１記憶領域に格納されているデータを暗号化するために使用された暗号化キーの長さが、前記第３記憶領域に格納されているデータを暗号化するために使用された暗号化キーの長さより長い場合、前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第３記憶領域に格納されているデータに適用されている暗号化の強度より強いと判定し、
前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第３記憶領域に格納されているデータに適用されている暗号化の強度より強いと判定された場合、前記第１記憶領域に格納されているデータを暗号化するために使用された暗号化キーと同じ長さの暗号化キーを用いて、前記第３記憶領域から読み出されたデータを暗号化することを特徴とする請求項３に記載の計算機システム。
【請求項５】
前記第１記憶領域、前記第２記憶領域及び前記第３記憶領域の各々は、前記ストレージ装置によって管理される論理ボリュームであることを特徴とする請求項２に記載の計算機システム。
【請求項６】
前記第２記憶領域は、前記ストレージ装置によって管理される論理ボリュームであり、
前記第１記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第１ファイルのデータが格納された記憶領域であり、
前記第３記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第２ファイルのデータが格納された記憶領域であることを特徴とする請求項２に記載の計算機システム。
【請求項７】
前記メモリは、前記各記憶領域に格納されているデータが暗号化されているか否かを示す情報、及び、前記各記憶領域に格納されているデータが暗号化されている場合、適用されている暗号化の強度を示す情報を格納し、
前記第１プロセッサは、前記メモリに格納された前記情報に基づいて、前記各記憶領域に格納されているデータが暗号化されているか否か、及び、適用されている暗号化の強度を判定することを特徴とする請求項３に記載の計算機システム。
【請求項８】
前記複数の記憶領域は、さらに第３記憶領域及び第４記憶領域を含み、
前記第１プロセッサは、さらに、
前記第３記憶領域に格納されているデータの一部を読み出し、
前記第１記憶領域に格納されているデータが暗号化されていないと判定された場合、前記第３記憶領域から読み出されたデータを暗号化せずに前記第４記憶領域に書き込むことを特徴とする請求項１に記載の計算機システム。
【請求項９】
前記複数の記憶領域は、さらに第５記憶領域を含み、
前記第１プロセッサは、さらに、
前記第１記憶領域に格納されているデータ、及び、前記第５記憶領域に格納されているデータがいずれも暗号化されている場合、前記第１記憶領域に格納されているデータに適用されている暗号化の強度と、前記第５記憶領域に格納されているデータに適用されている暗号化の強度とを比較し、
前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第５記憶領域に格納されているデータに適用されている暗号化の強度より強い場合、前記第１記憶領域に格納されているデータに適用されているものと同等の強度の暗号化を適用することによって、前記第５記憶領域から読み出されたデータを暗号化して前記第２記憶領域に書き込むことを特徴とする請求項８に記載の計算機システム。
【請求項１０】
前記第２記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第３ファイルのデータが格納された記憶領域であり、
前記第４記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第４ファイルのデータが格納された記憶領域であることを特徴とする請求項８に記載の計算機システム。
【請求項１１】
計算機と、前記計算機に接続されるストレージ装置と、前記計算機と前記ストレージ装置とを接続するネットワークと、を備える計算機システムを制御するセキュリティ管理方法であって、
前記計算機は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続されるメモリと、を備え、
前記ストレージ装置は、データを格納するディスク装置と、前記ディスク装置を制御する第２プロセッサと、を備え、
前記ディスク装置の記憶領域は、少なくとも第１記憶領域及び第２記憶領域を含む複数の記憶領域に分割され、
前記セキュリティ管理方法は、
前記第１記憶領域に格納されているデータの一部を読み出すステップと、
前記第１記憶領域に格納されているデータが暗号化されているか否かを判定するステップと、
前記第１記憶領域に格納されているデータが暗号化されていると判定された場合、前記第１記憶領域から読み出されたデータを暗号化して前記第２記憶領域に書き込むステップと、を含むことを特徴とするセキュリティ管理方法。
【請求項１２】
前記複数の記憶領域は、さらに第３記憶領域を含み、
前記セキュリティ管理方法は、さらに、
前記第３記憶領域に格納されているデータの一部を読み出すステップと、
前記第１記憶領域に格納されているデータが暗号化されていると判定された場合、前記第３記憶領域から読み出されたデータを暗号化して前記第２記憶領域に書き込むステップと、を含むことを特徴とする請求項１１に記載のセキュリティ管理方法。
【請求項１３】
前記セキュリティ管理方法は、さらに、
前記第１記憶領域に格納されているデータ、及び、前記第３記憶領域に格納されているデータがいずれも暗号化されている場合、前記第１記憶領域に格納されているデータに適用されている暗号化の強度と、前記第３記憶領域に格納されているデータに適用されている暗号化の強度とを比較するステップと、
前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第３記憶領域に格納されているデータに適用されている暗号化の強度より強い場合、前記第１記憶領域に格納されているデータに適用されているものと同等の強度の暗号化を適用することによって、前記第３記憶領域から読み出されたデータを暗号化するステップと、を含むことを特徴とする請求項１２に記載のセキュリティ管理方法。
【請求項１４】
前記暗号化の強度を比較するステップでは、
前記第１記憶領域に格納されているデータを暗号化するために使用された暗号化キーの長さが、前記第３記憶領域に格納されているデータを暗号化するために使用された暗号化キーの長さより長い場合、前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第３記憶領域に格納されているデータに適用されている暗号化の強度より強いと判定し、
前記第３記憶領域から読み出されたデータを暗号化するステップでは、
前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第３記憶領域に格納されているデータに適用されている暗号化の強度より強いと判定された場合、前記第１記憶領域に格納されているデータを暗号化するために使用された暗号化キーと同じ長さの暗号化キーを用いて暗号化することを特徴とする請求項１３に記載のセキュリティ管理方法。
【請求項１５】
前記第１記憶領域、前記第２記憶領域及び前記第３記憶領域の各々は、前記ストレージ装置によって管理される論理ボリュームであることを特徴とする請求項１２に記載のセキュリティ管理方法。
【請求項１６】
前記第２記憶領域は、前記ストレージ装置によって管理される論理ボリュームであり、
前記第１記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第１ファイルのデータが格納された記憶領域であり、
前記第３記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第２ファイルのデータが格納された記憶領域であることを特徴とする請求項１２に記載のセキュリティ管理方法。
【請求項１７】
前記メモリは、前記各記憶領域に格納されているデータが暗号化されているか否かを示す情報、及び、前記各記憶領域に格納されているデータが暗号化されている場合、適用されている暗号化の強度を示す情報を格納し、
前記セキュリティ管理方法は、前記メモリに格納された前記情報に基づいて、前記各記憶領域に格納されているデータが暗号化されているか否か、及び、適用されている暗号化の強度を判定するステップを含むことを特徴とする請求項１３に記載のセキュリティ管理方法。
【請求項１８】
前記複数の記憶領域は、さらに第３記憶領域及び第４記憶領域を含み、
前記セキュリティ管理方法は、さらに、
前記第３記憶領域に格納されているデータの一部を読み出すステップと、
前記第１記憶領域に格納されているデータが暗号化されていないと判定された場合、前記第３記憶領域から読み出されたデータを暗号化せずに前記第４記憶領域に書き込むステップと、を含むことを特徴とする請求項１１に記載のセキュリティ管理方法。
【請求項１９】
前記複数の記憶領域は、さらに第５記憶領域を含み、
前記セキュリティ管理方法は、さらに、
前記第１記憶領域に格納されているデータ、及び、前記第５記憶領域に格納されているデータがいずれも暗号化されている場合、前記第１記憶領域に格納されているデータに適用されている暗号化の強度と、前記第５記憶領域に格納されているデータに適用されている暗号化の強度とを比較するステップと、
前記第１記憶領域に格納されているデータに適用されている暗号化の強度が、前記第５記憶領域に格納されているデータに適用されている暗号化の強度より強い場合、前記第１記憶領域に格納されているデータに適用されているものと同等の強度の暗号化を適用することによって、前記第５記憶領域から読み出されたデータを暗号化して前記第２記憶領域に書き込むステップと、を含むことを特徴とする請求項１８に記載のセキュリティ管理方法。
【請求項２０】
前記第２記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第３ファイルのデータが格納された記憶領域であり、
前記第４記憶領域は、前記ネットワークに接続された計算機によって書き込まれた第４ファイルのデータが格納された記憶領域であることを特徴とする請求項１８に記載のセキュリティ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムにおけるアーカイブ技術に関し、特に、ストレージ装置のセキュリティ及び性能を高める技術に関する。
【背景技術】
【０００２】
近年、計算機の性能向上又はインターネット回線の速度向上によって、計算機上で扱われるデータ量が増加している。また、法規制又は訴訟に対応するため、ファイルをストレージ装置上で長期間保管するアーカイブシステムへの期待が高まっている。
【０００３】
そこで、特許文献１には、保管しているファイルへ迅速にアクセスするため、ファイルの属性情報等に基づいてインデックスを作成することによってファイルの検索速度を向上させる技術が記載されている。
【特許文献１】特表２００４−５０９４１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載された技術によると、更新時刻又は文書の表示順を決定するランク及び、検索対象ファイルから抽出されたテキストを含むインデックスが作成される。検索対象ファイルが顧客名等の機密情報を含む場合、検索対象ファイルは暗号化され、その暗号化された検索対象ファイルがストレージ装置に格納される。しかし、この場合、検索対象ファイルから抽出されたテキストから平文のインデックスを作成することによって、作成されたインデックスから機密情報が漏洩する危険性が高まる。
【０００５】
作成されたインデックスを暗号化して格納することによって、インデックスからの情報漏洩を防ぐことができる。
【課題を解決するための手段】
【０００６】
本発明の代表的な一例を示せば以下の通りである。すなわち、計算機と、前記計算機に接続されるストレージ装置と、前記計算機と前記ストレージ装置とを接続するネットワークと、を備える計算機システムであって、前記計算機は、前記ネットワークに接続されるインタフェースと、前記インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続されるメモリと、を備え、前記ストレージ装置は、データを格納するディスク装置と、前記ディスク装置を制御する第２プロセッサと、を備え、前記ディスク装置の記憶領域は、少なくとも第１記憶領域及び第２記憶領域を含む複数の記憶領域に分割され、前記第１プロセッサは、前記第１記憶領域に格納されているデータの一部を読み出し、前記第１記憶領域に格納されているデータが暗号化されているか否かを判定し、前記第１記憶領域に格納されているデータが暗号化されていると判定された場合、前記第１記憶領域から読み出されたデータを暗号化して前記第２記憶領域に書き込む。
【発明の効果】
【０００７】
本発明の一実施形態によれば、作成されたインデックスを暗号化して格納することによって、機密情報の漏洩を防止することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図面を参照しながら説明する。
【０００９】
＜第１の実施の形態＞
まず、本発明の第１の実施の形態の計算機システムについて説明する。
【００１０】
第１の実施の形態では、検索計算機がストレージ装置に格納されているファイルのインデックス（後述）を作成する。
【００１１】
図１は、本発明の第１の実施の形態の計算機システムの構成図である。
【００１２】
計算機システムは、検索計算機１０００、管理計算機１１００、ＦＣスイッチ１２００、ＩＰスイッチ１３００、及びストレージ装置１４００を備える。
【００１３】
検索計算機１０００は、ストレージ装置１４００にデータを入出力する計算機である。検索計算機１０００は、ＦＣ  Ｉ／Ｆ１００１、ＣＰＵ１００２、入力装置１００３、出力装置１００４、ＩＰ  Ｉ／Ｆ１００５、記憶装置１００６、及びメモリ１００７を備える。
【００１４】
ＦＣ  Ｉ／Ｆ１００１は、ＦＣスイッチ１２００を介してストレージ装置１４００との入出力データを送受信する。
【００１５】
ＣＰＵ１００２は、メモリ１００７に格納されているプログラムを実行し、検索計算機１０００全体を制御するプロセッサである。
【００１６】
入力装置１００３は、ユーザによる情報の入力を受け付けるための装置である。入力装置１００３は、キーボード及び／又はマウス等を含んでもよい。
【００１７】
出力装置１００４は、ユーザへの情報を表示するための装置である。出力装置１００４は、液晶表示装置のようなディスプレイ装置又はプリンタ等を含んでもよい。
【００１８】
ＩＰ  Ｉ／Ｆ１００５は、ＩＰスイッチ１３００を介して管理計算機１１００との管理データを送受信する。
【００１９】
記憶装置１００６は、プログラム又はユーザデータ等を記憶する。記憶装置１００６は、例えばハードディスクドライブ（ＨＤＤ）であってもよい。
【００２０】
メモリ１００７は、ＣＰＵ１００２によって実行されるプログラムを格納する。メモリ１００７は、例えばＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）のような半導体メモリであってもよい。記憶装置１００６に格納されたプログラム等の少なくとも一部が必要に応じてメモリ１００７にコピーされてもよい。
【００２１】
管理計算機１１００は、検索計算機１０００及びストレージ装置１４００を管理する計算機である。管理計算機１１００は、ＦＣ  Ｉ／Ｆ１１０１、ＣＰＵ１１０２、入力装置１１０３、出力装置１１０４、ＩＰ  Ｉ／Ｆ１１０５、記憶装置１１０６、及びメモリ１１０７を備える。
【００２２】
ＦＣ  Ｉ／Ｆ１１０１は、ＦＣスイッチ１２００を介してストレージ装置１４００と入出力データ及び制御データを送受信する。
【００２３】
ＣＰＵ１１０２は、メモリ１１０７に格納されているプログラムを実行し、管理計算機１１００全体を制御するプロセッサである。
【００２４】
入力装置１１０３は、ユーザによる情報の入力を受け付けるための装置である。入力装置１１０３は、キーボード及び／又はマウス等を含んでもよい。
【００２５】
出力装置１１０４は、ユーザへの情報を表示するための装置である。出力装置１１０４は、液晶表示装置のようなディスプレイ装置及び／又はプリンタ等を含んでもよい。
【００２６】
ＩＰ  Ｉ／Ｆ１１０５は、ＩＰスイッチ１３００を介して検索計算機１０００又はストレージ装置１４００と管理データを送受信する。
【００２７】
記憶装置１１０６は、プログラム及び／又はユーザデータ等を記憶する。記憶装置１１０６は、例えばハードディスクドライブ（ＨＤＤ）であってもよい。
【００２８】
メモリ１１０７は、ＣＰＵ１１０２によって実行されるプログラムを格納する。メモリ１１０７は、例えば、ＲＡＭのような半導体メモリであってもよい。記憶装置１１０６に格納されたプログラムなどの少なくとも一部が必要に応じてメモリ１１０７にコピーされてもよい。
【００２９】
ＦＣスイッチ１２００は、検索計算機１０００とストレージ装置１４００との間で、の入出力データを転送するためのスイッチ装置である。ＦＣスイッチ１２００は、ＣＰＵ１２０１、メモリ１２０２、ＦＣＩ／Ｆ１２０３、及びＩＰ  Ｉ／Ｆ１２０４を備える。
【００３０】
ＣＰＵ１２０１は、メモリ１２０２に格納されているプログラムを実行し、ＦＣスイッチ１２００全体を制御するプロセッサである。
【００３１】
メモリ１２０２は、ＣＰＵ１２０１によって実行されるプログラム及び／又はデータを格納する。メモリ１２０２は、例えば、ＲＡＭのような半導体メモリであってもよい。ＦＣ  Ｉ／Ｆ１２０３は、入出力データを送受信する。ＩＰ  Ｉ／Ｆ１２０４は、管理データを送受信する。図３には、三つのＦＣ  Ｉ／Ｆ１２０３を示すが、ＦＣスイッチ１２００は、任意の数のＦＣ  Ｉ／Ｆ１２０３を備えることができる。
【００３２】
ＩＰスイッチ１３００は、管理計算機１１００から検索計算機１０００等へ管理データを転送するスイッチ装置である。ＩＰスイッチ１３００は、ＣＰＵ１３０１、メモリ１３０２、及びＩＰ  Ｉ／Ｆ１３０３を備える。
【００３３】
ＣＰＵ１３０１は、メモリ１３０２に格納されているプログラムを実行し、ＩＰスイッチ１３００全体を制御する。メモリ１３０２は、プログラム及び／又はデータを格納する。ＩＰ  Ｉ／Ｆ１３０３は、管理データを送受信する。図３には四つのＩＰ  Ｉ／Ｆ１３０３を示すが、ＩＰスイッチ１３００は、任意の数のＩＰ  Ｉ／Ｆ１３０３を備えることができる。
【００３４】
ストレージ装置１４００は、検索計算機１０００が送受信する入出力データを処理するノードである。ストレージ装置１４００は、ＦＣ  Ｉ／Ｆ１４０１、ＩＰ  Ｉ／Ｆ１４０２、ＣＰＵ１４０３、メモリ１４０４、ディスクコントローラ１４０５、ディスク装置１４０６及びディスク装置１４０７を備える。
【００３５】
ＦＣ  Ｉ／Ｆ１４０１は、ＦＣスイッチ１２００から転送された入出力データを受信する。
【００３６】
ＩＰ  Ｉ／Ｆ１４０２は、管理計算機１１００からＩＰスイッチ１３００を介して管理データを受信する。
【００３７】
ＣＰＵ１４０３は、メモリ１４０４に格納されているプログラムを実行し、ストレージ装置１４００全体を制御するプロセッサである。メモリ１４０４は、ＣＰＵ１４０３によって実行されるプログラムを格納する。
【００３８】
ディスク装置１４０６及び１４０７は、ユーザデータを保存する。ディスク装置１４０６及び１４０７は、例えばハードディスクドライブ（ＨＤＤ）であってもよいし、フラッシュメモリのような半導体記憶装置であってもよい。図１には一例として二つのディスク装置すなわちディスク装置１４０６及び１４０７を示すが、ストレージ装置１４００は任意の数のディスク装置１４０６等を備えてもよい。複数のディスク装置１４０６等がＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成してもよい。
【００３９】
ユーザデータは、ＦＣスイッチ１２００に接続された計算機（例えば、図示しないクライアント計算機）によって書き込まれたデータである。ユーザデータは、例えば、クライアント計算機で稼動するアプリケーション（図示省略）によって作成された文書データ等であってもよい。
【００４０】
ディスク装置１４０６及び１４０７の記憶領域は、複数のＬＵ（論理ボリューム）に分割される。図１には、例としてＬＵ１４１０〜１４１２を示す。各ＬＵ１４１０〜１４１２は、上位の計算機（例えばクライアント計算機又は検索計算機１０００等）が一つの論理的なディスク装置として認識する記憶領域である。ディスク装置１４０６及び１４０７に含まれる任意の容量の物理的な記憶領域が各ＬＵ１４１０〜１４１２に割り当てられる。
【００４１】
ディスク装置１４０６及び１４０７の記憶領域は、ユーザデータを含むファイルを格納するファイル格納エリア１４０８と、検索に用いられるインデックスを格納するインデックス格納エリア１４０９とに区切られている。図１の例では、ＬＵ１４１０及びＬＵ１４１１がファイル格納エリア１４０８に属し、ＬＵ１４１２がインデックス格納エリア１４０９に属する。
【００４２】
ＬＵ１４１０及びＬＵ１４１１には、それぞれ、Ｆｉｌｅ（ファイル）１４１３及びＦｉｌｅ１４１４が格納される。これらは、クライアント計算機等によって書き込まれた、ユーザデータを含むファイルである。ファイルは、ＬＵ内の記憶領域と対応付けられる。例えば、ＬＵ１４１０内の記憶領域に、Ｆｉｌｅ１４１３に含まれるデータが格納され、ＬＵ１４１１内の記憶領域に、Ｆｉｌｅ１４１４に含まれるデータが格納される。ファイルと、そのファイルに含まれるデータが格納される記憶領域との対応関係は、計算機（例えばクライアント計算機又は検索計算機１０００）のオペレーティングシステム（より詳細には、ファイルシステム）によって管理される。
【００４３】
ＬＵ１４１２には、Ｉｎｄｅｘ（インデックス）１４１５が格納される。Ｉｎｄｅｘ１４１５は、Ｆｉｌｅ１４１３等に基づいて作成されたインデックスを含むファイルである。
【００４４】
ここで、インデックスについて説明する。
【００４５】
インデックスは、Ｆｉｌｅ１４１３等を高速に検索するために使用される情報である。例えば、インデックスは、Ｆｉｌｅ１４１３等の更新日時及びランクを含む。ランクとは、検索結果を表示する際に、表示の順序を決定するために参照される情報である。さらに、インデックスは、検索されるＦｉｌｅ１４１３等に含まれるデータの一部を含む。例えば、Ｆｉｌｅ１４１３等がクライアント計算機のアプリケーションによって作成された文書ファイルである場合、インデックスは、その文書ファイルに含まれるテキストデータの一部を含んでもよい。このようなインデックスは、検索計算機１０００によって作成される（図９等参照）。
【００４６】
上記のように、Ｉｎｄｅｘ１４１５はファイルの一つとして扱われるが、以下の説明においてファイルとは、Ｆｉｌｅ１４１３のようにインデックスを用いて検索されるファイルのみを指し、インデックスを含むファイルは単にインデックス又はＩｎｄｅｘ１４１５と記載される。
【００４７】
なお、図１には、Ｉｎｄｅｘ１４１５に加えてＩｎｄｅｘ１４１６が図示されているが、第１の実施の形態のＬＵ１４１２はＩｎｄｅｘ１４１５のみを格納している。Ｉｎｄｅｘ１４１６については第２の実施の形態において説明する。
【００４８】
図１では、Ｆｉｌｅ１４１３、１４１４が示されているが、各ＬＵ１４１０等は、任意の数のファイルを含んでもよい。
【００４９】
なお、以下の説明において、図１の各構成に付されている番号を各構成の識別子として説明する。例えば、ＬＵ１４１０の識別子は、「１４１０」である。
【００５０】
図２は、本発明の第１の実施の形態の検索計算機１０００のメモリ１００７の構成を示す。
【００５１】
メモリ１００７は、ファイル管理プログラム２００１、検索プログラム２００２、インデックス作成プログラム２００３、検索計算機設定管理プログラム２００４、検索計算機設定テーブル２００５、及びファイル管理テーブル２００６を格納する。
【００５２】
ファイル管理プログラム２００１は、保存されるファイルの改ざんを防止する機能、及び、ファイルの保存期間を管理する機能を提供する。
【００５３】
検索プログラム２００２は、インデックスに基づいてファイルを検索し、検索された結果を上位の計算機（例えば、クライアント計算機等）に送信する機能を提供する。
【００５４】
インデックス作成プログラム２００３は、ファイルの検索に用いるキーワード等のインデックスを作成する機能を提供する。
【００５５】
検索計算機設定管理プログラム２００４は、検索計算機の設定情報を管理する。
【００５６】
検索計算機設定テーブル２００５には、検索計算機の設定情報が記憶されている（図５参照）。
【００５７】
ファイル管理テーブル２００６には、ＬＵに格納されているファイルの状態が記憶されている（図６参照）。
【００５８】
検索計算機１０００は、起動時にメモリ１００７へファイル管理プログラム２００１、検索プログラム２００２、インデックス作成プログラム２００３、検索計算機設定管理プログラム２００４、検索計算機設定テーブル２００５、及びファイル管理テーブル２００６を記憶装置１００６から読み出して、これらをメモリ１００７に格納する。
【００５９】
上位のソフトウェア又はユーザからファイル管理プログラム２００１に、格納するファイルを送信するために、ＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）又はＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）などのファイル共有プロトコルが用いられてもよい。あるいは、格納するファイルを送信するために、特別なＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）が用いられてもよい。
【００６０】
なお、ファイル管理プログラム２００１、検索プログラム２００２、及びインデックス作成プログラム２００３は、異なる計算機（例えば、検索計算機１０００及び管理計算機１１００）のメモリに別々に格納されてもよい。その場合、それらのプログラムは、それらが格納されたメモリに接続されたＣＰＵによって実行される。あるいは、上記のプログラムの少なくとも一部がストレージ装置１４００のメモリ１４０４に格納されてもよい。メモリ１４０４に格納されたプログラムは、ＣＰＵ１４０３によって実行される。
【００６１】
図３は、本発明の第１の実施の形態の管理計算機１１００のメモリ１１０７の構成を示す。
【００６２】
メモリ１１０７は、暗号化判定プログラム３００１及び暗号化設定テーブル３００２を格納する。
【００６３】
暗号化判定プログラム３００１は、インデックスが格納されているＬＵを暗号化するか否かを判定する機能を提供する。
【００６４】
暗号化設定テーブル３００２には、暗号化するＬＵの情報が記憶されている（図７参照）。
【００６５】
なお、管理計算機１１００は、起動時にメモリ１１０７へ暗号化判定プログラム３００１及び暗号化設定テーブル３００２を記憶装置１１０６から読み出して、これらをメモリ１１０７に格納する。
【００６６】
図４は、本発明の第１の実施の形態のストレージ装置１４００のメモリ１４０４の構成を示す。
【００６７】
メモリ１４０４は、データ処理プログラム４００１、暗号化プログラム４００２、ストレージ装置設定管理プログラム４００３、及びストレージ装置設定テーブル４００４を格納する。
【００６８】
データ処理プログラム４００１は、検索計算機１０００等がストレージ装置１４００へアクセスするときに実行される。
【００６９】
暗号化プログラム４００２は、ストレージ装置１４００に存在するＬＵに格納されるデータを暗号化する機能を提供する。
【００７０】
ストレージ装置設定管理プログラム４００３は、ストレージ装置１４００の設定情報を管理する機能を提供する。
【００７１】
ストレージ装置設定テーブル４００４には、ストレージ装置１４００の設定情報が記憶されている。
【００７２】
なお、ストレージ装置１４００は、起動時にメモリ１４０４へデータ処理プログラム４００１、暗号化プログラム４００２、ストレージ装置設定管理プログラム４００３、及びストレージ装置設定テーブル４００４をディスク１４０６等から読み出し、これらをメモリ１４０４に格納する。
【００７３】
図５は、本発明の第１の実施の形態の検索計算機設定テーブル２００５の構成を示す。
【００７４】
検索計算機設定テーブル２００５は、ホスト名５００１、使用ＬＵ５００２、用途５００３、接続先ＩＦ５００４、及びインデックス作成先５００５を含む。
【００７５】
ホスト名５００１は、検索計算機１０００の識別子である。
【００７６】
使用ＬＵ５００２は、ホストである検索計算機１０００が使用しているＬＵの識別子である。
【００７７】
用途５００３は、使用ＬＵ５００２の値によって識別されるＬＵの用途である。用途５００３としては、「ファイル」又は「インデックス」が格納される。
【００７８】
「ファイル」は、いずれかの計算機（例えば、図示しないクライアント計算機）によって作成されたファイルを格納するために、ＬＵが使用されることを示す。例えば、クライアント計算機で稼動するアプリケーションが文書ファイルを作成し、その文書ファイルをＬＵ１４１０に格納する場合、使用ＬＵ５００２の値「１４１０」に対応する用途５００３に「ファイル」が格納される。
【００７９】
「インデックス」は、ＬＵが、他のＬＵに格納されたデータから作成されたインデックスを格納するために使用されることを示す。
【００８０】
接続先ＩＦ５００４は、検索計算機１０００が使用しているＬＵへの接続先である。
【００８１】
インデックス作成先５００５は、ファイルから作成されるインデックスを格納するＬＵの識別子である。
【００８２】
図５の例では、検索計算機設定テーブル２００５の第１行のホスト名５００１、使用ＬＵ５００２、用途５００３、接続先ＩＦ５００４及びインデックス作成先５００５として、それぞれ、「１０００」、「１４１０」、「ファイル」、「１４０１」及び「１４１２」が格納されている。これは、検索計算機１０００が使用するＬＵ１４１０に、いずれかの計算機によって作成されたファイルが格納されること、検索計算機１０００はＦＣ  Ｉ／Ｆ１４０１に接続することによってＬＵ１４１０にアクセスできること、及び、ＬＵ１４１０内のファイルから作成されたインデックスが、ＬＵ１４１２に格納されること、を示す。
【００８３】
図６は、本発明の第１の実施の形態のファイル管理テーブル２００６の構成を示す。
【００８４】
ファイル管理テーブル２００６は、ファイル名６００１、格納ストレージ名６００２、格納ＬＵ名６００３、及び暗号化６００４を含む。
【００８５】
ファイル名６００１は、ファイルの識別子である。
【００８６】
格納ストレージ名６００２は、ファイルが格納されているストレージ装置１４００の識別子である。
【００８７】
格納ＬＵ名６００３は、ファイルが格納されているＬＵの識別子である。
【００８８】
暗号化６００４は、ファイルが暗号化されているか否かを示すフラグである。具体的には、「ＯＦＦ」はファイルが暗号化されていないことを示す。一方、「ＯＦＦ」以外の値（例えば、１２８又は２５６等の数値）は、ファイルが暗号化されていることを示す。この場合、１２８又は２５６等の数値は、ファイルが暗号化されるときの暗号化の強度を示している。暗号化の強度とは、暗号の解読の困難さを示すものである。
【００８９】
例えば、暗号化の強度の指標の一例として暗号化キーの長さがある。暗号化キーの長さは、１２８ビット又は２５６ビット等が存在し、暗号化キーの長さが１２８ビットよりも２５６ビットの方が暗号の解読が困難なため、暗号化の強度が強い。また、暗号化の強度を示す具体的な例として、前述した１２８又は２５６等があるが、その他に暗号化の強度を示す具体的な指標がある場合は、その他の指標を用いて暗号化の強度を設定してもよい。なお、暗号化６００４は、ファイルをストレージ装置１４００に格納する上位の計算機（例えば図示しないクライアント計算機等）によって設定される。
【００９０】
ＬＵに格納されるデータは、上位の計算機（例えば、ＦＣスイッチ１２００に接続された、図示しないクライアント計算機）によって暗号化されてもよいし、ストレージ装置１４００によって暗号化されてもよい。
【００９１】
前者の場合、例えば、クライアント計算機のアプリケーションがデータを暗号化し、その暗号化されたデータを含むファイルを書き込む要求をストレージ装置１４００に対して送信する。この要求を受信したストレージ装置１４００は、受信した要求に従って、暗号化されたデータをＬＵに格納する。そして、クライアント計算機がその暗号化されたデータを読み出す要求を送信すると、ストレージ装置１４００は、要求に従って暗号化されたデータをＬＵから読み出し、クライアント計算機に送信する。この場合、ストレージ装置は、データが暗号化されているか否かを把握していなくてもよい。
【００９２】
一方、後者の場合、例えばクライアント計算機がデータを書き込む要求をストレージ装置１４００に対して送信すると、ストレージ装置は、要求されたデータを暗号化し、暗号化されたデータをＬＵに格納する。クライアント計算機がそのデータを読み出す要求を送信すると、ストレージ装置１４００は、要求に従って暗号化されたデータをＬＵから読み出し、読み出されたデータを復号化し、復号化されたデータをクライアント計算機に送信する。この場合、クライアント計算機は、ストレージ装置１４００がデータを暗号化及び復号化していることを把握していなくてもよい。
【００９３】
図６に示すファイル管理テーブル２００６は、上記の前者の例のように、上位の計算機によってファイルのデータが暗号化されているか否かを管理するためのものである。
【００９４】
一方、上記の後者の例のように、ストレージ装置１４００によってデータが暗号化されているか否かを管理するために、後述するストレージ装置設定テーブル４００４が使用される（図８参照）。
【００９５】
図６の例では、ファイル管理テーブル２００６の第２行のファイル名６００１、格納ストレージ名６００２、格納ＬＵ名６００３及び暗号化６００４として、それぞれ、「１４１４」、「１４００」、「１４１１」及び「２５６」が格納されている。これは、ストレージ装置１４００のＬＵ１４１１に格納されているＦｉｌｅ１４１４が、そのＦｉｌｅ１４１４を作成した上位の計算機によって暗号化されていること、及び、その暗号化に使用されたキーの長さが２５６ビットであることを示す。
【００９６】
図７は、本発明の第１の実施の形態の暗号化設定テーブル３００２の構成を示す。
【００９７】
暗号化設定テーブル３００２は、ストレージ名７００１、ＬＵ名７００２、及び暗号化強度７００３を含む。
【００９８】
ストレージ名７００１は、暗号化されるＬＵを保持するストレージ装置１４００の識別子である。ここで、「暗号化されるＬＵ」とは、暗号化されたデータを格納するＬＵを意味する。暗号化されたデータとは、例えば暗号化されたインデックスであってもよい。
【００９９】
ＬＵ名７００２は、暗号化されるＬＵの識別子である。
【０１００】
暗号化強度７００３は、ＬＵに格納されるデータ（例えばインデックス）を暗号化するときの暗号化の強度である。暗号化強度７００３の値は、ファイル管理テーブル２００６又はストレージ装置設定テーブル４００４に設定されている暗号化の強度の値に基づいて設定される。
【０１０１】
図７の例では、暗号化設定テーブル３００２のストレージ名７００１、ＬＵ名７００２及び暗号化強度７００３として、それぞれ、「１４００」、「１４１２」及び「２５６」が格納されている。これは、ストレージ装置１４００のＬＵ１４１２に、２５６ビットの暗号化キーによって暗号化されたインデックスが格納されることを意味する。
【０１０２】
図８は、本発明の第１の実施の形態のストレージ装置設定テーブル４００４の構成を示す。
【０１０３】
ストレージ装置設定テーブル４００４は、ストレージ名８００１、ＬＵ名８００２、及び暗号化８００３を含む。
【０１０４】
ストレージ名８００１は、ストレージ装置１４００の識別子である。
【０１０５】
ＬＵ名８００２は、ＬＵの識別子である。
【０１０６】
暗号化８００３は、ＬＵが暗号化されているか否かを示すフラグである。具体的には、「ＯＦＦ」はＬＵが暗号化されていないことを示す。一方、「ＯＦＦ」以外の値（例えば、１２８又は２５６等の数値）は、ＬＵが暗号化されていることを示す。この場合、１２８又は２５６等の数値は、はＬＵが暗号化されるときの強度を示している。暗号化の強度を示す具体的な例としては、前述した１２８又は２５６等があるが、その他に暗号化の強度を示す具体的な指標がある場合は、その他の指標を用いて暗号化の強度を設定してもよい。なお、暗号化８００３は、計算機システムを管理する計算機（例えば、管理計算機１１００等）によって設定される。
【０１０７】
また、ＬＵの暗号化とは、ストレージ装置１４００がＬＵに格納されるデータを暗号化することである。具体的には、暗号化するＬＵに、あるデータを格納する場合に、ストレージ装置１４００の暗号化プログラム４００２を実行し、データを暗号化してからＬＵに格納する。
【０１０８】
図８の例では、ストレージ装置設定テーブル４００４の第２行のストレージ名８００１、ＬＵ名８００２及び暗号化８００３として、それぞれ、「１４００」、「１４１１」及び「１２８」が格納されている。これは、ストレージ装置１４００のＬＵ１４１０に、ストレージ装置１４００が１２８ビットの暗号化キーによって暗号化したデータが格納されることを意味する。
【０１０９】
図９は、本発明の第１の実施の形態の暗号化処理のシーケンス図である。
【０１１０】
なお、図９の処理が開始された時点で、検索計算機設定テーブル２００５、ファイル管理テーブル２００６及びストレージ装置設定テーブル４００４には、それぞれ、図５、図６及び図８に示す値が格納されていると仮定する。一方、その時点で、暗号化設定テーブル３００２にはまだ値が格納されていない。
【０１１１】
まず、ストレージ装置１４００のＣＰＵ１４０３は、ストレージ装置設定処理プログラム４００３を実行することによって、ストレージ装置テーブル４００４を管理計算機１１００に送信する（ステップ９００１）。
【０１１２】
検索計算機１０００のＣＰＵ１００２は、検索計算機設定テーブル２００５及びファイル管理テーブル２００６を管理計算機１１００に送信する（ステップ９００２）。
【０１１３】
ＣＰＵ１４０３及びＣＰＵ１００２は、管理計算機１１００から各テーブルの送信要求を受信したときにステップ９００１及びステップ９００２を実行してもよい。あるいは、ＣＰＵ１４０３及びＣＰＵ１００２は、各テーブルが変更されたときにステップ９００１及びステップ９００２を実行してもよい。ステップ９００１が実行される前にステップ９００２が実行されてもよい。
【０１１４】
次に、管理計算機１１００のＣＰＵ１１０２は、検索計算機１０００及びストレージ装置１４００から各テーブルを受信すると、ＬＵ情報からの暗号化判定処理を実行する（ステップ９００３）。ＬＵ情報からの暗号化判定処理については、後述する図１２で詳細に説明する。
【０１１５】
次に、管理計算機１１００のＣＰＵ１１０２は、ファイル情報からの暗号化判定処理を実行する（ステップ９００４）。ファイル情報からの暗号化判定処理については、後述する図１３で詳細に説明する。
【０１１６】
次に、管理計算機１１００のＣＰＵ１１０２は、暗号化設定テーブル３００２に登録されているＬＵを指定してストレージ装置１４００に暗号化要求を送信する（ステップ９００５）。具体的には、暗号化要求は、暗号化設定テーブル３００２に格納されているＬＵ名７００２の値、及び、そのＬＵ名７００２の値に対応する暗号化強度７００３の値を含む。この時点で暗号化設定テーブル３００２にＬＵが登録されていない場合、ＣＰＵ１１０２は、暗号化要求を送信しなくてもよい。
【０１１７】
ストレージ装置１４００のＣＰＵ１４０３は、管理計算機１１００から暗号化要求を受信すると、指定されたＬＵを暗号化する（ステップ９００６）。具体的には、ＣＰＵ１４０３は、暗号化要求によって指定されたＬＵに対応する暗号化８００３に、暗号化要求によって指定された暗号化強度７００３の値を設定する。暗号化８００３の値は、ＬＵに格納されるデータを暗号化するか否か、及び、適用される暗号の強度を示す。ステップ９００６が実行された時点で既に指定されたＬＵにデータが格納されている場合、ＣＰＵ１４０３は、そのデータを読み出して暗号化し、再び指定されたＬＵに格納してもよい。この暗号化は、ＣＰＵ１４０３が暗号化プログラム４００２を実行することによって実現される。
【０１１８】
その後、検索計算機１０００のＣＰＵ１００２は、ファイル管理プログラム２００１を実行することによってファイル取得要求をストレージ装置１４００に送信する（ステップ９００７）。ファイル取得要求とは、検索計算機１０００がストレージ装置１４００に格納されているファイルを取得するための要求である。
【０１１９】
次に、ストレージ装置１４００のＣＰＵ１４０３は、要求されたファイルを検索計算機１０００に送信する（ステップ９００８）。
【０１２０】
次に、検索計算機１０００のＣＰＵ１００２は、ファイル管理プログラム２００１を実行することによってストレージ装置１４００からファイルを受信し、取得したファイルのインデックスを作成する（ステップ９００９）。具体的には、ＣＰＵ１００２は、インデックス作成プログラム２００３を実行することによって、取得したファイルのインデックスを作成し、作成されたインデックスを書き込む要求をストレージ装置１４００に送信する。このとき、ＣＰＵ１００２は、検索計算機設定テーブル２００５を参照し、取得したファイルが格納されているＬＵに対応するインデックス作成先５００５の値を取得する。そして、ＣＰＵ１００２は、取得したインデックス作成先５００５の値を書き込み先として指定したインデックスの書き込み要求を送信する。
【０１２１】
検索計算機１０００から書き込み要求を受けたストレージ装置１４００のＣＰＵ１４０３は、書き込みを要求されたインデックスを、書き込み要求によって書き込み先として指定されたＬＵに格納する（ステップ９０１０）。このとき、ＣＰＵ１４０３は、ストレージ装置設定テーブル４００４を参照して、インデックスを暗号化するか否かを判定する。具体的には、ＣＰＵ１４０３は、書き込み先として指定されたＬＵに対応する暗号化８００３に「ＯＦＦ」以外の値が格納されている場合、インデックスを暗号化する。暗号化８００３に暗号化キーのビット数が格納されている場合、ＣＰＵ１４０３は、そのビット数の暗号化キーによってインデックスを暗号化する。
【０１２２】
ステップ９０１０におけるインデックスの暗号化はＣＰＵ１４０３が暗号化プログラム４００２を実行することによって、インデックスの格納はＣＰＵ１４０３がデータ処理プログラム４００１を実行することによって実現される。
【０１２３】
上記の図９に示す処理は、ストレージ装置１４００のＣＰＵ１４０３、検索計算機１０００のＣＰＵ１００２及び管理計算機１１００のＣＰＵ１１０２によって実行される。しかし、これらの処理は、任意のＣＰＵによって実行されてもよい。
【０１２４】
例えば、ステップ９００３〜９００９の処理が一つのＣＰＵ（例えば、一つの計算機のＣＰＵ又はストレージ装置１４００のＣＰＵ１４０３）によって実行されてもよい。その場合、これらの処理を実行するＣＰＵに接続されるメモリには、少なくとも図２及び図３に示す全てのプログラム及びテーブルが格納される。
【０１２５】
あるいは、ＬＵに格納されるデータを、ストレージ装置１４００のＣＰＵ１４０３が暗号化する代わりに、いずれかの計算機のＣＰＵ（例えば検索計算機１０００のＣＰＵ１００２）が暗号化してもよい。その場合の構成及び処理については後で図１０及び図１１を参照して説明する。
【０１２６】
図９には、ステップ９００１〜ステップ９００６が、ステップ９００７より前に実行される例を示した。しかし、ステップ９００１〜ステップ９００６は、ステップ９００９より後に実行されてもよい。その場合、ステップ９００６が実行される時点で、これから暗号化されるＬＵに既にインデックスが格納されている場合がある。その場合、ステップ９００６が実行された後、ストレージ装置１４００のＣＰＵ１４０３は、既にＬＵに格納されているインデックスを読み出し、そのインデックスを暗号化し、暗号化されたインデックスをＬＵに格納する必要がある。
【０１２７】
図９に示す本発明の第１の実施形態の暗号化処理では、ストレージ装置１４００がＬＵを暗号化するが、検索計算機１０００がＬＵを暗号化してもよい。
【０１２８】
図１０は、本発明の第１の実施の形態の変形例における検索計算機１０００のメモリ１００７の構成を示す。
【０１２９】
図１０に示される検索計算機１０００のメモリ１００７は、第１の実施の形態の検索計算機１０００のメモリ１００７（図２参照）に暗号化プログラム１５００１を付加した変形例である。暗号化プログラム１５００１以外のプログラム及びテーブルは、図２に記載したものと同様であるため、それらについての説明は省略する。図１の検索計算機１０００のメモリ１００７の代わりに、図１０のメモリ１００７を用いることによって検索計算機１０００を構成することができる。
【０１３０】
暗号化プログラム１５００１は、ＬＵを暗号化する。具体的には、暗号化プログラム１５００１は、ＬＵに格納されるデータを暗号化する。
【０１３１】
なお、この変形例において、ストレージ装置１４００のメモリ１４０４は、暗号化プログラム４００２を格納しなくてもよい。
【０１３２】
図１１は、本発明の第１の実施の形態の暗号化処理の変形例を示すシーケンス図である。
【０１３３】
図１１のステップ１６００１からステップ１６００４は、図９のステップ９００１からステップ９００４に対応し、ステップ１６００７からステップ１６００９は、図９のステップ９００７からステップ９００９に対応するため説明を省略する。
【０１３４】
ステップ１６００５で、管理計算機１１００のＣＰＵ１１０２は、暗号化設定テーブル３００２に登録されているＬＵを指定して検索計算機１０００に暗号化要求を送信する（ステップ１６００５）。このとき送信される暗号化要求は、図９のステップ９００５において送信されるものと同様である。
【０１３５】
検索計算機１０００のＣＰＵ１００２は、管理計算機１１００から暗号化要求を受信すると、指定されたＬＵを暗号化する（ステップ１６００６）。具体的には、ＣＰＵ１００２は、指定されたＬＵを暗号化することを示す情報を保持し、その情報に基づいて、指定されたＬＵに格納されるデータを暗号化する。
【０１３６】
例えば、検索計算機１０００のメモリ１００７に、ストレージ装置設定テーブル４００４のコピーが格納されてもよい。その場合、暗号化要求を受信したＣＰＵ１００２は、図９のステップ９００６におけるＣＰＵ１４０３と同様、暗号化要求によって指定された値を暗号化８００３に設定する。
【０１３７】
その後、検索計算機１０００のＣＰＵ１００２は、ファイル取得要求をストレージ装置１４００に送信する（ステップ１６００７）。ファイル取得要求を受信したストレージ装置１４００のＣＰＵ１４０３は、要求されたファイルを検索計算機１０００に送信する（ステップ１６００８）。ステップ１６００７及び１６００８は、それぞれ、図９のステップ９００７及び９００８と同様である。
【０１３８】
次に、検索計算機１０００のＣＰＵ１００２は、ストレージ装置１４００からファイルを受信し、取得したファイルのインデックスを作成及び送信する（ステップ１６００９）。具体的には、ＣＰＵ１００２は、インデックス作成プログラム２００３を実行することによって、取得したファイルのインデックスを作成する。このとき、ＣＰＵ１００２は、検索計算機設定テーブル２００５を参照し、取得したファイルが格納されているＬＵに対応するインデックス作成先５００５の値を取得する。
【０１３９】
さらに、ＣＰＵ１００２は、取得したインデックス作成先５００５が示すＬＵが暗号化されているか否かを、ストレージ装置設定テーブル４００４のコピーに基づいて判定する。具体的には、ＣＰＵ１００２は、取得したインデックス作成先５００５と同一のＬＵ名８００２に対応する暗号化８００３の値が「ＯＦＦ」以外の値である場合、取得したインデックス作成先５００５が示すＬＵが暗号化されていると判定する。その場合、ＣＰＵ１００２は、暗号化プログラム１５００１を実行することによって、作成したインデックスを暗号化する。このとき、暗号化８００３に格納されているビット数の暗号化キーが使用される。
【０１４０】
そして、ステップ１６００９においてＣＰＵ１００２は、作成されたインデックスを書き込む要求（インデックスが暗号化されている場合、暗号化されたインデックスを書き込む要求）をストレージ装置１４００に送信する。この要求は、インデックスの書き込み先として、取得したインデックス作成先５００５の値が指定されている。
【０１４１】
検索計算機１０００から書き込み要求を受けたストレージ装置１４００のＣＰＵ１４０３は、書き込みを要求されたインデックスを、書き込み要求によって書き込み先として指定されたＬＵに格納する（ステップ１６０１０）。
【０１４２】
このように、ストレージ装置１４００がデータを暗号化する機能を持たない場合であっても、検索計算機１０００のメモリ１００７に暗号化プログラム１５００１が付加されることによって、ＬＵの暗号化処理を実行することができる。
【０１４３】
図１２は、本発明の第１の実施の形態のＬＵ情報からの暗号化判定処理のフローチャートである。
【０１４４】
管理計算機１１００のＣＰＵ１１０２が暗号化判定プログラム３００１を実行することによって、図１２に示す暗号化判定処理が実行される。
【０１４５】
まず、ＣＰＵ１１０２は、検索計算機１０００から受信した検索計算機設定テーブル２００５を読み込む（ステップ１０００１）。
【０１４６】
次に、ＣＰＵ１１０２は、ストレージ装置１４００から受信したストレージ装置設定テーブル４００４を読み込み、そのテーブルの先頭のレコードを選択する（ステップ１０００２）。なお、一つのレコードは、図８に示すストレージ装置設定テーブル４００４の一行に相当する。以下、図１２の説明において、選択されたストレージ装置設定テーブル４００４のレコードのＬＵ名８００２によって識別されるＬＵを、選択されたＬＵと記載する。
【０１４７】
次に、ＣＰＵ１１０２は、全てのレコードが処理済みか否か、すなわち、ストレージ装置設定テーブル４００４の全レコードが既に選択され、それらのレコードに対するステップ１０００４から１０００６の処理が終了したか否かを判定する（ステップ１０００３）。全てのレコードが処理されている場合、ＣＰＵ１１０２は図１２に示す処理を終了する。一方、少なくとも一つのレコードがまだ処理されていない場合、処理はステップ１０００４に進む。
【０１４８】
次に、ＣＰＵ１１０２は、検索計算機設定テーブル２００５のレコードのうち、選択されたストレージ装置設定テーブル４００４のレコードのＬＵ名８００２に格納されているものと同じ使用ＬＵ５００２を含むレコードを参照する。そして、ＣＰＵ１１０２は、参照したレコードのＬＵの用途５００３が“ファイル”、かつ、選択されたレコードの暗号化８００３の値が“ＯＮ”であるか否かを判定する（ステップ１０００４）。ただし、暗号化８００３の値が“ＯＦＦ”以外の値（例えば、１２８又は２５６のような暗号化の強度を示す値）である場合、暗号化８００３の値が“ＯＮ”であると判定される。
【０１４９】
ＬＵの用途５００３が“ファイル”、かつ、暗号化８００３の値が“ＯＮ”である場合、選択されたＬＵには、暗号化されたファイルが格納されている。この場合、選択されたＬＵ内のファイルから生成されたインデックスを暗号化する必要がある。選択されたＬＵ内のファイルが暗号化されていても、そのファイルのデータの一部を含むインデックスが暗号化されていなければ、そのインデックスから容易に情報が漏洩する可能性があるためである。したがって、この場合、処理はステップ１０００５に進む。
【０１５０】
一方、ＬＵの用途５００３が“ファイル”でない（すなわち“インデックス”である）場合、選択されたＬＵ内のデータに基づいてインデックスが作成されることはない。暗号化８００３の値が“ＯＮ”でない（すなわち“ＯＦＦ”である）場合、選択されたＬＵ内のファイルは暗号化されていない。すなわち、選択されたＬＵ内のファイルは、情報漏洩を防止する必要がないものであると考えられるため、そのファイルに基づいて作成したインデックスを暗号化する必要がない。このため、ＬＵの用途５００３が“ファイル”でないか、又は、暗号化８００３の値が“ＯＮ”でない場合、処理はステップ１０００６に進む。
【０１５１】
例えば、図５の検索計算機設定テーブル２００５において、使用ＬＵ５００２が「１４１１」であるレコードを参照すると、ＬＵの用途５００３が「ファイル」である。一方、図８のストレージ装置設定テーブル４００４のＬＵ名８００２が「１４１１」であるレコードを参照すると、暗号化８００３は「１２８」である。この場合、ＬＵの用途５００３が“ファイル”、かつ、暗号化８００３の値が“ＯＮ”であるため、処理はステップ１０００５に進む。
【０１５２】
次に、ＣＰＵ１１０２は、選択されたストレージ装置設定テーブル４００４のレコードのストレージ名８００１及び暗号化８００３、及び、ステップ１０００４において参照された検索計算機設定テーブル２００５のインデックス作成先５００５の値を、暗号化設定テーブル３００２に格納する（ステップ１０００５）。
【０１５３】
例えば、図８のストレージ装置設定テーブル４００４のＬＵ名８００２が「１４１１」であるレコードが選択された場合、そのレコードのストレージ名８００１及び暗号化８００３がそれぞれ「１４００」及び「１２８」である。この場合、暗号化設定テーブル３００２のストレージ名７００１及び暗号化強度７００３にそれぞれ「１４００」及び「１２８」が格納される。この場合、ステップ１０００４において、図５の検索計算機設定テーブル２００５の使用ＬＵ５００２が「１４１１」であるレコードが参照される。この場合、参照されたレコードのインデックス作成先５００５が「１４１２」であるため、ＬＵ名７００２に「１４１２」が格納される。
【０１５４】
なお、複数のＬＵ（例えば、ＬＵ１４１０及びＬＵ１４１１）が暗号化されている場合には、ステップ１０００５が実行される時点で既に暗号化強度７００３に値が格納されていることがある。さらに、それらの複数のＬＵの各々に、互いに異なる強度の暗号化が適用されている場合がある。このような場合、インデックスから情報が漏洩することを確実に防止するために、複数のＬＵに適用されている暗号化の強度のうち、最も強いものを、インデックスが格納されるＬＵに適用する必要がある。
【０１５５】
このため、ＣＰＵ１１０２は、既に暗号化強度７００３に格納されている値と、選択されたレコードの暗号化８００３の値とを比較する。その結果、既に格納されている値より選択されたレコードの暗号化８００３の値がより強い暗号化の強度を示す場合のみ、ＣＰＵ１１０２は、選択されたレコードの暗号化８００３の値によって暗号化強度７００３を更新する。
【０１５６】
次に、ＣＰＵ１１０２は、選択されたストレージ装置設定テーブル４００４のレコードの次のレコードを新たに選択し（ステップ１０００６）、ステップ１０００３に戻る。
【０１５７】
図１３は、本発明の第１の実施の形態のファイル情報からの暗号化判定処理のフローチャートである。
【０１５８】
管理計算機１１００のＣＰＵ１１０２が暗号化判定プログラム３００１を実行することによって、図１２に示す暗号化判定処理が実行される。
【０１５９】
まず、ＣＰＵ１１０２は、検索計算機１０００から受信した検索計算機設定テーブル２００５を読み込む（ステップ１１００１）。
【０１６０】
次に、ＣＰＵ１１０２は、検索計算機１０００から受信したファイル管理テーブル２００６を読み込み、そのテーブルの先頭のレコードを選択する（ステップ１１００２）。以下、図１３の説明において、選択されたファイル管理テーブル２００６のレコードのファイル名６００１によって識別されるファイルを「選択されたファイル」、そのレコードの格納ＬＵ名６００３によって識別されるＬＵを「選択されたＬＵ」と記載する。
【０１６１】
次に、ＣＰＵ１１０２は、全てのレコードが処理済みか否か、すなわち、ファイル管理テーブル２００６の全レコードが既に選択され、それらのレコードに対するステップ１１００４から１１００６の処理が終了したか否かを判定する（ステップ１１００３）。全てのレコードが処理されている場合、ＣＰＵ１１０２は図１３に示す処理を終了する。一方、少なくとも一つのレコードがまだ処理されていない場合、処理はステップ１１００４に進む。
【０１６２】
次に、ＣＰＵ１１０２は、検索計算機設定テーブル２００５のレコードのうち、選択されたファイル管理テーブル２００６のレコードの格納ＬＵ名６００３に格納されているものと同じ使用ＬＵ５００２を含むレコードを参照する。そして、ＣＰＵ１１０２は、参照したレコードのＬＵの用途５００３が“ファイル”、かつ、選択されたレコードの暗号化６００４の値が“ＯＮ”であるか否かを判定する（ステップ１１００４）。ただし、暗号化６００４の値が“ＯＦＦ”以外の値（例えば、１２８又は２５６のような暗号化の強度を示す値）である場合、暗号化６００４の値が“ＯＮ”であると判定される。
【０１６３】
ＬＵの用途５００３が“ファイル”、かつ、暗号化６００４の値が“ＯＮ”である場合、選択されたファイルは暗号化されている。この場合、情報の漏洩を防ぐために、選択されたファイルから生成されたインデックスを暗号化する必要がある。したがって、この場合、処理はステップ１１００５に進む。
【０１６４】
一方、ＬＵの用途５００３が“ファイル”でない（すなわち“インデックス”である）場合、選択されたＬＵ内のデータに基づいてインデックスが作成されることはない。暗号化６００４の値が“ＯＮ”でない（すなわち“ＯＦＦ”である）場合、選択されたファイルは暗号化されていないため、そのファイルに基づいて作成したインデックスを暗号化する必要がない。このため、ＬＵの用途５００３が“ファイル”でないか、又は、暗号化６００４の値が“ＯＮ”でない場合、処理はステップ１１００６に進む。
【０１６５】
例えば、図５の検索計算機設定テーブル２００５において、使用ＬＵ５００２が「１４１１」であるレコードを参照すると、ＬＵの用途５００３が「ファイル」である。一方、図６のファイル管理テーブル２００６の格納ＬＵ名６００３が「１４１１」であるレコードを参照すると、暗号化６００４が「２５６」である。この場合、ＬＵの用途５００３が“ファイル”、かつ、暗号化６００４の値が“ＯＮ”であるため、処理はステップ１１００５に進む。
【０１６６】
次に、ＣＰＵ１１０２は、選択されたファイル管理テーブル２００６のレコードの格納ストレージ名６００２及び暗号化６００４、及び、ステップ１１００４において参照された検索計算機設定テーブル２００５のインデックス作成先５００５の値を、暗号化設定テーブル３００２に格納する（ステップ１１００５）。
【０１６７】
例えば、図６のファイル管理テーブル２００６の格納ＬＵ名が「１４１１」であるレコードが選択された場合、そのレコードの格納ストレージ名６００２及び暗号化６００４がそれぞれ「１４００」及び「２５６」である。この場合、暗号化設定テーブル３００２のストレージ名７００１及び暗号化強度７００３にそれぞれ「１４００」及び「２５６」が格納される。この場合、ステップ１１００４において、図５の検索計算機設定テーブル２００５の使用ＬＵ５００２が「１４１１」であるレコードが参照される。この場合、参照されたレコードのインデックス作成先５００５が「１４１２」であるため、ＬＵ名７００２に「１４１２」が格納される。
【０１６８】
なお、ステップ１０００５が実行される時点で既に暗号化強度７００３に値が格納されている場合がある。これは、既に図１２の処理によって暗号化強度７００３に値が格納されている場合、又は、複数のファイル（例えばＦｉｌｅ１４１３及びＦｉｌｅ１４１４）が暗号化されている場合に発生する。さらに、図１２の処理によって格納された暗号化強度７００３の値が、ファイルに適用されている暗号化強度と異なる場合がある。あるいは、複数のファイルの各々に、互いに異なる強度の暗号化が適用されている場合がある。このような場合、インデックスから情報が漏洩することを確実に防止するために、図１２の処理によって格納された暗号化の強度、及び、複数のファイルに適用されている暗号化の強度のうち、最も強いものを、インデックスが格納されるＬＵに適用する必要がある。
【０１６９】
このため、ＣＰＵ１１０２は、既に暗号化強度７００３に格納されている値と、選択されたレコードの暗号化６００４の値とを比較する。その結果、既に格納されている値より選択されたレコードの暗号化６００４の値がより強い暗号化の強度を示す場合のみ、ＣＰＵ１１０２は、選択されたレコードの暗号化６００４の値によって暗号化強度７００３を更新する。
【０１７０】
例えば、図１２のＬＵ情報からの暗号化判定処理が実行された直後に、暗号化設定テーブル３００２のＬＵ名７００２が「１４１２」であるレコードを参照すると、暗号化強度７００３には「１２８」が格納されている（ステップ１０００５参照）。しかし、図１３のファイル情報からの暗号化判定処理がさらに実行された場合、「２５６」の方が「１２８」よりも暗号化の強度が強いため、暗号化強度７００３に「２５６」が格納される。
【０１７１】
次に、ＣＰＵ１１０２は、選択されたファイル管理テーブル２００６のレコードの次のレコードを新たに選択し（ステップ１１００６）、ステップ１１００３に戻る。
【０１７２】
以上説明したように、本発明の第１の実施の形態によれば、ファイルを検索するためのインデックスを作成するときに、そのファイルが暗号化されているか否かが判定される。そのファイルが暗号化されている場合、作成されたインデックスも暗号化され、ＬＵに格納される。このため、機密情報が漏洩する危険性を低くすることができる。
【０１７３】
一方、作成された全てのインデックスを暗号化した場合、インデックス作成及び検索時にボリューム全体の暗号化及び複合化に時間がかかるため、インデックス作成及び検索の速度が低下する。しかし、本発明の第１の実施の形態によれば、ファイルが暗号化されていない場合、作成されたファイルは暗号化されない。このように、不要な暗号化を省略することによって、暗号化の実行による処理速度の低下、及び、復号化の実行による検索処理速度の低下を抑えることができる。
【０１７４】
＜第２の実施の形態＞
本発明の第２の実施の形態では、検索計算機１０００がストレージ装置１４００に格納されているファイルのインデックスを作成するときにインデックス判定処理を実行する。第２の実施の形態のうち、第１の実施の形態と同様の部分については説明を省略する。
【０１７５】
第２の実施の形態の計算機システムの構成は、図１に示す通りである。第１の実施の形態と異なり、第２の実施の形態のＬＵ１４１２には、Ｉｎｄｅｘ１４１５に加えて、Ｉｎｄｅｘ１４１６が格納される。Ｉｎｄｅｘ１４１５及びＩｎｄｅｘ１４１６には、ユーザデータが格納されたファイル（例えばＦｉｌｅ１４１３又はＦｉｌｅ１４１４）から作成されたインデックスを格納する。第２の実施の形態において、Ｉｎｄｅｘ１４１５は、暗号化されていないインデックスを格納するファイルであり、Ｉｎｄｅｘ１４１６は、暗号化されたインデックスを格納するファイルである。
【０１７６】
図１４は、本発明の第２の実施の形態のファイル管理テーブル２００６の構成を示す。
【０１７７】
第２の実施の形態のファイル管理テーブル２００６は、Ｉｎｄｅｘ１４１６に対応するレコードが第４行として追加されている点を除いて、第１の実施の形態のファイル管理テーブル２００６（図６参照）と同様である。
【０１７８】
図１４の例では、ファイル管理テーブル２００６の第４行のファイル名６００１、格納ストレージ名６００２、格納ＬＵ名６００３及び暗号化６００４として、それぞれ、「１４１６」、「１４００」、「１４１２」及び「１２８」が格納されている。これは、ストレージ装置１４００のＬＵ１４１２に格納されているＩｎｄｅｘ１４１６が、そのＩｎｄｅｘ１４１６を作成した上位の計算機（例えば検索計算機１０００）によって暗号化されていること、及び、その暗号化に使用されたキーの長さが１２８ビットであることを示す。
【０１７９】
図１５は、本発明の第２の実施の形態の暗号化処理のシーケンス図である。
【０１８０】
ファイル取得要求の送信（ステップ１３００１）及びファイルの送信（ステップ１３００２）は、それぞれ、図９のステップ９００７及びステップ９００８と同様であるため、これらの説明を省略する。
【０１８１】
ストレージ装置１４００からファイルを受信した検索計算機１０００のＣＰＵ１００２は、インデックス判定処理を実行し（ステップ１３００３）、インデックスを作成する。インデックス判定処理については、後述する図１６で詳細に説明する。さらに、ＣＰＵ１００２は、インデックス判定処理によって作成されたインデックスを書き込む要求を、ストレージ装置１４００に送信する。この書き込み要求は、作成されたインデックス、及び、そのインデックスの格納先の記憶領域（具体的には、Ｉｎｄｅｘ１４１５又はＩｎｄｅｘ１４１６に対応する記憶領域）を示す情報を含む。
【０１８２】
書き込み要求を受信したストレージ装置１４００は、書き込みを要求されたインデックスを、書き込み要求によって指定された格納先の記憶領域に格納する（ステップ１３００４）。
【０１８３】
図１６は、本発明の第２の実施の形態のインデックス判定処理を示すフローチャートである。
【０１８４】
検索計算機１０００のＣＰＵ１００２がインデックス作成プログラム２００３を実行することによって、図１６に示すインデックス判定処理が実行される。
【０１８５】
まず、ＣＰＵ１００２は、検索計算機設定テーブル２００５を読み込む（ステップ１４００１）。
【０１８６】
次に、ＣＰＵ１００２は、ファイル管理テーブル２００６を読み込み、そのテーブルの先頭のレコードを選択する（ステップ１４００２）。以下、図１６の説明において、選択されたファイル管理テーブル２００６のレコードのファイル名６００１によって識別されるファイルを「選択されたファイル」、そのレコードの格納ＬＵ名６００３によって識別されるＬＵを「選択されたＬＵ」と記載する。
【０１８７】
次に、ＣＰＵ１００２は、全てのレコードが処理済みか否か、すなわち、ファイル管理テーブル２００６の全レコードが既に選択され、それらのレコードに対するステップ１４００４から１４００７の処理が終了したか否かを判定する（ステップ１４００３）。全てのレコードが処理されている場合、ＣＰＵ１００２は図１６に示す処理を終了する。一方、少なくとも一つのレコードがまだ処理されていない場合、処理はステップ１４００４に進む。
【０１８８】
次に、ＣＰＵ１００２は、検索計算機設定テーブル２００５のレコードのうち、選択されたファイル管理テーブル２００６のレコードの格納ＬＵ名６００３に格納されているものと同じ使用ＬＵ５００２を含むレコードを参照する。そして、ＣＰＵ１００２は、参照したレコードのＬＵの用途５００３が“ファイル”、かつ、選択されたレコードの暗号化６００４の値が“ＯＮ”であるか否かを判定する（ステップ１４００４）。
【０１８９】
ＬＵの用途５００３が“ファイル”、かつ、暗号化６００４の値が“ＯＮ”である場合、選択されたファイルは暗号化されている。この場合、情報の漏洩を防ぐために、選択されたファイルから生成されたインデックスを暗号化する必要がある。したがって、この場合、処理はステップ１４００５に進む。
【０１９０】
一方、ＬＵの用途５００３が“ファイル”でない（すなわち“インデックス”である）場合、選択されたＬＵ内のデータに基づいてインデックスが作成されることはない。暗号化６００４の値が“ＯＮ”でない（すなわち“ＯＦＦ”である）場合、選択されたファイルは暗号化されていないため、そのファイルに基づいて作成したインデックスを暗号化する必要がない。このため、ＬＵの用途５００３が“ファイル”でないか、又は、暗号化６００４の値が“ＯＮ”でない場合、処理はステップ１４００６に進む。
【０１９１】
例えば、図５の検索計算機設定テーブル２００５において、使用ＬＵ５００２が「１４１１」であるレコードを参照すると、ＬＵの用途５００３が「ファイル」である。一方、図１４のファイル管理テーブル２００６の格納ＬＵ名６００３が「１４１１」であるレコードを参照すると、暗号化６００４が「２５６」である。この場合、ＬＵの用途５００３が“ファイル”、かつ、暗号化６００４の値が“ＯＮ”であるため、処理はステップ１４００５に進む。
【０１９２】
ステップ１４００５で、ＣＰＵ１００２は、選択されたファイルのインデックスを、暗号化されているインデックス格納ファイル（すなわち図１のＩｎｄｅｘ１４１６）に作成する。具体的には、ＣＰＵ１００２が、選択されたファイルに基づいて、そのファイルを検索するためのインデックスを作成し、作成されたインデックスを暗号化する。そして、ＣＰＵ１００２は、暗号化されたインデックスをＩｎｄｅｘ１４１６に書き込む要求をストレージ装置１４００に送信する。
【０１９３】
ステップ１４００５の暗号化を実行するために、インデックス作成プログラム２００３がデータを暗号化する機能を備える必要がある。あるいは、ステップ１４００５において、データを暗号化する機能を備える他のプログラムが呼び出されてもよい。
【０１９４】
ステップ１４００６で、ＣＰＵ１００２は、選択されたファイルのインデックスを、暗号化されていないインデックス格納ファイル（すなわち図１のＩｎｄｅｘ１４１５）に作成する。具体的には、ＣＰＵ１００２が、選択されたレコードのファイルに基づいて、そのファイルを検索するためのインデックスを作成する。そして、ＣＰＵ１００２は、作成されたインデックスをＩｎｄｅｘ１４１５に書き込む要求をストレージ装置１４００に送信する。
【０１９５】
次に、ＣＰＵ１００２は、選択されたファイル管理テーブル２００６のレコードの次のレコードを新たに選択し（ステップ１４００６）、ステップ１４００３に戻る。
【０１９６】
なお、図１６では、ＬＵに格納されているファイル単位でインデックス判定処理が実行されるが、ＬＵ単位でインデックス判定処理が実行されてもよい。具体的には、あるＬＵの情報に基づいて、そのＬＵに格納されている全てのファイルのインデックスをどのインデックス格納ファイルに作成するか判断される。
【０１９７】
この場合、図１６のステップ１４００２で、ＣＰＵ１００２は、ストレージ装置設定テーブル４００４を読み込む。なお、検索計算機１０００は、ストレージ装置設定テーブル４００４を読み込むために、ストレージ装置１４００からあらかじめストレージ装置設定テーブル４００４を受信しておく。
【０１９８】
図１６のステップ１４００４で、ＣＰＵ１００２は、選択されたストレージ装置設定テーブル４００４のレコードのＬＵ名８００２と同じ値が使用ＬＵ５００２として格納されている検索計算機設定テーブル２００５のレコードを参照する。そして、ＣＰＵ１００２は、参照したレコードのＬＵの用途５００３が“ファイル”、かつ、選択されたレコードの暗号化８００３の値が“ＯＮ”であるか否かを判定する。
【０１９９】
ＬＵの用途５００３が“ファイル”、かつ、暗号化８００３の値が“ＯＮ”である場合、処理はステップ１４００５に進む。一方、ＬＵの用途５００３が“ファイル”でないか、又は、暗号化８００３の値が“ＯＮ”でない場合、処理はステップ１４００６に進む。
【０２００】
ステップ１４００５で、ＣＰＵ１００２は、選択されたレコードのＬＵ名８００２によって識別されるＬＵに格納されているファイルのインデックスを、暗号化されているインデックス格納ファイル（すなわち図１のＩｎｄｅｘ１４１６）に作成する。具体的には、ＣＰＵ１００２が、選択されているレコードのＬＵ名８００２によって識別されるＬＵに格納されているファイルのインデックスを作成し、作成されたインデックスを暗号化して、Ｉｎｄｅｘ１４１６に格納する。
【０２０１】
ステップ１４００６で、ＣＰＵ１００２は、選択されたレコードのＬＵ名８００２によって識別されるＬＵに格納されているファイルのインデックスを、暗号化されていないインデックス格納ファイル（すなわち図１のＩｎｄｅｘ１４１５）に作成する。具体的には、ＣＰＵ１００２が、選択されているレコードのＬＵ名８００２によって識別されるＬＵに格納されているファイルのインデックスを作成し、作成されたインデックスをＦｉｌｅ１４１５に格納する。
【０２０２】
以上説明したように、本発明の第２の実施の形態によって、暗号化されたファイルのインデックスが、暗号化されたインデックスファイルに作成される。このため、機密情報が漏洩する危険性を低くすることができる。また、暗号化されていないファイルのインデックスを、暗号化されていないインデックスファイルに作成するため、暗号化する必要がないインデックスの暗号化を省略することができる。このため、インデックス作成及び検索の速度の低下を抑えることができる。
【図面の簡単な説明】
【０２０３】
【図１】本発明の第１の実施の形態の計算機システムの構成図である。
【図２】本発明の第１の実施の形態の検索計算機のメモリの構成を示す。
【図３】本発明の第１の実施の形態の管理計算機のメモリの構成を示す。
【図４】本発明の第１の実施の形態のストレージ装置のメモリの構成を示す。
【図５】本発明の第１の実施の形態の検索計算機設定テーブルの構成を示す。
【図６】本発明の第１の実施の形態のファイル管理テーブルの構成を示す。
【図７】本発明の第１の実施の形態の暗号化設定テーブルの構成を示す。
【図８】本発明の第１の実施の形態のストレージ装置設定テーブルの構成を示す。
【図９】本発明の第１の実施の形態の暗号化処理のシーケンス図である。
【図１０】本発明の第１の実施の形態の変形例における検索計算機のメモリの構成を示す。
【図１１】本発明の第１の実施の形態の暗号化処理の変形例を示すシーケンス図である。
【図１２】本発明の第１の実施の形態のＬＵ情報からの暗号化判定処理のフローチャートである。
【図１３】本発明の第１の実施の形態のファイル情報からの暗号化判定処理のフローチャートである。
【図１４】本発明の第２の実施の形態のファイル管理テーブルの構成を示す。
【図１５】本発明の第２の実施の形態の暗号化処理のシーケンス図である。
【図１６】本発明の第２の実施の形態のインデックス判定処理を示すフローチャートである。
【符号の説明】
【０２０４】
１０００  検索計算機
１１００  管理計算機
１２００  ＦＣスイッチ
１３００  ＩＰスイッチ
１４００  ストレージ装置
【図１】
2009064055.tif 000003
【図２】
2009064055.tif 000004
【図３】
2009064055.tif 000005
【図４】
2009064055.tif 000006
【図５】
2009064055.tif 000007
【図６】
2009064055.tif 000008
【図７】
2009064055.tif 000009
【図８】
2009064055.tif 000010
【図９】
2009064055.tif 000011
【図１０】
2009064055.tif 000012
【図１１】
2009064055.tif 000013
【図１２】
2009064055.tif 000014
【図１３】
2009064055.tif 000015
【図１４】
2009064055.tif 000016
【図１５】
2009064055.tif 000017
【図１６】
2009064055.tif 000018