(57)【要約】【課題】情報の秘密管理と漏洩事実の早期発見とを両立させる。【解決手段】コンピュータに、セッション鍵ａ１を生成するステップと、鍵ａ１によりファイルｆ１を暗号化したファイルｆ２を生成するステップと、公開鍵ｂ１により鍵ａ１を暗号化した鍵ａ２を生成するステップと、公開鍵ｃ１により鍵ａ１を暗号化した鍵ａ３を生成するステップと、ファイルｆ２と鍵ａ２と鍵ａ３を含む結合ファイルｆ３を作成するステップとを含んだプロセスと、ファイルｆ３をファイルｆ２と鍵ａ２と鍵ａ３に分解するステップと、ファイルｆ２を鍵ａ１によりファイルｆ１に復号する復号ステップと、鍵ｂ１に対応する秘密鍵ｂ２により鍵ａ２を鍵ａ１を復号した上で復号ステップに移行させるステップと、鍵ｃ１に対応する秘密鍵ｃ２により鍵ａ３を鍵ａ１に復号した上で復号ステップに移行させるステップとを含むプロセスとを実行させるファイル暗号化・復号化プログラムとした。【選択図】  図４
2006211349.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにインストールされて、ファイルを暗号化するプロセスと、暗号化されたファイルを復号化するプロセスとを当該コンピュータに実行させるファイル暗号化・復号化プログラムであって、
前記ファイル暗号化プロセスは、
共通鍵暗号方式の鍵（セッション鍵）ａ１を生成するセッション鍵生成ステップと、
平文のファイルｆ１をセッション鍵により暗号化して暗号ファイルｆ２を生成するファイル暗号化ステップと、
セッション鍵ａ１を公開鍵暗号方式の公開鍵ｂ１により暗号化して暗号化セッション鍵ａ２を生成する第１暗号化ステップと、
セッション鍵ａ１を公開鍵暗号方式における公開鍵ｃ１により暗号化して暗号化セッション鍵ａ３を生成する第２暗号化ステップと、
暗号化ファイルｆ２と、暗号化セッション鍵ａ２およびａ３とを内容として含む１つの結合ファイルに作成する結合ファイル作成ステップと、
を含み、
前記ファイルの復号化プロセスは、
前記結合ファイルを暗号化ファイルｆ２と、暗号化セッション鍵ａ２およびａ３とに分解するファイル分解ステップと、
前記コンピュータがセッション鍵ａ１を記憶している場合、暗号化ファイルｆ２を当該鍵ａ１により復号して平文ファイルｆ１を取得する平文ファイル復号ステップと、
前記コンピュータに公開鍵ｂ１に対応する秘密鍵ｂ２がある場合、暗号化セッション鍵ａ２を当該鍵ｂ２によりセッション鍵ａ１を復号した上で、前記平文ファイル復号ステップを実行する第１復号ステップと、
前記コンピュータに公開鍵ｃ１に対応する秘密鍵ｃ２がある場合、暗号化セッション鍵ａ３を当該鍵ｃ２によりセッション鍵ａ１を復号した上で、前記平文ファイル復号ステップを実行させる第２復号ステップと、
を含むファイル暗号化・復号化プログラム。
【請求項２】
コンピュータにインストールされて、ファイルを暗号化するプロセスと、暗号化されたファイルを復号化するプロセスとを当該コンピュータに実行させるファイル暗号化・復号化プログラムであって、
前記ファイル暗号化プロセスは、
パスワードｐ１をユーザ入力により受け付けるパスワード入力ステップと、
共通鍵暗号方式の鍵（セッション鍵）ａ１を生成するセッション鍵生成ステップと、
平文のファイルｆ１をセッション鍵により暗号化して暗号ファイルｆ２を生成するファイル暗号化ステップと、
セッション鍵ａ１を前記パスワードｐ１に関連づけするとともに所定のアルゴリズムに基づいて変形した変形セッション鍵ａ４を生成するセッション鍵変形ステップと、
パスワードｐ１を公開鍵暗号方式の公開鍵ｂ１により暗号化して暗号化パスワードｐ２を生成する第１暗号化ステップと、
パスワードｐ１を公開鍵暗号方式における公開鍵ｃ１により暗号化して暗号化パスワードｐ３を生成する第２暗号化ステップと、
暗号化ファイルｆ２と、変形セッション鍵ａ４と、暗号化パスワードｐ２およびｐ３とを内容として含んだ１つの結合ファイルを作成する結合ファイル作成ステップと、
を含み、
前記ファイルの復号化プロセスは、
前記結合ファイルを前記ファイルｆ２と、変形セッション鍵ａ４と、暗号化パスワードｐ２およびｐ３とに分解するファイル分解ステップと、
ユーザ入力によりパスワードを受け付けるパスワード入力ステップと、
適宜に入力されたパスワードがパスワードｐ１に一致すれば、変形セッション鍵ａ４を前記アルゴリズムに基づいてセッション鍵ａ１に復元するとともに、当該セッション鍵ａ１により暗号化ファイルｆ２を復号して平文ファイルｆ１を取得する平文ファイル復号ステップと、
コンピュータに公開鍵ｂ１に対応する秘密鍵ｂ２がある場合、暗号化パスワードｐ２を当該鍵ｂ２によりパスワードｐ１に復号し、当該パスワードｐ１を前記平文ファイル復号ステップへの入力パスワードとする第１復号ステップと、
コンピュータに公開鍵ｃ１に対応する秘密鍵ｃ２がある場合、暗号化パスワードｐ３を当該鍵ｃ２によりパスワードｐ１に復号し、当該パスワードｐ１を前記平文ファイル復号ステップへの入力パスワードとする第２復号ステップと、
を含むファイル暗号化・復号化プログラム。
【請求項３】
コンピュータにインストールされて、ファイルを暗号化するプロセスと、暗号化されたファイルを復号化するプロセスとを当該コンピュータに実行させるファイル暗号化・復号化プログラムであって、
前記ファイル暗号化プロセスは、
ユーザ入力によりパスワードｐ１を受け付けるパスワード入力ステップと、
パスワードｐ１を所定のアルゴリズムに基づいて共通鍵暗号方式のセッション鍵ｐ４に変形する変形セッション鍵生成ステップと、
共通鍵暗号方式の鍵（セッション鍵）ａ１を生成するセッション鍵生成ステップと、
平文のファイルｆ１をセッション鍵ａ１により暗号化して暗号ファイルｆ２を生成するファイル暗号化ステップと、
セッション鍵ａ１に基づいてセッション鍵の検証データｄ１を生成する検証データ生成ステップと、
セッション鍵ａ１を公開鍵暗号方式の公開鍵ｂ１により暗号化して暗号化セッション鍵ａ２を生成する第１暗号化ステップと、
セッション鍵ａ１を公開鍵暗号方式における公開鍵ｃ１により暗号化して暗号化セッション鍵ａ３を生成する第２暗号化ステップと、
セッション鍵ａ１をセッション鍵ｐ４で暗号化した暗号化セッション鍵ａ５を生成する第３暗号化ステップと、
暗号化ファイルｆ２と、検証データｄ１と、３つの暗号化セッション鍵ａ２、ａ３、ａ５とを内容として含んだ１つの結合ファイルを作成する結合ファイル作成ステップと、
を含み、
前記ファイルの復号化プロセスは、
前記結合ファイルをファイルｆ２と、検証データｄ１と、３つの暗号化セッション鍵ａ２、ａ３、ａ５とに分解するファイル分解ステップと、
前記パスワード入力ステップと、
前記変形セッション鍵生成ステップと、
暗号化ファイルｆ２をセッション鍵ａ１により復号化して平文ファイルｆ１を取得する平文ファイル復号ステップと、
前記コンピュータに公開鍵ｂ１に対応する秘密鍵ｂ２がある場合、暗号化セッション鍵ａ２を当該鍵ｂ２によりセッション鍵ａ１に復号するとともに、当該鍵ａ１を検証データｄ１に基づいて検証した上で、前記平文ファイル復号ステップを実行する第１復号ステップと、
前記コンピュータに公開鍵ｃ１に対応する秘密鍵ｃ２がある場合、暗号化セッション鍵ａ３を当該鍵ｃ２によりセッション鍵ａ１に復号するとともに、当該鍵ａ１を検証データｄ１に基づいて検証した上で、前記平文ファイル復号ステップを実行する第２復号ステップと、
暗号化セッション鍵ａ５を前記変形セッション鍵生成ステップにより生成されたセッション鍵ｐ４によりセッション鍵ａ１に復号するとともに、当該鍵ａ１を検証データｄ１に基づいて検証した上で、前記平文ファイル復号ステップを実行する第３復号ステップと、
を含むファイル暗号化・復号化プログラム。
【請求項４】
秘密鍵ｃ２は、公開鍵暗号方式の秘密鍵ｅ２でデジタル認証されており、前記復号化プロセスでは、前記コンピュータにある秘密鍵ｘを前記秘密鍵ｅ２に対応する公開鍵ｅ１により検証して当該秘密鍵ｘが秘密鍵ｃ２であると認証した場合に限り、前記第２復号ステップを実行する請求項１〜３のいずれかに記載のファイル暗号化・復号化プログラム。
【請求項５】
公開鍵ｃ１は公開鍵暗号方式の秘密鍵ｅ２でデジタル認証されており、前記暗号化プロセスは、前記コンピュータにある公開鍵ｙを前記秘密鍵ｅ２に対応する公開鍵ｅ１で検証して当該公開鍵ｙが前記公開鍵ｃ１であると認証した場合に限り、当該暗号化プロセスにおける他のステップを有効にする請求項１〜３のいずれかに記載のファイル暗号化・復号化プログラム。
【請求項６】
請求項１〜５に記載のいずれかのファイル暗号化・復号化プログラムを記憶したプログラム格納媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータを用いたファイルの暗号化と複合化の方法に関する。また、コンピュータにインストールされて、ファイルの暗号化・復号化を実行するコンピュータプログラムと、そのプログラムの格納媒体にも関する。
【背景技術】
【０００２】
ファイルの暗号化は、機密文書などの閲覧者を制限したり、ネットワークを介して送信する際に情報が漏洩するのを防止したりするために必要である。暗号化の方式としては、暗号化と復号化とで同じ鍵（共通鍵）を使う共通鍵暗号方式と、公開鍵と秘密鍵の異なる１組の鍵を使う公開鍵暗号方式とがある。また、暗号化・複合化のアルゴリズムも各種ある。なお、暗号化・復号化については、以下の非特許文献に詳しく記載されている。
【非特許文献１】西尾  章治郎、外４名著，「岩波講座  マルチメディア情報学７  情報の共有と統合」，株式会社岩波書店，第１版，１９９９年１２月６日，ｐ１４３〜ｐ１５８
【発明の開示】
【発明が解決しようとする課題】
【０００３】
近年、企業内の秘密情報が社外に漏洩する事件が多発し、企業経営に甚大な被害を与えるケースが多い。そのため、秘密情報の漏洩対策として、ファイルを暗号化して管理することが必要となる。また、ファイルの暗号化・復号化のためのソフトウエアを、企業内で社員が使用するパーソナルコンピュータに統一してインストールしておく必要もある。
【０００４】
しかし、ファイルを暗号化することは、当然、その暗号化ファイルを復号するための鍵を持つ人間にしかファイルの内容を確認できない、ということにもなる。暗号化のためのソフトウエアを企業内で統一したとしても、秘密情報へのアクセスを許可した人間に該当の情報を暗号化されて社外に持ち出されると、その暗号化されたファイルの内容を他者が簡単に確認・チェックできず、秘密情報の漏洩事実の発見が遅れ、被害をさらに拡大させてしまう結果にもなり得る。
【０００５】
このような問題を解決するために、例えば、企業内の暗号化ソフトウエアを統一した上で暗号化と復号化のための鍵を全て登録制にし、その鍵を所定の権限を有する人間に管理させる、というシステムを作るという方法もある。しかし、この方法は、管理する鍵の数が大量になり、実際的ではないし、また、秘密裏に生成された鍵については管理することが事実上不可能となる。
【０００６】
本発明者らは、上記課題に鑑み、企業内で統一して使用する暗号化・復号化プログラムが備えるべき機能について考察し、本発明を創作した。本発明の目的は、暗号化のための鍵を自在に生成できるとともに、その鍵で暗号化されたファイルを、例えば、そのファイルの作成者の上位の監督者が管理する「マスターキー」で復号できるようにするとともに、そのマスターキー自体も厳重に管理できるようにしたファイル暗号化・復号化プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、コンピュータにインストールされて、ファイルを暗号化するプロセスと、暗号化されたファイルを復号化するプロセスとを当該コンピュータに実行させるファイル暗号化・復号化プログラムであって、
前記ファイル暗号化プロセスは、
共通鍵暗号方式の鍵（セッション鍵）ａ１を生成するセッション鍵生成ステップと、
平文のファイルｆ１をセッション鍵により暗号化して暗号ファイルｆ２を生成するファイル暗号化ステップと、
セッション鍵ａ１を公開鍵暗号方式の公開鍵ｂ１により暗号化して暗号化セッション鍵ａ２を生成する第１暗号化ステップと、
セッション鍵ａ１を公開鍵暗号方式における公開鍵ｃ１により暗号化して暗号化セッション鍵ａ３を生成する第２暗号化ステップと、
暗号化ファイルｆ２と、暗号化セッション鍵ａ２およびａ３とを内容として含む１つの結合ファイルに作成する結合ファイル作成ステップとを含み、
前記ファイルの復号化プロセスは、
前記結合ファイルを暗号化ファイルｆ２と、暗号化セッション鍵ａ２およびａ３とに分解するファイル分解ステップと、
前記コンピュータがセッション鍵ａ１を記憶している場合、暗号化ファイルｆ２を当該鍵ａ１により復号して平文ファイルｆ１を取得する平文ファイル復号ステップと、
前記コンピュータに公開鍵ｂ１に対応する秘密鍵ｂ２がある場合、暗号化セッション鍵ａ２を当該鍵ｂ２によりセッション鍵ａ１を復号した上で、前記平文ファイル復号ステップを実行する第１復号ステップと、
前記コンピュータに公開鍵ｃ１に対応する秘密鍵ｃ２がある場合、暗号化セッション鍵ａ３を当該鍵ｃ２によりセッション鍵ａ１を復号した上で、前記平文ファイル復号ステップを実行させる第２復号ステップとを含んでいる。
【０００８】
また、前記ファイル暗号化プロセスは、
パスワードｐ１をユーザ入力により受け付けるパスワード入力ステップと、
共通鍵暗号方式の鍵（セッション鍵）ａ１を生成するセッション鍵生成ステップと、
平文のファイルｆ１をセッション鍵により暗号化して暗号ファイルｆ２を生成するファイル暗号化ステップと、
セッション鍵ａ１を前記パスワードｐ１に関連づけするとともに所定のアルゴリズムに基づいて変形した変形セッション鍵ａ４を生成するセッション鍵変形ステップと、
パスワードｐ１を公開鍵暗号方式の公開鍵ｂ１により暗号化して暗号化パスワードｐ２を生成する第１暗号化ステップと、
パスワードｐ１を公開鍵暗号方式における公開鍵ｃ１により暗号化して暗号化パスワードｐ３を生成する第２暗号化ステップと、
暗号化ファイルｆ２と、変形セッション鍵ｐ４と、暗号化パスワードｐ２およびｐ３とを内容として含んだ１つの結合ファイルを作成する結合ファイル作成ステップとを含み、
前記ファイルの復号化プロセスは、
前記結合ファイルを前記ファイルｆ２と、変形セッション鍵ａ４と、暗号化パスワードｐ２およびｐ３とに分解するファイル分解ステップと、
ユーザ入力によりパスワードを受け付けるパスワード入力ステップと、
適宜に入力されたパスワードがパスワードｐ１に一致すれば、変形セッション鍵ａ４を前記アルゴリズムに基づいてセッション鍵ａ１に復元するとともに、当該セッション鍵ａ１により暗号化ファイルｆ２を復号して平文ファイルｆ１を取得する平文ファイル復号ステップと、
コンピュータに公開鍵ｂ１に対応する秘密鍵ｂ２がある場合、暗号化パスワードｐ２を当該鍵ｂ２によりパスワードｐ１に復号し、当該パスワードｐ１を前記平文ファイル復号ステップへの入力パスワードとする第１復号ステップと、
コンピュータに公開鍵ｃ１に対応する秘密鍵ｃ２がある場合、暗号化パスワードｐ３を当該鍵ｃ２によりパスワードｐ１に復号し、当該パスワードｐ１を前記平文ファイル復号ステップへの入力パスワードとする第２復号ステップとを含んだファイル暗号化・復号化プログラムとすることもできる。
【０００９】
あるいは、前記ファイル暗号化プロセスは、
ユーザ入力によりパスワードｐ１を受け付けるパスワード入力ステップと、
パスワードｐ１を所定のアルゴリズムに基づいて共通鍵暗号方式のセッション鍵ｐ４に変形する変形セッション鍵生成ステップと、
共通鍵暗号方式の鍵（セッション鍵）ａ１を生成するセッション鍵生成ステップと、
平文のファイルｆ１をセッション鍵ａ１により暗号化して暗号ファイルｆ２を生成するファイル暗号化ステップと、
セッション鍵ａ１に基づいてセッション鍵の検証データｄ１を生成する検証データ生成ステップと、
セッション鍵ａ１を公開鍵暗号方式の公開鍵ｂ１により暗号化して暗号化セッション鍵ａ２を生成する第１暗号化ステップと、
セッション鍵ａ１を公開鍵暗号方式における公開鍵ｃ１により暗号化して暗号化セッション鍵ａ３を生成する第２暗号化ステップと、
セッション鍵ａ１をセッション鍵ｐ４で暗号化した暗号化セッション鍵ａ５を生成する第３暗号化ステップと、
暗号化ファイルｆ２と、検証データｄ１と、３つの暗号化セッション鍵ａ２、ａ３、ａ５とを内容として含んだ１つの結合ファイルを作成する結合ファイル作成ステップとを含み、
前記ファイルの復号化プロセスは、
前記結合ファイルをファイルｆ２と、検証データｄ１と、３つの暗号化セッション鍵ａ２、ａ３、ａ５とに分解するファイル分解ステップと、
前記パスワード入力ステップと、
前記変形セッション鍵生成ステップと、
暗号化ファイルｆ２をセッション鍵ａ１により復号化して平文ファイルｆ１を取得する平文ファイル復号ステップと、
前記コンピュータに公開鍵ｂ１に対応する秘密鍵ｂ２がある場合、暗号化セッション鍵ａ２を当該鍵ｂ２によりセッション鍵ａ１に復号するとともに、当該鍵ａ１を検証データｄ１に基づいて検証した上で、前記平文ファイル復号ステップを実行する第１復号ステップと、
前記コンピュータに公開鍵ｃ１に対応する秘密鍵ｃ２がある場合、暗号化セッション鍵ａ３を当該鍵ｃ２によりセッション鍵ａ１に復号するとともに、当該鍵ａ１を検証データｄ１に基づいて検証した上で、前記平文ファイル復号ステップを実行する第２復号ステップと、
暗号化セッション鍵ａ５を前記変形セッション鍵生成ステップにより生成されたセッション鍵ｐ４によりセッション鍵ａ１に復号するとともに、当該鍵ａ１を検証データｄ１に基づいて検証した上で、前記平文ファイル復号ステップを実行する第３復号ステップと  を含んだファイル暗号化・復号化プログラムとしてもよい。
【００１０】
なお、上記ファイル暗号化・復号化プログラムにおいて、秘密鍵ｃ２は、公開鍵暗号方式の秘密鍵ｅ２でデジタル認証されており、前記復号化プロセスでは、前記コンピュータにある秘密鍵ｘを前記秘密鍵ｅ２に対応する公開鍵ｅ１により検証して当該秘密鍵ｘが秘密鍵ｃ２であると認証した場合に限り、前記第２復号ステップを実行することとしてもよい。
【００１１】
また、公開鍵ｃ１は公開鍵暗号方式の秘密鍵ｅ２でデジタル認証されており、前記暗号化プロセスは、前記コンピュータにある公開鍵ｙを前記秘密鍵ｅ２に対応する公開鍵ｅ１で検証して当該公開鍵ｙが前記公開鍵ｃ１であると認証した場合に限り、当該暗号化プロセスにおける他のステップを有効にするファイル暗号化・復号化プログラムとすることもできる。
【００１２】
なお本発明は、上記ファイル暗号化・復号化プログラムのいずれかを記憶したプログラム格納媒体にも及んでいる。
【発明の効果】
【００１３】
本発明のファイル暗号化・復号化プログラムによれば、ファイルを暗号化するための鍵を自在に生成できるとともに、その鍵で暗号化されたファイルを復号するためのマスターキーも生成することができる。また、そのマスターキー自体も厳重に管理できる。それによって、情報の守秘管理と漏洩事実の早期発見とを両立させることができる。
【発明を実施するための最良の形態】
【００１４】
＝＝＝実施形態＝＝＝
本発明の実施例におけるファイルの暗号化・復号化プログラムは、ＣＤ−ＲＯＭなどの媒体に格納されて提供され、コンピュータにインストールされる。本実施例において、プログラムの販売業者は、ライセンス契約を締結した企業を固有のライセンスコードで管理するとともに、各ライセンスコード毎に秘密鍵と公開鍵とを生成し、その生成した公開鍵（企業公開鍵）と秘密鍵（企業秘密鍵）とプログラム本体とをＣＤ−ＲＯＭに格納して企業に納入する。具体的には、販売業者は、製品としてのプログラムに共通の公開鍵暗号方式における秘密鍵（製品秘密鍵）と公開鍵（製品公開鍵）を生成・管理する。プログラムは、製品秘密鍵で暗号化された企業公開鍵（暗号化企業公開鍵）と、コンピュータにインストールされて各種処理を実行するプログラム本体に相当するコードとを含み、販売業者は、これら鍵とコードがコンパイルされて格納されたＣＤ−ＲＯＭを該当の企業に納入する。なお製品公開鍵は認証機関や販売業者のＷｅｂサイトなどにダウンロード可能にして用意しておいてもよいし、プログラムとおなじＣＤ−ＲＯＭに格納して用意しておいてもよい。
【００１５】
図１に、ＣＤ−ＲＯＭにおけるプログラム格納状態の概略を示した。企業公開鍵１１を製品秘密鍵１で暗号化した暗号化企業公開鍵１２とプログラムを記述したコード３とが記録されたＣＤ−ＲＯＭ４と、企業秘密鍵１３を製品秘密鍵１でデジタル署名した署名済み企業秘密鍵１４が記録されたＣＤ−ＲＯＭ５とが企業に納入される。なお企業公開鍵１１を製品秘密鍵１で暗号化することは、実質的に、企業公開鍵１１本体を製品秘密鍵１でデジタル署名したことと同義である。また、企業秘密鍵１３のデジタル署名については、企業公開鍵１１と同様に企業秘密鍵１３自体を製品秘密鍵１で暗号化したものであってもよいし、企業秘密鍵１３を、例えばハッシュ関数など、所定のアルゴリズムに基づいて生成したダイジェストを製品秘密鍵１で暗号化したものであってもよい。ダイジェストを暗号化した場合には、ＣＤ−ＲＯＭ５には企業秘密鍵１３自体も署名とともに記録しておけばよい。なお、企業秘密鍵１３を厳重に管理できるのであれば、企業秘密鍵１３をデジタル認証しておく必要はなく、企業秘密鍵１３をその管理者のコンピュータに記憶させておくなどして保管しておけばよい。企業公開鍵１１についても同様に暗号化せずに鍵自体をＣＤ−ＲＯＭ４に記録しておいてもよい。
【００１６】
＝＝＝企業における利用形態＝＝＝
本実施例では、ある企業において、社員の利用する全コンピュータにはＣＤ−ＲＯＭ４を起源として本プログラムがインストールされているものとし、他の暗号化・複合化プログラムは使用禁止となっている状況を想定している。そしてプログラムは、公開鍵暗号方式における公開鍵と秘密鍵を生成する機能を含み、例えば、部署毎にその上長が公開鍵（グループ公開鍵）と秘密鍵（グループ秘密鍵）を自身のコンピュータにおいて生成し、公開鍵をその部署の一般社員のコンピュータに配布しておく。
【００１７】
＝＝＝暗号処理システム＝＝＝
本実施例の方法に基づいてファイルの暗号化や複合化を実行するコンピュータ（以下、暗号処理システム）は、暗号化の対象となる平文ファイルを共通鍵暗号方式における秘密鍵（以下、セッション鍵）で暗号化するとともに、セッション鍵を公開暗号方式の公開鍵で暗号化する周知の「デジタル封筒」技術を応用して企業内でのファイル守秘管理と迅速な漏洩事実発見との両立を図っている。
【００１８】
図２と図３に、暗号処理システムによるファイルの暗号化と復号化の概略をそれぞれに示した。また、図４（Ａ）と図４（Ｂ）に、それぞれその暗号化と復号化の処理の流れを示した。まず、セッション鍵２１を生成し（ｓ１）、そのセッション鍵２１で暗号化したい平文ファイル３１を暗号化して暗号化ファイル３２を生成する（ｓ２）。また、セッション鍵２１をグループ公開鍵１５で暗号化してグループ暗号化セッション鍵２２を作成する（ｓ３→ｓ４）。グループ公開鍵１５が存在しない場合には、平文ファイル３１を暗号化できない旨などを表示出力するとともに、今までの暗号化プロセスを無効化するなどのエラー処理（ｓ３→ｓ８）を行い、プログラムの実行を終了する。それによって、例えば、同一のグループ公開鍵を共有する特定の部署に属さない暗号化システムによって平文ファイルが暗号化され、その部署外に守秘義務のあるファイルが暗号化されて持ち出されないようにしている。
【００１９】
つぎに、暗号化企業公開鍵１２を製品公開鍵２で復号して企業公開鍵１１を取得し、その企業公開鍵１１でセッション鍵２１を暗号化して企業暗号化セッション鍵２３を作成する（ｓ５→ｓ６）。そして、上記処理により生成した暗号化ファイル３２とグループ暗号化セッション鍵２２と企業暗号化セッション鍵２３とを内容として含んだ１つの結合ファイル４１を作成する（ｓ７）。なお本実施例では、企業公開鍵１１の復号処理（ｓ５）を経ずに企業暗号化セッション鍵２３の生成処理を実行することを禁止している。企業公開鍵１１の復号処理（ｓ５）を経ずに企業公開鍵１１が読み込まれた場合、適宜なエラー処理（ｓ８）を行い、プログラムの実行を終了する。それによって、不正に企業公開鍵１１を得た人間が平文ファイル３１の作成者を詐称する「なりすまし」を防止している。もちろん、企業公開鍵の復号処理を暗号化プロセスの最初に行い、その処理結果に応じて以後の処理の続行・中止を決定するようにしてもよい。
【００２０】
復号化のプロセスとしては、まず、結合ファイル４１を暗号化ファイル３２とグループ暗号化セッション鍵２２と企業暗号化セッション鍵２３に分解する（ｓ１１）。復号処理を実行する暗号処理システムにセッション鍵２１があれば前記分解処理により得た暗号化ファイル３２を当該セッション鍵２１で復号して平文ファイル３１を得る（ｓ１２→ｓ１５）。また、セッション鍵２１がなくてもグループ秘密鍵１６があれば、グループ暗号化セッション鍵２２をグループ秘密鍵１６で復号処理してセッション鍵２１を取得し、そのセッション鍵２１で暗号化ファイル３２を平文ファイル３１に復号する（ｓ１２→ｓ１３→ｓ１４→ｓ１５）。セッション鍵２１やグループ秘密鍵１６がなくても、署名済み企業秘密鍵１４があれば、署名済み企業秘密鍵１４を製品公開鍵１で検証し（ｓ１２→ｓ１３→ｓ１６）、認証した鍵を企業秘密鍵１３とし、この企業秘密鍵１３で企業暗号化セッション鍵２３をセッション鍵２１に復号し（ｓ１６→ｓ１７）、そのセッション鍵２１で暗号化ファイル３２を平文ファイル３１に復号する（ｓ１５）。認証できなければ企業秘密鍵１３が不正に入手されたものとして、暗号化ファイル３２を復号できない旨などを表示出力するなど、適宜にエラー処理（ｓ１８）を実行して処理を終了する。
【００２１】
上記暗号処理システムは、例えば、社外から外部へネットワークを介して送信されるファイルを監視する周知のパケット・スニッフィング（Packet Sniffing）技術などに適用可能である。具体的には、パケット・スニッフィングによってネットワーク監視処理を行うホストコンピュータに上記暗号処理システムの機能と、グループ秘密鍵や企業秘密鍵を組み込んでおけば、ある一般社員があるファイルを自身が生成したセッション鍵によって暗号化し、外部の人間にネットワークを介して転送しようとしたとしても、セッション鍵を入手したり解読したりすることなく速やかにファイルの内容を検閲することができる。従前では、ファイルが社外秘のものであるかどうかを検閲するために、セッション鍵を入手したり解読したりするために多大な時間と作業を要した。
【００２２】
＝＝＝操作環境＝＝＝
上記実施例において、セッション鍵２１を記述するコード自体はその作成者自体もわからないようになっている。このような暗号化手順については、例えば、プログラムが暗号化や複合化するファイルを管理するための特殊なフォルダ（管理フォルダ）をセッション鍵２１毎に生成し、暗号処理システムにてその管理フォルダに平文ファイル３１を格納するユーザ入力を受け付けると、平文ファイル３１がそのフォルダのセッション鍵２１によって暗号化されるとともに、その暗号化ファイル３２と、セッション鍵２１をグループ公開鍵１５や企業公開鍵１１によって暗号化して得た暗号化セッション鍵とを含んだ結合ファイル４１の状態でその管理フォルダに格納する。また、管理フォルダから結合ファイル４１を読み出すユーザ入力に応動し、当該ユーザ入力を受け付けた暗号処理システムにて管理されている復号鍵の種類（セッション鍵２１、グループ秘密鍵１６、企業秘密鍵１３）に応じて結合ファイル４１から平文ファイル３１を得ればよい。
【００２３】
＝＝＝パスワードに対応した暗号化・復号化プロセス＝＝＝
例えば、上記管理フォルダに平文ファイル３１を格納する際、あるいは管理フォルダに格納されている結合ファイル４１から平文ファイル３１を取得する際にパスワードを求める操作環境としてもよい。この場合には概ね以下の第１および第２の２つの処理方式が考えられる。
【００２４】
図５に第１の処理方式における暗号化プロセスの概略を示した。暗号化のプロセスとしては、まず、ユーザ入力によりパスワード５１の入力を受け付けて記憶する。共通暗号化方式のセッション鍵２１を生成するとともに、このセッション鍵２１をパスワード５１が正しくなければ使用できないように変形した変形セッション鍵２４を生成する（ｓ２１）。例えば、セッション鍵２１を所定のアルゴリズムに基づいて変形し、その変形したセッション鍵にパスワードを対応付けしたデータを変形セッション鍵２４として管理する。
【００２５】
つぎに、セッション鍵２１で平文ファイル３１を暗号化ファイル３２に暗号化する（ｓ２２）。そして、パスワード５１をグループ公開鍵１５、および企業公開鍵１１で暗号化し、グループ暗号化パスワード５２と企業暗号化パスワード５３とを生成し（ｓ２３，ｓ２４）、暗号化ファイル３２と、変形セッション鍵２４と、グループ暗号化パスワード５２と、企業暗号化パスワード５３とを内容として含んだ１つの結合ファイル４２を作成する（ｓ２５）。
【００２６】
図６に第１の処理方式における復号化プロセスの概略を示した。上記手順にて暗号化されたファイル３２の復号化プロセスとしては、まず、結合ファイル４２を暗号化ファイル３２と、変形セッション鍵と２４、グループ暗号化パスワード５２と、企業暗号化パスワード５３とに分解する（ｓ３１）。そして、この分解処理以降のプロセスは、暗号処理システムにて管理されている復号鍵（パスワード５１、グループ秘密鍵１６、企業秘密鍵１３）によってそれぞれ異なる。
【００２７】
暗号処理システムは、例えば、管理フォルダにある結合ファイル４２を読み出すユーザ入力など、適宜な復号指示操作を受けつけると、自身が管理する復号鍵を調査する。パスワードを管理していれば、ユーザインタフェースにより、パスワード５１のユーザ入力を促す。ユーザ入力によりパスワード５１が正しく入力されると変形セッション鍵２４をセッション鍵２１に復元し、そのセッション鍵２１で暗号化ファイル３２を平文ファイル３１に復号する（ｓ３２→ｓ３３）。
【００２８】
グループ秘密鍵１６を管理していれば、復号指示操作に応動してグループ暗号化パスワード５２をグループ秘密鍵１６で復号してパスワード５１を取得する。そして、そのパスワード５１を用いて変形セッション鍵２４をセッション鍵２１に復元し、そのセッション鍵２１で暗号化ファイル３２を復号して平文ファイル３１を取得する（ｓ３４→ｓ３２→ｓ３３）。企業秘密鍵１３に基づく復号化プロセスでは、認証済み企業秘密鍵を製品公開鍵で検証した上で、企業暗号化パスワード５３を企業秘密鍵１３で復号してパスワード５１を取得する。そして、変形セッション鍵をセッション鍵の復元処理と、暗号化ファイルの復号処理とを実行する（ｓ３５→ｓ３２→ｓ３３）。
【００２９】
パスワードに対応した暗号化・暗号化プロセスにおける第２の処理方式について、暗号化プロセスの概略を図７に示し、復号化プロセスの概略を図８に示した。暗号化のプロセスとしては、まず、ユーザ入力によりパスワード５１の入力を受け付けて記憶する。共通暗号化方式のセッション鍵２１を生成する。そして、平文ファイル３１をセッション鍵２１で暗号化して暗号化ファイル３２を生成する（ｓ４１）。また、セッション鍵２１などの適宜なデータ６１を起源として検証データ６２を生成する（ｓ４２）。検証データ６２としては、例えば、セッション鍵２１をハッシュ関数を用いて変換したハッシュ値であってもよいし、乱数とその乱数をセッション鍵２１で暗号化した暗号化乱数との組み合わせであってもよい。
【００３０】
つぎに、パスワード５１を所定のアルゴリズムに基づいて平文ファイル３１の暗号化に使用する上記セッション鍵２１とは異なる共通鍵暗号方式のセッション鍵に変形したパスワード変形セッション鍵２５を生成する（ｓ４３）。なおパスワード変形セッション鍵２５は、例えば、可変長のパスワード５１をハッシュ関数を用いて固定長のパスワード変形セッション鍵２５に変換するなど、適宜なアルゴリズムに基づいて生成すればよい。
【００３１】
つぎに、セッション鍵２１を、パスワード変形セッション鍵２５、グループ公開鍵１５、および企業公開鍵１１で暗号化して、パスワード暗号化セッション鍵２６、グループ暗号化セッション鍵２２、および企業暗号化セッション鍵２３に生成する（ｓ４４，ｓ４５，ｓ４６）。そして、暗号化ファイル３２と、検証データ６２と、パスワード暗号化セッション鍵２６と、グループ暗号化セッション鍵２２と、企業暗号化セッション鍵２３とを内容として含んだ１つの結合ファイル４３に作成する（ｓ４７）。
【００３２】
暗号化ファイル３２の復号化プロセスとしては、まず、結合ファイル４３を暗号化ファイル３２と、検証データ６２と、パスワード暗号化セッション鍵２６と、グループ暗号化セッション鍵２２と、企業暗号化セッション鍵２３とに分解する（ｓ５１）。そして、この分解処理（ｓ５１）以降のプロセスとしては、やはり、上記第１の処理方式と同じく、暗号処理システムが管理する復号鍵（１３，１６，５１）に応じてそれぞれの処理手順がある。
【００３３】
暗号処理システムにてパスワード５１が管理されていれば、復号化の指示操作に応動してパスワードのユーザ入力を受け付け可能とする。そして、正しくパスワード５１が入力されれば、このパスワード５１を上記アルゴリズムによりパスワード変形セッション鍵２５に生成し（ｓ５２）、そのパスワード変形セッション鍵２５でパスワード暗号化セッション鍵２６を復号してセッション鍵２１を取得する（ｓ５３）。
【００３４】
なお、この第２の処理方式では、復号処理の過程で得られたセッション鍵（以下、鍵ｘとする）を検証データ６２で検証することで（ｓ５４）、その鍵ｘが正規に入手されたセッション鍵２１でない限り、暗号化ファイル３２から平文ファイル３１が復号されないようにしている。例えば、検証データ６２がセッション鍵２１のハッシュ値であれば、鍵ｘのハッシュ値と検証データ６２中のハッシュ値とを照合する。双方のハッシュ値が一致すれば鍵ｘはセッション鍵２１であると認証する。検証データ６２が乱数と暗号化乱数であれば、検証データ６２中の乱数と、暗号化乱数を鍵ｘで復号して得た乱数とを照合すればよい。そして検証処理（ｓ５４）により、復元した鍵ｘを正規のセッション鍵２１として認証すれば、そのセッション鍵２１で暗号化ファイル３２を平文ファイル３１に復号する（ｓ５５）。
【００３５】
暗号処理システムにグループ秘密鍵１６が管理されていれば、グループ暗号化セッション鍵２２をグループ秘密鍵１６で復号し（ｓ５６）、この復号処理により得た鍵ｘが上記と同様にして検証してセッション鍵２１として認証すれば、このセッション鍵２１で暗号化ファイル３２を平文ファイル３１に復号する（ｓ５６→ｓ５４→ｓ５５）。企業秘密鍵１３が管理されていれば、企業秘密鍵１３による企業暗号化セッション鍵２３の復号処理と、この復号処理により得たセッション鍵ｘの検証処理とを経て、暗号化ファイル３２を平文ファイル３１に復号する（ｓ５７→ｓ５４→ｓ５５）。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施例におけるファイル暗号化・復号化プログラムを格納媒体に記録する際の概略図である。
【図２】上記プログラムによる暗号化処理の概略図である。
【図３】上記プログラムによる復号化処理の概略図である。
【図４】上記暗号化処理の流れ図（Ａ）と、復号化処理の流れ図（Ｂ）である。
【図５】上記プログラムの変更例における第１の処理方式の暗号化処理の概略図である。
【図６】上記第１の処理方式における復号化処理の概略図である。
【図７】上記プログラムの変更例における第２の処理方式の暗号化処理の概略図である。
【図８】上記第２の処理方式における復号化処理の概略図である。
【符号の説明】
【００３７】
１    製品秘密鍵
２    製品公開鍵
１１  企業公開鍵
１３  企業秘密鍵
１５  グループ公開鍵
１６  グループ秘密鍵
２１  セッション鍵
３１  平文ファイル
３２  暗号化ファイル
４１〜４３  結合ファイル
５１  パスワード
【図１】
2006211349.tif 000003
【図２】
2006211349.tif 000004
【図３】
2006211349.tif 000005
【図４】
2006211349.tif 000006
【図５】
2006211349.tif 000007
【図６】
2006211349.tif 000008
【図７】
2006211349.tif 000009
【図８】
2006211349.tif 000010