(57)【特許請求の範囲】
【請求項１】
データファイルの受信側は、予め公開鍵方式で用いられる公開鍵とランダムに生成したマスタ乱数制御値とを含む公開パスポートファイル、および前記公開鍵と対をなす秘密鍵と前記マスタ乱数制御値とを含む秘密パスポートファイルをそれぞれ生成して前記公開パスポートファイルを前記データファイルの送信側に通知し、
前記送信側は、ランダムに生成したマスタ乱数の一部を一時鍵情報として用いてデータファイルを共通鍵方式にて暗号化して暗号化データファイルを作成すると共に、前記公開パスポートファイルから抽出したマスタ乱数制御値を用いて前記マスタ乱数に所定の加工を施した後、加工したマスタ乱数を前記公開パスポートファイルから抽出した公開鍵を用いて公開鍵方式にて暗号化して暗号化マスタ乱数を作成し、前記暗号化データファイルおよび暗号化マスタ乱数を暗号管理情報と共に前記受信側に送信する手段を備え、
前記受信側は、受信した前記暗号管理情報と前記秘密パスポートファイルから抽出した秘密鍵とを用いて前記暗号化マスタ乱数を公開鍵方式にて復号した後、前記秘密パスポートファイルから抽出したマスタ乱数制御値を用いて前記復号したマスタ乱数から前記一時鍵情報を抽出し、抽出した一時鍵情報を用いて前記暗号化データファイルを共通鍵方式にて復号する手段を備えることを特徴とするデータファイル暗号化システム。
【請求項２】
前記秘密パスポートファイルおよび前記公開パスポートファイルは、前記受信側および送信側との間で事前に共有したプレシェア鍵情報を用いて共通鍵方式にてそれぞれ暗号化したものであって、
前記送信側は、前記プレシェア鍵情報を用いて前記公開パスポートファイルを復号して前記公開鍵とマスタ乱数制御値とをそれぞれ抽出すると共に、前記暗号管理情報を前記プレシェア鍵情報を用いて暗号化して前記受信側に通知し、
前記受信側は、受信データから前記プレシェア鍵情報を用いて前記暗号管理情報を復号すると共に、前記プレシェア鍵情報を用いて前記秘密パスポートファイルから前記秘密鍵とマスタ乱数制御値とをそれぞれ抽出して前記受信データの復号処理に供するものである請求項１に記載のデータファイル暗号化システム。
【請求項３】
前記マスタ乱数制御値は、前記マスタ乱数をオフセットするマスタ乱数管理部オフセット値、または前記マスタ乱数を排他的論理和によってマスクするマスタ乱数マスク値として与えられるものである請求項１に記載のデータファイル暗号化システム。
【請求項４】
前記プレシェア鍵情報および一時鍵情報は、それぞれ共通鍵方式での暗号化に必要な暗号初期ベクトル、暗号鍵、メッセージ認証コード初期ベクトル、およびメッセージ認証コード鍵からなり、
前記一時鍵情報は、前記マスタ乱数における所定位置のバイトデータを暗号初期ベクトルオフセット、暗号鍵オフセット、メッセージ認証コード初期ベクトルオフセット、およびメッセージ認証コード鍵オフセットからなる乱数管理部として前記マスタ乱数にオフセットを与えて求められるものである請求項１に記載のデータファイル暗号化システム。
【請求項５】
前記暗号管理情報は、暗号方式のバージョン、マスタ乱数の個数、暗号化前のデータファイルのサイズを含み、プレシェア鍵情報を用いて共通鍵方式にて暗号化されたものである請求項１に記載のデータファイル暗号化システム。
【請求項６】
前記暗号化マスタ乱数の作成は、複数の受信側からそれぞれ通知された公開パスポートファイルから抽出したマスタ乱数制御値と公開鍵とを用いてそれぞれ行われ、作成した複数の暗号化マスタ乱数の全てを前記暗号化データファイルと共に前記複数の受信側に転送することを特徴とする請求項１に記載のデータファイル暗号化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア処理によって簡易に、しかも効率的にセキュリティ性を十分に確保したデータファイルの転送を行い得るデータファイル暗号化システムに関する。
【背景技術】
【０００２】
秘密情報等を含むデータファイルを電子メールに添付して送付する場合、ファイル暗号化ソフトウェアを用いて該当するデータファイルを暗号化することが多い。ちなみにデータファイルの暗号化は、一般的にはファイルの送信元（送信側）とその送信先（受信側）との間で予め定めたパスワードを用いて行われ、また暗号化データファイルの復号も上記パスワードを用いて行われる（例えば特許文献１,２を参照）。この種の暗号化は共通鍵方式と称される。ところが本来秘密とすべきパスワードを覚え易くするべく、バスワードとして電話番号等の簡易なフレーズを採用することが多々ある。しかもパスワードの忘却を防ぐ為にメモすることも多いので、セキュリティを確保する上での問題が危惧される。
【０００３】
この点、電子メール自体を暗号化するソフトウェアも開発されているが、各企業におけるソフトウェア基盤の相違等に起因して活用されるケースも多くない。
【特許文献１】特開２００６−２３７９０８号公報
【特許文献２】特開２００４−２９７７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで暗号化に用いるパスワードとして推測等が不可能なフレーズを用い、またこの種のパスワードを高頻度に変更することが考えられている。しかしながらこの場合にはパスワードの管理が煩雑となる上、これを人為的に行うこと自体が非常に困難である。そこで毎回変化する一度限りのパスワード、いわゆるワンタイムパスワードを用いることが提唱されている。しかしワンタイムパスワードを用いるには専用のハードウェアや専用のネットワークシステムが必要となることが多く、容易には利用できないのが実情である。
【０００５】
本発明はこのような事情を考慮してなされたもので、その目的は、専用のハードウェアを用いることなく、ワンタイムパスワードを用いたセキュリティ性の高いデータファイルの転送を可能とするデータファイル暗号化システムを提供することにある。
【課題を解決するための手段】
【０００６】
上述した目的を達成するべく本発明に係るデータファイル暗号化システムは、概念的には公開鍵方式で用いられる公開鍵／秘密鍵と、ランダムに生成された乱数をマスタ乱数の一部を一時鍵情報（ワンタイムパスワード）として用いるものであって、一時鍵情報を用いてデータファイルを共通鍵方式にて暗号化すると共に、公開鍵を用いて前記マスタ乱数を公開鍵方式にて暗号化することを特徴としている。
【０００７】
即ち、本発明に係るデータファイル暗号化システムは、
<ａ>  データファイルの受信側は、予め公開鍵方式で用いられる公開鍵とランダムに生成したマスタ乱数制御値とを含む公開パスポートファイル、および前記公開鍵と対をなす秘密鍵と前記マスタ乱数制御値とを含む秘密パスポートファイルをそれぞれ生成して前記公開パスポートファイルを前記データファイルの送信側に通知し、
<ｂ>  前記送信側は、ランダムに生成したマスタ乱数の一部を一時鍵情報として用いてデータファイルを共通鍵方式にて暗号化すると共に、前記公開パスポートファイルから抽出したマスタ乱数制御値を用いて前記マスタ乱数に所定の加工を施した後、加工したマスタ乱数を前記公開パスポートファイルから抽出した公開鍵を用いて公開鍵方式にて暗号化し、暗号化したデータファイルおよび暗号化したマスタ乱数を暗号管理情報と共に前記受信側に送信し、
<ｃ>  前記受信側は、受信した前記暗号管理情報と前記秘密パスポートファイルから抽出した秘密鍵とを用いて前記暗号化マスタ乱数を公開鍵方式にて復号した後、前記秘密パスポートファイルから抽出したマスタ乱数制御値を用いて前記復号したマスタ乱数から前記一時鍵情報を抽出し、抽出した一時鍵情報を用いて前記暗号化データファイルを共通鍵方式にて復号する
ことを特徴としている。
【０００８】
好ましくは前記秘密パスポートファイルおよび前記公開パスポートファイルは、前記受信側および送信側との間で事前に共有したプレシェア鍵情報を用いて共通鍵方式にてそれぞれ暗号化したものであって、
<ｂ1>  前記送信部は、前記プレシェア鍵情報を用いて前記公開パスポートファイルを復号して前記公開鍵とマスタ乱数制御値とをそれぞれ抽出すると共に、前記暗号管理情報を前記プレシェア鍵情報を用いて暗号化して前記受信側に通知し、
<ｃ1>  前記受信部は、受信データから前記プレシェア鍵情報を用いて前記暗号管理情報を復号すると共に、前記プレシェア鍵情報を用いて前記秘密パスポートファイルから前記秘密鍵とマスタ乱数制御値とをそれぞれ抽出して前記受信データの復号処理に供するものとして構成される。
【０００９】
尚、前記マスタ乱数制御値は、前記マスタ乱数をオフセットするマスタ乱数管理部オフセット値、または前記マスタ乱数を排他的論理和によってマスクするマスタ乱数マスク値として与えられる。また前記プレシェア鍵情報および一時鍵情報は、例えばそれぞれ共通鍵方式での暗号化に必要な暗号初期ベクトル、暗号鍵、メッセージ認証コード初期ベクトル、およびメッセージ認証コード鍵からなる。また前記一時鍵情報は、例えば前記マスタ乱数における所定位置のバイトデータを暗号初期ベクトルオフセット、暗号鍵オフセット、メッセージ認証コード初期ベクトルオフセット、およびメッセージ認証コード鍵オフセットからなる乱数管理部として前記マスタ乱数にオフセットを与えることによって求められる。
【００１０】
更に前記暗号管理情報については、暗号方式のバージョン、マスタ乱数の個数、暗号化前のデータファイルのサイズを含み、プレシェア鍵情報を用いて共通鍵方式にて暗号化されたものとすることが望ましい。
また前述した暗号化マスタ乱数を作成を、複数の受信側からそれぞれ通知された公開パスポートファイルから抽出したマスタ乱数制御値と公開鍵とを用いてそれぞれ行い、作成した複数の暗号化マスタ乱数の全てを前記暗号化データファイルと共に前記複数の受信側に転送するようにしても良い。
【発明の効果】
【００１１】
上記構成のデータファイル暗号化システムによれば、送信先（受信側）から通知された公開パスポートファイルから求められる公開鍵と、ランダムに生成したマスタ乱数の一部を一時鍵情報（ワンタイムパスワード）として用い、この一時鍵情報を用いてデータファイルを共通鍵方式にて暗号化すると共に、前記マスタ乱数については前記公開パスポートファイルから抽出したマスタ乱数制御値を用いて加工した後、この加工したマスタ乱数を前記公開鍵を用いて暗号化するので、公開鍵を用いた暗号化に処理時間が掛かるといえども、その暗号化の範囲がマスタ乱数だけなので高速に暗号化処理を実行してその秘匿性を十分に確保することが可能となる。
【００１２】
特にデータファイルについては一時鍵情報（ワンタイムパスワード）を用いて共通鍵方式を用いて暗号化するだけなので、データファイルのサイズが大きい場合であっても高速に処理することができる。従ってサイズの小さいマスタ乱数だけを公開鍵方式による暗号化の範囲としていることと相俟って短時間での処理が可能である。即ち、本発明に係るデータファイル暗号化システムにおいてはマスタ乱数の一部分を共通鍵方式で用いる一時鍵情報（ワンタイムパスワード）としてデータファイルを暗号化し、上記マスタ乱数については公開パスポートファイルから得られるマスタ乱数制御値に従って所定の加工を施した後、公開鍵を用いて暗号化するので、簡易にして効果的に秘匿性を確保したデータファイルの転送を効率的に実行することができる。
【００１３】
また複数の受信側からそれぞれ通知された公開パスポートファイルから抽出したマスタ乱数制御値と公開鍵とを用いて暗号化マスタ乱数をそれぞれ作成し、これらの作成した複数の暗号化マスタ乱数の全てを前記暗号化データファイルと共に前記複数の受信側に一括して転送することにより、複数の送信先への同一データファイルの、いわゆる同報が可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明に係るデータファイル暗号化システムの一実施形態について説明する。
図１は本発明に係るデータファイル暗号化システムの概念を示している。このシステムでは、予めデータファイルを受け取る受信側Ｒにおいて公開パスポートファイル（公開パスポート）Ｐpkと、この公開パスポートファイルＰpkと対をなす秘密パスポートファイル（秘密パスポート）Ｐskとをそれぞれ作成し、予め想定したデータファイルの送信側Ｔに上記公開パスポートファイルＰpkを通知（公開）しておくことにより実現される。そして送信側Ｔでは、基本的には予め受信側Ｒから通知された前記公開パスポートファイルＰpkを用いてデータファイルを暗号化して前記受信側Ｒに送信し、一方、暗号化されたデータファイルを受信した受信側Ｒでは前記秘密パスポートファイルＰskを用いて暗号化データファイルを復号する。
【００１５】
ちなみに前記公開パスポートファイルＰpkおよび秘密パスポートファイルＰskは、公開鍵方式で用いられる公開鍵ＰＫおよびこの公開鍵ＰＫと対をなす秘密鍵ＳＫと、ランダムに生成したマスタ乱数制御値としての、例えばマスタ乱数管理部オフセットＯＦや後述するマスタ乱数マスク値を含むものである。具体的には図２にその概念を示すように前記公開パスポートファイルＰpkは公開鍵ＰＫとマスタ乱数管理部オフセットＯＦとを含むファイルとして、また前記秘密パスポートファイルＰskは秘密鍵ＳＫと前記マスタ乱数管理部オフセットＯＦとを含むファイルとしてそれぞれ生成される。
【００１６】
尚、公開鍵ＰＫや秘密鍵ＳＫ等の暗号化に用いられる鍵情報は、例えば暗号初期ベクトル、暗号鍵、ＭＡＣ（メッセージ認証コード）初期ベクトルおよびＭＡＣ鍵からなる。またマスタ乱数管理部オフセットＯＦは、例えばランダムに生成した乱数値からなり、後述するマスタ乱数のオフセットに用いられる。これらの公開パスポートファイルＰpkおよび秘密パスポートファイルＰskは、前記受信部Ｒと送信部Ｔとの間で事前に共有される鍵情報（プリシェア鍵情報）ＣＫを用いて共通鍵方式にてそれぞれ暗号化され、この内、暗号化された公開パスポートファイルＰpkだけが予め受信側Ｒから送信側Ｔに通知（送信）される。ちなみに前記公開パスポートファイルＰpkの内容について秘密性がないので、その取り扱いに格別に配慮する必要はない。
【００１７】
さて送信側Ｔにおいては受信側Ｒに送信すべきデータファイルを次のようにして暗号化する。即ち、送信側Ｔは、先ずランダムに生成したマスタ乱数（乱数値）ＭＲの一部を、共通鍵方式での暗号化に用いる一時鍵情報ＴＫを求める為のオフセット値とする。ちなみにマスタ乱数（乱数値）ＭＲの一部として求められる上記オフセット値は、一時鍵情報ＴＫを構成する前述した暗号初期ベクトル、暗号鍵、ＭＡＣ初期ベクトルおよびＭＡＣ鍵にそれぞれオフセットを与える為の暗号初期ベクトルオフセット、暗号鍵オフセット、ＭＡＣ初期ベクトルオフセットおよびＭＡＣ鍵オフセットからなる。
【００１８】
具体的には前記オフセット値は、例えば図３に示すように２５６バイトのマスタ乱数（乱数値）における先頭の４バイトが１バイトずつ暗号初期ベクトルオフセット、暗号鍵オフセット、ＭＡＣ初期ベクトルオフセットおよびＭＡＣ鍵オフセットとしてそれぞれ抽出され、乱数管理部として定義される。このようにして定義される乱数管理部（オフセット値）を用いて前述したマスタ乱数（乱数値）ＭＲから必要バイト数の数値を抽出し、これを一時鍵情報ＴＫとして用いる。
【００１９】
例えば前記暗号初期ベクトルオフセットが［２５１］として与えられるような場合、図４に示すように前述した２５６バイトのマスタ乱数ＭＲを２５１バイト目から順次巡回的に１６バイトに亘って抽出し、この１６バイトのデータを前記暗号初期ベクトルとして求める。他の暗号鍵、ＭＡＣ初期ベクトルおよびＭＡＣ鍵についても、前述した暗号鍵オフセット、ＭＡＣ初期ベクトルオフセットおよびＭＡＣ鍵オフセットによりそれぞれ指定される前記マスタ乱数ＭＲの各バイト位置から、該マスタ乱数ＭＲの一部を所要とするバイト数に亘ってそれぞれ巡回的に抽出することで同様に求める。そしてこのようにして求めた暗号初期ベクトル、暗号鍵、ＭＡＣ初期ベクトルおよびＭＡＣ鍵を、共通鍵方式による暗号化に用いる一時鍵情報（ワンタイムパスワード）ＴＫとする。
【００２０】
しかる後、受信部Ｒに送信すべきデータファイルを上述した如く求めた一時鍵情報（ワンタイムパスワード）ＴＫを用いて共通鍵方式にて暗号化し、その暗号化ファイルを受信部Ｒに向けて送付する。このようにデータファイルの暗号化を共通鍵方式にて実行するので、仮にデータファイルのサイズが大きい場合であっても、高速に暗号化処理することができる。
【００２１】
この際、図５に示すように暗号方式のバージョン、マスタ乱数ＭＲの個数、およびデータファイルのサイズをそれぞれ示す、例えば１６バイトの暗号管理情報を作成し、この暗号化情報を前記暗号化ファイルに添付する。また上述した暗号化に用いたマスタ乱数ＭＲについても、例えばマスタ乱数ＭＲを暗号化して受信部Ｒに通知する。このマスタ乱数ＭＲの暗号化ついては、例えば前述したプリシェア鍵情報ＣＫを用いて前記公開パスポートファイルＰpkを復号してマスタ乱数管理部オフセットＯＦと公開鍵ＰＫとを求める。そして公開パスポートファイルＰpkの復号により得られたマスタ乱数管理部オフセットＯＦを用いて、先ず前記マスタ乱数（乱数値）ＭＲを図６に示すように正方向にローテーション（オフセット）する。その後、復号した公開鍵ＰＫを用いて上述した如くローテーションしたマスタ乱数（乱数値）ＭＲを公開鍵方式にて暗号化する。そしてこの暗号化したマスタ乱数（乱数値）ＭＲ'を前述した暗号化ファイルおよび暗号管理情報と共に受信側Ｒに送信するようにすれば良い。
【００２２】
さて上述した如く暗号化されたファイルを受信する受信側Ｒにおいては、基本的には暗号化の手順と逆の処理を実行することでその復号を行う。即ち、受信したファイル中から暗号管理情報を抽出し、抽出した暗号管理情報を前記プリシェア鍵情報ＣＫを用いて復号する。この暗号管理情報の復号によって暗号方式のバージョン、マスタ乱数ＭＲの個数、およびデータファイルのサイズがそれぞれ求められる。次いでマスタ乱数ＭＲの個数に従って受信ファイル中から暗号化されたマスタ乱数ＭＲ'を抽出した後、前述した秘密パスポートファイルＰskから求められる秘密鍵ＳＫを用いて上記暗号化されたマスタ乱数ＭＲ'を復号する。そして復号したマスタ乱数ＭＲを前述したマスタ乱数管理部オフセットＯＦを用いて逆ローテーションすることで暗号化処理に使用したマスタ乱数ＭＲを求める。尚、マスタ乱数管理部オフセットＯＦについては、プリシェア鍵情報ＣＫを用いて秘密パスポートファイルＰpkを復号することによって求められる。
【００２３】
そして復元したマスタ乱数ＭＲから、先ずその先頭４バイトのデータを前述したように暗号初期ベクトルオフセット、暗号鍵オフセット、ＭＡＣ初期ベクトルオフセットおよびＭＡＣ鍵オフセットとしてそれぞれ抽出する。次いでマスタ乱数ＭＲから求められた乱数管理部（オフセット値）を用いて前記マスタ乱数（乱数値）ＭＲから必要バイト数の数値を抽出することで暗号化に用いた一時鍵情報ＴＫを求める。しかる後、共通鍵方式により暗号化されたデータファイルを上記の如く求めた一時鍵情報ＴＫを用いて復号する。
【００２４】
このように本発明に係るデータファイル暗号化システムにおいては、基本的にはデータファイルを共通鍵方式で暗号化し、またその暗号化に用いたマスタ乱数ＭＲを公開鍵方式にて暗号化し、更に暗号管理情報については共通鍵方式で暗号化している。この内、上記公開鍵方式による暗号化は、一般的には非常に多くの処理時間を要するが、本システムにおいてはデータサイズの小さいマスタ乱数ＭＲだけを公開鍵方式による暗号化の対象としているので、短時間での処理が可能である。またデータサイズの大きいデータファイルについては共通鍵方式で暗号化するので高速な処理が可能であり、しかもその暗号化に前述した一時鍵情報（ワンタイムパスワード）ＴＫを用いるので、その秘匿性を十分に確保することが可能である。
【００２５】
尚、暗号管理情報については固定的に与えられるプリシェア鍵情報ＣＫを用いて暗号化するが、この暗号管理情報には秘密情報が含まれないのでセキュリティ性の点で問題が生じることはない。従って前述した如くマスタ乱数ＭＲに基づいて作成したワンタイムパスワード（一時鍵情報）ＴＫを用いることで、秘匿性を十分に確保したセキュリティ性の高いデータファイルの転送を可能とする。しかも専用のハードウェアを用いることなく暗号化処理を実行することができる。換言すればソフトウェア処理によって共通鍵方式および公開鍵方式の特徴を活かしながら、セキュリティ性の高いデータファイルの転送を簡易に実行することが可能となる。
【００２６】
図７および図８は本発明の具体的な実施形態に係る暗号化処理手順とその処理概念を模式的に示しており、また図９および図１０は本発明の具体的な実施形態に係る復号処理手順とその処理概念を模式的に示している。これらの図７〜図１０を参照して前述した送信側Ｔでの暗号化処理、および受信側Ｒでの復号処理についての全体的な流れを今少し詳しく説明する。尚、ここでは複数のデータファイルを複数の送信先（受信側Ｒ）にそれぞれ一括して送信する場合を例に説明する。
【００２７】
暗号化処理は、先ず送信すべき複数のデータファイルをまとめてアーカイブ圧縮し、アーカイブファイルを作成することから開始される［ステップＳ１］。一方、ファイルの送信先（受信側Ｒ）の公開パスポートファイルＰpkを選択する［ステップＳ２］。ファイルの送信先が複数存在する場合には、それらの送信先からそれぞれ取得した複数の公開パスポートファイルＰpkを求める。図８に示す例では送信先が３箇所（Ｘ,Ｙ,Ｚ）であり、これらの送信先から公開パスポートファイルＰpkをそれぞれ取得している状態を示している。そして送信先との間で予め固定的に定めたプリシェア鍵情報ＣＫを用いて上記各公開パスポートファイルをそれぞれ復号し、３箇所（Ｘ,Ｙ,Ｚ）の送信先がそれぞれ公開している公開鍵ＳＫとマスタ乱数管理部オフセットＯＦとをそれぞれ求める［ステップＳ３］。
【００２８】
以上の前処理が終了したならば、次に乱数発生器を用いてランダムに生成される乱数シードから所定バイト数のマスタ乱数ＭＲを求める［ステップＳ４］。そして抽出したマスタ乱数ＭＲの一部を、例えば前述したように先頭の４バイトを一時鍵情報ＴＫとして抽出する［ステップＳ５］。そしてこの一時鍵情報ＴＫを用いて前記アーカイブファイルについてのＭＡＣ（メッセージ認証コード）を計算し、計算したＭＡＣをアーカイブファイルに付加する［ステップＳ６］。次いでＭＡＣを付加したアーカイブファイルを、上述した如く求めた一時鍵情報（ワンタイムパスワード）ＴＫを用いて共通鍵方式にて暗号化する［ステップＳ７］。
【００２９】
しかる後、或いは上述したアーカイブファイルの暗号化と併行して前述したマスタ乱数管理部オフセットＯＦに従って前記マスタ乱数ＭＲを正ローテーションし［ステップＳ８］、マスタ乱数管理部オフセットＯＦと対をなして求められた公開鍵ＰＫを用いて上記ローテーションしたマスタ乱数ＭＲ'を公開鍵方式にて暗号化する［ステップＳ９］。このマスタ乱数ＭＲの暗号化は、次パスポートが存在するか否かを調べることによって前述した複数の送信先毎に繰り返し実行する［ステップＳ１０］。
【００３０】
その上で上述した暗号化処理の内容を示す、暗号方式のバージョン、マスタ乱数の個数およびデータファイルのサイズを示す暗号管理情報を、前述したプリシェア鍵情報ＣＫを用いて共通鍵方式にて暗号化する［ステップＳ１１］。そして暗号化した暗号管理情報、暗号化したマスタ乱数ＭＲ、および暗号化したアーカイブファイル（データファイル）を連結して１つの暗号化データファイルを形成し［ステップＳ１２］、この暗号化データファイルを前述した複数の送信先（受信側Ｒ）にそれぞれ送信する。
【００３１】
一方、上述した暗号化データファイルを受信した送信先（受信側Ｒ）においては、先ず暗号化データファイル中から暗号化した暗号管理情報を抽出し、抽出した暗号管理情報をプリシェア鍵情報ＣＫを用いて復号する［ステップＳ２１］。また送信側Ｔに公開している公開パスポートファイルＰpkと対をなし、受信側Ｒだけが所有している秘密パスポートファイル（秘密パスポート）Ｐskを復号して公開鍵ＰＫと対をなす秘密鍵ＳＫと前述したマスタ乱数管理部オフセットＯＦとを求める［ステップＳ２２］。
【００３２】
次いで前記暗号化データファイル中から暗号化されているマスタ乱数ＭＲ'を抽出し、前記秘密鍵ＳＫを用いてマスタ乱数ＭＲを復号する［ステップＳ２３］。そしてマスタ乱数ＭＲが正常に復号できたか否かを判定し、マスタ乱数ＭＲを復号できなかった場合には次のマスタ乱数ＭＲ'について同様に秘密鍵ＳＫを用いて復号する［ステップＳ２４,Ｓ２５］。即ち、前記暗号化データファイルは、複数の送信先に対して同時に送信されている可能性があることから、復号処理が正常に行われたか否かを判定することで当該暗号化データファイルが自己に向けて送信されたものであるか否かを確認しながら、マスタ乱数ＭＲを求める。
【００３３】
そしてマスタ乱数ＭＲ'の復号が正常に行われた場合には、前述したマスタ乱数管理部オフセットＯＦを用いて復号したマスタ乱数ＭＲ'を逆ローテーションし、これによって暗号化に用いたマスタ乱数ＭＲを復元する［ステップＳ２６］。その後、復元したマスタ乱数ＭＲから前述した如く抽出される一時鍵情報ＴＫを求め［ステップＳ２７］、この一時鍵情報ＴＫを用いて暗号化されたデータファイルを共通鍵方式にて復号してアーカイブファイルを求める［ステップＳ２８］。
【００３４】
しかる後、復号したアーカイブファイルのＭＡＣを計算し［ステップＳ２９］、算出されたＭＡＣと上記アーカイブファイルに付されているＭＡＣとが一致するか否かを判定する［ステップＳ３０］。そしてＭＡＣが一致したとき、これを正規の受信ファイルであると認定してそのアーカイブファイルを解凍し、アーカイブファイルとして圧縮されている複数のデータファイルをそれぞれ求める［ステップＳ３１］。尚、前述したマスタ乱数ＭＲの復号が受信データファイルに含まれる全てのマスタ乱数に亘って失敗したとき、および上述した復号したアーカイブファイルのＭＡＣが一致しないときには、自己宛に送信されたファイルではないとしてその復号処理を終了する。
【００３５】
以上のようにして送信側Ｔにおいてはデータファイルを暗号化して送信し、また受信側Ｒにおいて受信した暗号化ファイルを復号することによって、セキュリティ性を十分に確保しながら複数のデータファイルを転送することが可能となる。しかも複数の送信先に対してデータファイルを一括して送信することができ、個々の送信先毎にセキュリティ性を確保することができる。
【００３６】
尚、本発明は上述した実施形態に限定されるものではない。実施形態においては公開鍵ＰＫ／秘密鍵ＳＫとマスタ乱数管理部オフセットＯＦとを含む公開／秘密パスポートファイルＰpk／Ｐskを生成したが、マスタ乱数管理部オフセットＯＦに代えてマスタ乱数マスク値ＭＭを用いた公開／秘密パスポートファイルＰpk／Ｐskを生成するようにしても良い。この場合にはマスタ乱数マスク値ＭＭを用いてマスタ乱数ＭＲを排他的論理和処理（ＸＯＲ）することで前述したローテーションと同様な効果が得られる。
【００３７】
またデータファイルのサイズやアーカイブファイルとして統合するファイルの数、更には一括してファイルを送信する送信先の数は、データファイルの転送目的に応じて決定すば良いものであり、格別に制限されることはない。更には暗号初期ベクトルオフセットや暗号鍵オフセット等については、一般的にはそれぞれ１バイトを見込めば十分であるが、更に多くのバイト数を割り当てることも勿論可能である。また暗号初期ベクトルや暗号鍵自体については、例えば１６バイト程度のデータとすれば十分であり、これについても格別制限されることはない。その他、本発明はその要旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係るデータファイル暗号化システムの概念を示す図。
【図２】秘密パスポートファイルと公開パスポートファイルとの関係を示す図。
【図３】マスタ乱数から抽出される乱数管理部の例を示す図。
【図４】マスタ乱数から求められる暗号初期ベクトルの例を示す図。
【図５】暗号管理情報の構成例を示す図。
【図６】ローテーションによるマスタ乱数の加工例を示す図。
【図７】本発明の具体的な実施形態に係る暗号化処理手順の例を示す図。
【図８】図７に示す暗号化処理の概念を模式的に示す図。
【図９】本発明の具体的な実施形態に係る復号処理手順の例を示す図。
【図１０】図９に示す復号処理の概念を模式的に示す図。
【符号の説明】
【００３９】
Ｐsk  秘密パスポートファイル
Ｐpk  公開パスポートファイル
ＳＫ  秘密鍵
ＰＫ  公開鍵
ＴＫ  一時鍵情報（ワンタイムパスワード）
ＣＫ  プリシェア鍵情報
ＭＲ  マスタ乱数
ＯＦ  マスタ乱数管理部オフセット（マスタ乱数制御値）
【図１】
0004767980.tif 000002
【図２】
0004767980.tif 000003
【図３】
0004767980.tif 000004
【図４】
0004767980.tif 000005
【図５】
0004767980.tif 000006
【図６】
0004767980.tif 000007
【図７】
0004767980.tif 000008
【図８】
0004767980.tif 000009
【図９】
0004767980.tif 000010
【図１０】
0004767980.tif 000011