(57)【要約】【課題】  本来参照または保存されるべき環境以外ではファイル内容を参照できないようにすること。【解決手段】  暗号化対象の本文を暗号アルゴリズムと暗号鍵により暗号化した暗号ファイルを作成し、暗号ファイルと依存関係にある依存ファイルを指定し、該依存ファイルの位置情報に基づいて前記暗号鍵を暗号化する鍵を生成し、生成した鍵によって暗号化された暗号鍵と前記依存ファイルの情報が含まれる鍵情報を生成し、暗号アルゴリズムの識別子、鍵情報とを暗号ファイルに格納し、鍵情報を格納した暗号ファイルから１ないし複数の依存ファイルの位置情報を取り出し、その位置情報で示される論理的位置に存在する依存ファイルの取得に成功した場合のみ、取得に成功した依存ファイルの位置情報により暗号鍵の復号鍵情報を生成し、その復号鍵情報によって暗号鍵を復号し、復号した暗号鍵によって暗号ファイル内の本文を復号する。【選択図】      図１
2005109779.tif 000002
【特許請求の範囲】
【請求項１】
暗号化対象の本文を予め選択した暗号アルゴリズムと暗号鍵により暗号化した暗号ファイルを作成する第１のステップと、
前記暗号ファイルの本文を復号する上で前提となる１ないし複数の環境情報を指定し、該環境情報の位置情報に基づいて前記暗号鍵を暗号化する鍵を生成し、その生成した鍵によって暗号化された前記暗号鍵と前記環境情報が含まれる鍵情報を生成する第２のステップと、
前記暗号アルゴリズムの識別子、前記鍵情報とを前記暗号ファイルに格納する第３のステップと、
前記鍵情報を格納した暗号ファイルから１ないし複数の環境情報の位置情報を取り出し、その位置情報で示される論理的位置に存在する環境情報の取得を試み、いずれかの環境情報の取得に成功した場合のみ、取得に成功した環境情報の位置情報により前記暗号鍵の復号鍵情報を生成し、その復号鍵情報によって前記暗号鍵を復号する第４のステップと、
復号した前記暗号鍵と前記暗号アルゴリズムの識別子で示される暗号アルゴリズムによって前記暗号ファイル内に格納された本文を復号する第５のステップと
を備えることを特徴とするファイルの暗号化・復号方法。
【請求項２】
前記環境情報は、前記暗号ファイルと論理的な依存関係を有する依存ファイルの位置情報であることを特徴とする請求項１に記載のファイルの暗号化・復号方法。
【請求項３】
前記環境情報は、前記暗号ファイルの参照を許すコンピュータのハードウェアに依存する情報であることを特徴とする請求項１に記載のファイルの暗号化・復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル内の情報参照を特定の論理環境内に留めるようにした論理ファイル構成に依存するファイルの暗号化・復号方法に関するものである。
【背景技術】
【０００２】
従来から知られているファイル暗号方法では、ファイルを暗号化した暗号鍵にアクセスできるユーザであれば暗号ファイルを復号して閲覧することができる。暗号鍵は外部メディアや内部記憶媒体に記録され、暗号鍵にアクセスできる環境であれば何処にいても暗号ファイルを復号することが可能である（例えば、非特許文献１参照）。これは一般的な暗号製品に対しても同様に言える特徴である（例えば、非特許文献２参照）。それに対し、物理的なデバイスの構成によって暗号鍵を生成し対象を暗号するものもある（例えば、特許文献１参照）。
【特許文献１】特開２００１−２４３１０５号公報
【非特許文献１】PGP Corporation、「PGP CORPORATION WHITE PAPERS」、[online]、２００２年８月、PGP Corporation、［平成１５年１月２９日検索］、インターネット＜URL: http://www.pgp.com/＞
【非特許文献２】情報処理振興事業協会セキュリティセンター、「国内で入手可能な暗号関連製品リスト」、[online]、２０００年１１月２９日、ＩＰＡＩＳＥＣ、［平成１５年１月２９検索］、  インターネット＜URL: http:/www.ipa.go.jp/security/enc/product.htm＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の従来技術においては、暗号ファイルと暗号鍵さえあれば何処にいても暗号ファイルを閲覧可能な環境を手に入れることができる。例えば、暗号ファイルを格納したモバイルパーソナルコンピュータを持ち歩けば、企業内のプロテクションエリアであっても、電車の中でも、顧客先でも同様に暗号ファイルを復号することができてしまう。そのため、モバイルパーソナルコンピュータの盗難、あるいは利用者の不注意や故意によって暗号ファイルの内容が漏れ出す危険性がある。
また、特開２００１−２４３１０５号公報に記載の技術は、複数のコンポーネントに依存した環境で物理メディアに対するデータ保存を暗号する方法であるが、正規ユーザが正しく参照可能な環境で暗号ファイルを持ち出す行為や、コンポーネント構成が維持された環境に対して、ネットワーク上からリモートアクセスすることにより暗号ファイルを持ち出す行為に対して暗号ファイルの内容を防御できないという問題がある。
【０００４】
本発明の目的は、正規ユーザであったとしても、本来参照または保存されるべき環境以外ではファイル内容を参照できないようにすることができるファイルの暗号化・復号方法を提供することにある。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本発明に係るファイル暗号化・復号方法は、暗号化対象の本文を予め選択した暗号アルゴリズムと暗号鍵により暗号化した暗号ファイルを作成する第１のステップと、前記暗号ファイルの本文を復号する上で前提となる１ないし複数の環境情報を指定し、該環境情報の位置情報に基づいて前記暗号鍵を暗号化する鍵を生成し、その生成した鍵によって暗号化された前記暗号鍵と前記環境情報が含まれる鍵情報を生成する第２のステップと、前記暗号アルゴリズムの識別子、前記鍵情報とを前記暗号ファイルに格納する第３のステップと、
前記鍵情報を格納した暗号ファイルから１ないし複数の環境情報の位置情報を取り出し、その位置情報で示される論理的位置に存在する環境情報の取得を試み、いずれかの環境情報の取得に成功した場合のみ、取得に成功した環境情報の位置情報により前記暗号鍵の復号鍵情報を生成し、その復号鍵情報によって前記暗号鍵を復号する第４のステップと、復号した前記暗号鍵と前記暗号アルゴリズムの識別子で示される暗号アルゴリズムによって前記暗号ファイル内に格納された本文を復号する第５のステップとを備えることを特徴とする。
また、前記環境情報は、前記暗号ファイルと論理的な依存関係を有する依存ファイルの位置情報であることを特徴とする。
また、前記環境情報は、前記暗号ファイルの参照を許すコンピュータのハードウェアに依存する情報であることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ファイル暗号鍵の保管コストや鍵の交換コストをかけずに、本来参照または保存されるべき環境以外ではファイル内容を参照できないようにすることができる。
また、万一、暗号ファイルが流出した場合には、依存ファイルの依存関係を変更することにより、依存関係を検証できなくなることから暗号ファイルの参照を不可能にすることができ、意図しない環境下での暗号ファイルへのアクセス、不正持ち出しや流出による情報漏洩を防止することが可能となる。
【発明を実施するための最良の形態】
【０００７】
以下、添付図面を参照して、本発明の実施の形態を詳細に説明する。
図１および図２は本発明に係るファイル暗号方法を適用したコンピュータシステムの実施の形態を示すブロック図である。図１はネットワーク上でのファイルの依存関係を利用して暗号ファイルを作成する例を示し、図２はさらに図１のネットワーク上でのファイルの依存関係に加えて閲覧コンピュータ２０１内の他のファイルとの依存関係も利用して暗号ファイルを作成する例を示している。
図１において１０１、１０４、１０７、１０９は一般的なコンピュータを示し、依存ファイル１０５を格納しているコンピュータをサーバ１０４、その他のコンピュータをそれぞれクライアントＡ１０１、クライアントＢ１０７、クライアントＣ１０９と言う。
また、サーバ１０４およびクライアントＡ１０１は同一ＬＡＮ１００に接続されており、クライアントＢ１０７はＷＡＮ１０６によってサーバ１０４に接続されている。クライアントＡ１０１において、ネットワーク接続されているクライアントＢ１０７向けに暗号ファイル１０３を作成する場合には、依存ファイル１０５を用いて暗号ファイル１０３を作成し、クライアントＢ１０７に配布する。クライアントＢ１０７では、配布された暗号ファイル１０３の依存ファイル１０５をＷＡＮ１０６によって参照できる環境にあるため、暗号ファイル１０３の内容を正しく復号して参照することができる。もし、暗号ファイル１０３が漏洩して意図していなかったクライアントＣ１０９で参照が試みられた場合、サーバ１０４に接続されていないクライアントＣ１０９では暗号ファイル１０３に対して必要な依存ファイル１０５にアクセスできない。このため、暗号ファイル１０３の内容を正しく復号することはできない。
【０００８】
また、クライアントＡ１０１で配布先のローカルＨＤＤ内のファイルも依存ファイル２０４として設定する場合には、参照マシン情報ＤＢ１０２に予め登録されている配布先マシンのマシン情報と依存ファイル２０４も使用して暗号ファイル１０３を生成する。それを次に示す。
図２において、２０１は一般的なコンピュータを示し、暗号ファイル１０３の依存ファイルの１つである依存ファイル２０４はコンピュータ２０１内のローカルＨＤＤ２０３のあるディレクトリパスに格納されている。依存ファイル２０４が存在し、かつ、暗号ファイル１０３作成時に指定したマシン情報と同一のマシン情報２０５を生成できるコンピュータであれば正しく暗号ファイル１０３を参照することができる。
【０００９】
図３〜図６は、暗号ファイル１０３に関する情報を示すものであり、図３は暗号ファイル情報３１０、図４は鍵情報３２０、図５は依存ファイル情報３３０、図６は配布先マシンの参照マシン情報ＤＢ１０２のテーブル３５０の例をそれぞれ示すものである。
図３において、アイキャッチャ３１１は本発明の暗号ファイル１０３であることを示す識別子を表し、固定の文字列として例えば「ＳＦＤ」を設定する。
アルゴリズムＩＤ３１２は本暗号ファイル１０３で暗号処理に用いる暗号アルゴリズムの識別子を表し「ＡＥＳ」（Advanced Encryption Standard）や「ＤＥＳ」（Data Encryption Standard）をはじめ利用可能な暗号アルゴリズムの識別子のうちの１つを設定する。
鍵長３１３はアルゴリズムＩＤ３１２で設定した暗号アルゴリズムの鍵の長さをビット単位で表す。
鍵数３１４は図４に示す内容の鍵情報３２０が何個格納されているかを表す値であり、本文長３１６は暗号された平文本文の内容３１７の長さをバイト単位で表す。
【００１０】
図４において、暗号されたファイル暗号鍵３２１はファイルの暗号に用いたファイル暗号鍵を依存ファイル１０５などとの依存関係によって暗号した結果を表す。依存ファイル数３２２は図５に示す内容の依存ファイル情報３３０が何個格納されているかを表す値である。
【００１１】
図５において、依存ファイル位置情報３３１は依存ファイル１０５又は２０４の格納場所を表している。ネットワーク上に置かれた依存ファイル１０５の場合は、ｈｔｔｐやｆｔｐなどで始まるＵＲＬ(Uniform resource Locator)形式や、ネットワークファイルシステム上の位置を示すパス情報を設定する。コンピュータ２０１内に置かれた依存ファイル２０４(図２)の場合は、ファイルシステム上の位置を示すパス情報を設定する。
依存ファイルハッシュ値３３２は、依存ファイル位置情報３３１が示す依存ファイル１０５又は２０４の内容のハッシュ値である。
【００１２】
図６において、マシン情報３５１は予め登録した配布先コンピュータ２０１の情報であり、配布先コンピュータ２０１のハードウェアの特徴を示すＣＰＵの種類、ＢＩＯＳの種類、ネットワークカードのＭＡＣアドレス等を連結した値のハッシュ値である。図１の参照マシン情報ＤＢ１０２には、登録数分のマシン情報３５０が格納される。
【００１３】
図７および図８は、本発明に係るファイル暗号方法の手順の実施の形態を示すフローチャート、図９および図１０は復号手順を示すフローチャートである。
図７において、ファイルを暗号化する場合には、まず、本発明に係る暗号プログラムを起動後、暗号する対象ファイルを選択する（ステップ７０１）。次に、暗号に用いるＤＥＳなどの暗号アルゴリズムを選択する（ステップ７０２）。その後、ファイル暗号鍵を自動生成し（ステップ７０３）、選択した暗号アルゴリズムとファイル暗号鍵によって該ファイル内容を暗号化する（ステップ７０４）。ここまでは、暗号鍵を用いた従来のファイル暗号化手順と同じである。
次に、鍵数を指定させる。すなわち、暗号化した暗号ファイル１０３に対する依存関係を構築するために幾つの鍵数を暗号ファイル１０３に含めるかを指定させる（ステップ７０５）。
鍵のセットは、複数の環境で暗号ファイル１０３を参照させたい時、それぞれの環境に応じた依存ファイル１０５又は２０４を設定するために用いる。
ステップ７０６〜７１９において、鍵数毎に１または複数の依存ファイル１０５又は２０４を指定させ、指定された依存ファイル１０５又は２０４を入力し（ステップ７０７）、入力した依存ファイル１０５又は２０４の取得に成功したかどうかを判定する（ステップ７０８）。成功したならばその依存ファイル位置情報を入力する（ステップ７０９）。依存ファイル位置情報は、図５の依存ファイル位置情報３３１で示したように、依存ファイル１０５又は２０４が存在する場所を示すものであり、復号環境において参照可能なローカルＨＤＤの絶対パス形式やＵＲＬ形式などを指定する。
依存ファイル位置情報として、ローカルＨＤＤ２０３の絶対パス形式を指定した場合（ステップ７１０）は、閲覧できる環境を限定するため、参照マシン情報ＤＢ１０２から、閲覧を許可するマシンのマシン情報３５１を入力する（ステップ７１１）。
また、依存ファイル位置情報として、ＵＲＬ形式などのネットワーク上のパスを指定した場合には、依存ファイル１０５の保存場所の偽装を防止するため、依存ファイル保存先マシンであるサーバ１０４のネットワークカードのＭＡＣアドレスを取得し（ステップ７１２）、該ＭＡＣアドレスのハッシュ値をマシン情報とする（ステップ７１３）。
【００１４】
次に、ステップ７０３で生成したファイル暗号鍵を暗号するため、依存ファイル位置情報と依存ファイル１０５又は２０４の内容とマシン情報とを連結した値のハッシュ値を計算し、ファイル暗号鍵暗号用鍵バッファのデータの末尾に追加する（ステップ７１４）。
次に、依存ファイル１０５又は２０４の内容のハッシュ値をハッシュ値３３２とし、依存ファイル位置情報を依存ファイル位置情報３３１としてこれらを依存ファイル情報３３０として生成し保存する（ステップ７１５）。
この後、依存ファイル１０５又は２０４を追加するかを判定する（ステップ７１６）。
【００１５】
依存ファイル１０５又は２０４の追加が全て終了したならば、ファイル暗号鍵暗号用鍵バッファからファイル暗号鍵を暗号するための鍵を生成し（ステップ７１７）、該鍵でファイル暗号鍵を暗号して鍵情報３２０の暗号されたファイル暗号鍵３２１に格納する。この場合、依存ファイル数３２２および依存ファイル情報３２３も鍵情報３２０に格納する（ステップ７１８）。
ステップ７０７〜７１８を鍵数に等しい回数だけ繰返す。
これにより、ステップ７０５で入力した鍵数分の鍵情報３２０が生成される。
鍵数分の鍵情報３２０が全て生成されたならば、アイキャッチャ３１１、アルゴリズムＩＤ３１２、鍵長３１３、鍵数３１４、鍵情報３１５、本文長３１６、本文３１７から成る暗号ファイル情報３１０を生成する（ステップ７２０）。さらに、閲覧プログラムに暗号ファイル情報３１０を付加（ステップ７２１）したあと、暗号ファイル１０３としてファイル出力する（ステップ７２２）。
【００１６】
以上のように生成された暗号ファイル１０３を復号する場合には、図９および図１０のフローチャートのように、暗号ファイル１０３を内包している閲覧プログラムを起動した後、暗号ファイル１０３内に格納されている鍵情報３２０の数分の依存関係の確認を行い、暗号ファイル１０３に格納されている鍵情報３２０のいずれかの環境に合致していれば閲覧処理を許可する。
そこで、鍵情報３２０毎に格納されている全ての依存ファイル情報３３０を調査する（ステップ９０２）。まず、依存ファイル情報３３０の依存ファイル位置情報３３１から依存ファイル１０５又は２０４の取得を試みる（ステップ９０３）。このとき、指定されたパスに依存ファイル１０５又は２０４が存在しなかったり、依存ファイル１０５又は２０４に対するアクセスが制限されている環境では依存ファイル１０５又は２０４の取得に失敗することになる。取得に失敗した場合には、ステップ９１８に進む。
【００１７】
依存ファイル１０５又は２０４を取得することができた場合（ステップ９０４）、依存ファイル１０５又は２０４の内容のハッシュ値を計算し、その計算結果のハッシュ値と依存ファイルハッシュ値３３２との比較を行う（ステップ９０５）。ハッシュ値が同一であれば（ステップ９０６）、暗号ファイル１０３作成時に用いた依存ファイル１０５又は２０４と同じであると判定し、ハッシュ値が異なれば正しい依存ファイル１０５又は２０４ではないと判定する。ハッシュ値が異なっていた場合には、ステップ９１８に進む。
ハッシュ値が一致していた場合、依存ファイル位置情報３３１がローカルＨＤＤ２０３内の依存ファイル２０４を示すもであるかどうかを判定し（ステップ９０７）、ローカルＨＤＤ２０３内の依存ファイル２０４を示すもであった場合には、閲覧環境先のコンピュータ２０１のマシン情報２０５を取得する（ステップ９０８）。マシン情報２０５は、閲覧環境先のコンピュータ２０１を特定できるハードウェア構成の特徴であり、ＣＰＵの種類、ＢＩＯＳの種類、ネットワークカードのＭＡＣアドレスを連結した値のハッシュ値である（ステップ９０９）。
【００１８】
一方、依存ファイル位置情報３３１がネットワーク上の依存ファイル１０５を示すものであった場合、依存ファイル１０５を保存しているサーバ１０４のネットワークカードのＭＡＣアドレスを取得し（ステップ９１０）、該ＭＡＣアドレスのハッシュ値をマシン情報とする（ステップ９１１）。
その後、ファイル暗号鍵自体を復号するため、依存ファイル位置情報３３１と依存ファイル１０５又は２０４の内容とマシン情報とを連結した値のハッシュ値を計算し、ファイル暗号鍵復号用鍵バッファのデータの末尾に追加する（ステップ９１２）。
【００１９】
以上のステップ９０２〜９１３を依存ファイル数分だけ繰返し、依存ファイル１０５又は２０４の確認が全て正常に終了した場合は、ファイル暗号鍵の復号用鍵バッファからファイル暗号鍵の復号用鍵を生成し（ステップ９１４）、該鍵でファイル暗号鍵を復号する（ステップ９１５）。その後、復号したファイル暗号鍵で本文３１７を復号し（ステップ９１６）し、閲覧プログラムで復号内容の表示処理を行う（ステップ９１７）。
このとき、暗号ファイル１０３の閲覧環境が、暗号ファイル１０３生成時に指定したマシン情報２０５を持つ環境と異なっていたり、依存ファイル１０５を保存しているサーバ１０４が異なる場合、ファイル暗号鍵の復号に必要な鍵を正しく生成できないことになり、不正環境では暗号ファイル１０３を閲覧することができない。
依存ファイル１０５又は２０４の確認が失敗した場合には、鍵情報３２０で示された閲覧可能な環境ではないとみなし、次の鍵情報３２０を処理する。全ての鍵情報３２０の処理に失敗した場合には閲覧プログラムでの表示処理を行わず、プログラムを終了する。
【００２０】
以上のように、本実施形態によれば、ユーザがパスワードを入力したり、データの暗号鍵を別の安全な場所に保存することなく、暗号ファイルと論理的な依存関係にある他のファイルとの依存関係が確認（検証）できた場合には暗号文の参照を許可し、依存関係が確認（検証）できない場合には参照を禁止することができる。そのため、鍵の保管コストや鍵の交換コストをかけずに暗号化されたファイルを意図した環境内にいる他の利用者と共有することができる。
また、依存ファイルの保存位置、個数などにより、例えば社外では復号することが出来ない暗号ファイルや、依存ファイルのアクセスに対する制御を行うことで、特定ユーザのみしか復号できない暗号ファイルを生成することができる。
さらに、複数の鍵情報を格納することにより、たとえ１つの環境が利用できなくなっても別の環境で参照することができるようになる。
これにより、暗号ファイルが流出した場合、依存ファイルへのアクセス環境を変更しておけば、たとえ本文を暗号化した鍵を知っていたとしても、依存ファイルとの関係を確認できなくなり、復号化が失敗し、流出した暗号ファイルが解読されるのを防止することができるなど、意図しない環境下での暗号情報へのアクセス、不正持ち出しによる情報漏洩を防止することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施の形態の概略構成を示すブロック図、
【図２】本発明の一実施の形態の概略構成を示すブロック図、
【図３】暗号ファイル情報の構成を示す図である。
【図４】鍵情報の構成を示す図である。
【図５】ネットワーク環境およびローカル環境での依存ファイル情報の構成を示す図である。
【図６】暗号ファイルの配布先環境のマシン情報ＤＢの構成を示す図である。
【図７】本発明に係るファイルの暗号処理手順を示すフローチャートである。
【図８】図７の続きを示すフローチャートである。
【図９】本発明に係るファイルの復号処理手順を示すフローチャートである。
【図１０】図９の続きを示すフローチャートである。
【符号の説明】
【００２２】
１００    ＬＡＮ
１０１    クライアントＡ
１０２    参照マシンＤＢ
１０３    暗号ファイル
１０４    サーバ
１０５    依存ファイル
１０７    クライアントＢ
１０９    クライアントＣ
【図１】
2005109779.tif 000003
【図２】
2005109779.tif 000004
【図３】
2005109779.tif 000005
【図４】
2005109779.tif 000006
【図５】
2005109779.tif 000007
【図６】
2005109779.tif 000008
【図７】
2005109779.tif 000009
【図８】
2005109779.tif 000010
【図９】
2005109779.tif 000011
【図１０】
2005109779.tif 000012