(57)【要約】      （修正有）【課題】共通鍵暗号方式を用いた場合であっても安全にデータをバックアップし保管できるようにする。【解決手段】バックアップの対象のファイルを複数のブロックに分割し（＃１３）、各ブロックを互いに異なる暗号鍵を使用して暗号化し（＃１９）、暗号化した各ブロックを磁気テープなどの記憶媒体に記憶させて保存する（＃２０）。使用する暗号鍵は、ブロックの属性に基づいて決定する。あるいは、複数の暗号鍵を記憶させてその中から決定する。【選択図】図９
2006260224.tif 000002
【特許請求の範囲】
【請求項１】
バックアップの対象のデータを複数のブロックに分割し、
分割した前記各ブロックを、互いに異なる暗号鍵を使用して暗号化し、
暗号化した前記各ブロックを記憶部に記憶させる、
ことを特徴とするデータのバックアップ方法。
【請求項２】
バックアップの対象のデータを複数のブロックに分割するデータ分割手段と、
分割された前記ブロックごとに、暗号化のために使用する暗号鍵を当該ブロックの属性に基づいて決定する、暗号化用鍵決定手段と、
前記各ブロックを、当該ブロックについて前記暗号化用鍵決定手段によって決定された暗号鍵を使用して暗号化する、暗号化手段と、
暗号化された前記ブロックを記憶部に記憶させる記憶処理手段と、
を有することを特徴とするバックアップ処理システム。
【請求項３】
複数の暗号鍵を記憶する暗号鍵記憶手段、を有し、
前記暗号化用鍵決定手段は、暗号化のために使用する暗号鍵を、前記暗号鍵記憶手段に記憶されている暗号鍵の中から決定する、
請求項２記載のバックアップ処理システム。
【請求項４】
前記データの暗号化された前記各ブロックを前記記憶部から読み出すブロック読出手段と、
読み出した前記ブロックごとに、復号のために使用する暗号鍵を、前記暗号化用鍵決定手段と同一の決定方法によって当該ブロックの属性に基づいて決定する、復号用鍵決定手段と、
前記各ブロックを、当該ブロックについて前記復号用鍵決定手段によって決定された暗号鍵を使用して復号する、復号手段と、
復号された前記各ブロックに基づいて前記データをリストアするリストア手段と、
請求項２または請求項３記載のいずれかに記載のバックアップ処理システム。
【請求項５】
データを記憶部にバックアップするコンピュータに用いられるコンピュータプログラムであって、
前記データを複数のブロックに分割する処理と、
分割した前記各ブロックを、互いに異なる暗号鍵を使用して暗号化する処理と、
暗号化した前記各ブロックを記憶部に記憶させる処理と、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルなどのデータを暗号化してバックアップする方法およびシステムなどに関する。
【背景技術】
【０００２】
従来より、データが記憶されている記憶装置が災害などのトラブルによって使用不能になった場合に備えて、磁気テープなどの可搬な記憶媒体にこれらのデータをバックアップし保管しておくことが広く行われている。データがバックアップされた磁気テープは、厳重なセキュリティの下で保管されるが、それでも、他人に盗まれる可能性はゼロではない。また、被災地から離れた場所でデータをリストア（復元）できるように、磁気テープを遠隔地に搬送して保管することがある。この場合は、搬送中に磁気テープが盗まれるおそれがある。
【０００３】
そこで、万が一磁気テープが盗まれてしまっても、他人がデータをリストアすることができないように、データを暗号化してバックアップする方法が広く用いられている。暗号化の方式には、特許文献１に記載されるように、公開鍵暗号方式と共通鍵暗号方式とがある。
【０００４】
公開鍵暗号方式によると、公開鍵および秘密鍵の２種類の鍵を使い分けるので、安全性が高い。すなわち、例えばある会社の東京支店の記憶装置のデータを記憶媒体にバックアップして大阪支店でこれを保管する場合は、大阪支店で公開鍵および秘密鍵を発行し、公開鍵を東京支店に送り、秘密鍵を大阪支店で保管する。そして、東京支店では、大阪支店から受け取った公開鍵を使用してデータを暗号化し、記憶媒体にバックアップすればよい。暗号化されたデータは秘密鍵がなければ復号することができないが、その秘密鍵は上述の通り大阪支店から外へは一切出ないので、安全性が高い。
【０００５】
ところが、公開鍵暗号方式は、共通鍵暗号方式に比べて、暗号化および復号の処理に長い時間が掛かってしまう。したがって、大量のデータを高速でバックアップする場合には、共通鍵暗号方式が用いられるが多い。
【特許文献１】特開２００４−３５５２５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、共通鍵暗号方式によると、暗号化および復号の両方を１つの共通の暗号鍵で行う。したがって、東京支店と大阪支店との間で必ず一度は復号のために使用可能な暗号鍵のやり取りを行わなければならない。そうすると、この暗号鍵が盗まれてしまう危険性がある。
【０００７】
このように、共通鍵暗号方式は、公開鍵暗号方式と比較して、暗号化および復号の処理速度の点においては優れているが、安全性が低いという問題点を有している。
【０００８】
本発明は、このような問題点に鑑み、共通鍵暗号方式を用いた場合であっても安全にデータをバックアップし保管できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデータのバックアップ方法は、バックアップの対象のデータを複数のブロックに分割し、分割した前記各ブロックを、互いに異なる暗号鍵を使用して暗号化し、暗号化した前記各ブロックを記憶部に記憶させる、ことを特徴とする。
【００１０】
複数の暗号鍵を暗号鍵記憶手段に記憶させておいて、暗号化のために使用する暗号鍵を、前記暗号鍵記憶手段に記憶されている暗号鍵の中から決定する、ように構成してもよい。
【発明の効果】
【００１１】
本発明によると、共通鍵暗号方式を用いた場合であっても安全にデータをバックアップし保管しておくことができる。
【発明を実施するための最良の形態】
【００１２】
図１はデータ管理装置１の外観およびデータのバックアップの概要を示す図、図２はデータ管理装置１のハードウェア構成の例を示す図、図３はデータ管理装置１の機能的構成の例を示す図である。
【００１３】
図１に示すデータ管理装置１は、ユーザが業務で使用するデータなどを管理し、定期的にまたはユーザの指令に基づいてこれらのデータをリムーバブルな記録媒体２にバックアップ（保存）する。
【００１４】
データ管理装置１が管理するデータが故障またはユーザの操作ミスなどのトラブルによって使用不能になった場合は、必要な修理を行った後、記録媒体２にバックアップしておいたデータをそのデータ管理装置１にリストア（復元）することができる。または、他のデータ管理装置１にリストアすることもできる。例えば、データ管理装置１Ａが管理するデータをユーザが誤って消去してしまった場合は、記録媒体２にバックアップしておいたそのデータをデータ管理装置１Ａにリストアすることができる。災害などによってデータ管理装置１Ａが壊れてしまった場合は、記録媒体２にバックアップしておいたデータをデータ管理装置１Ｂにリストアすることができる。
【００１５】
データ管理装置１は、図２に示すように、ＣＰＵ１０ａ、ＲＡＭ１０ｂ、ＲＯＭ１０ｃ、磁気ディスク装置（ハードディスク）１０ｄ、入出力インタフェース１０ｅ、入力インタフェース１０ｆ、ビデオインタフェース１０ｇ、および通信インタフェース１０ｈなどによって構成される。
【００１６】
入出力インタフェース１０ｅは、ＳＣＳＩ、ＩＥＥＥ１３９４、またはＵＳＢなどのインタフェースであって、記録媒体２にデータを書き込む処理および記録媒体２からデータを読み出す処理を行う装置（ドライブ）と接続されている。本実施形態では、記録媒体２として磁気テープが用いられ、ドライブとして磁気テープ装置１５が用いられる場合を例に説明する。
【００１７】
入力インタフェース１０ｆは、ＰＳ／２またはＵＳＢなどのインタフェースであって、キーボードおよびマウスなどユーザの操作用の入力装置１６が接続されている。ビデオインタフェース１０ｇは、ＤＤＣ（Display Data Channel）またはＤ−Ｓｕｂなどの規格のインタフェースであって、ディスプレイ１７が接続されている。通信インタフェース１０ｈは、イーサネット（登録商標）用のＬＡＮカードまたはモデムなどであって、通信回線を介してデータ管理装置１をパーソナルコンピュータなどの端末装置と接続させる。
【００１８】
ＲＯＭ１０ｃまたは磁気ディスク装置１０ｄには、図３に示すようなバックアップファイル読出部１０１、ファイル分割部１０２、バックアップ識別情報生成部１０３、暗号化用鍵決定部１０４、暗号化処理部１０５、暗号化ブロック書込部１０６、暗号化ブロック読出部１２１、バックアップ識別情報読出部１２２、復号用鍵決定部１２３、復号処理部１２４、復号ブロック結合部１２５、リストアファイル出力部１２６、暗号鍵情報登録処理部１３１、および暗号鍵管理部１３２などの機能を実現するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによってプログラムが実行される。
【００１９】
図４は暗号鍵管理テーブルＴＬ１の例を示す図、図５はファイルＦＬの分割の例を示す図、図６はバックアップ識別情報７０の例を示す図、図７は暗号鍵決定処理の流れの例を説明するフローチャート、図８は記録媒体２に保存されたバックアップファイルＦＬＢの例を示す図である。
【００２０】
次に、図３に示すデータ管理装置１の各部の処理内容などを、暗号鍵の管理に関する処理、バックアップのための処理、およびリストアのための処理に大別して説明する。
【００２１】
〔暗号鍵の管理に関する処理〕
暗号鍵管理部１３２は、図４に示すような暗号鍵管理テーブルＴＬ１を有し、バックアップの対象のファイルＦＬを暗号化しまたはリストアの対象のファイルＦＬを復号するための暗号鍵ＫＹを管理する。本実施形態では、暗号鍵ＫＹとして、共通鍵方式の共通鍵を用いる場合を例に説明する。暗号鍵管理テーブルＴＬ１には、Ｎ個（ただし、Ｎ≧２）の暗号鍵ＫＹが用意されている。暗号鍵ＫＹには、他の暗号鍵ＫＹと識別するためにユニークな鍵番号が対応付けられている。ただし、鍵番号は、１、２、…、のように連番になるように付けられる。
【００２２】
暗号鍵情報登録処理部１３１は、暗号鍵ＫＹを暗号鍵管理テーブルＴＬ１に登録するための処理を行う。係る処理は、例えば次のような手順で実行される。管理者が入力装置１６を操作して暗号鍵ＫＹの生成の指令を与えると、暗号鍵情報登録処理部１３１は、公知のアルゴリズムなどを用いて暗号鍵ＫＹを生成する。そして、その暗号鍵ＫＹに対して鍵番号を発行し、暗号鍵管理テーブルＴＬ１に登録する。
【００２３】
なお、データ管理装置１Ａの暗号鍵管理テーブルＴＬ１の内容とデータ管理装置１Ｂの暗号鍵管理テーブルＴＬ１の内容とは、まったく同じである。つまり、一方のデータ管理装置１で暗号鍵管理テーブルＴＬ１を生成したら、その暗号鍵管理テーブルＴＬ１をコピーして他方のデータ管理装置１にも設けておく。
【００２４】
〔バックアップのための処理〕
バックアップファイル読出部１０１は、バックアップの対象のファイルＦＬを磁気ディスク装置１０ｄから読み出す。ファイル分割部１０２は、読み出されたファイルＦＬを、図５に示すように、先頭から順に所定のサイズ（ブロック長）ごとに区切ることによって、ブロックＢＫに分割する。そして、先頭のブロックＢＫから順に、「００００１」、「００００２」、…という連番のブロック番号を、ブロックＢＫ同士を識別するための識別情報として与える。ブロック長は、ユーザが任意に指定することができる。
【００２５】
バックアップ識別情報生成部１０３は、読み出されたファイルＦＬに対して図６に示すようなバックアップ識別情報７０を生成する。バックアップ識別情報７０において、「ファイル名」は、そのファイルＦＬのファイル名を示す。「バックアップ日時」は、今回のバックアップ処理の実行を開始した日付および時刻を示す。「メディアＩＤ」は、そのファイルＦＬのバックアップ先の記録媒体２を識別する識別情報である。メディアＩＤとして、正の整数値が用いられる。バックアップ識別情報生成部１０３は、新しい記録媒体２が磁気テープ装置１５にセットされるごとに、ユニークなメディアＩＤを発行する。「ブロック長」は、ブロックＢＫのデータサイズすなわちブロック長を示す。
【００２６】
暗号化用鍵決定部１０４は、ファイルＦＬの暗号化のために使用する暗号鍵ＫＹを決定する。本実施形態では、ブロックＢＫごとに異なる暗号鍵ＫＹで暗号化を行うので、ブロックＢＫごとに暗号鍵ＫＹを決定する。暗号鍵ＫＹは、例えば図７に示すような手順で決定される。
【００２７】
予め用意されている所定のハッシュ関数を呼び出す（＃１０１）。本実施形態では、ハッシュ関数として、次の（１）式に示すような３つのパラメータｐ１〜ｐ３を有するものを用意しておく。
ｙ＝ＭＯＤ｛（ｐ１×ｗ１＋ｐ２×ｗ２＋ｐ３×ｗ３），Ｎ｝  …  （１）
ただし、ｗ１、ｗ２、およびｗ３は重み付けのための正の整数の係数である。
Ｎは図４の暗号鍵管理テーブルＴＬ１に登録されている暗号鍵ＫＹの個数である。
ＭＯＤ（α，β）は、αをβで割ったときの余りを意味する。
【００２８】
このハッシュ関数のパラメータｐ１、ｐ２、ｐ３に、それぞれ、バックアップ識別情報生成部１０３によって生成されたバックアップ識別情報７０のメディアＩＤの値、バックアップ日時の値、および暗号化対象のブロックＢＫのブロック番号の値を代入する（＃１０２）。そして、右辺を計算することによって、ハッシュ値（ｙ）が求められる。なお、バックアップ日時の値として、基準の日時（例えば、ＧＭＴ（世界標準時）が定める基点の日時である１９７０年１月１日０時０秒）からバックアップ日時までの通算の秒すなわちエポック秒が用いられる。
【００２９】
そして、暗号鍵管理テーブルＴＬ１を参照し（＃１０３）、求められたハッシュ値と同じ値の鍵番号を有する暗号鍵ＫＹを、ブロックＢＫの暗号化に使用する暗号鍵ＫＹに決定する（＃１０４）。
【００３０】
例えば、ファイルＦＬが３つのブロックＢＫに分割され、バックアップ先となる記録媒体２のメディアＩＤが「１２３４５６」であり、バックアップ日時のエポック秒が「３８３８６．５６２５」であり、暗号鍵管理テーブルＴＬ１に登録されている暗号鍵ＫＹの個数Ｎが「２０」であるとする。そして、重みの係数ｗ１、ｗ２、ｗ３としてそれぞれ「３」、「２００００」、「７」が設定されているとする。この場合は、１つ目のブロックＢＫの暗号鍵ＫＹは、次の（２−Ａ）式の通り、鍵番号が「５」である暗号鍵ＫＹに決定する。２つ目のブロックＢＫの暗号鍵ＫＹは、次の（２−Ｂ）式の通り、鍵番号が「１２」である暗号鍵ＫＹに決定する。３つ目のブロックＢＫの暗号鍵ＫＹは、次の（２−Ｃ）式の通り、鍵番号が「１９」である暗号鍵ＫＹに決定する。
ｙ＝ＭＯＤ｛（123456×3＋38386.5625×20000＋00001×7）/20｝＝５    …（２−Ａ）
ｙ＝ＭＯＤ｛（123456×3＋38386.5625×20000＋00002×7）/20｝＝１２  …（２−Ｂ）
ｙ＝ＭＯＤ｛（123456×3＋38386.5625×20000＋00003×7）/20｝＝１９  …（２−Ｃ）
図３に戻って、暗号化処理部１０５は、ファイル分割部１０２によって分割された各ブロックＢＫを、暗号化用鍵決定部１０４によって決定されたそれぞれの暗号鍵ＫＹを用いて暗号化する。暗号化の処理は、公知の暗号化アルゴリズムを用いて行ってもよいし、独自に決めた暗号化アルゴリズムを用いて行ってもよい。
【００３１】
なお、データ管理装置１Ａおよびデータ管理装置１Ｂは、同一の暗号化アルゴリズムを用いる。つまり、データ管理装置１Ａおよびデータ管理装置１Ｂがそれぞれ同じ暗号鍵ＫＹを使用して同じブロックＢＫを暗号化した場合、同じ暗号化データが生成される。後に説明する復号のアルゴリズムも、データ管理装置１Ａおよびデータ管理装置１Ｂにおいて共通のものが用いられる。
【００３２】
暗号化ブロック書込部１０６は、図８に示すように、磁気テープ装置１５にセットされている記録媒体２に、バックアップ識別情報生成部１０３で生成されたバックアップ識別情報７０をＨＤＲレコード（見出しラベルレコード）として書き込み、暗号化された各ブロックＢＫをブロック番号の小さい順に書き込む。このとき、ブロックＢＫとともにブロック番号も書き込む。これにより、ファイルＦＬのバックアップの処理が完了する。以下、記録媒体２に書き込まれたバックアップ識別情報７０および各ブロックＢＫの集合を「バックアップファイルＦＬＢ」と記載することがある。
【００３３】
〔リストアのための処理〕
暗号化ブロック読出部１２１は、ブロック番号の小さい順に、記録媒体２にバックアップされているバックアップファイルＦＬＢの中からブロックＢＫを読み出す。バックアップ識別情報読出部１２２は、バックアップファイルＦＬＢの中からバックアップ識別情報７０を読み出す。
【００３４】
復号用鍵決定部１２３は、読み出したブロックＢＫを復号するために使用する暗号鍵ＫＹを決定する。決定の処理の手順は、暗号化のために使用する暗号鍵ＫＹを決定するときの手順と基本的に同じである。すなわち、（１）式のハッシュ関数を呼び出し（＃１０１）、パラメータｐ１、ｐ２、ｐ３にそれぞれメディアＩＤの値、バックアップ日時の値、および復号対象のブロックＢＫのブロック番号の値を代入することによってハッシュ値を求める（＃１０２）。そして、図４の暗号鍵管理テーブルＴＬ１を参照し（＃１０３）、求められたハッシュ値と同じ値の鍵番号を有する暗号鍵ＫＹを、ブロックＢＫの復号に使用する暗号鍵ＫＹに決定する（＃１０４）。ただし、メディアＩＤの値およびバックアップ日時の値として、バックアップ識別情報読出部１２２が記録媒体２から読み出したバックアップ識別情報７０に示される値が用いられる。バックアップ日時は、エポック秒に変換されて用いられる。
【００３５】
このように、ある１つのブロックＢＫについて、復号用の暗号鍵ＫＹを決定するために使用されるハッシュ関数、暗号鍵管理テーブル、およびそのハッシュ関数のパラメータｐ１〜ｐ３に代入される各値は、暗号化用の暗号鍵ＫＹを決定するために使用されるそれらとすべて同じになる。よって、決定した暗号化用の暗号鍵ＫＹと復号用の暗号鍵ＫＹとは必ず同じになる。
【００３６】
復号処理部１２４は、記録媒体２から読み出されたブロックＢＫを、復号用鍵決定部１２３がそのブロックＢＫについて決定した暗号鍵ＫＹを使用して復号する。復号のアルゴリズムとして、暗号化処理部１０５で用いられた暗号化アルゴリズムに対応するものが用いられる。つまり、暗号化処理部１０５で実行したステップと逆の演算処理を行うことによってブロックＢＫを復号する。
【００３７】
復号ブロック結合部１２５は、復号処理部１２４によって復号されたブロックＢＫをブロック番号順に結合することによって、ファイルＦＬをリストアする。リストアファイル出力部１２６は、リストアされたファイルＦＬを所定の保存場所（例えば、磁気ディスク装置１０ｄの所定のディレクトリ）に出力する。
【００３８】
図９はバックアップ処理の流れの例を説明するフローチャート、図１０はリストア処理の流れの例を説明するフローチャートである。
【００３９】
次に、下記のような条件下でデータ管理装置１Ａおよびデータ管理装置１Ｂが使用される場合を例に、ファイルＦＬのバックアップおよびリストアの処理の流れを、フローチャートを参照して説明する。ある会社の東京支店にデータ管理装置１Ａが設置され、大阪支店にデータ管理装置１Ｂが設置されている。データ管理装置１Ａで普段使用されているファイルＦＬを定期的に記録媒体２にバックアップする。そして、データ管理装置１Ａが稼動不能になった場合に備え、これらのファイルＦＬがバックアップされた記録媒体２を大阪支店に搬送し保管する。
【００４０】
図９において、データ管理装置１Ａは、バックアップの対象のファイルＦＬを決定し（＃１１）、そのファイルＦＬを磁気ディスク装置１０ｄから読み出す（＃１２）。そのファイルＦＬを所定のブロック長のブロックＢＫに分割するとともに（＃１３）、そのファイルＦＬのバックアップ識別情報７０を生成し（＃１４）、そのバックアップ識別情報７０をＨＤＲレコードとして記録媒体２に書き込む（＃１５）。なお、ここでは、ファイルＦＬがＫ個のブロックＢＫに分割されたものとする。
【００４１】
１番目のブロックＢＫを読み込み（＃１６、＃１７）、そのブロックＢＫを暗号化するために使用する暗号鍵ＫＹを決定する（＃１８）。決定の処理の手順は、前に図７で説明した通りである。決定した暗号鍵ＫＹを使用してそのブロックＢＫを暗号化し（＃１９）、記録媒体２に書き込む（＃２０）。
【００４２】
以下、２番目〜Ｋ番目のブロックＢＫについても同様に、ステップ＃１７〜＃２０の処理を実行することによって暗号化を施し、記録媒体２への書込を行う。このようにして、ファイルＦＬがバックアップファイルＦＬＢとして記録媒体２に保存される。そして、記録媒体２は、大阪支店へ搬送される。
【００４３】
データ管理装置１Ａが災害などによって使用不能となった場合は、大阪支店のデータ管理装置１Ｂは、図１０に示すような手順でファイルＦＬのリストアを行う。記録媒体２が磁気テープ装置１５にセットされると（＃３１）、その記録媒体２からバックアップファイルＦＬＢのＨＤＲレコードのバックアップ識別情報７０を読み込むとともに（＃３２）、１番目のブロックＢＫを読み込む（＃３３、＃３４）。そのブロックＢＫを復号するために使用する暗号鍵ＫＹを決定する（＃３５）。決定の処理の手順は、前に図７で説明した通りである。
【００４４】
決定した暗号鍵ＫＹを使用してそのブロックＢＫを復号する（＃３６）。以下、２番目〜Ｋ番目のブロックＢＫについても同様に、ステップ＃３４〜＃３６の処理を実行することによって復号する。また、ブロックＢＫを復号するごとに、１つ前の復号済のブロックＢＫに結合していく（＃３７）。このように復号および結合を繰り返すことによって、記録媒体２に保存されていたバックアップファイルＦＬＢがファイルＦＬとしてデータ管理装置１Ｂにリストアされる。
【００４５】
なお、もちろん、データ管理装置１Ａにおいて図１０の処理を実行することによって、ファイルＦＬをデータ管理装置１Ａにリストアすることができる。
【００４６】
本実施形態によると、バックアップ対象のファイルＦＬを複数のブロックＢＫに分割し、ブロックＢＫごとに異なる暗号鍵ＫＹを用いて暗号化を行う。よって、たとえ暗号鍵ＫＹが盗まれたとしても復号することが難しいので、従来よりも安全にデータをバックアップし保管することができる。
【００４７】
また、暗号鍵ＫＹの組合せのパターンは、ファイルＦＬおよびブロックＢＫの属性に基づいて決定するので、ファイルＦＬごとに異なる。よって、あるファイルＦＬの暗号鍵ＫＹの組合せが他人に知られたとしても、他のファイルＦＬの暗号鍵ＫＹの組合せは知られないので、安全である。
【００４８】
本実施形態では、ファイルＦＬを可搬な記録媒体２にバックアップしたが、ネットワークを介して他の装置の磁気ディスク装置などにバックアップしてもよい。この場合は、ハッシュ値を求めるときに、メディアＩＤの代わりにファイルＦＬのファイル名の値をハッシュ関数にすればよい。ファイル名の値は、例えば、ファイル名の各文字を１６進数のアスキーコードに変換し、これらの合計値を１０進数に変換することによって求めればよい。
【００４９】
本実施形態では、説明の簡単のため、（１）式のような単純なハッシュ関数を用いたが、もっと複雑なハッシュ関数を用いてもよい。また、ハッシュ関数のパラメータとして、メディアＩＤ、バックアップ日時、およびブロック番号を用いたが、これ以外の属性を用いてもよい。
【００５０】
本実施形態では、図４に示すような暗号鍵管理テーブルＴＬ１を予め用意しておき、１〜Ｎのいずれかのハッシュ値を出力するハッシュ関数を用いてブロックＢＫの暗号化および復号に使用する暗号鍵ＫＹを決定したが、ある程度大きい桁数のハッシュ値を出力するハッシュ関数を用意しておき、出力されたハッシュ値そのものを暗号鍵ＫＹとして使用してもよい。
【００５１】
本実施形態では、共通鍵暗号方式を用いたが、公開鍵暗号方式を用いることも可能である。この場合は、鍵番号ごとに１対の公開鍵および秘密鍵を暗号鍵管理テーブルＴＬ１に登録しておく。そして、ブロックＢＫを暗号化する場合はいずれか一方の鍵を使用し、そのブロックＢＫを復号する場合はもう一方の鍵を使用すればよい。
【００５２】
図１１は暗号鍵管理テーブルＴＬ２の例を示す図、図１２はバックアップ処理の流れの変形例を説明するフローチャート、図１３はバックアップ識別情報７０’の例を示す図、図１４はファイルＦＬの分割方法を説明する図、図１５はリストア処理の流れの変形例を説明するフローチャート、図１６は暗号鍵管理テーブルＴＬ３の例を示す図である。
【００５３】
本実施形態では、ファイルＦＬを一定のブロック長のブロックＢＫに分割して暗号化を行ったが、ブロックＢＫごとにブロック長を変えるようにしてもよい。この場合は、図４の暗号鍵管理テーブルＴＬ１の代わりに図１１のような暗号鍵管理テーブルＴＬ２を用意しておき、図１２に示すような手順で暗号化を行えばよい。なお、「ブロック長調整値」の使用方法については、後に説明する。
【００５４】
図１２において、データ管理装置１は、バックアップの対象のファイルＦＬを決定し（＃５１）、そのファイルＦＬを磁気ディスク装置１０ｄから読み出す（＃５２）。図１３に示すようなバックアップ識別情報７０’を生成し（＃５３）、これをＨＤＲレコードとして記録媒体２に書き込む（＃５４）。ただし、このバックアップ識別情報７０’には、図４のバックアップ識別情報７０と比較して分かるように、「ブロック長」の代わりにブロックＢＫの標準的なサイズである「標準ブロック長」が含まれる。標準ブロック長の値は、ファイルＦＬのサイズなどに応じて任意に設定可能である。
【００５５】
ブロックカウンタＣＴに「１」をセットする（＃５５）。このブロックカウンタＣＴは、暗号化および記録媒体２への書込みの処理対象のブロックＢＫのブロック番号を指すために用いられる。
【００５６】
ブロックカウンタＣＴに示されるブロック番号のブロックＢＫを暗号化するために使用する暗号鍵ＫＹを決定する（＃５６）。決定の処理の手順は、前に図７で説明した通りである。ただし、ここでは、（１）式のハッシュ関数のパラメータｐ１およびｐ２に、それぞれ、バックアップ識別情報７０’に示される記録媒体２のメディアＩＤの値およびバックアップ日時のエポック秒の値を代入し、パラメータｐ３にブロックカウンタＣＴに示されるブロック番号の値を代入することによって、ハッシュ値を求める。そして、暗号鍵管理テーブルＴＬ２を参照して暗号鍵ＫＹを決定する。
【００５７】
また、図１１の暗号鍵管理テーブルＴＬ２の中から、求められたハッシュ値と同じ値の鍵番号のブロック調整値を抽出し、このブロック調整値と標準ブロック長の値との和を算出する。そして、算出された和を、ブロックカウンタＣＴに示されるブロック番号のブロックＢＫのブロック長に決定する（＃５７）。例えば、求められたハッシュ値が「４」である場合は、ブロック長は「５０Ｍバイト＋１．５Ｍバイト＝５１．５Ｍバイト」となり、「５」である場合は、「５０Ｍバイト−０．５Ｍバイト＝４９．５Ｍバイト」となる。
【００５８】
ステップ＃５７で決定したブロック長分のデータをファイルＦＬから分割し、これをブロックカウンタＣＴに示されるブロック番号のブロックＢＫとする（＃５８）。例えば、ブロック番号が「１」のハッシュ値が「４」と判別された場合は、図１４に示すように、ファイルＦＬの先頭から５１．５Ｍバイト分のデータを抽出して分割する。ブロック番号が「２」のハッシュ値が「５」と判別された場合は、残ったファイルＦＬの先頭から４９．５Ｍバイト分のデータを抽出して分割する。ブロック番号が「３」以降の場合も、同様に残りのファイルＦＬからデータを抽出し分割する。
【００５９】
分割されたブロックＢＫを、ステップ＃５６でそのブロックに対して決定した暗号鍵ＫＹを使用して暗号化し（＃５９）、記録媒体２に書き込む（＃６０）。そして、ブロックカウンタＣＴに「１」を加算し（＃６２）、ファイルＦＬに含まれるすべてのデータがブロック化され、暗号化され、記録媒体２に書き込まれるまで、ステップ＃５６〜＃６０の処理を実行する。
【００６０】
このようにして、ファイルＦＬがバックアップファイルＦＬＢとして記録媒体２にバックアップされる。
【００６１】
記録媒体２にバックアップされたファイルＦＬをリストアする場合は、データ管理装置１は、図１５に示すような手順で処理を実行する。
【００６２】
記録媒体２が磁気テープ装置１５にセットされると（＃７１）、その記録媒体２からバックアップファイルＦＬＢのＨＤＲレコードのバックアップ識別情報７０’を読み込む（＃７２）。ブロックカウンタＣＲに「１」をセットする（＃７３）。このブロックカウンタＣＲは、復号の処理対象のブロックＢＫのブロック番号を指すために用いられる。
【００６３】
ブロックカウンタＣＲに示されるブロック番号のブロックＢＫを復号するために使用する暗号鍵ＫＹを決定する（＃７４）。決定の処理の手順は、前に図７で説明した通りである。ただし、ここでは、暗号化の場合と同様に、（１）式のハッシュ関数のパラメータｐ１およびｐ２に、それぞれ、記録媒体２から読み込んだバックアップ識別情報７０’に示されるメディアＩＤの値およびバックアップ日時のエポック秒の値を代入し、パラメータｐ３にブロックカウンタＣＲに示されるブロック番号の値を代入することによって、ハッシュ値を求める。そして、図１１の暗号鍵管理テーブルＴＬ２を参照して暗号鍵ＫＹを決定する。
【００６４】
また、暗号化の場合と同様に、暗号鍵管理テーブルＴＬ２の中から、求められたハッシュ値と同じ値の鍵番号のブロック調整値を抽出し、このブロック調整値と標準ブロック長の値との和を算出することによって、ブロックカウンタＣＴに示されるブロック番号のブロックＢＫのブロック長を算出する（＃７５）。
【００６５】
算出されたブロック長分のデータを、バックアップファイルＦＬＢから抽出し、これをブロックカウンタＣＴに示されるブロック番号のブロックＢＫとする（＃７６）。ブロック番号が「１」の場合は、バックアップファイルＦＬＢの先頭から順にブロック長分のデータを抽出する。２番目以降は、バックアップファイルＦＬＢの未抽出の部分の先頭から順にデータを抽出する。
【００６６】
バックアップファイルＦＬＢから得られたブロックＢＫを、ステップ＃７４で決定した暗号鍵ＫＹを使用して復号する（＃７７）。ブロックカウンタＣＲに「１」を加算し（＃８０）、２番目以降のブロックＢＫについても同様に、ステップ＃７４〜＃７７の処理を実行することによって復号する。また、ブロックＢＫを復号するごとに、１つ前の復号済のブロックＢＫに結合していく（＃７８）。このように復号および結合を繰り返すことによって、記録媒体２に保存されていたバックアップファイルＦＬＢがファイルＦＬとしてデータ管理装置１にリストアされる。
【００６７】
図１２および図１５で説明した暗号化処理および復号処理の変形例では、標準ブロック長を予め決めておき、ハッシュ関数によって求められたハッシュ値に対応するブロック長調整値（図１１参照）を加算してその標準ブロック長を増減させることによってブロックＢＫのブロック長を変えたが、他の方法によってブロック長を変えるようにしてもよい。例えば、標準ブロック長は決めておかずに、暗号鍵管理テーブルＴＬ２の代わりに図１６に示すような暗号鍵管理テーブルＴＬ３を用意しておく。そして、図１２のステップ＃５７および図１５のステップ＃７５において、暗号鍵管理テーブルＴＬ３を参照し、暗号化決定処理で求められたハッシュ値と同じ値の鍵番号の「ブロック長」をブロックＢＫのブロック長に決定する。
【００６８】
図１２および図１５で説明した変形例では、ブロック長を決定する際に、ブロックＢＫの暗号鍵ＫＹを決めるためのハッシュ関数を共用したが、ブロック長を算出するためのハッシュ関数を別に用意しておいてもよい。
【００６９】
１番目のブロックＢＫはブロック長をＬ１とし暗号鍵ＫＹ１を使用して暗号化および復号を行い、２番目のブロックＢＫはブロック長をＬ２とし暗号鍵ＫＹ２を使用して暗号化および復号を行い、…、というように、ブロック番号ごとに予めブロック長および使用する暗号鍵ＫＹを定めておいてもよい。
【００７０】
その他、データ管理装置１の全体または各部の構成、処理内容、処理順序、テーブルの内容などは、本発明の趣旨に沿って適宜変更することができる。
【００７１】
以上説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
バックアップの対象のデータを複数のブロックに分割し、
分割した前記各ブロックを、互いに異なる暗号鍵を使用して暗号化し、
暗号化した前記各ブロックを記憶部に記憶させる、
ことを特徴とするデータのバックアップ方法。
（付記２）
バックアップの対象のデータを複数のブロックに分割し、
分割した前記ブロックごとに、当該ブロックの属性に基づいて暗号鍵を決定し、
前記ブロックを、決定した暗号鍵を使用して暗号化し、
暗号化した前記各ブロックを記憶部に記憶させる、
ことを特徴とするデータのバックアップ方法。
（付記３）
バックアップの対象のデータを複数のブロックに分割するデータ分割手段と、
分割された前記ブロックごとに、暗号化のために使用する暗号鍵を当該ブロックの属性に基づいて決定する、暗号化用鍵決定手段と、
前記各ブロックを、当該ブロックについて前記暗号化用鍵決定手段によって決定された暗号鍵を使用して暗号化する、暗号化手段と、
暗号化された前記ブロックを記憶部に記憶させる記憶処理手段と、
を有することを特徴とするバックアップ処理システム。
（付記４）
複数の暗号鍵を記憶する暗号鍵記憶手段、を有し、
前記暗号化用鍵決定手段は、暗号化のために使用する暗号鍵を、前記暗号鍵記憶手段に記憶されている暗号鍵の中から決定する、
付記３記載のバックアップ処理システム。
（付記５）
前記ブロックごとのサイズを決定するブロックサイズ決定手段、を有し、
前記データ分割手段は、前記各ブロックが前記ブロックサイズ決定手段によって決定したサイズになるように前記データを分割する、
付記３または付記４記載のバックアップ処理システム。
（付記６）
前記データの暗号化された前記各ブロックを前記記憶部から読み出すブロック読出手段と、
読み出した前記ブロックごとに、復号のために使用する暗号鍵を、前記暗号化用鍵決定手段と同一の決定方法によって当該ブロックの属性に基づいて決定する、復号用鍵決定手段と、
前記各ブロックを、当該ブロックについて前記復号用鍵決定手段によって決定された暗号鍵を使用して復号する、復号手段と、
復号された前記各ブロックに基づいて前記データをリストアするリストア手段と、
付記３ないし付記５記載のいずれかに記載のバックアップ処理システム。
（付記７）
前記ブロックの属性には、当該ブロックを他のブロックと識別するための識別番号が含まれており、
前記暗号化用鍵決定手段は、前記ブロックの暗号化のために使用する暗号鍵を、当該ブロックの前記識別番号の値を所定のハッシュ関数に代入することによって決定し、
前記復号用鍵決定手段は、前記ブロックの復号のために使用する暗号鍵を、当該ブロックの前記識別番号の値を前記所定のハッシュ関数に代入することによって決定する、
付記６記載のバックアップ処理システム。
（付記８）
データを記憶部にバックアップするコンピュータに用いられるコンピュータプログラムであって、
前記データを複数のブロックに分割する処理と、
分割した前記各ブロックを、互いに異なる暗号鍵を使用して暗号化する処理と、
暗号化した前記各ブロックを記憶部に記憶させる処理と、
をコンピュータに実行させるためのコンピュータプログラム。
【産業上の利用可能性】
【００７２】
本発明は、特に、大容量のデータを、高速にかつ安全にリムーバブルディスクにバックアップする場合に、好適に用いられる。
【図面の簡単な説明】
【００７３】
【図１】データ管理装置の外観およびデータのバックアップの概要を示す図である。
【図２】データ管理装置のハードウェア構成の例を示す図である。
【図３】データ管理装置の機能的構成の例を示す図である。
【図４】暗号鍵管理テーブルの例を示す図である。
【図５】ファイルの分割の例を示す図である。
【図６】バックアップ識別情報の例を示す図である。
【図７】暗号鍵決定処理の流れの例を説明するフローチャートである。
【図８】記録媒体に保存されたバックアップファイルの例を示す図である。
【図９】バックアップ処理の流れの例を説明するフローチャートである。
【図１０】リストア処理の流れの例を説明するフローチャートである。
【図１１】暗号鍵管理テーブルの例を示す図である。
【図１２】バックアップ処理の流れの変形例を説明するフローチャートである。
【図１３】バックアップ識別情報の例を示す図である。
【図１４】ファイルＦＬの分割方法を説明する図である。
【図１５】リストア処理の流れの変形例を説明するフローチャートである。
【図１６】暗号鍵管理テーブルの例を示す図である。
【符号の説明】
【００７４】
１  データ管理装置（バックアップ処理システム）
２  記録媒体
１０２  ファイル分割部（データ分割手段）
１０４  暗号化用鍵決定部（暗号化用鍵決定手段）
１０５  暗号化処理部（暗号化手段）
１０６  暗号化ブロック書込部（記憶処理手段）
１２１  暗号化ブロック読出部（読出手段）
１２３  復号用鍵決定部（復号用鍵決定手段）
１２４  復号処理部（復号手段）
１２５  復号ブロック結合部（リストア手段）
１３２  暗号鍵管理部（暗号鍵記憶手段）
ＢＫ  ブロック
ＦＬ  ファイル（バックアップの対象のデータ）
ＫＹ  暗号鍵
【図１】
2006260224.tif 000003
【図２】
2006260224.tif 000004
【図３】
2006260224.tif 000005
【図４】
2006260224.tif 000006
【図５】
2006260224.tif 000007
【図６】
2006260224.tif 000008
【図７】
2006260224.tif 000009
【図８】
2006260224.tif 000010
【図９】
2006260224.tif 000011
【図１０】
2006260224.tif 000012
【図１１】
2006260224.tif 000013
【図１２】
2006260224.tif 000014
【図１３】
2006260224.tif 000015
【図１４】
2006260224.tif 000016
【図１５】
2006260224.tif 000017
【図１６】
2006260224.tif 000018