説明

ライトワンス記憶手段におけるデータ改竄防止方法

【課題】
ファイルライトワンス方式であれば、書込み中のファイルだけのセキュリティを考えればよいが、ボリュームライトワンス方式では、外部からの攻撃にさらされるデータ量と時間がファイルライトワンス方式に比べて多くなり、更新および削除を禁止するまでのセキュリティレベルをどのようにすれば確保できるかが課題となる。
【解決手段】
ボリュームライトワンス方式磁気ディスクを検索専用とし、データを保存し、更新および削除を禁止するまでは外部に公開しない方式とする。例えば、データをライトワンステープにバックアップしていき、ある一定サイズにデータが達した場合、ライトワンステープからボリュームライトワンス磁気ディスクへデータをリストアし、更新および削除を禁止にした後で、検索用としてそのボリュームを公開する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライトワンスタイプの磁気ディスク、磁気テープ、および光ディスクなどのライトワンスストレージにおけるデータ改竄防止の技術に関する。
【背景技術】
【0002】
コンピュータシステムにおけるセキュリティ上の課題として、データ改竄および情報漏洩という問題があり、OSやアプリケーション、ネットワークにおける様々な対策が実施されている。データストレージの分野でも、システムのセキュリティ上の最終関門として、それらのリスクに対処すべく、ライトワンスタイプの磁気ディスク、磁気テープ、および光ディスクなどが世に出回るようになった。
【0003】
ライトワンスとは、一度書き込まれたデータは二度と更新および削除できないというデータの保存方式であり、ストレージでの実現方式を考える場合、物理的なローデバイス上でのライトワンスとファイルシステム上でのライトワンスとがある。
【0004】
磁気テープや光ディスクの場合、一般にローデバイスのレベルでデータ書込みは追記方式で、既に書き込まれたエリアには上書きできない方式となり、ファイルシステムでライトワンスを実装する場合は、ドライバーレベルでファイル単位の更新および削除を制御する方式をとる。
【0005】
磁気ディスクの場合、ファイルシステムでライトワンスを実装する場合は、磁気テープや光ディスクと同じ方式でドライバーレベルでファイル単位の更新および削除を制御するが、ローデバイスのレベルでライトワンスを実装する場合は、データを一定量書き込んだ後、書込み済みエリアの更新および削除を逐次、明示的に禁止していく、ボリュームライトワンス方式を採用している。
【0006】
ライトワンスストレージにおいて、ファイルライトワンス方式では、ファイルシステムレベルのセキュリティ度は高いが、物理的なローデバイスレベルでは外部からの攻撃に弱く、ボリュームライトワンス方式では、物理的なローデバイスレベルのセキュリティ度は高いが、更新や削除を禁止するまでの間、ロックがかかっていないエリアの各ファイルは外部からの攻撃に対して無防備になってしまう。
【発明の開示】
【発明が解決しようとする課題】
【0007】
磁気ディスクのライトワンスストレージで、ボリュームライトワンス方式をとる場合、一般にデータがある一定サイズになった時点で、ボリュームを更新および削除禁止にする。もしファイル単位で更新および削除を禁止すると、まだデータが書かれていないエリアについても更新を禁止にしてしまうため、ストレージ容量を有効に使うことができない。そこで、ボリュームが一杯になって削除および更新を禁止にするまでの間、外部からの攻撃に対しては無防備になってしまう。
【0008】
ファイルライトワンス方式であれば、書込み中ファイルだけのセキュリティを考えればよいが、ボリュームライトワンス方式では、外部からの攻撃にさらされるデータ量と時間が、ファイルライトワンス方式に比べて多くなり、更新および削除を禁止するまでのセキュリティをどのようにすれば確保できるかが課題となる。
【0009】
本発明は、上述の従来技術における問題点に鑑み、ボリュームライトワンス磁気ディスクに対し、ボリュームを更新および削除禁止にするまでのデータを外部からの攻撃にさらすことなく、セキュリティレベルが高く高速な検索用ストレージを実現することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明では、ボリュームライトワンス方式の記憶手段(例えば、磁気ディスクなど)を検索専用とし、データを保存し、更新および削除を禁止するまでは外部に公開しない方式とする。
【0011】
一般のサーバで管理された確定データは、ライトワンスタイプの記憶手段(例えば、磁気テープなど)にバックアップをとり、その際に、ファイル単位にハッシュ値をライトワンスの記憶手段(例えば、光ディスクなど)に保存しておく。ファイルを読み出す場合、そのハッシュ値を利用して、読み出したデータの改竄チェックを行う。ここで、改竄を検知した場合、バックアップしておいたライトワンス記憶手段からデータを回復する。ある一定サイズにデータが達した場合、バックアップ用のライトワンス記憶手段からボリュームライトワンス方式の記憶手段へデータをリストアし、更新および削除を禁止にした後で、検索用としてそのボリュームを公開する。
【発明の効果】
【0012】
本発明によれば、ボリュームライトワンス方式の記憶手段に対し、ボリュームを更新および削除禁止にするまでのデータを外部からの攻撃にさらすことなく、セキュリティレベルが高く高速な検索用ストレージを実現できる。特に、ボリュームライトワンス方式の記憶手段として磁気ディスク装置などを用いた場合、ボリュームライトワンス方式磁気ディスク装置では1ボリュームが大容量であるので、そのボリュームが一杯になって更新および削除禁止とするまでの期間のセキュリティが問題になる。本発明によれば、その期間は、いったんライトワンスタイプの磁気テープ装置などにファイルをバックアップし、読み出し要求があったときにはハッシュ値による改竄チェックを行うので、前記期間のセキュリティも保持できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。
【0014】
図1は、本実施形態のシステムの基本構成を示す。サーバ1においては、文書管理ソフト102の配下でボリューム101にデータが格納されていく。サーバ1には、SCSIまたはFiberチャネル105でテープドライブ2が、SCSIまたはFiberチャネル104でボリュームライトワンスストレージとしてライトワンスアレイディスク3が、SCSIまたはFiberチャネル106で光ディスク単体ドライブ4が、それぞれ接続されている。テープドライブ2では、ライトワンスタイプ(ファイルライトワンス方式)の磁気テープ121,122,123が順次装着されていき、バックアップソフト103によってボリューム101のバックアップを採取する。ライトワンスアレイディスク3は、ボリューム131,132,133…で構成されている。ライトワンステープ121,122,…およびライトワンスアレイディスク3の各ボリューム131,132,…は、それぞれ同サイズであると運用が容易になる。以降では、そのケースを前提とする。また、光ディスク単体ドライブ4には、ハッシュ値保存用媒体としてライトワンス光ディスク140が装着されている。
【0015】
図2および図3は、図1のシステムにおいて、データの登録要求を受けたときの動作手順を示すブロック図およびフローチャートである。データの登録要求201を受けたとき、文書管理ソフト102により、そのデータがボリューム101に書き込まれる(図2の202、ステップ301)。当該データ書き込みしたファイルが確定すると、そのファイルごとに、ライトワンステープ121へ当該データをバックアップソフト103によってバックアップする(図2の203、ステップ302)。その際に、ファイルごとにハッシュ値を作成し、ライトワンス光ディスク401に追記していく(図2の204)。
【0016】
文書管理ソフト102は、この処理の過程で、ファイル管理テーブルに、各ファイルごとのファイルID、ボリューム101上のアクセスパス、バックアップしたライトワンステープのデバイスID、および、計算したハッシュ値を保存したライトワンス光ディスク140上のファイル名などを保存する。図4に、文書管理ソフト102が管理するファイル管理テーブルの各項目の詳細を示す。
【0017】
ここでライトワンステープ121が満杯になったことを検出すると(ステップ303)、文書管理ソフト102は、一時的に上位からのI/Oを待ち状態にし(ステップ304)、バックアップソフト103を利用して、ライトワンステープ121からライトワンスアレイディスク3のボリューム131へデータをリストアする(図2の205、ステップ305)。ここで各ファイルごとに計算したハッシュ値とライトワンス光ディスク140に保存したハッシュ値とを比較し、問題がなければ、リストアしたボリューム131の更新および削除を禁止する(ステップ306)。そこで、ボリューム101上のバックアップした各ファイルは、一度削除して、リストアしたボリューム131上のパスを指し示すリンクファイルを元のファイル名と同じ名前で作り直す(ステップ307)。このとき、図4のファイル管理テーブルには、各ファイルごとにボリューム131上にある実体ファイル名も保存し、移行済みフラグを立てておく。この処理が終了した段階で、上位からのI/O待ち状態を解除することで、ボリューム131を公開する(ステップ308)。
【0018】
なお、上記処理による待ち時間が長くなってしまう場合は、ライトワンステープ121からボリューム131へデータをリストアする処理を非同期で走らせ、ボリューム101からボリューム131へのリンクファイルを作成する処理だけ、上位からのI/Oを待ちにする方法や、さらにリンクファイル作成処理もファイル単位でロックをかけることで、待ち時間の短縮を図ることは可能である。
【0019】
次に、図5および図6を参照して、READ要求があった場合について説明する。READ要求501があった場合、文書管理ソフト102は、図4のファイル管理テーブルの移行済みフラグを確認し(ステップ601)、当該データがライトワンスアレイディスク3上に移行済みか否かを判定する(ステップ602)。フラグが立っていなければ、当該ファイルはボリューム101に存在するということだから、ボリューム101から当該データを読み込みハッシュ値を計算する(図5の503、ステップ603)。計算したハッシュ値とライトワンス光ディスク401のハッシュ値とを比較し(図5の502、ステップ604)、問題がなければ(ステップ605でYesの場合)、そのデータをREAD要求元に返す(ステップ609)。しかし、改竄を検知した場合は(ステップ605でNoの場合)、バックアップソフト103を利用してライトワンステープ121からデータを戻し(図5の505、ステップ606)、READ要求元に返す(ステップ607)。なお、改竄を検知した場合は、その旨をREAD要求者もしくはシステム管理者などにメールなどで通知し、そのログも残しておく。ログの保存に関しては、ライトワンス光ディスク401を利用する方法も考えられる。
【0020】
ステップ602でフラグが立っていたら、ライトワンスアレイディスク3上に移行済みということだから、ライトワンスアレイディスク3から読み込んだデータをそのままREAD要求元に返す(図5の矢印504から503、ステップ608)。
【0021】
なお、ハッシュ値を保存したライトワンス光ディスク140上のファイル名、およびバックアップしてあるライトワンステープのデバイスIDは、図4のファイル管理テーブルから取得することができる。また、ファイル管理テーブルのアクセスパス名は、ボリューム101のリンクファイルが壊れた場合の復旧処理に利用するものである。
【0022】
ここで、ファイルの実体がボリューム131に移されていても、ボリューム101から透過的にセキュリティ上安全かつ高速なボリューム131にアクセスし、改竄されていないデータを高速に上位に返すことができる。また、ボリューム131上に、ボリューム101の実体だけなく、パス名を保存しておくことで、図4に示したファイル管理テーブルが壊れた場合の復旧処理がより確実に行える。
【0023】
同様にして、データの登録やREAD要求に対する処理を続けることができる。図7は、次のライトワンステープやボリュームに切り換えられたときの流れを示す。図7に示すように、データ登録要求701に対しては、サーバ1上で、引き続き当該データがボリューム101へ書き込まれ(703)、確定したデータをファイル単位にライトワンステープ122にバックアップする(704)。ライトワンステープ122が満杯になると、当該ライトワンステープ202から、ライトワンスアレイディスク3のボリューム132へデータをリストアし(705)、更新および削除を禁止する。ここで同じく、ボリューム101でバックアップしたファイルのアクセスパスはそのままにし、実体をボリューム101からボリューム132へ変更することで、ボリューム132を公開する。
【0024】
アクセスパスはそのままで、ファイルの実領域をボリューム101からライトワンスアレイディスク3へ移すことにより、文書管理ソフト102がボリューム101の満杯エラーを考慮する必要も解消される。
【0025】
上記実施形態において、単体ドライブ上のライトワンス光ディスク140は、例えば23GB程度の容量を持っており、ハッシュ値だけを保存するのであれば、通常のファイルサーバの場合、容量的な問題はない。もし23GBを越えた場合は、新たに単体ドライブを1台接続するか、光ディスクライブラリを利用して、次のライトワンス光ディスクへハッシュ値を保存していく。
【図面の簡単な説明】
【0026】
【図1】本発明の一実施の形態のシステム全体を示す概略構成図
【図2】データの登録要求があった場合のデータの流れ図
【図3】データの登録要求があった場合のフローチャート
【図4】文書管理ソフト102が管理するファイル管理テーブルを示す図
【図5】データのREAD要求があった場合のデータの流れ図
【図6】データのREAD要求があった場合のフローチャート
【図7】データの登録およびREAD要求におけるデータの流れ図
【符号の説明】
【0027】
1…サーバ、101…サーバ1上のボリューム、102…サーバ1上の文書管理ソフト、103…サーバ1上のバックアップソフト、104…サーバ1とテープドライブ装置2を接続するSCSIまたはFiberインタフェース、105…サーバ1とライトワンスアレイディスク3を接続するSCSIまたはFiberインタフェース、106…サーバ1と単体光ディスクドライブ4を接続するSCSIまたはFiberインタフェース、2…テープドライブ装置、121〜123…ライトワンステープ、3…ライトワンスアレイディスク、131〜133…ライトワンスアレイディスクのボリューム、4…単体光ディスクドライブ、140…ライトワンス光ディスク。

【特許請求の範囲】
【請求項1】
ライトワンス記憶手段におけるデータ改竄防止方法であって、
コンピュータが備えるバックアップ手段が、通常の書き換え型ストレージに保存されたデータをライトワンス方式のバックアップ用記憶手段にバックアップするステップと、
コンピュータが備える検出手段が、前記バックアップ用記憶手段に所定量のデータがバックアップされたことを検出するステップと、
前記バックアップ用記憶手段に所定量のデータがバックアップされたとき、コンピュータが備える転送手段が、前記バックアップ用記憶手段にバックアップされた所定量のデータを所定のボリュームライトワンス方式の記憶手段へコピーするステップと、
そのコピー後、コンピュータが備える公開手段が、前記ボリュームライトワンス方式の記憶手段を更新禁止にし、検索用として公開するステップと
を備えることを特徴とするライトワンス記憶手段におけるデータ改竄防止方法。
【請求項2】
請求項1に記載のライトワンス記憶手段におけるデータ改竄防止方法において、
前記バックアップ用記憶手段は、ファイルライトワンス方式の記憶手段であることを特徴とするライトワンス記憶手段におけるデータ改竄防止方法。
【請求項3】
請求項1に記載のライトワンス記憶手段におけるデータ改竄防止方法において、
前記書き換え型ストレージに保存されたデータをバックアップ用記憶手段にバックアップする際、コンピュータが備えるハッシュ値計算手段が、当該バックアップするデータのハッシュ値を計算して、所定のライトワンスのハッシュ値記憶用記憶媒体へ保存するステップを、さらに備えることを特徴とするライトワンス記憶手段におけるデータ改竄防止方法。
【請求項4】
請求項3に記載のライトワンス記憶手段におけるデータ改竄防止方法において、
データ読み出し時、そのデータが前記書き換え型ストレージに保存されている場合は、保存されている当該データのハッシュ値を計算し、前記ハッシュ値記憶用記憶媒体に保存してある当該データのハッシュ値と一致していることを確認することにより改竄チェックを行うことを特徴とするライトワンス記憶手段におけるデータ改竄防止方法。
【請求項5】
請求項4に記載のライトワンス記憶手段におけるデータ改竄防止方法において、
前記改竄チェックで改竄されていると判定された場合、前記ライトワンスのバックアップ用記憶手段から当該データを復元することを特徴とするライトワンス記憶手段におけるデータ改竄防止方法。
【請求項6】
請求項1に記載のライトワンス記憶手段におけるデータ改竄防止方法において、
前記バックアップ用記憶手段は、ファイルライトワンス方式の磁気テープ装置であり、
前記ボリュームライトワンス方式の記憶手段は、ボリュームライトワンス方式磁気ディスク装置であることを特徴とするライトワンス記憶手段におけるデータ改竄防止方法。
【請求項7】
請求項6に記載のライトワンス記憶手段におけるデータ改竄防止方法において、
前記磁気テープ装置の1本の記憶容量と前記ボリュームライトワンス方式磁気ディスク装置の1ボリュームの記憶容量とがほぼ同サイズであり、前記磁気テープ装置の1本分にデータがバックアップされたとき、当該1本分のデータを前記ボリュームライトワンス方式磁気ディスク装置の1ボリュームにコピーすることを特徴とするライトワンス記憶手段におけるデータ改竄防止方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−59268(P2006−59268A)
【公開日】平成18年3月2日(2006.3.2)
【国際特許分類】
【出願番号】特願2004−242682(P2004−242682)
【出願日】平成16年8月23日(2004.8.23)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】