(57)【要約】【課題】  ファイルを暗号化して所定の場所に記憶することが可能な情報処理装置において、当該ファイルを記憶するに際して、当該記憶後のファイルの内容が第三者に容易に認識できないようにする。【解決手段】  入力されるファイルをヘッダ部とデータ部とに分離する分離手段（１０１）と、該分離されたデータ部を暗号化して該ヘッダ部に含まれる情報と関連づけて保存する保存手段（１０３、１０４）とを備える情報処理装置（１００）であって、前記分離手段（１０１）により分離して得られた前記データ部から、前記ファイルを特定するためのキーワードを抽出し、該抽出されたキーワードをハッシュ値に変換する第１の変換手段（１０５、１０６）と、前記第１の変換手段（１０５、１０６）により得られたハッシュ値を前記ヘッダ部に含まれる情報と関連づけて記憶する記憶手段（１０７）とを備える。【選択図】  図１
2006172135.tif 000002
【特許請求の範囲】
【請求項１】
入力されるファイルをヘッダ部とデータ部とに分離する分離手段と、該分離手段により分離により分離して得られたデータ部を暗号化して該ヘッダ部に含まれる情報と関連づけて保存する保存手段とを備える情報処理装置であって、
前記分離手段により分離して得られた前記データ部から、前記ファイルを特定するためのキーワードを抽出し、該抽出されたキーワードをハッシュ値に変換する第１の変換手段と、
前記第１の変換手段により得られたハッシュ値を前記分離手段により分離して得られた前記ヘッダ部に含まれる情報と関連づけて記憶する記憶手段と
を備えることを特徴とする情報処理装置。
【請求項２】
入力されるキーワードをハッシュ値に変換する第２の変換手段と、
前記第２の変換手段により得られたハッシュ値に基づいて、前記記憶手段に記憶されているハッシュ値を検索する検索手段と、
前記検索手段により検索されたハッシュ値に関連づけて前記記憶手段に記憶された前記ヘッダ部に含まれる情報を出力する出力手段と
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
入力されるファイルをヘッダ部とデータ部とに分離する分離工程と、該分離工程により分離により分離して得られたデータ部を暗号化して該ヘッダ部に含まれる情報と関連づけて保存する保存工程とを備える情報処理方法であって、
前記分離工程により分離して得られた前記データ部から、前記ファイルを特定するためのキーワードを抽出し、該抽出されたキーワードをハッシュ値に変換する第１の変換工程と、
前記第１の変換工程により得られたハッシュ値を前記分離工程により分離して得られた前記ヘッダ部に含まれる情報と関連づけて記憶する記憶工程と
を備えることを特徴とする情報処理方法。
【請求項４】
入力されるキーワードをハッシュ値に変換する第２の変換工程と、
前記第２の変換工程により得られたハッシュ値に基づいて、前記記憶工程により記憶された前記ハッシュ値を検索する検索工程と、
前記検索工程により検索された前記ハッシュ値に関連づけて前記記憶工程により記憶された前記ヘッダ部に含まれる情報を出力する出力工程と
を更に備えることを特徴とする請求項３に記載の情報処理方法。
【請求項５】
請求項３または４に記載の情報処理方法をコンピュータによって実現させるための制御プログラムを格納した記憶媒体。
【請求項６】
請求項３または４に記載の情報処理方法をコンピュータによって実現させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルの暗号化処理技術ならびに暗号化されたファイルの検索処理技術に関する。
【背景技術】
【０００２】
各種ファイルを所定の場所に記憶するファイル記憶機能とともに、必要に応じてキーワードデータを入力するだけで、該当ファイルを検索することが可能なファイル検索機能を備えるサーバが一般に知られている。
【０００３】
そして、近年、セキュリティに関する関心が高まるにつれ、当該サーバ上に記憶されるファイルを暗号化しておこうという動きが高まっている。こうすることにより、ハードディスクの故障等によりハードディスクを交換する際に、ハードディスクが持ち出されることによるファイル内容の漏洩のリスクを減らすことができるからである。
【０００４】
このため、最近では、ファイル書き込み時にファイルの内容を自動的に暗号化するファイル暗号化機能を備えるサーバも出回り始めている（例えば、特許文献１参照）。以下、このようなサーバにおけるファイル暗号化機能、該ファイル暗号化機能により生成されたキーワードデータ、ならびにファイル検索機能について簡単に説明する。
【０００５】
＜ファイル暗号化機能の機能ブロック構成＞
上記サーバにおけるファイル暗号化機能の機能ブロック構成の一例を図２に示す。図２において、２００はファイル暗号化部、２２０は暗号化されたファイルを格納するボリュームディスク、２３０は格納されるファイルに含まれるキーワードを格納するためのキーワードディスクである。なお、図２の例では、ボリュームディスク２２０およびキーワードディスク２３０としては、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｒａｇｅ）が使用されているものとする。
【０００６】
ファイル暗号化部２００へのファイル書き込み要求２１０は、ファイル名／データ分離部２０１に入力され、ファイル名の部分２１２（ファイルのヘッダ部）とファイルの内容部分２１１（ファイルのデータ部）とに分けられる。ファイルの内容部分２１１は暗号化部２０３に入力された後、暗号化され、ファイル名／データ合成部２０４に入力される。ここで、先ほどファイル名／データ分離部２０１で分離されたファイル名の部分（２１２）と暗号化されたファイルの内容部分とが合成され、ボリュームディスク２２０に書き込まれる。なお、ファイル名の部分２１２を暗号化しないのは、ファイル名の部分まで暗号化してしまうと、バックアップの際にどれをバックアップすべきかの判別がつかなくなってしまうためである。
【０００７】
さらに、図２に示すファイル暗号化部２００は、ファイルに含まれるキーワードの抽出も行っている。ファイル名／データ分離部２０１で切り出されたファイルの内容部分（２１１）は、キーワード抽出部２０５にも入力され、ここでキーワードの抽出が行われる。キーワード抽出のアルゴリズムは、例えば構文解析に基づく単語切り出しやｎグラム抽出などが考えられる。キーワード抽出部２０５で抽出されたキーワードは、ファイル名／キーワード合成部２０７に入力され、そこでファイル名／データ分離部２０１で分離されたファイル名の部分と合成され、キーワードディスク２３０に格納される。
【０００８】
＜キーワードデータの構成＞
次に、上記サーバにおけるファイル暗号化機能を用いて生成されたキーワードデータの構成について説明する。図３は、キーワードディスク２３０に格納されるキーワードデータの一例を示した図である。キーワードディスク２３０に格納されるキーワードデータ３００は、例えば表形式になっており、抽出されたキーワード（３０１）毎に、それを含んでいたファイル名（ヘッダ部ｎ含まれる情報）と行のデータ（３０２）が格納されている。例えば、東京というキーワードは、ｆｉｌｅ１．ｔｘｔの２６行目に格納されていたことがわかる（３０２参照）。また、札幌というキーワードは、ｆｉｌｅ３．ｄｏｃの４行目（３０２参照）とｃｃｃ．ｔｘｔの４０８行目（３０３参照）の２つのファイルに含まれていることがわかる。
【０００９】
＜ファイル検索機能の機能ブロック構成＞
次に、上記サーバにおけるファイル暗号化機能により暗号化されたファイルを検索するためのファイル検索機能について説明する。当該ファイル検索機能によれば、キーワードディスク２３０に格納されているキーワードデータ３００を使用して、上記図２のファイル暗号化部２００により暗号化されたファイルについて、キーワード検索を行うことができる。そのための構成の一例を図４に示す。図４において、ファイル暗号化部２００、ボリュームディスク２２０、キーワードディスク２３０は、すでに図２において説明したので、ここでは説明を省略する。４０１はファイル検索部であり、キーワード４１０を入力としてキーワードディスク２３０を検索し、結果４１１を不図示のクライアントに返す。
【００１０】
上記のような構成により、上記サーバはファイルを所定の場所に記憶するに際してファイルの内容を自動的に暗号化することができる。
【特許文献１】特開平１０−２６０９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ここで、上記サーバのファイル暗号化機能によれば、キーワードディスク２３０に格納されるキーワードは平文のままである。これは、キーワードを暗号化してしまうと、ファイル検索機能によるキーワード検索ができなくなってしまうからである。
【００１２】
しかしながら、キーワードディスク２３０に格納されるキーワードを平文のままに残しておくこととすると、キーワードディスクの管理者（つまりサーバ管理者）によって、ボリュームディスク２２０に入っているファイルの内容を推測されてしまうという問題点がある。
【００１３】
一方、キーワードの暗号化に際して、例えば「鍵」を用意し、当該鍵を用いて復号化したうえでキーワード検索を行うことも考えられるが、かかる方法の場合、ファイル検索部４０１との鍵同期の問題や（同じ暗号鍵を使う必要があるため）、鍵を隠す方法、鍵の更新方法など、鍵管理に関する別の各種問題が浮上することになる。このため、簡易な方法でファイルの暗号化を行い、かつ簡易な方法で当該暗号化されたファイルのキーワード検索が行えることが望ましい。
【００１４】
本発明は、上記課題に鑑みてなされたものであり、第１の目的は、ファイルを暗号化して所定の場所に記憶することが可能な情報処理装置において、当該ファイルを記憶するに際して、当該記憶後のファイルの内容が第三者に容易に認識できないようにすることにある。
【００１５】
また、第２の目的は、記憶されたファイルを検索可能な情報処理装置において、当該ファイルが、当該第三者によって容易に内容が認識できないように記憶されていた場合であっても、簡易にキーワード検索ができるようにすることにある。
【課題を解決するための手段】
【００１６】
上記の目的を達成するために本発明に係る情報処理装置は以下のような構成を備える。即ち、
入力されるファイルをヘッダ部とデータ部とに分離する分離手段と、該分離手段により分離して得られた該データ部を暗号化して該ヘッダ部に含まれる情報と関連づけて記憶する第１の記憶手段とを備える情報処理装置であって、
前記分離手段により分離して得られた前記データ部から、前記ファイルを特定するためのキーワードを抽出し、該抽出されたキーワードをハッシュ値に変換する第１の変換手段と、
前記第１の変換手段により得られたハッシュ値を前記分離手段により分離して得られた前記ヘッダ部に含まれる情報と関連づけて記憶する第２の記憶手段とを備える。
【発明の効果】
【００１７】
本発明によれば、ファイルを暗号化して所定の場所に記憶することが可能な情報処理装置において、当該ファイルを記憶するに際して、当該記憶後のファイルの内容が第三者に容易に認識できないようにすることが可能になる。
【００１８】
また、本発明によれば、記憶されたファイルを検索可能な情報処理装置において、当該ファイルが、当該第三者によって容易に内容が認識できないように記憶されていた場合であっても、簡易にキーワード検索ができるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、必要に応じて添付図面を参照しながら本発明の実施形態を詳細に説明する。
【００２０】
＜ハードウェア構成＞
はじめに、本発明の一実施形態にかかる情報処理装置（サーバ）のハードウェア構成について図５を用いて説明する。
【００２１】
図５において、５００はサーバであり、図４に示すサーバ４０１と同等である。サーバ５００は、ＲＯＭ５０２もしくはハードディスク（ＨＤ）５１１に記憶されたソフトウェアを実行するＣＰＵ５０１を備え、そのＣＰＵ５０１は、システムバス５０４に接続される各デバイスを総括的に制御する。
【００２２】
５０３はＲＡＭで、ＣＰＵ５０１の主メモリ、ワークエリア等として機能する。５０５はキーボードコントローラ（ＫＢＤＣ）で、キーボード（ＫＢＤ）５０９からの指示入力を制御する。５０６はディスプレイコントローラ（ＤＩＳＰＣ）で、ディスプレイ（ＤＩＳＰＬＡＹ）５１０の表示を制御する。５０７はディスクコントローラ（ＤＫＣ）で、ハードディスク（ＨＤ）５１１とのアクセスを制御する。５０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ５１２を介して、他のネットワーク機器あるいは他のＰＣと双方向にデータをやりとりする。
【００２３】
このサーバ５００の上で、ファイル暗号化機能を実現するためのプログラム（暗号化プログラム）またはファイル検索機能を実現するためのプログラム（検索プログラム）を動作させることにより、ファイル暗号化及びファイル検索機能を実現することができる。
【００２４】
＜ファイル暗号化機能の機能ブロック構成＞
図１は、本発明の一実施形態にかかる情報処理装置（サーバ５００）におけるファイル暗号化機能の機能ブロック構成を示す図である。
【００２５】
図１において、ファイル名／データ分離部１０１、暗号化部１０３、ファイル名／データ合成部１０４、キーワード抽出部１０５、ファイル名／キーワード合成部１０７、ファイル書き込み要求１１０、ボリュームディスク１２０およびキーワードディスク１３０は、それぞれ図２におけるファイル名／データ分離部２０１、暗号化部２０３、ファイル名／データ合成部２０４、キーワード抽出部２０５、ファイル名／キーワード合成部２０７、ファイル書き込み要求２１０、ボリュームディスク２２０およびキーワードディスク２３０に相当し、同じ動作をするので説明を省略する。
【００２６】
図１における１０６はＨａｓｈ（ハッシュ）化部である。ＭＤ５あるいはＳＨＡ−１などのハッシュ関数を用いて、キーワード抽出部１０５で切り出されたキーワードをハッシュ値に変換する。
【００２７】
ハッシュ値に変換されたキーワードは、ファイル名／キーワード合成部１０７でファイル名と合成され、キーワードディスク１３０にキーワードデータとして格納される。
【００２８】
＜キーワードデータの構成＞
図７は、キーワードディスク１３０に格納されるキーワードデータ７００の一例を示した図である。同図に示すようにキーワードのハッシュ値を格納する欄７０１に、それぞれのキーワードに対応するハッシュ値が格納される。このように格納されているのがハッシュ値であるため、たとえキーワードディスク１３０の管理者であろうとも、内容を推測することは不可能である。
【００２９】
なお、キーワードデータ７００は、図３におけるキーワードデータ３００と同じ形式であり、相違点は格納されている値が生のキーワードデータであるかハッシュ値であるかの違いだけである。このため、ファイル検索機能を実現するサーバ５００およびファイル検索機能のアルゴリズムも従来とほぼ同じものを使うことができるという利点がある。
【００３０】
＜ファイル検索機能の機能ブロック構成＞
図８は、本発明の一実施形態にかかる情報処理装置（サーバ５００）におけるファイル暗号化機能およびファイル検索機能の機能ブロック構成を示す図である。図８において、８０２はハッシュ化部であり、クライアント（不図示）からの検索キーワードの入力に基づいて、そのハッシュ値を出力する。この際のハッシュアルゴリズムは、図１におけるハッシュ化部１０６で採用したものと同じアルゴリズムを用いる。
【００３１】
ハッシュ化部８０２から出力されたハッシュ値は、ファイル検索部８０３に入力される。ファイル検索部８０１では、先にファイル検索部４０１の動作として説明したのとほぼ同じアルゴリズムによって検索が行われる（詳細は後述）。
【００３２】
＜ファイル検索機能を実現するためのファイル検索処理の流れ＞
ファイル検索機能を実現するためのファイル検索処理の流れを図６に示す。なお、本実施形態においては、ファイル検索処理を実行するにあたり、サーバ５００において検索のためのＷｅｂサービスが動作しているものとする。そして、検索キーワードの入力は、ＬＡＮ５１２を介してなされるものとし、検索結果は再びＬＡＮ５１２に返されるものとする。
【００３３】
図６のフローチャートにおいて、検索キーワードを受け取ったら、まずステップ６０１において、キーワードデータ７００の全ての行をチェックしたかどうかを判断する。もしすべての行をチェックし終えていたら処理を終了する。一方ステップ６０１において、すべての行をチェックし終えていないと判断した場合には、ステップ６０２に進む。
【００３４】
ステップ６０２では、注目している行のハッシュ値７０１を見て、検索キーワードのハッシュ値とハッシュ値７０１とが同じかどうかを判断する。もし同じであればステップ６０３に進む。
【００３５】
ステップ６０３では、同じ行にある、ファイル名と行を示す欄７０２、７０３、７０４・・・にアクセスし、ファイル名と行を取得し、不図示のクライアントに検索結果として返す。
【００３６】
一方ステップ６０２において、ハッシュ値が同じではないと判断された場合にはステップ６０４に進み、注目すべき行を次の行にすべく行ポインタを次の行に移動させる。そして、ステップ６０１に戻って処理を続行する。
【００３７】
＜その他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダなど）から構成されるシステムあるいは統合装置に適用しても、ひとつの機器からなる装置に適用してもよい。
【００３８】
また、前述した実施形態の機能（ファイル暗号化機能、ファイル検索機能）を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００３９】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４０】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００４１】
図９は、記憶媒体としてＣＤ−ＲＯＭが用いられた場合のメモリマップの一例を示す図である。９０１はディレクトリ情報を記憶してある領域で、以降のインストールプログラムを記憶してある領域９０２およびデバイス制御プログラムを記憶してある領域９０３の位置を示している。９０２は、インストールプログラムを記憶してある領域である。９０３は、検索プログラムを記憶してある領域である。本発明の検索プログラムをファイル検索機能として機能させるべくインストールする際には、まずインストールプログラムを記憶してある領域９０７に記憶されているインストールプログラムがサーバ５００にロードされ、ＣＰＵ５０１によって実行される。次に、ＣＰＵ５０１によって実行されるインストールプログラムが、検索プログラムを記憶してある領域９０３からデバイス制御プログラムを読み出して、ハードディスク５１１に格納する。
【００４２】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００４３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００４４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体から、そのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態にかかるサーバにおけるファイル暗号化機能の機能ブロック構成を示す図である。
【図２】従来のサーバにおけるファイル暗号化機能の機能ブロック構成の一例を示す図である。
【図３】従来のサーバにおいてキーワードディスクに格納されるキーワードデータの一例を示した図である。
【図４】従来のサーバにおけるファイル暗号化機能およびファイル検索機能の機能ブロック構成を示す図である。
【図５】本発明の一実施形態にかかるサーバのハードウェア構成を示す図である。
【図６】本発明の一実施形態にかかるサーバにおいてファイル検索機能を実現するためのファイル検索処理の流れを示すフローチャートである。
【図７】キーワードディスクに格納されるキーワードデータの一例を示した図である。
【図８】本発明の一実施形態にかかるサーバにおけるファイル暗号化機能およびファイル検索機能の機能ブロック構成を示す図である。
【図９】記憶媒体としてＣＤ−ＲＯＭが用いられた場合のメモリマップの一例を示す図である。
【符号の説明】
【００４６】
１００、２００  ファイル暗号化部
１０１、２０１  ファイル名／データ分離部
１０３、２０３  暗号化部
１０４、２０４  ファイル名／データ合成部
１０５、２０５  キーワード抽出部
１０６          ハッシュ化部
８０２          ハッシュ化部
１３０、２３０  キーワードディスク
４０１、８０１  ファイル検索部
【図１】
2006172135.tif 000003
【図２】
2006172135.tif 000004
【図３】
2006172135.tif 000005
【図４】
2006172135.tif 000006
【図５】
2006172135.tif 000007
【図６】
2006172135.tif 000008
【図７】
2006172135.tif 000009
【図８】
2006172135.tif 000010
【図９】
2006172135.tif 000011