説明

データファイル暗号化システム

【課題】ソフトウェア処理によって簡易に、しかも効率的にセキュリティ性を十分に確保したデータファイルの転送を行い得るデータファイル暗号化システムを提供する。
【解決手段】ランダムに生成したマスタ乱数の一部を一時鍵情報として用いてデータファイルを共通鍵方式にて暗号化して暗号化データファイルを作成すると共に、公開パスポートファイルから抽出したマスタ乱数制御値を用いて前記マスタ乱数に所定の加工を施した後、加工したマスタ乱数を前記公開パスポートファイルから抽出した公開鍵を用いて公開鍵方式にて暗号化して暗号化マスタ乱数を作成し、前記暗号化データファイルおよび暗号化マスタ乱数を暗号管理情報と共に前記受信側に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア処理によって簡易に、しかも効率的にセキュリティ性を十分に確保したデータファイルの転送を行い得るデータファイル暗号化システムに関する。
【背景技術】
【0002】
秘密情報等を含むデータファイルを電子メールに添付して送付する場合、ファイル暗号化ソフトウェアを用いて該当するデータファイルを暗号化することが多い。ちなみにデータファイルの暗号化は、一般的にはファイルの送信元(送信側)とその送信先(受信側)との間で予め定めたパスワードを用いて行われ、また暗号化データファイルの復号も上記パスワードを用いて行われる(例えば特許文献1,2を参照)。この種の暗号化は共通鍵方式と称される。ところが本来秘密とすべきパスワードを覚え易くするべく、バスワードとして電話番号等の簡易なフレーズを採用することが多々ある。しかもパスワードの忘却を防ぐ為にメモすることも多いので、セキュリティを確保する上での問題が危惧される。
【0003】
この点、電子メール自体を暗号化するソフトウェアも開発されているが、各企業におけるソフトウェア基盤の相違等に起因して活用されるケースも多くない。
【特許文献1】特開2006−237908号公報
【特許文献2】特開2004−297755号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで暗号化に用いるパスワードとして推測等が不可能なフレーズを用い、またこの種のパスワードを高頻度に変更することが考えられている。しかしながらこの場合にはパスワードの管理が煩雑となる上、これを人為的に行うこと自体が非常に困難である。そこで毎回変化する一度限りのパスワード、いわゆるワンタイムパスワードを用いることが提唱されている。しかしワンタイムパスワードを用いるには専用のハードウェアや専用のネットワークシステムが必要となることが多く、容易には利用できないのが実情である。
【0005】
本発明はこのような事情を考慮してなされたもので、その目的は、専用のハードウェアを用いることなく、ワンタイムパスワードを用いたセキュリティ性の高いデータファイルの転送を可能とするデータファイル暗号化システムを提供することにある。
【課題を解決するための手段】
【0006】
上述した目的を達成するべく本発明に係るデータファイル暗号化システムは、概念的には公開鍵方式で用いられる公開鍵/秘密鍵と、ランダムに生成された乱数をマスタ乱数の一部を一時鍵情報(ワンタイムパスワード)として用いるものであって、一時鍵情報を用いてデータファイルを共通鍵方式にて暗号化すると共に、公開鍵を用いて前記マスタ乱数を公開鍵方式にて暗号化することを特徴としている。
【0007】
即ち、本発明に係るデータファイル暗号化システムは、
<a> データファイルの受信側は、予め公開鍵方式で用いられる公開鍵とランダムに生成したマスタ乱数制御値とを含む公開パスポートファイル、および前記公開鍵と対をなす秘密鍵と前記マスタ乱数制御値とを含む秘密パスポートファイルをそれぞれ生成して前記公開パスポートファイルを前記データファイルの送信側に通知し、
<b> 前記送信側は、ランダムに生成したマスタ乱数の一部を一時鍵情報として用いてデータファイルを共通鍵方式にて暗号化すると共に、前記公開パスポートファイルから抽出したマスタ乱数制御値を用いて前記マスタ乱数に所定の加工を施した後、加工したマスタ乱数を前記公開パスポートファイルから抽出した公開鍵を用いて公開鍵方式にて暗号化し、暗号化したデータファイルおよび暗号化したマスタ乱数を暗号管理情報と共に前記受信側に送信し、
<c> 前記受信側は、受信した前記暗号管理情報と前記秘密パスポートファイルから抽出した秘密鍵とを用いて前記暗号化マスタ乱数を公開鍵方式にて復号した後、前記秘密パスポートファイルから抽出したマスタ乱数制御値を用いて前記復号したマスタ乱数から前記一時鍵情報を抽出し、抽出した一時鍵情報を用いて前記暗号化データファイルを共通鍵方式にて復号する
ことを特徴としている。
【0008】
好ましくは前記秘密パスポートファイルおよび前記公開パスポートファイルは、前記受信側および送信側との間で事前に共有したプレシェア鍵情報を用いて共通鍵方式にてそれぞれ暗号化したものであって、
<b1> 前記送信部は、前記プレシェア鍵情報を用いて前記公開パスポートファイルを復号して前記公開鍵とマスタ乱数制御値とをそれぞれ抽出すると共に、前記暗号管理情報を前記プレシェア鍵情報を用いて暗号化して前記受信側に通知し、
<c1> 前記受信部は、受信データから前記プレシェア鍵情報を用いて前記暗号管理情報を復号すると共に、前記プレシェア鍵情報を用いて前記秘密パスポートファイルから前記秘密鍵とマスタ乱数制御値とをそれぞれ抽出して前記受信データの復号処理に供するものとして構成される。
【0009】
尚、前記マスタ乱数制御値は、前記マスタ乱数をオフセットするマスタ乱数管理部オフセット値、または前記マスタ乱数を排他的論理和によってマスクするマスタ乱数マスク値として与えられる。また前記プレシェア鍵情報および一時鍵情報は、例えばそれぞれ共通鍵方式での暗号化に必要な暗号初期ベクトル、暗号鍵、メッセージ認証コード初期ベクトル、およびメッセージ認証コード鍵からなる。また前記一時鍵情報は、例えば前記マスタ乱数における所定位置のバイトデータを暗号初期ベクトルオフセット、暗号鍵オフセット、メッセージ認証コード初期ベクトルオフセット、およびメッセージ認証コード鍵オフセットからなる乱数管理部として前記マスタ乱数にオフセットを与えることによって求められる。
【0010】
更に前記暗号管理情報については、暗号方式のバージョン、マスタ乱数の個数、暗号化前のデータファイルのサイズを含み、プレシェア鍵情報を用いて共通鍵方式にて暗号化されたものとすることが望ましい。
また前述した暗号化マスタ乱数を作成を、複数の受信側からそれぞれ通知された公開パスポートファイルから抽出したマスタ乱数制御値と公開鍵とを用いてそれぞれ行い、作成した複数の暗号化マスタ乱数の全てを前記暗号化データファイルと共に前記複数の受信側に転送するようにしても良い。
【発明の効果】
【0011】
上記構成のデータファイル暗号化システムによれば、送信先(受信側)から通知された公開パスポートファイルから求められる公開鍵と、ランダムに生成したマスタ乱数の一部を一時鍵情報(ワンタイムパスワード)として用い、この一時鍵情報を用いてデータファイルを共通鍵方式にて暗号化すると共に、前記マスタ乱数については前記公開パスポートファイルから抽出したマスタ乱数制御値を用いて加工した後、この加工したマスタ乱数を前記公開鍵を用いて暗号化するので、公開鍵を用いた暗号化に処理時間が掛かるといえども、その暗号化の範囲がマスタ乱数だけなので高速に暗号化処理を実行してその秘匿性を十分に確保することが可能となる。
【0012】
特にデータファイルについては一時鍵情報(ワンタイムパスワード)を用いて共通鍵方式を用いて暗号化するだけなので、データファイルのサイズが大きい場合であっても高速に処理することができる。従ってサイズの小さいマスタ乱数だけを公開鍵方式による暗号化の範囲としていることと相俟って短時間での処理が可能である。即ち、本発明に係るデータファイル暗号化システムにおいてはマスタ乱数の一部分を共通鍵方式で用いる一時鍵情報(ワンタイムパスワード)としてデータファイルを暗号化し、上記マスタ乱数については公開パスポートファイルから得られるマスタ乱数制御値に従って所定の加工を施した後、公開鍵を用いて暗号化するので、簡易にして効果的に秘匿性を確保したデータファイルの転送を効率的に実行することができる。
【0013】
また複数の受信側からそれぞれ通知された公開パスポートファイルから抽出したマスタ乱数制御値と公開鍵とを用いて暗号化マスタ乱数をそれぞれ作成し、これらの作成した複数の暗号化マスタ乱数の全てを前記暗号化データファイルと共に前記複数の受信側に一括して転送することにより、複数の送信先への同一データファイルの、いわゆる同報が可能となる。
【発明を実施するための最良の形態】
【0014】
以下、図面を参照して本発明に係るデータファイル暗号化システムの一実施形態について説明する。
図1は本発明に係るデータファイル暗号化システムの概念を示している。このシステムでは、予めデータファイルを受け取る受信側Rにおいて公開パスポートファイル(公開パスポート)Ppkと、この公開パスポートファイルPpkと対をなす秘密パスポートファイル(秘密パスポート)Pskとをそれぞれ作成し、予め想定したデータファイルの送信側Tに上記公開パスポートファイルPpkを通知(公開)しておくことにより実現される。そして送信側Tでは、基本的には予め受信側Rから通知された前記公開パスポートファイルPpkを用いてデータファイルを暗号化して前記受信側Rに送信し、一方、暗号化されたデータファイルを受信した受信側Rでは前記秘密パスポートファイルPskを用いて暗号化データファイルを復号する。
【0015】
ちなみに前記公開パスポートファイルPpkおよび秘密パスポートファイルPskは、公開鍵方式で用いられる公開鍵PKおよびこの公開鍵PKと対をなす秘密鍵SKと、ランダムに生成したマスタ乱数制御値としての、例えばマスタ乱数管理部オフセットOFや後述するマスタ乱数マスク値を含むものである。具体的には図2にその概念を示すように前記公開パスポートファイルPpkは公開鍵PKとマスタ乱数管理部オフセットOFとを含むファイルとして、また前記秘密パスポートファイルPskは秘密鍵SKと前記マスタ乱数管理部オフセットOFとを含むファイルとしてそれぞれ生成される。
【0016】
尚、公開鍵PKや秘密鍵SK等の暗号化に用いられる鍵情報は、例えば暗号初期ベクトル、暗号鍵、MAC(メッセージ認証コード)初期ベクトルおよびMAC鍵からなる。またマスタ乱数管理部オフセットOFは、例えばランダムに生成した乱数値からなり、後述するマスタ乱数のオフセットに用いられる。これらの公開パスポートファイルPpkおよび秘密パスポートファイルPskは、前記受信部Rと送信部Tとの間で事前に共有される鍵情報(プリシェア鍵情報)CKを用いて共通鍵方式にてそれぞれ暗号化され、この内、暗号化された公開パスポートファイルPpkだけが予め受信側Rから送信側Tに通知(送信)される。ちなみに前記公開パスポートファイルPpkの内容について秘密性がないので、その取り扱いに格別に配慮する必要はない。
【0017】
さて送信側Tにおいては受信側Rに送信すべきデータファイルを次のようにして暗号化する。即ち、送信側Tは、先ずランダムに生成したマスタ乱数(乱数値)MRの一部を、共通鍵方式での暗号化に用いる一時鍵情報TKを求める為のオフセット値とする。ちなみにマスタ乱数(乱数値)MRの一部として求められる上記オフセット値は、一時鍵情報TKを構成する前述した暗号初期ベクトル、暗号鍵、MAC初期ベクトルおよびMAC鍵にそれぞれオフセットを与える為の暗号初期ベクトルオフセット、暗号鍵オフセット、MAC初期ベクトルオフセットおよびMAC鍵オフセットからなる。
【0018】
具体的には前記オフセット値は、例えば図3に示すように256バイトのマスタ乱数(乱数値)における先頭の4バイトが1バイトずつ暗号初期ベクトルオフセット、暗号鍵オフセット、MAC初期ベクトルオフセットおよびMAC鍵オフセットとしてそれぞれ抽出され、乱数管理部として定義される。このようにして定義される乱数管理部(オフセット値)を用いて前述したマスタ乱数(乱数値)MRから必要バイト数の数値を抽出し、これを一時鍵情報TKとして用いる。
【0019】
例えば前記暗号初期ベクトルオフセットが[251]として与えられるような場合、図4に示すように前述した256バイトのマスタ乱数MRを251バイト目から順次巡回的に16バイトに亘って抽出し、この16バイトのデータを前記暗号初期ベクトルとして求める。他の暗号鍵、MAC初期ベクトルおよびMAC鍵についても、前述した暗号鍵オフセット、MAC初期ベクトルオフセットおよびMAC鍵オフセットによりそれぞれ指定される前記マスタ乱数MRの各バイト位置から、該マスタ乱数MRの一部を所要とするバイト数に亘ってそれぞれ巡回的に抽出することで同様に求める。そしてこのようにして求めた暗号初期ベクトル、暗号鍵、MAC初期ベクトルおよびMAC鍵を、共通鍵方式による暗号化に用いる一時鍵情報(ワンタイムパスワード)TKとする。
【0020】
しかる後、受信部Rに送信すべきデータファイルを上述した如く求めた一時鍵情報(ワンタイムパスワード)TKを用いて共通鍵方式にて暗号化し、その暗号化ファイルを受信部Rに向けて送付する。このようにデータファイルの暗号化を共通鍵方式にて実行するので、仮にデータファイルのサイズが大きい場合であっても、高速に暗号化処理することができる。
【0021】
この際、図5に示すように暗号方式のバージョン、マスタ乱数MRの個数、およびデータファイルのサイズをそれぞれ示す、例えば16バイトの暗号管理情報を作成し、この暗号化情報を前記暗号化ファイルに添付する。また上述した暗号化に用いたマスタ乱数MRについても、例えばマスタ乱数MRを暗号化して受信部Rに通知する。このマスタ乱数MRの暗号化ついては、例えば前述したプリシェア鍵情報CKを用いて前記公開パスポートファイルPpkを復号してマスタ乱数管理部オフセットOFと公開鍵PKとを求める。そして公開パスポートファイルPpkの復号により得られたマスタ乱数管理部オフセットOFを用いて、先ず前記マスタ乱数(乱数値)MRを図6に示すように正方向にローテーション(オフセット)する。その後、復号した公開鍵PKを用いて上述した如くローテーションしたマスタ乱数(乱数値)MRを公開鍵方式にて暗号化する。そしてこの暗号化したマスタ乱数(乱数値)MR'を前述した暗号化ファイルおよび暗号管理情報と共に受信側Rに送信するようにすれば良い。
【0022】
さて上述した如く暗号化されたファイルを受信する受信側Rにおいては、基本的には暗号化の手順と逆の処理を実行することでその復号を行う。即ち、受信したファイル中から暗号管理情報を抽出し、抽出した暗号管理情報を前記プリシェア鍵情報CKを用いて復号する。この暗号管理情報の復号によって暗号方式のバージョン、マスタ乱数MRの個数、およびデータファイルのサイズがそれぞれ求められる。次いでマスタ乱数MRの個数に従って受信ファイル中から暗号化されたマスタ乱数MR'を抽出した後、前述した秘密パスポートファイルPskから求められる秘密鍵SKを用いて上記暗号化されたマスタ乱数MR'を復号する。そして復号したマスタ乱数MRを前述したマスタ乱数管理部オフセットOFを用いて逆ローテーションすることで暗号化処理に使用したマスタ乱数MRを求める。尚、マスタ乱数管理部オフセットOFについては、プリシェア鍵情報CKを用いて秘密パスポートファイルPpkを復号することによって求められる。
【0023】
そして復元したマスタ乱数MRから、先ずその先頭4バイトのデータを前述したように暗号初期ベクトルオフセット、暗号鍵オフセット、MAC初期ベクトルオフセットおよびMAC鍵オフセットとしてそれぞれ抽出する。次いでマスタ乱数MRから求められた乱数管理部(オフセット値)を用いて前記マスタ乱数(乱数値)MRから必要バイト数の数値を抽出することで暗号化に用いた一時鍵情報TKを求める。しかる後、共通鍵方式により暗号化されたデータファイルを上記の如く求めた一時鍵情報TKを用いて復号する。
【0024】
このように本発明に係るデータファイル暗号化システムにおいては、基本的にはデータファイルを共通鍵方式で暗号化し、またその暗号化に用いたマスタ乱数MRを公開鍵方式にて暗号化し、更に暗号管理情報については共通鍵方式で暗号化している。この内、上記公開鍵方式による暗号化は、一般的には非常に多くの処理時間を要するが、本システムにおいてはデータサイズの小さいマスタ乱数MRだけを公開鍵方式による暗号化の対象としているので、短時間での処理が可能である。またデータサイズの大きいデータファイルについては共通鍵方式で暗号化するので高速な処理が可能であり、しかもその暗号化に前述した一時鍵情報(ワンタイムパスワード)TKを用いるので、その秘匿性を十分に確保することが可能である。
【0025】
尚、暗号管理情報については固定的に与えられるプリシェア鍵情報CKを用いて暗号化するが、この暗号管理情報には秘密情報が含まれないのでセキュリティ性の点で問題が生じることはない。従って前述した如くマスタ乱数MRに基づいて作成したワンタイムパスワード(一時鍵情報)TKを用いることで、秘匿性を十分に確保したセキュリティ性の高いデータファイルの転送を可能とする。しかも専用のハードウェアを用いることなく暗号化処理を実行することができる。換言すればソフトウェア処理によって共通鍵方式および公開鍵方式の特徴を活かしながら、セキュリティ性の高いデータファイルの転送を簡易に実行することが可能となる。
【0026】
図7および図8は本発明の具体的な実施形態に係る暗号化処理手順とその処理概念を模式的に示しており、また図9および図10は本発明の具体的な実施形態に係る復号処理手順とその処理概念を模式的に示している。これらの図7〜図10を参照して前述した送信側Tでの暗号化処理、および受信側Rでの復号処理についての全体的な流れを今少し詳しく説明する。尚、ここでは複数のデータファイルを複数の送信先(受信側R)にそれぞれ一括して送信する場合を例に説明する。
【0027】
暗号化処理は、先ず送信すべき複数のデータファイルをまとめてアーカイブ圧縮し、アーカイブファイルを作成することから開始される[ステップS1]。一方、ファイルの送信先(受信側R)の公開パスポートファイルPpkを選択する[ステップS2]。ファイルの送信先が複数存在する場合には、それらの送信先からそれぞれ取得した複数の公開パスポートファイルPpkを求める。図8に示す例では送信先が3箇所(X,Y,Z)であり、これらの送信先から公開パスポートファイルPpkをそれぞれ取得している状態を示している。そして送信先との間で予め固定的に定めたプリシェア鍵情報CKを用いて上記各公開パスポートファイルをそれぞれ復号し、3箇所(X,Y,Z)の送信先がそれぞれ公開している公開鍵SKとマスタ乱数管理部オフセットOFとをそれぞれ求める[ステップS3]。
【0028】
以上の前処理が終了したならば、次に乱数発生器を用いてランダムに生成される乱数シードから所定バイト数のマスタ乱数MRを求める[ステップS4]。そして抽出したマスタ乱数MRの一部を、例えば前述したように先頭の4バイトを一時鍵情報TKとして抽出する[ステップS5]。そしてこの一時鍵情報TKを用いて前記アーカイブファイルについてのMAC(メッセージ認証コード)を計算し、計算したMACをアーカイブファイルに付加する[ステップS6]。次いでMACを付加したアーカイブファイルを、上述した如く求めた一時鍵情報(ワンタイムパスワード)TKを用いて共通鍵方式にて暗号化する[ステップS7]。
【0029】
しかる後、或いは上述したアーカイブファイルの暗号化と併行して前述したマスタ乱数管理部オフセットOFに従って前記マスタ乱数MRを正ローテーションし[ステップS8]、マスタ乱数管理部オフセットOFと対をなして求められた公開鍵PKを用いて上記ローテーションしたマスタ乱数MR'を公開鍵方式にて暗号化する[ステップS9]。このマスタ乱数MRの暗号化は、次パスポートが存在するか否かを調べることによって前述した複数の送信先毎に繰り返し実行する[ステップS10]。
【0030】
その上で上述した暗号化処理の内容を示す、暗号方式のバージョン、マスタ乱数の個数およびデータファイルのサイズを示す暗号管理情報を、前述したプリシェア鍵情報CKを用いて共通鍵方式にて暗号化する[ステップS11]。そして暗号化した暗号管理情報、暗号化したマスタ乱数MR、および暗号化したアーカイブファイル(データファイル)を連結して1つの暗号化データファイルを形成し[ステップS12]、この暗号化データファイルを前述した複数の送信先(受信側R)にそれぞれ送信する。
【0031】
一方、上述した暗号化データファイルを受信した送信先(受信側R)においては、先ず暗号化データファイル中から暗号化した暗号管理情報を抽出し、抽出した暗号管理情報をプリシェア鍵情報CKを用いて復号する[ステップS21]。また送信側Tに公開している公開パスポートファイルPpkと対をなし、受信側Rだけが所有している秘密パスポートファイル(秘密パスポート)Pskを復号して公開鍵PKと対をなす秘密鍵SKと前述したマスタ乱数管理部オフセットOFとを求める[ステップS22]。
【0032】
次いで前記暗号化データファイル中から暗号化されているマスタ乱数MR'を抽出し、前記秘密鍵SKを用いてマスタ乱数MRを復号する[ステップS23]。そしてマスタ乱数MRが正常に復号できたか否かを判定し、マスタ乱数MRを復号できなかった場合には次のマスタ乱数MR'について同様に秘密鍵SKを用いて復号する[ステップS24,S25]。即ち、前記暗号化データファイルは、複数の送信先に対して同時に送信されている可能性があることから、復号処理が正常に行われたか否かを判定することで当該暗号化データファイルが自己に向けて送信されたものであるか否かを確認しながら、マスタ乱数MRを求める。
【0033】
そしてマスタ乱数MR'の復号が正常に行われた場合には、前述したマスタ乱数管理部オフセットOFを用いて復号したマスタ乱数MR'を逆ローテーションし、これによって暗号化に用いたマスタ乱数MRを復元する[ステップS26]。その後、復元したマスタ乱数MRから前述した如く抽出される一時鍵情報TKを求め[ステップS27]、この一時鍵情報TKを用いて暗号化されたデータファイルを共通鍵方式にて復号してアーカイブファイルを求める[ステップS28]。
【0034】
しかる後、復号したアーカイブファイルのMACを計算し[ステップS29]、算出されたMACと上記アーカイブファイルに付されているMACとが一致するか否かを判定する[ステップS30]。そしてMACが一致したとき、これを正規の受信ファイルであると認定してそのアーカイブファイルを解凍し、アーカイブファイルとして圧縮されている複数のデータファイルをそれぞれ求める[ステップS31]。尚、前述したマスタ乱数MRの復号が受信データファイルに含まれる全てのマスタ乱数に亘って失敗したとき、および上述した復号したアーカイブファイルのMACが一致しないときには、自己宛に送信されたファイルではないとしてその復号処理を終了する。
【0035】
以上のようにして送信側Tにおいてはデータファイルを暗号化して送信し、また受信側Rにおいて受信した暗号化ファイルを復号することによって、セキュリティ性を十分に確保しながら複数のデータファイルを転送することが可能となる。しかも複数の送信先に対してデータファイルを一括して送信することができ、個々の送信先毎にセキュリティ性を確保することができる。
【0036】
尚、本発明は上述した実施形態に限定されるものではない。実施形態においては公開鍵PK/秘密鍵SKとマスタ乱数管理部オフセットOFとを含む公開/秘密パスポートファイルPpk/Pskを生成したが、マスタ乱数管理部オフセットOFに代えてマスタ乱数マスク値MMを用いた公開/秘密パスポートファイルPpk/Pskを生成するようにしても良い。この場合にはマスタ乱数マスク値MMを用いてマスタ乱数MRを排他的論理和処理(XOR)することで前述したローテーションと同様な効果が得られる。
【0037】
またデータファイルのサイズやアーカイブファイルとして統合するファイルの数、更には一括してファイルを送信する送信先の数は、データファイルの転送目的に応じて決定すば良いものであり、格別に制限されることはない。更には暗号初期ベクトルオフセットや暗号鍵オフセット等については、一般的にはそれぞれ1バイトを見込めば十分であるが、更に多くのバイト数を割り当てることも勿論可能である。また暗号初期ベクトルや暗号鍵自体については、例えば16バイト程度のデータとすれば十分であり、これについても格別制限されることはない。その他、本発明はその要旨を逸脱しない範囲で種々変形して実施することができる。
【図面の簡単な説明】
【0038】
【図1】本発明の一実施形態に係るデータファイル暗号化システムの概念を示す図。
【図2】秘密パスポートファイルと公開パスポートファイルとの関係を示す図。
【図3】マスタ乱数から抽出される乱数管理部の例を示す図。
【図4】マスタ乱数から求められる暗号初期ベクトルの例を示す図。
【図5】暗号管理情報の構成例を示す図。
【図6】ローテーションによるマスタ乱数の加工例を示す図。
【図7】本発明の具体的な実施形態に係る暗号化処理手順の例を示す図。
【図8】図7に示す暗号化処理の概念を模式的に示す図。
【図9】本発明の具体的な実施形態に係る復号処理手順の例を示す図。
【図10】図9に示す復号処理の概念を模式的に示す図。
【符号の説明】
【0039】
Psk 秘密パスポートファイル
Ppk 公開パスポートファイル
SK 秘密鍵
PK 公開鍵
TK 一時鍵情報(ワンタイムパスワード)
CK プリシェア鍵情報
MR マスタ乱数
OF マスタ乱数管理部オフセット(マスタ乱数制御値)

【特許請求の範囲】
【請求項1】
データファイルの受信側は、予め公開鍵方式で用いられる公開鍵とランダムに生成したマスタ乱数制御値とを含む公開パスポートファイル、および前記公開鍵と対をなす秘密鍵と前記マスタ乱数制御値とを含む秘密パスポートファイルをそれぞれ生成して前記公開パスポートファイルを前記データファイルの送信側に通知し、
前記送信側は、ランダムに生成したマスタ乱数の一部を一時鍵情報として用いてデータファイルを共通鍵方式にて暗号化して暗号化データファイルを作成すると共に、前記公開パスポートファイルから抽出したマスタ乱数制御値を用いて前記マスタ乱数に所定の加工を施した後、加工したマスタ乱数を前記公開パスポートファイルから抽出した公開鍵を用いて公開鍵方式にて暗号化して暗号化マスタ乱数を作成し、前記暗号化データファイルおよび暗号化マスタ乱数を暗号管理情報と共に前記受信側に送信する手段を備え、
前記受信側は、受信した前記暗号管理情報と前記秘密パスポートファイルから抽出した秘密鍵とを用いて前記暗号化マスタ乱数を公開鍵方式にて復号した後、前記秘密パスポートファイルから抽出したマスタ乱数制御値を用いて前記復号したマスタ乱数から前記一時鍵情報を抽出し、抽出した一時鍵情報を用いて前記暗号化データファイルを共通鍵方式にて復号する手段を備えることを特徴とするデータファイル暗号化システム。
【請求項2】
前記秘密パスポートファイルおよび前記公開パスポートファイルは、前記受信側および送信側との間で事前に共有したプレシェア鍵情報を用いて共通鍵方式にてそれぞれ暗号化したものであって、
前記送信側は、前記プレシェア鍵情報を用いて前記公開パスポートファイルを復号して前記公開鍵とマスタ乱数制御値とをそれぞれ抽出すると共に、前記暗号管理情報を前記プレシェア鍵情報を用いて暗号化して前記受信側に通知し、
前記受信側は、受信データから前記プレシェア鍵情報を用いて前記暗号管理情報を復号すると共に、前記プレシェア鍵情報を用いて前記秘密パスポートファイルから前記秘密鍵とマスタ乱数制御値とをそれぞれ抽出して前記受信データの復号処理に供するものである請求項1に記載のデータファイル暗号化システム。
【請求項3】
前記マスタ乱数制御値は、前記マスタ乱数をオフセットするマスタ乱数管理部オフセット値、または前記マスタ乱数を排他的論理和によってマスクするマスタ乱数マスク値として与えられるものである請求項1に記載のデータファイル暗号化システム。
【請求項4】
前記プレシェア鍵情報および一時鍵情報は、それぞれ共通鍵方式での暗号化に必要な暗号初期ベクトル、暗号鍵、メッセージ認証コード初期ベクトル、およびメッセージ認証コード鍵からなり、
前記一時鍵情報は、前記マスタ乱数における所定位置のバイトデータを暗号初期ベクトルオフセット、暗号鍵オフセット、メッセージ認証コード初期ベクトルオフセット、およびメッセージ認証コード鍵オフセットからなる乱数管理部として前記マスタ乱数にオフセットを与えて求められるものである請求項1に記載のデータファイル暗号化システム。
【請求項5】
前記暗号管理情報は、暗号方式のバージョン、マスタ乱数の個数、暗号化前のデータファイルのサイズを含み、プレシェア鍵情報を用いて共通鍵方式にて暗号化されたものである請求項1に記載のデータファイル暗号化システム。
【請求項6】
前記暗号化マスタ乱数の作成は、複数の受信側からそれぞれ通知された公開パスポートファイルから抽出したマスタ乱数制御値と公開鍵とを用いてそれぞれ行われ、作成した複数の暗号化マスタ乱数の全てを前記暗号化データファイルと共に前記複数の受信側に転送することを特徴とする請求項1に記載のデータファイル暗号化システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate