トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 暗号化ファイル検索方法及びその装置並びにコンピュータ可読記録媒体
【発明者】 【氏名】青木 和彦

【氏名】濱田 智弘

【要約】 【課題】暗号化ファイルに対する各種の検索をセキュリティ性を確保しながら実施し得るようにする。

【解決手段】暗号化ファイル2は、複数の項目を持つレコードの集合で構成され、複数の項目のうち少なくとも検索する際のキーとなるキー項目が暗号化されている。検索装置1の展開手段11は、暗号化ファイル2の各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上のワーク領域13に展開する。検索手段12は、利用者から与えられる検索条件を満たすキー項目をワーク領域13上で検索し、検索に成功すれば該当する元のレコードを暗号化ファイル2から読み出し、復号化して利用者に提示する。復号化したデータはコンピュータ外部からアクセスできない主記憶上に展開する為セキュリティ性を確保でき、キー項目を復号化した状態で検索するので、部分一致検索など各種の検索が可能となる。
【特許請求の範囲】
【請求項1】 複数の項目を持つレコードの集合で構成され且つ前記複数の項目のうち少なくとも検索する際のキーとなるキー項目が暗号化されている暗号化ファイルの検索方法において、(a)各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上に展開するステップと、(b)検索条件を満たすキー項目を主記憶上に展開されたキー項目から検索するステップと、を含む暗号化ファイル検索方法。
【請求項2】 前記ステップaは、主記憶上にワーク領域を確保するステップと、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、前記確保されたワーク領域に展開するステップと、一連の検索処理の終了時に前記ワーク領域を解放するステップとを含む請求項1記載の暗号化ファイル検索方法。
【請求項3】 前記ステップbは、検索条件を満たすキー項目に付加された前記識別子に基づいて暗号化ファイルから該当するレコードを読み出し復号化して検索結果に含める請求項1または2記載の暗号化ファイル検索方法。
【請求項4】 複数の項目を持つレコードの集合で構成され且つ前記複数の項目のうち少なくとも検索する際のキーとなるキー項目が暗号化されている暗号化ファイルの検索装置において、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上に展開する展開手段と、検索条件を満たすキー項目を主記憶上に展開されたキー項目から検索する検索手段とを有する暗号化ファイル検索装置。
【請求項5】 前記展開手段は、主記憶上にワーク領域を確保する手段と、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、前記確保されたワーク領域に展開する手段と、一連の検索処理の終了時に前記ワーク領域を解放する手段とを含む請求項4記載の暗号化ファイル検索装置。
【請求項6】 前記検索手段は、検索条件を満たすキー項目に付加された前記識別子に基づいて暗号化ファイルから該当するレコードを読み出し復号化して検索結果に含める構成を有する請求項4または5記載の暗号化ファイル検索装置。
【請求項7】 複数の項目を持つレコードの集合で構成され且つ前記複数の項目のうち少なくとも検索する際のキーとなるキー項目が暗号化されている暗号化ファイルの検索装置を構成するコンピュータを、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上に展開する展開手段、検索条件を満たすキー項目を主記憶上に展開されたキー項目から検索する検索手段、として機能させるプログラムを記録したコンピュータ可読記録媒体。
【請求項8】 前記展開手段は、主記憶上にワーク領域を確保する手段と、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、前記確保されたワーク領域に展開する手段と、一連の検索処理の終了時に前記ワーク領域を解放する手段とを含む請求項7記載のコンピュータ可読記録媒体。
【請求項9】 前記検索手段は、検索条件を満たすキー項目に付加された前記識別子に基づいて暗号化ファイルから該当するレコードを読み出し復号化して検索結果に含める構成を有する請求項7または8記載のコンピュータ可読記録媒体。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明はファイルの検索に関し、特にデータを暗号化して格納している暗号化ファイルの検索方法及びその装置に関する。
【0002】
【従来の技術】インターネットの普及に伴い、各種の情報がインターネット上で数多く提供されている。その反面、情報を提供する側としては、個人情報や企業情報等の提供すべきでない情報までもがインターネット上に漏れてしまう、或いは盗まれてしまうというセキュリティ面での危険性も有している。漏れた場合あるいは盗まれた場合に備えて、データベースのファイルを暗号化しておく技術がある。一方で、データベースのファイルの情報は、企業内の必要不可欠な人達へは提供する必要があり、暗号化ファイルに対する検索技術が必要となってくる。
【0003】暗号化ファイルに対する最も単純な検索手法は、暗号化ファイルの内容を全て復号化して同一構造の別のデータベースのファイルに格納し、そのファイルからデータの検索を行う手法である。以下、この手法を第1の従来技術と呼ぶ。
【0004】暗号化ファイルに対する別の検索手法が特開2000−11001号公報に記載されている。この従来手法では、平文で入力された検索キーワードを暗号化して、暗号化ファイルを検索する。具体的には、予め暗号化された複数のファイルを復号化して、各ファイルに含まれるキーワードとそのキーワードが含まれていたファイル名との組を抽出し且つ各組中のキーワードを暗号化したインデックスを生成する。例えば「鈴木一郎」というキーワードが或るファイルAに含まれていた場合、「鈴木一郎」を暗号化したデータとファイルAの名前との組を生成する。暗号化されたデータは一般にランダムなデータ列となり、表記が困難なので、本明細書では便宜上、アルファベット文字列で表記する。例えば「鈴木一郎」は「zdsiukiio」に暗号化されたとする。次に、利用者から検索キーワードとして「鈴木一郎」が入力された場合、それを暗号化して「zdsiukiio」なる暗号化検索キーワードを生成し、インデックス中の暗号化キーワードと照合して、ファイルAの名前を抽出する。以下、この手法を第2の従来技術と呼ぶ。
【0005】
【発明が解決しようとする課題】第1の従来技術では、復号化したデータがデータベースに存在することになるため、セキュリティ面からみると危険性が伴ってしまう。
【0006】他方、第2の従来技術では暗号化された状態で検索を行うためファイルのデータの機密性は確保されるが、データを暗号化したまま検索するため、実行可能な検索の種類が大幅に制限されてしまう。
【0007】例えば個人情報を検索する際に、個人を特定する氏名だけでなく、氏だけを検索キーに使う場合が考えられる。この場合、暗号化ファイルのキー項目が氏名であり、それが暗号化されていると、完全一致検索は可能であるが、氏を検索キーとする部分一致検索は行えない。その理由は、例えば氏名「鈴木一郎」全体を暗号化した「zdsiukiio」中には、氏「鈴木」だけを暗号化したデータは含まれないからである。
【0008】また個人情報を検索する際に、年齢などの数値情報を検索キーに使い、或る年齢以上の個人を検索する場合等が考えられるが、年齢40才と年齢20才とをそれぞれ暗号化したデータの大小関係は保証されないため、そのような条件検索は行えない。
【0009】本発明はこのような従来の問題点を解決したもので、その目的は、暗号化ファイルに対する各種の検索をセキュリティ性を確保しながら実施し得るようにすることにある。
【0010】
【課題を解決するための手段】本発明の暗号化ファイル検索方法は、複数の項目を持つレコードの集合で構成され且つ前記複数の項目のうち少なくとも検索する際のキーとなるキー項目が暗号化されている暗号化ファイルの検索方法において、(a)各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上に展開するステップと、(b)検索条件を満たすキー項目を主記憶上に展開されたキー項目から検索するステップとを含んでいる。
【0011】また、前記ステップaは、主記憶上にワーク領域を確保するステップと、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、前記確保されたワーク領域に展開するステップと、一連の検索処理の終了時に前記ワーク領域を解放するステップとを含み、前記ステップbは、検索条件を満たすキー項目に付加された前記識別子に基づいて暗号化ファイルから該当するレコードを読み出し復号化して検索結果に含めるステップを含んでいる。
【0012】また、本発明の暗号化ファイル検索装置は、複数の項目を持つレコードの集合で構成され且つ前記複数の項目のうち少なくとも検索する際のキーとなるキー項目が暗号化されている暗号化ファイルの検索装置において、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上に展開する展開手段と、検索条件を満たすキー項目を主記憶上に展開されたキー項目から検索する検索手段とを有している。
【0013】また、前記展開手段は、主記憶上にワーク領域を確保する手段と、各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、前記確保されたワーク領域に展開する手段と、一連の検索処理の終了時に前記ワーク領域を解放する手段とを含み、前記検索手段は、検索条件を満たすキー項目に付加された前記識別子に基づいて暗号化ファイルから該当するレコードを読み出し復号化して検索結果に含める構成を有している。
【0014】
【作用】一般にコンピュータの主記憶は磁気ディスク装置などの外部記憶装置と異なり、そのコンピュータの外部から直接アクセスすることはできないため、暗号化ファイルの各レコードの少なくともキー項目を復号化して主記憶上に展開しても、セキュリティ性は確保できる。また、復号化されたキー項目を用いて、検索条件を満たすキー項目を検索するので、検索の種類が大幅に制限される問題は解消される。
【0015】
【発明の実施の形態】次に本発明の実施の形態の例について図面を参照して詳細に説明する。
【0016】図1は本発明の暗号化ファイル検索装置の一例を示すブロック図であり、検索装置1、暗号化ファイル2、表示装置3及び入力装置4で構成されている。
【0017】暗号化ファイル2は、図2に示すような複数の項目C0〜Cmを持つレコードR1〜Rnの集合で構成される。各レコードR1〜Rnは、例えば特定の個人に対応しており、その個人の各種の情報を保持している。例えば項目C1は氏名、項目C2は年齢、項目Cmは年収などを示す。他に、所属部署や役職など各種のデータが他の項目に格納されている。また、項目C0のレコード番号は当該レコードを一意に識別するレコード識別子である。各レコードR1〜Rnは、少なくとも検索する際のキーとなるキー項目が暗号化されている。ここでは、説明の便宜上、項目C1と項目C2がキー項目であり、キー項目以外の項目で暗号化されている項目は項目Cmだけを想定する。つまり、項目C0〜Cmのうち、項目C1、C2、Cmは暗号化されており、残りの項目は暗号化されていないものとする。なお、暗号化の手法は特に制限はなく、任意の暗号化手法を採用することができる。
【0018】表示装置3及び入力装置4は、利用者と検索装置1とのインタフェースであり、利用者は入力装置4から検索装置1を起動したり、停止させる指示を入力し、また検索条件などを入力する。表示装置3は、検索装置1で得られた検索結果を利用者に表示するため等に利用される。
【0019】検索装置1は、利用者から入力された検索条件に合致するレコードを暗号化ファイル2から検索して利用者に提示する装置であり、展開手段11と検索手段12とワーク領域13とで構成される。検索装置1は、パーソナルコンピュータやワークステーション・サーバ等のコンピュータを構成する中央処理装置、主記憶及び制御プログラムによって構成される。この場合、制御プログラムはCD−ROM、半導体メモリ、磁気ディスク等の機械読み取り可能な記録媒体5に記憶されており、検索装置1を構成するコンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータ上に展開手段11及び検索手段12を実現する。
【0020】展開手段11は、暗号化ファイル2の各レコードR1〜Rnのキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上に展開する手段である。本実施例では、この識別子として各レコードR1〜Rnの項目C0のレコード番号を用いる。また、復号化に必要な復号鍵は展開手段11に設定されているものとする。
【0021】展開手段11の構成例を図3に示す。この例の展開手段11は、検索装置1の起動時に主記憶上にワーク領域13を確保する確保部111と、暗号化ファイル2の各レコードR1〜Rnのキー項目C1、C2を復号化し、レコード番号C0を付加してワーク領域13に格納する展開部112と、検索装置1の停止時にワーク領域13を解放する解放部113とを含んでいる。また、展開部112は、暗号化ファイル2から各レコードR1〜Rnのキー項目C1、C2を読み出す読出部1121と、読み出されたキー項目C1、C2を復号化する復号化部1122と、復号化されたキー項目C1、C2とレコード番号C0とを1レコードとしてワーク領域13に書き込む書込部1123とから構成される。
【0022】検索手段12は、利用者から入力された検索条件を満たすキー項目をワーク領域13上のレコード群から検索する手段である。図4に検索手段12の構成例を示す。この例の検索手段12は、表示装置3及び入力装置4とデータの授受を行う入出力部121と、入出力部121を通じて入力された検索条件に従って検索処理を実行する検索部122と、検索部122からの要求に従って暗号化ファイル2からレコードを読み出し復号化するレコード復号化部123とを含む。また、レコード復号化部123は、暗号化ファイル2からレコードを読み出す読出部1231と、読み出されたレコード中の暗号化された項目を復号化する復号化部1232とで構成される。なお、復号化に必要な復号鍵は検索手段12に設定されているものとする。
【0023】図5は検索装置1の処理例を示すフローチャートである。以下、各図を参照して本実施例の動作を説明する。
【0024】入力装置4を通じて利用者から起動されると、検索装置1は展開手段11を起動する。展開手段11は、まず確保部111により主記憶からワーク領域13を確保する(図5のS1)。次に、展開部112の読出部1121により暗号化ファイル2の先頭のレコードR1のキー項目C1、C2とレコード番号C0とを読み出し(S2)、復号化部1122によりキー項目C1、C2を復号化し(S3)、復号化したキー項目C1、C2とレコード番号C0とを1レコードとしてワーク領域13に書き込む(S4)。このステップS2〜S4の処理は暗号化ファイル2の残りのレコードR2〜Rnに対して繰り返される。これにより、ワーク領域13には、図6に示されるように、暗号化ファイル2中の各レコードR1〜Rnと1対1に対応するレコードF1〜Fnが格納される。ここで、レコードF1〜Fn中の項目C1、C2は復号化された状態になっている。
【0025】以上のような展開手段11による処理が終了すると、制御が検索手段12に渡される。検索手段12の入出力部121は、利用者からの指示を待ち合わせ(S5、S6)、検索条件を含む検索実行が指示された場合には(S5でYES)、検索条件を検索部122に渡し、検索処理の終了が指示された場合には(S6でYES)、処理終了を展開手段11に通知する。
【0026】検索部122は、検索条件が渡されると、検索条件を解析し(S7)、ワーク領域13上で必要な検索を実行する(S8)。例えば、検索条件として、1つの検索キーが指定され、その検索キーと同じ値を所定のキー項目に有するレコードの検索が指示された場合には、ワーク領域13上のレコードF1〜Fnの中から検索キーと同じ値を該当するキー項目に有するレコードを検索し、そのレコード番号C0を抽出する。また、検索条件として、1つの検索キーが指定され、その検索キーの値以上の値を所定のキー項目に有するレコードの検索が指示された場合には、ワーク領域13上のレコードF1〜Fnの中から検索キーの値以上の値を該当するキー項目に有するレコードを検索し、そのレコード番号C0を抽出する。その他、複数の検索キーをアンド条件で指定した検索指示等に対しても同様にして検索を実行する。
【0027】検索部122は、ワーク領域13上で少なくとも1つのレコードの検索に成功した場合は(S9でYES)、取得したレコード番号C0をレコード復号化部123に渡す。レコード復号化部123の読出部1231は、渡されたレコード番号C0を持つレコードを暗号化ファイル2から読み出し(S10)、復号化部1232はそのレコード中の暗号化された項目C1、C2、Cmを復号化し(S11)、検索部122に返却する。検索部122は、この復号化されたレコードを検索結果として、入出力部121を通じて表示装置3に出力する(S12)。他方、レコードの検索に失敗した場合は(S9でNO)、検索部122は該当レコード無しの検索結果を入出力部121を通じて表示装置3に出力する(S12)。
【0028】利用者が一連の検索を終え、入力装置4から検索終了の指示を入力すると、その指示が入出力部121を通じて展開部11に通知される(S6でYES)。展開部11は、この通知を受けると、解放部113によりワーク領域13を解放する(S13)。これにより、ワーク領域13上に展開されていたレコードF1〜Fnは消去される。
【0029】図7は検索装置1で検索処理を行っている様子を模式的に示す。主記憶上のワーク領域13には、暗号化ファイル2の各レコードのキー項目が復号化されて展開されている。図示の例は、キー項目が個人の氏名である場合を示す。利用者は表示装置3の個人情報検索画面において、検索キーとして、氏名のうち氏「ニホン」を入力し、名は空欄にして、検索を指示している。この場合、検索装置1は、ワーク領域13に展開された氏名のキー項目のうち、「ニホン」を含むキー項目を部分一致検索する。そして、該当するレコードが見つかった場合には前述したようにして暗号化ファイル2から元のレコードを読み出し、復号化して表示装置3に検索結果を表示する。
【0030】以上の実施例では、暗号化ファイル2の各レコードのキー項目だけを復号化し、復号化したキー項目だけと、どのレコードのキー項目であるかを示す識別子とを主記憶に展開したが、各レコードのキー項目以外の項目も、若し暗号化されていればそれを復号化して主記憶に展開するようにしても良い。また、どのレコードのキー項目であるかを示す識別子として、暗号化ファイル2の各レコードが持つレコード番号を用いたが、主記憶上に展開されたレコードと暗号化ファイル中のレコードとの対応関係が明らかになるのであれば、他の任意の方法を採用することができる。また、前記の実施例では、復号化に必要な鍵は暗号化ファイル検索装置自体に予め設定されているものとしたが、暗号化ファイル検索装置の外部で保持管理しておき、必要なときに暗号化ファイル検索装置で利用する構成としたり、レコードの検索者が装置に対して鍵を入力するように構成しても良い。
【0031】
【発明の効果】以上説明したように本発明によれば、暗号化ファイルの各レコードの少なくともキー項目を復号化し、どのレコードのキー項目であるかを示す識別子を付加して、主記憶上に展開し、検索条件を満たすキー項目を主記憶上に展開されたキー項目から検索するようにしたため、暗号化ファイルに対する各種の検索をセキュリティ性を確保しながら実施することができる効果がある。
【出願人】 【識別番号】000232092
【氏名又は名称】エヌイーシーソフト株式会社
【出願日】 平成12年9月28日(2000.9.28)
【代理人】 【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
【公開番号】 特開2002−108911(P2002−108911A)
【公開日】 平成14年4月12日(2002.4.12)
【出願番号】 特願2000−295725(P2000−295725)