JP4721737B2 - データのバックアップ方法、バックアップ処理システム、およびコンピュータプログラム - Google Patents

データのバックアップ方法、バックアップ処理システム、およびコンピュータプログラム Download PDF

Info

Publication number
JP4721737B2
JP4721737B2 JP2005077368A JP2005077368A JP4721737B2 JP 4721737 B2 JP4721737 B2 JP 4721737B2 JP 2005077368 A JP2005077368 A JP 2005077368A JP 2005077368 A JP2005077368 A JP 2005077368A JP 4721737 B2 JP4721737 B2 JP 4721737B2
Authority
JP
Japan
Prior art keywords
block
encryption key
encryption
data
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005077368A
Other languages
English (en)
Other versions
JP2006260224A (ja
Inventor
正義 住田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005077368A priority Critical patent/JP4721737B2/ja
Publication of JP2006260224A publication Critical patent/JP2006260224A/ja
Application granted granted Critical
Publication of JP4721737B2 publication Critical patent/JP4721737B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、ファイルなどのデータを暗号化してバックアップする方法およびシステムなどに関する。
従来より、データが記憶されている記憶装置が災害などのトラブルによって使用不能になった場合に備えて、磁気テープなどの可搬な記憶媒体にこれらのデータをバックアップし保管しておくことが広く行われている。データがバックアップされた磁気テープは、厳重なセキュリティの下で保管されるが、それでも、他人に盗まれる可能性はゼロではない。また、被災地から離れた場所でデータをリストア(復元)できるように、磁気テープを遠隔地に搬送して保管することがある。この場合は、搬送中に磁気テープが盗まれるおそれがある。
そこで、万が一磁気テープが盗まれてしまっても、他人がデータをリストアすることができないように、データを暗号化してバックアップする方法が広く用いられている。暗号化の方式には、特許文献1に記載されるように、公開鍵暗号方式と共通鍵暗号方式とがある。
公開鍵暗号方式によると、公開鍵および秘密鍵の2種類の鍵を使い分けるので、安全性が高い。すなわち、例えばある会社の東京支店の記憶装置のデータを記憶媒体にバックアップして大阪支店でこれを保管する場合は、大阪支店で公開鍵および秘密鍵を発行し、公開鍵を東京支店に送り、秘密鍵を大阪支店で保管する。そして、東京支店では、大阪支店から受け取った公開鍵を使用してデータを暗号化し、記憶媒体にバックアップすればよい。暗号化されたデータは秘密鍵がなければ復号することができないが、その秘密鍵は上述の通り大阪支店から外へは一切出ないので、安全性が高い。
ところが、公開鍵暗号方式は、共通鍵暗号方式に比べて、暗号化および復号の処理に長い時間が掛かってしまう。したがって、大量のデータを高速でバックアップする場合には、共通鍵暗号方式が用いられるが多い。
特開2004−355251号公報
しかし、共通鍵暗号方式によると、暗号化および復号の両方を1つの共通の暗号鍵で行う。したがって、東京支店と大阪支店との間で必ず一度は復号のために使用可能な暗号鍵のやり取りを行わなければならない。そうすると、この暗号鍵が盗まれてしまう危険性がある。
このように、共通鍵暗号方式は、公開鍵暗号方式と比較して、暗号化および復号の処理速度の点においては優れているが、安全性が低いという問題点を有している。
本発明は、このような問題点に鑑み、共通鍵暗号方式を用いた場合であっても安全にデータをバックアップし保管できるようにすることを目的とする。
本発明に係るデータのバックアップ方法は、バックアップの対象のデータを複数のブロックに分割し暗号化してバックアップするコンピュータに用いられるバックアップ方法であって、コンピュータが、複数のブロックサイズ決定情報をそれぞれ、暗号鍵記憶手段に記憶されている複数の暗号鍵のうちのいずれかと対応するようにブロックサイズ決定情報記憶手段に記憶させる第1の処理を実行し、前記ブロックごとに、前記複数の暗号鍵のうちの暗号化のために使用する暗号鍵を当該ブロックの属性に基づいて決定する第2の処理を実行し、前記ブロックごとに、当該ブロックについて前記第2の処理によって決定された前記暗号鍵に対応する前記ブロックサイズ決定情報に基づいて、分割後の当該ブロックのサイズを決定する第3の処理を実行し、前記データを、前記各ブロックのサイズが前記第3の処理によって決定されたサイズになるように分割する第4の処理を実行し、分割した前記各ブロックを、当該ブロックについて前記第2の処理によって決定された前記暗号鍵を使用して暗号化する第5の処理を実行し、暗号化された前記ブロックをリムーバブルな記憶媒体に記憶させる第6の処理を実行する、ことを特徴とする。
本発明によると、共通鍵暗号方式を用いた場合であっても安全にデータをバックアップし保管しておくことができる。
図1はデータ管理装置1の外観およびデータのバックアップの概要を示す図、図2はデータ管理装置1のハードウェア構成の例を示す図、図3はデータ管理装置1の機能的構成の例を示す図である。
図1に示すデータ管理装置1は、ユーザが業務で使用するデータなどを管理し、定期的にまたはユーザの指令に基づいてこれらのデータをリムーバブルな記録媒体2にバックアップ(保存)する。
データ管理装置1が管理するデータが故障またはユーザの操作ミスなどのトラブルによって使用不能になった場合は、必要な修理を行った後、記録媒体2にバックアップしておいたデータをそのデータ管理装置1にリストア(復元)することができる。または、他のデータ管理装置1にリストアすることもできる。例えば、データ管理装置1Aが管理するデータをユーザが誤って消去してしまった場合は、記録媒体2にバックアップしておいたそのデータをデータ管理装置1Aにリストアすることができる。災害などによってデータ管理装置1Aが壊れてしまった場合は、記録媒体2にバックアップしておいたデータをデータ管理装置1Bにリストアすることができる。
データ管理装置1は、図2に示すように、CPU10a、RAM10b、ROM10c、磁気ディスク装置(ハードディスク)10d、入出力インタフェース10e、入力インタフェース10f、ビデオインタフェース10g、および通信インタフェース10hなどによって構成される。
入出力インタフェース10eは、SCSI、IEEE1394、またはUSBなどのインタフェースであって、記録媒体2にデータを書き込む処理および記録媒体2からデータを読み出す処理を行う装置(ドライブ)と接続されている。本実施形態では、記録媒体2として磁気テープが用いられ、ドライブとして磁気テープ装置15が用いられる場合を例に説明する。
入力インタフェース10fは、PS/2またはUSBなどのインタフェースであって、キーボードおよびマウスなどユーザの操作用の入力装置16が接続されている。ビデオインタフェース10gは、DDC(Display Data Channel)またはD−Subなどの規格のインタフェースであって、ディスプレイ17が接続されている。通信インタフェース10hは、イーサネット(登録商標)用のLANカードまたはモデムなどであって、通信回線を介してデータ管理装置1をパーソナルコンピュータなどの端末装置と接続させる。
ROM10cまたは磁気ディスク装置10dには、図3に示すようなバックアップファイル読出部101、ファイル分割部102、バックアップ識別情報生成部103、暗号化用鍵決定部104、暗号化処理部105、暗号化ブロック書込部106、暗号化ブロック読出部121、バックアップ識別情報読出部122、復号用鍵決定部123、復号処理部124、復号ブロック結合部125、リストアファイル出力部126、暗号鍵情報登録処理部131、および暗号鍵管理部132などの機能を実現するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてRAM10bにロードされ、CPU10aによってプログラムが実行される。
図4は暗号鍵管理テーブルTL1の例を示す図、図5はファイルFLの分割の例を示す図、図6はバックアップ識別情報70の例を示す図、図7は暗号鍵決定処理の流れの例を説明するフローチャート、図8は記録媒体2に保存されたバックアップファイルFLBの例を示す図である。
次に、図3に示すデータ管理装置1の各部の処理内容などを、暗号鍵の管理に関する処理、バックアップのための処理、およびリストアのための処理に大別して説明する。
〔暗号鍵の管理に関する処理〕
暗号鍵管理部132は、図4に示すような暗号鍵管理テーブルTL1を有し、バックアップの対象のファイルFLを暗号化しまたはリストアの対象のファイルFLを復号するための暗号鍵KYを管理する。本実施形態では、暗号鍵KYとして、共通鍵方式の共通鍵を用いる場合を例に説明する。暗号鍵管理テーブルTL1には、N個(ただし、N≧2)の暗号鍵KYが用意されている。暗号鍵KYには、他の暗号鍵KYと識別するためにユニークな鍵番号が対応付けられている。ただし、鍵番号は、1、2、…、のように連番になるように付けられる。
暗号鍵情報登録処理部131は、暗号鍵KYを暗号鍵管理テーブルTL1に登録するための処理を行う。係る処理は、例えば次のような手順で実行される。管理者が入力装置16を操作して暗号鍵KYの生成の指令を与えると、暗号鍵情報登録処理部131は、公知のアルゴリズムなどを用いて暗号鍵KYを生成する。そして、その暗号鍵KYに対して鍵番号を発行し、暗号鍵管理テーブルTL1に登録する。
なお、データ管理装置1Aの暗号鍵管理テーブルTL1の内容とデータ管理装置1Bの暗号鍵管理テーブルTL1の内容とは、まったく同じである。つまり、一方のデータ管理装置1で暗号鍵管理テーブルTL1を生成したら、その暗号鍵管理テーブルTL1をコピーして他方のデータ管理装置1にも設けておく。
〔バックアップのための処理〕
バックアップファイル読出部101は、バックアップの対象のファイルFLを磁気ディスク装置10dから読み出す。ファイル分割部102は、読み出されたファイルFLを、図5に示すように、先頭から順に所定のサイズ(ブロック長)ごとに区切ることによって、ブロックBKに分割する。そして、先頭のブロックBKから順に、「00001」、「00002」、…という連番のブロック番号を、ブロックBK同士を識別するための識別情報として与える。ブロック長は、ユーザが任意に指定することができる。
バックアップ識別情報生成部103は、読み出されたファイルFLに対して図6に示すようなバックアップ識別情報70を生成する。バックアップ識別情報70において、「ファイル名」は、そのファイルFLのファイル名を示す。「バックアップ日時」は、今回のバックアップ処理の実行を開始した日付および時刻を示す。「メディアID」は、そのファイルFLのバックアップ先の記録媒体2を識別する識別情報である。メディアIDとして、正の整数値が用いられる。バックアップ識別情報生成部103は、新しい記録媒体2が磁気テープ装置15にセットされるごとに、ユニークなメディアIDを発行する。「ブロック長」は、ブロックBKのデータサイズすなわちブロック長を示す。
暗号化用鍵決定部104は、ファイルFLの暗号化のために使用する暗号鍵KYを決定する。本実施形態では、ブロックBKごとに異なる暗号鍵KYで暗号化を行うので、ブロックBKごとに暗号鍵KYを決定する。暗号鍵KYは、例えば図7に示すような手順で決定される。
予め用意されている所定のハッシュ関数を呼び出す(#101)。本実施形態では、ハッシュ関数として、次の(1)式に示すような3つのパラメータp1〜p3を有するものを用意しておく。
y=MOD{(p1×w1+p2×w2+p3×w3),N} … (1)
ただし、w1、w2、およびw3は重み付けのための正の整数の係数である。
Nは図4の暗号鍵管理テーブルTL1に登録されている暗号鍵KYの個数である。
MOD(α,β)は、αをβで割ったときの余りを意味する。
このハッシュ関数のパラメータp1、p2、p3に、それぞれ、バックアップ識別情報生成部103によって生成されたバックアップ識別情報70のメディアIDの値、バックアップ日時の値、および暗号化対象のブロックBKのブロック番号の値を代入する(#102)。そして、右辺を計算することによって、ハッシュ値(y)が求められる。なお、バックアップ日時の値として、基準の日時(例えば、GMT(世界標準時)が定める基点の日時である1970年1月1日0時0秒)からバックアップ日時までの通算の秒すなわちエポック秒が用いられる。
そして、暗号鍵管理テーブルTL1を参照し(#103)、求められたハッシュ値と同じ値の鍵番号を有する暗号鍵KYを、ブロックBKの暗号化に使用する暗号鍵KYに決定する(#104)。
例えば、ファイルFLが3つのブロックBKに分割され、バックアップ先となる記録媒体2のメディアIDが「123456」であり、バックアップ日時のエポック秒が「38386.5625」であり、暗号鍵管理テーブルTL1に登録されている暗号鍵KYの個数Nが「20」であるとする。そして、重みの係数w1、w2、w3としてそれぞれ「3」、「20000」、「7」が設定されているとする。この場合は、1つ目のブロックBKの暗号鍵KYは、次の(2−A)式の通り、鍵番号が「5」である暗号鍵KYに決定する。2つ目のブロックBKの暗号鍵KYは、次の(2−B)式の通り、鍵番号が「12」である暗号鍵KYに決定する。3つ目のブロックBKの暗号鍵KYは、次の(2−C)式の通り、鍵番号が「19」である暗号鍵KYに決定する。
y=MOD{(123456×3+38386.5625×20000+00001×7)/20}=5 …(2−A)
y=MOD{(123456×3+38386.5625×20000+00002×7)/20}=12 …(2−B)
y=MOD{(123456×3+38386.5625×20000+00003×7)/20}=19 …(2−C)

図3に戻って、暗号化処理部105は、ファイル分割部102によって分割された各ブロックBKを、暗号化用鍵決定部104によって決定されたそれぞれの暗号鍵KYを用いて暗号化する。暗号化の処理は、公知の暗号化アルゴリズムを用いて行ってもよいし、独自に決めた暗号化アルゴリズムを用いて行ってもよい。
なお、データ管理装置1Aおよびデータ管理装置1Bは、同一の暗号化アルゴリズムを用いる。つまり、データ管理装置1Aおよびデータ管理装置1Bがそれぞれ同じ暗号鍵KYを使用して同じブロックBKを暗号化した場合、同じ暗号化データが生成される。後に説明する復号のアルゴリズムも、データ管理装置1Aおよびデータ管理装置1Bにおいて共通のものが用いられる。
暗号化ブロック書込部106は、図8に示すように、磁気テープ装置15にセットされている記録媒体2に、バックアップ識別情報生成部103で生成されたバックアップ識別情報70をHDRレコード(見出しラベルレコード)として書き込み、暗号化された各ブロックBKをブロック番号の小さい順に書き込む。このとき、ブロックBKとともにブロック番号も書き込む。これにより、ファイルFLのバックアップの処理が完了する。以下、記録媒体2に書き込まれたバックアップ識別情報70および各ブロックBKの集合を「バックアップファイルFLB」と記載することがある。
〔リストアのための処理〕
暗号化ブロック読出部121は、ブロック番号の小さい順に、記録媒体2にバックアップされているバックアップファイルFLBの中からブロックBKを読み出す。バックアップ識別情報読出部122は、バックアップファイルFLBの中からバックアップ識別情報70を読み出す。
復号用鍵決定部123は、読み出したブロックBKを復号するために使用する暗号鍵KYを決定する。決定の処理の手順は、暗号化のために使用する暗号鍵KYを決定するときの手順と基本的に同じである。すなわち、(1)式のハッシュ関数を呼び出し(#101)、パラメータp1、p2、p3にそれぞれメディアIDの値、バックアップ日時の値、および復号対象のブロックBKのブロック番号の値を代入することによってハッシュ値を求める(#102)。そして、図4の暗号鍵管理テーブルTL1を参照し(#103)、求められたハッシュ値と同じ値の鍵番号を有する暗号鍵KYを、ブロックBKの復号に使用する暗号鍵KYに決定する(#104)。ただし、メディアIDの値およびバックアップ日時の値として、バックアップ識別情報読出部122が記録媒体2から読み出したバックアップ識別情報70に示される値が用いられる。バックアップ日時は、エポック秒に変換されて用いられる。
このように、ある1つのブロックBKについて、復号用の暗号鍵KYを決定するために使用されるハッシュ関数、暗号鍵管理テーブル、およびそのハッシュ関数のパラメータp1〜p3に代入される各値は、暗号化用の暗号鍵KYを決定するために使用されるそれらとすべて同じになる。よって、決定した暗号化用の暗号鍵KYと復号用の暗号鍵KYとは必ず同じになる。
復号処理部124は、記録媒体2から読み出されたブロックBKを、復号用鍵決定部123がそのブロックBKについて決定した暗号鍵KYを使用して復号する。復号のアルゴリズムとして、暗号化処理部105で用いられた暗号化アルゴリズムに対応するものが用いられる。つまり、暗号化処理部105で実行したステップと逆の演算処理を行うことによってブロックBKを復号する。
復号ブロック結合部125は、復号処理部124によって復号されたブロックBKをブロック番号順に結合することによって、ファイルFLをリストアする。リストアファイル出力部126は、リストアされたファイルFLを所定の保存場所(例えば、磁気ディスク装置10dの所定のディレクトリ)に出力する。
図9はバックアップ処理の流れの例を説明するフローチャート、図10はリストア処理の流れの例を説明するフローチャートである。
次に、下記のような条件下でデータ管理装置1Aおよびデータ管理装置1Bが使用される場合を例に、ファイルFLのバックアップおよびリストアの処理の流れを、フローチャートを参照して説明する。ある会社の東京支店にデータ管理装置1Aが設置され、大阪支店にデータ管理装置1Bが設置されている。データ管理装置1Aで普段使用されているファイルFLを定期的に記録媒体2にバックアップする。そして、データ管理装置1Aが稼動不能になった場合に備え、これらのファイルFLがバックアップされた記録媒体2を大阪支店に搬送し保管する。
図9において、データ管理装置1Aは、バックアップの対象のファイルFLを決定し(#11)、そのファイルFLを磁気ディスク装置10dから読み出す(#12)。そのファイルFLを所定のブロック長のブロックBKに分割するとともに(#13)、そのファイルFLのバックアップ識別情報70を生成し(#14)、そのバックアップ識別情報70をHDRレコードとして記録媒体2に書き込む(#15)。なお、ここでは、ファイルFLがK個のブロックBKに分割されたものとする。
1番目のブロックBKを読み込み(#16、#17)、そのブロックBKを暗号化するために使用する暗号鍵KYを決定する(#18)。決定の処理の手順は、前に図7で説明した通りである。決定した暗号鍵KYを使用してそのブロックBKを暗号化し(#19)、記録媒体2に書き込む(#20)。
以下、2番目〜K番目のブロックBKについても同様に、ステップ#17〜#20の処理を実行することによって暗号化を施し、記録媒体2への書込を行う。このようにして、ファイルFLがバックアップファイルFLBとして記録媒体2に保存される。そして、記録媒体2は、大阪支店へ搬送される。
データ管理装置1Aが災害などによって使用不能となった場合は、大阪支店のデータ管理装置1Bは、図10に示すような手順でファイルFLのリストアを行う。記録媒体2が磁気テープ装置15にセットされると(#31)、その記録媒体2からバックアップファイルFLBのHDRレコードのバックアップ識別情報70を読み込むとともに(#32)、1番目のブロックBKを読み込む(#33、#34)。そのブロックBKを復号するために使用する暗号鍵KYを決定する(#35)。決定の処理の手順は、前に図7で説明した通りである。
決定した暗号鍵KYを使用してそのブロックBKを復号する(#36)。以下、2番目〜K番目のブロックBKについても同様に、ステップ#34〜#36の処理を実行することによって復号する。また、ブロックBKを復号するごとに、1つ前の復号済のブロックBKに結合していく(#37)。このように復号および結合を繰り返すことによって、記録媒体2に保存されていたバックアップファイルFLBがファイルFLとしてデータ管理装置1Bにリストアされる。
なお、もちろん、データ管理装置1Aにおいて図10の処理を実行することによって、ファイルFLをデータ管理装置1Aにリストアすることができる。
本実施形態によると、バックアップ対象のファイルFLを複数のブロックBKに分割し、ブロックBKごとに異なる暗号鍵KYを用いて暗号化を行う。よって、たとえ暗号鍵KYが盗まれたとしても復号することが難しいので、従来よりも安全にデータをバックアップし保管することができる。
また、暗号鍵KYの組合せのパターンは、ファイルFLおよびブロックBKの属性に基づいて決定するので、ファイルFLごとに異なる。よって、あるファイルFLの暗号鍵KYの組合せが他人に知られたとしても、他のファイルFLの暗号鍵KYの組合せは知られないので、安全である。
本実施形態では、ファイルFLを可搬な記録媒体2にバックアップしたが、ネットワークを介して他の装置の磁気ディスク装置などにバックアップしてもよい。この場合は、ハッシュ値を求めるときに、メディアIDの代わりにファイルFLのファイル名の値をハッシュ関数にすればよい。ファイル名の値は、例えば、ファイル名の各文字を16進数のアスキーコードに変換し、これらの合計値を10進数に変換することによって求めればよい。
本実施形態では、説明の簡単のため、(1)式のような単純なハッシュ関数を用いたが、もっと複雑なハッシュ関数を用いてもよい。また、ハッシュ関数のパラメータとして、メディアID、バックアップ日時、およびブロック番号を用いたが、これ以外の属性を用いてもよい。
本実施形態では、図4に示すような暗号鍵管理テーブルTL1を予め用意しておき、1〜Nのいずれかのハッシュ値を出力するハッシュ関数を用いてブロックBKの暗号化および復号に使用する暗号鍵KYを決定したが、ある程度大きい桁数のハッシュ値を出力するハッシュ関数を用意しておき、出力されたハッシュ値そのものを暗号鍵KYとして使用してもよい。
本実施形態では、共通鍵暗号方式を用いたが、公開鍵暗号方式を用いることも可能である。この場合は、鍵番号ごとに1対の公開鍵および秘密鍵を暗号鍵管理テーブルTL1に登録しておく。そして、ブロックBKを暗号化する場合はいずれか一方の鍵を使用し、そのブロックBKを復号する場合はもう一方の鍵を使用すればよい。
図11は暗号鍵管理テーブルTL2の例を示す図、図12はバックアップ処理の流れの変形例を説明するフローチャート、図13はバックアップ識別情報70’の例を示す図、図14はファイルFLの分割方法を説明する図、図15はリストア処理の流れの変形例を説明するフローチャート、図16は暗号鍵管理テーブルTL3の例を示す図である。
本実施形態では、ファイルFLを一定のブロック長のブロックBKに分割して暗号化を行ったが、ブロックBKごとにブロック長を変えるようにしてもよい。この場合は、図4の暗号鍵管理テーブルTL1の代わりに図11のような暗号鍵管理テーブルTL2を用意しておき、図12に示すような手順で暗号化を行えばよい。なお、「ブロック長調整値」の使用方法については、後に説明する。
図12において、データ管理装置1は、バックアップの対象のファイルFLを決定し(#51)、そのファイルFLを磁気ディスク装置10dから読み出す(#52)。図13に示すようなバックアップ識別情報70’を生成し(#53)、これをHDRレコードとして記録媒体2に書き込む(#54)。ただし、このバックアップ識別情報70’には、図4のバックアップ識別情報70と比較して分かるように、「ブロック長」の代わりにブロックBKの標準的なサイズである「標準ブロック長」が含まれる。標準ブロック長の値は、ファイルFLのサイズなどに応じて任意に設定可能である。
ブロックカウンタCTに「1」をセットする(#55)。このブロックカウンタCTは、暗号化および記録媒体2への書込みの処理対象のブロックBKのブロック番号を指すために用いられる。
ブロックカウンタCTに示されるブロック番号のブロックBKを暗号化するために使用する暗号鍵KYを決定する(#56)。決定の処理の手順は、前に図7で説明した通りである。ただし、ここでは、(1)式のハッシュ関数のパラメータp1およびp2に、それぞれ、バックアップ識別情報70’に示される記録媒体2のメディアIDの値およびバックアップ日時のエポック秒の値を代入し、パラメータp3にブロックカウンタCTに示されるブロック番号の値を代入することによって、ハッシュ値を求める。そして、暗号鍵管理テーブルTL2を参照して暗号鍵KYを決定する。
また、図11の暗号鍵管理テーブルTL2の中から、求められたハッシュ値と同じ値の鍵番号のブロック調整値を抽出し、このブロック調整値と標準ブロック長の値との和を算出する。そして、算出された和を、ブロックカウンタCTに示されるブロック番号のブロックBKのブロック長に決定する(#57)。例えば、求められたハッシュ値が「4」である場合は、ブロック長は「50Mバイト+1.5Mバイト=51.5Mバイト」となり、「5」である場合は、「50Mバイト−0.5Mバイト=49.5Mバイト」となる。
ステップ#57で決定したブロック長分のデータをファイルFLから分割し、これをブロックカウンタCTに示されるブロック番号のブロックBKとする(#58)。例えば、ブロック番号が「1」のハッシュ値が「4」と判別された場合は、図14に示すように、ファイルFLの先頭から51.5Mバイト分のデータを抽出して分割する。ブロック番号が「2」のハッシュ値が「5」と判別された場合は、残ったファイルFLの先頭から49.5Mバイト分のデータを抽出して分割する。ブロック番号が「3」以降の場合も、同様に残りのファイルFLからデータを抽出し分割する。
分割されたブロックBKを、ステップ#56でそのブロックに対して決定した暗号鍵KYを使用して暗号化し(#59)、記録媒体2に書き込む(#60)。そして、ブロックカウンタCTに「1」を加算し(#62)、ファイルFLに含まれるすべてのデータがブロック化され、暗号化され、記録媒体2に書き込まれるまで、ステップ#56〜#60の処理を実行する。
このようにして、ファイルFLがバックアップファイルFLBとして記録媒体2にバックアップされる。
記録媒体2にバックアップされたファイルFLをリストアする場合は、データ管理装置1は、図15に示すような手順で処理を実行する。
記録媒体2が磁気テープ装置15にセットされると(#71)、その記録媒体2からバックアップファイルFLBのHDRレコードのバックアップ識別情報70’を読み込む(#72)。ブロックカウンタCRに「1」をセットする(#73)。このブロックカウンタCRは、復号の処理対象のブロックBKのブロック番号を指すために用いられる。
ブロックカウンタCRに示されるブロック番号のブロックBKを復号するために使用する暗号鍵KYを決定する(#74)。決定の処理の手順は、前に図7で説明した通りである。ただし、ここでは、暗号化の場合と同様に、(1)式のハッシュ関数のパラメータp1およびp2に、それぞれ、記録媒体2から読み込んだバックアップ識別情報70’に示されるメディアIDの値およびバックアップ日時のエポック秒の値を代入し、パラメータp3にブロックカウンタCRに示されるブロック番号の値を代入することによって、ハッシュ値を求める。そして、図11の暗号鍵管理テーブルTL2を参照して暗号鍵KYを決定する。
また、暗号化の場合と同様に、暗号鍵管理テーブルTL2の中から、求められたハッシュ値と同じ値の鍵番号のブロック調整値を抽出し、このブロック調整値と標準ブロック長の値との和を算出することによって、ブロックカウンタCTに示されるブロック番号のブロックBKのブロック長を算出する(#75)。
算出されたブロック長分のデータを、バックアップファイルFLBから抽出し、これをブロックカウンタCTに示されるブロック番号のブロックBKとする(#76)。ブロック番号が「1」の場合は、バックアップファイルFLBの先頭から順にブロック長分のデータを抽出する。2番目以降は、バックアップファイルFLBの未抽出の部分の先頭から順にデータを抽出する。
バックアップファイルFLBから得られたブロックBKを、ステップ#74で決定した暗号鍵KYを使用して復号する(#77)。ブロックカウンタCRに「1」を加算し(#80)、2番目以降のブロックBKについても同様に、ステップ#74〜#77の処理を実行することによって復号する。また、ブロックBKを復号するごとに、1つ前の復号済のブロックBKに結合していく(#78)。このように復号および結合を繰り返すことによって、記録媒体2に保存されていたバックアップファイルFLBがファイルFLとしてデータ管理装置1にリストアされる。
図12および図15で説明した暗号化処理および復号処理の変形例では、標準ブロック長を予め決めておき、ハッシュ関数によって求められたハッシュ値に対応するブロック長調整値(図11参照)を加算してその標準ブロック長を増減させることによってブロックBKのブロック長を変えたが、他の方法によってブロック長を変えるようにしてもよい。例えば、標準ブロック長は決めておかずに、暗号鍵管理テーブルTL2の代わりに図16に示すような暗号鍵管理テーブルTL3を用意しておく。そして、図12のステップ#57および図15のステップ#75において、暗号鍵管理テーブルTL3を参照し、暗号化決定処理で求められたハッシュ値と同じ値の鍵番号の「ブロック長」をブロックBKのブロック長に決定する。
図12および図15で説明した変形例では、ブロック長を決定する際に、ブロックBKの暗号鍵KYを決めるためのハッシュ関数を共用したが、ブロック長を算出するためのハッシュ関数を別に用意しておいてもよい。
1番目のブロックBKはブロック長をL1とし暗号鍵KY1を使用して暗号化および復号を行い、2番目のブロックBKはブロック長をL2とし暗号鍵KY2を使用して暗号化および復号を行い、…、というように、ブロック番号ごとに予めブロック長および使用する暗号鍵KYを定めておいてもよい。
その他、データ管理装置1の全体または各部の構成、処理内容、処理順序、テーブルの内容などは、本発明の趣旨に沿って適宜変更することができる。
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
バックアップの対象のデータを複数のブロックに分割し、
分割した前記各ブロックを、互いに異なる暗号鍵を使用して暗号化し、
暗号化した前記各ブロックを記憶部に記憶させる、
ことを特徴とするデータのバックアップ方法。
(付記2)
バックアップの対象のデータを複数のブロックに分割し、
分割した前記ブロックごとに、当該ブロックの属性に基づいて暗号鍵を決定し、
前記ブロックを、決定した暗号鍵を使用して暗号化し、
暗号化した前記各ブロックを記憶部に記憶させる、
ことを特徴とするデータのバックアップ方法。
(付記3)
バックアップの対象のデータを複数のブロックに分割するデータ分割手段と、
分割された前記ブロックごとに、暗号化のために使用する暗号鍵を当該ブロックの属性に基づいて決定する、暗号化用鍵決定手段と、
前記各ブロックを、当該ブロックについて前記暗号化用鍵決定手段によって決定された暗号鍵を使用して暗号化する、暗号化手段と、
暗号化された前記ブロックを記憶部に記憶させる記憶処理手段と、
を有することを特徴とするバックアップ処理システム。
(付記4)
複数の暗号鍵を記憶する暗号鍵記憶手段、を有し、
前記暗号化用鍵決定手段は、暗号化のために使用する暗号鍵を、前記暗号鍵記憶手段に記憶されている暗号鍵の中から決定する、
付記3記載のバックアップ処理システム。
(付記5)
前記ブロックごとのサイズを決定するブロックサイズ決定手段、を有し、
前記データ分割手段は、前記各ブロックが前記ブロックサイズ決定手段によって決定したサイズになるように前記データを分割する、
付記3または付記4記載のバックアップ処理システム。
(付記6)
前記データの暗号化された前記各ブロックを前記記憶部から読み出すブロック読出手段と、
読み出した前記ブロックごとに、復号のために使用する暗号鍵を、前記暗号化用鍵決定手段と同一の決定方法によって当該ブロックの属性に基づいて決定する、復号用鍵決定手段と、
前記各ブロックを、当該ブロックについて前記復号用鍵決定手段によって決定された暗号鍵を使用して復号する、復号手段と、
復号された前記各ブロックに基づいて前記データをリストアするリストア手段と、
付記3ないし付記5記載のいずれかに記載のバックアップ処理システム。
(付記7)
前記ブロックの属性には、当該ブロックを他のブロックと識別するための識別番号が含まれており、
前記暗号化用鍵決定手段は、前記ブロックの暗号化のために使用する暗号鍵を、当該ブロックの前記識別番号の値を所定のハッシュ関数に代入することによって決定し、
前記復号用鍵決定手段は、前記ブロックの復号のために使用する暗号鍵を、当該ブロックの前記識別番号の値を前記所定のハッシュ関数に代入することによって決定する、
付記6記載のバックアップ処理システム。
(付記8)
データを記憶部にバックアップするコンピュータに用いられるコンピュータプログラムであって、
前記データを複数のブロックに分割する処理と、
分割した前記各ブロックを、互いに異なる暗号鍵を使用して暗号化する処理と、
暗号化した前記各ブロックを記憶部に記憶させる処理と、
をコンピュータに実行させるためのコンピュータプログラム。
本発明は、特に、大容量のデータを、高速にかつ安全にリムーバブルディスクにバックアップする場合に、好適に用いられる。
データ管理装置の外観およびデータのバックアップの概要を示す図である。 データ管理装置のハードウェア構成の例を示す図である。 データ管理装置の機能的構成の例を示す図である。 暗号鍵管理テーブルの例を示す図である。 ファイルの分割の例を示す図である。 バックアップ識別情報の例を示す図である。 暗号鍵決定処理の流れの例を説明するフローチャートである。 記録媒体に保存されたバックアップファイルの例を示す図である。 バックアップ処理の流れの例を説明するフローチャートである。 リストア処理の流れの例を説明するフローチャートである。 暗号鍵管理テーブルの例を示す図である。 バックアップ処理の流れの変形例を説明するフローチャートである。 バックアップ識別情報の例を示す図である。 ファイルFLの分割方法を説明する図である。 リストア処理の流れの変形例を説明するフローチャートである。 暗号鍵管理テーブルの例を示す図である。
符号の説明
1 データ管理装置(バックアップ処理システム)
2 記録媒体
102 ファイル分割部(データ分割手段)
104 暗号化用鍵決定部(暗号化用鍵決定手段)
105 暗号化処理部(暗号化手段)
106 暗号化ブロック書込部(記憶処理手段)
121 暗号化ブロック読出部(読出手段)
123 復号用鍵決定部(復号用鍵決定手段)
124 復号処理部(復号手段)
125 復号ブロック結合部(リストア手段)
132 暗号鍵管理部(暗号鍵記憶手段)
BK ブロック
FL ファイル(バックアップの対象のデータ)
KY 暗号鍵

Claims (5)

  1. バックアップの対象のデータを複数のブロックに分割し暗号化してバックアップするコンピュータに用いられるバックアップ方法であって、
    コンピュータが、
    複数のブロックサイズ決定情報をそれぞれ、暗号鍵記憶手段に記憶されている複数の暗号鍵のうちのいずれかと対応するようにブロックサイズ決定情報記憶手段に記憶させる第1の処理を実行し、
    前記ブロックごとに、前記複数の暗号鍵のうちの暗号化のために使用する暗号鍵を当該ブロックの属性に基づいて決定する第2の処理を実行し、
    前記ブロックごとに、当該ブロックについて前記第2の処理によって決定された前記暗号鍵に対応する前記ブロックサイズ決定情報に基づいて、分割後の当該ブロックのサイズを決定する第3の処理を実行し、
    前記データを、前記各ブロックのサイズが前記第3の処理によって決定されたサイズになるように分割する第4の処理を実行し、
    分割した前記各ブロックを、当該ブロックについて前記第2の処理によって決定された前記暗号鍵を使用して暗号化する第5の処理を実行し、
    暗号化された前記ブロックをリムーバブルな記憶媒体に記憶させる第6の処理を実行する
    ことを特徴とするデータのバックアップ方法。
  2. バックアップの対象のデータを複数のブロックに分割し暗号化してバックアップするバックアップ処理システムであって、
    複数の暗号鍵を記憶する暗号鍵記憶手段と、
    複数のブロックサイズ決定情報を、それぞれが前記複数の暗号鍵のうちのいずれかと対応するように記憶する、ブロックサイズ決定情報記憶手段と、
    記ブロックごとに、前記複数の暗号鍵のうちの暗号化のために使用する暗号鍵を当該ブロックの属性に基づいて決定する、暗号化用鍵決定手段と、
    前記ブロックごとに、当該ブロックについて前記暗号化用鍵決定手段によって決定された前記暗号鍵に対応する前記ブロックサイズ決定情報に基づいて、分割後の当該ブロックのサイズを決定する、ブロックサイズ決定手段と、
    前記データを、前記各ブロックのサイズが前記ブロックサイズ決定手段によって決定されたサイズになるように分割する、データ分割手段と、
    前記各ブロックを、当該ブロックについて前記暗号化用鍵決定手段によって決定された前記暗号鍵を使用して暗号化する、暗号化手段と、
    暗号化された前記ブロックをリムーバブルな記憶媒体に記憶させる記憶処理手段と、
    を有することを特徴とするバックアップ処理システム。
  3. 前記データの暗号化された前記各ブロックを前記リムーバブルな記憶媒体から読み出すブロック読出手段と、
    読み出した前記ブロックごとに、前記複数の暗号鍵のうちの復号のために使用する暗号鍵を、前記暗号化用鍵決定手段と同一の決定方法によって当該ブロックの属性に基づいて決定する、復号用鍵決定手段と、
    前記各ブロックを、当該ブロックについて前記復号用鍵決定手段によって決定された前記暗号鍵を使用して復号する、復号手段と、
    復号された前記各ブロックに基づいて前記データをリストアするリストア手段と、
    を有する請求項2記載のバックアップ処理システム。
  4. 前記ブロックの属性には、当該ブロックを他のブロックと識別するための識別番号が含まれており、
    前記暗号化用鍵決定手段は、前記複数の暗号鍵のうちの前記ブロックの暗号化のために使用する暗号鍵を、当該ブロックの前記識別番号の値を所定のハッシュ関数に代入することによって決定し、
    前記復号用鍵決定手段は、前記複数の暗号鍵のうちの前記ブロックの復号のために使用する暗号鍵を、当該ブロックの前記識別番号の値を前記所定のハッシュ関数に代入することによって決定する、
    請求項記載のバックアップ処理システム。
  5. バックアップの対象のデータを複数のブロックに分割し暗号化してバックアップするコンピュータに用いられるコンピュータプログラムであって、
    複数のブロックサイズ決定情報をそれぞれ、暗号鍵記憶手段に記憶されている複数の暗号鍵のうちのいずれかと対応するようにブロックサイズ決定情報記憶手段に記憶させる第1の処理と、
    前記ブロックごとに、前記複数の暗号鍵のうちの暗号化のために使用する暗号鍵を当該ブロックの属性に基づいて決定する第2の処理と、
    前記ブロックごとに、当該ブロックについて前記第2の処理によって決定された前記暗号鍵に対応する前記ブロックサイズ決定情報に基づいて、分割後の当該ブロックのサイズを決定する第3の処理と、
    前記データを、前記各ブロックのサイズが前記第3の処理によって決定されたサイズになるように分割する第4の処理と、
    分割した前記各ブロックを、当該ブロックについて前記第2の処理によって決定された前記暗号鍵を使用して暗号化する第5の処理と
    暗号化された前記ブロックをリムーバブルな記憶媒体に記憶させる第6の処理と
    をコンピュータに実行させるためのコンピュータプログラム。
JP2005077368A 2005-03-17 2005-03-17 データのバックアップ方法、バックアップ処理システム、およびコンピュータプログラム Active JP4721737B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005077368A JP4721737B2 (ja) 2005-03-17 2005-03-17 データのバックアップ方法、バックアップ処理システム、およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005077368A JP4721737B2 (ja) 2005-03-17 2005-03-17 データのバックアップ方法、バックアップ処理システム、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2006260224A JP2006260224A (ja) 2006-09-28
JP4721737B2 true JP4721737B2 (ja) 2011-07-13

Family

ID=37099399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005077368A Active JP4721737B2 (ja) 2005-03-17 2005-03-17 データのバックアップ方法、バックアップ処理システム、およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4721737B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038639A (ja) * 2007-08-02 2009-02-19 Square Enix Holdings Co Ltd 暗号化データ作成装置、暗号化データ作成方法、および暗号化データ作成プログラム
JP5104137B2 (ja) * 2007-09-06 2012-12-19 コニカミノルタビジネステクノロジーズ株式会社 データ管理装置およびプログラム
JP5845824B2 (ja) * 2011-11-04 2016-01-20 富士通株式会社 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システム、コンテンツの生成方法およびコンテンツの復号化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001516913A (ja) * 1997-09-16 2001-10-02 マイクロソフト コーポレイション 暗号化ファイルシステム及び方法
JP2003108442A (ja) * 2001-09-28 2003-04-11 Toshiba Corp マイクロプロセッサ
JP2003272285A (ja) * 2002-03-13 2003-09-26 Matsushita Electric Ind Co Ltd 情報記録再生装置、情報送信装置、情報受信装置、情報受信記録再生装置、情報送受信システム
JP2004310240A (ja) * 2003-04-03 2004-11-04 Sony Corp サーバ装置
JP2005039864A (ja) * 1996-01-17 2005-02-10 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3607700B1 (ja) * 2004-04-28 2005-01-05 トラステッドソリューションズ株式会社 バックアップ・リカバリシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005039864A (ja) * 1996-01-17 2005-02-10 Fuji Xerox Co Ltd ソフトウェアの保護機能付き情報処理装置およびソフトウェアの保護機能付き情報処理方法
JP2001516913A (ja) * 1997-09-16 2001-10-02 マイクロソフト コーポレイション 暗号化ファイルシステム及び方法
JP2003108442A (ja) * 2001-09-28 2003-04-11 Toshiba Corp マイクロプロセッサ
JP2003272285A (ja) * 2002-03-13 2003-09-26 Matsushita Electric Ind Co Ltd 情報記録再生装置、情報送信装置、情報受信装置、情報受信記録再生装置、情報送受信システム
JP2004310240A (ja) * 2003-04-03 2004-11-04 Sony Corp サーバ装置

Also Published As

Publication number Publication date
JP2006260224A (ja) 2006-09-28

Similar Documents

Publication Publication Date Title
JP7104248B2 (ja) 暗号化された資産暗号化鍵パーツのサブセットを使用して資産暗号化鍵のアセンブリを可能にする暗号化された資産暗号化鍵パーツ
US9483486B1 (en) Data encryption for a segment-based single instance file storage system
US20080104417A1 (en) System and method for file encryption and decryption
US20100119061A1 (en) Generating secure private keys for use in a public key communications environment
US9087207B2 (en) Obtaining complete forensic images of electronic storage media
US20080235521A1 (en) Method and encryption tool for securing electronic data storage devices
GB2379059A (en) Storing backup information on tape or CD-ROM in which a checksum of the data is encrypted with a trusted time stamp
JP2006301849A (ja) 電子情報保存システム
JPWO2003013054A1 (ja) 処理に伴い暗号データの改ざん検出用データを生成する装置及び方法
JP2008234597A (ja) データ処理装置及びプログラム
CN115021988B (zh) 基于可验证秘密共享的数据安全备份和恢复的方法和***
JP2004310240A (ja) サーバ装置
JP5511925B2 (ja) アクセス権付き暗号化装置、アクセス権付き暗号システム、アクセス権付き暗号化方法およびアクセス権付き暗号化プログラム
JP4721737B2 (ja) データのバックアップ方法、バックアップ処理システム、およびコンピュータプログラム
CN112463454B (zh) 数据恢复方法、服务器、终端设备及存储介质
JP4124936B2 (ja) 電子申請システム及び書類保存装置並びにコンピュータ読み取り可能な記録媒体
CN111010275A (zh) 密钥管理方法、生成密钥的方法和密钥管理***
JP4569593B2 (ja) 暗号通信システム、暗号通信方法、暗号化装置、及び、復号装置
KR101276217B1 (ko) 암호화 하드디스크에 대한 데이터 복원 시스템 및 복원 방법
JP2004023138A (ja) 秘密鍵のバックアップ方法および情報処理端末
CN112231779B (zh) 一种兼容BitLocker加密磁盘的跨平台数据安全保护方法
JP2004023122A (ja) Icカードを利用した暗号システム
CN112804053B (zh) 数据恢复方法、加密机、终端设备及存储介质
CN116383861B (zh) 基于用户数据保护的计算机安全处理***
JP5540584B2 (ja) 電子文書閲覧システム,方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110317

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110405

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4721737

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150