(57)【要約】【課題】更新禁止（ＷＯＲＭ）情報を管理するストレージ装置において、時刻を正確に管理出来ていない場合、更新禁止（ＷＯＲＭ）属性を保持期間内に消去してしまう可能性がある。【解決手段】ネットワークを介して時刻サーバと接続されたストレージシステムにおいて、前記ストレージシステムは、データの更新禁止属性を管理するために使用される第１時刻情報を保持する第１時刻情報保持部と、前記ネットワークに接続された機器と時刻を同期するために使用される第２時刻情報を保持する第２時刻情報保持部と、前記第１時刻情報及び前記第２時刻情報を管理する時刻更新部と、を備え、前記時刻更新部は、前記時刻サーバから第３時刻情報を受信すると、当該第３時刻情報が所定の条件を満たすか否かを判定し、前記所定の条件を満たす場合には、前記第１時刻情報を当該第３時刻情報に基づいて更新する。【選択図】      図２
2006113720.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して時刻サーバと接続されたストレージシステムにおいて、
前記ストレージシステムは、
データの更新禁止属性を管理するために使用される第１時刻情報を保持する第１時刻情報保持部と、
前記ネットワークに接続された機器と時刻を同期するために使用される第２時刻情報を保持する第２時刻情報保持部と、
前記第１時刻情報及び前記第２時刻情報を管理する時刻更新部と、を備え、
前記時刻更新部は、
前記時刻サーバから第３時刻情報を受信すると、当該第３時刻情報が所定の条件を満たすか否かを判定し、
前記所定の条件を満たす場合には、前記第１時刻情報を当該第３時刻情報に基づいて更新することを特徴とするストレージシステム。
【請求項２】
前記第１時刻情報保持部は、第１時計であり、
前記第２時刻情報保持部は、前記第１時計と独立した第２時計であることを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記第１時刻情報保持部又は前記第２時刻情報保持部の一方は時計であり、他方は、前記第１時刻情報と前記第２時刻情報との差を保持する記憶領域であることを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記時刻更新部は、
前記第３時刻情報と前記第１時刻情報との差が所定の範囲内であるとき、当該第３時刻情報が前記所定の条件を満たすと判定し、
前記第３時刻情報が前記所定の条件を満すか否かに関らず、前記第２時刻情報を当該第３時刻情報に基づいて更新することを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記時刻更新部は、前記第３時刻情報が前記第１時刻情報より後の時刻を示すとき、当該第３時刻情報が前記所定の条件を満たさないと判定することを特徴とする請求項４に記載のストレージシステム。
【請求項６】
前記時刻更新部は、
前記第３時刻情報を受信すると、当該第３時刻情報を送信した前記時刻サーバを認証し、
当該時刻サーバの認証に成功したとき、当該第３時刻情報が前記所定の条件を満たすと判定することを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記時刻更新部は、
前記時刻サーバの認証に失敗すると、当該時刻サーバ以外の前記時刻サーバから前記第３時刻情報を受信し、
当該第３時刻情報を送信した時刻サーバを認証することを特徴とする請求項６に記載のストレージシステム。
【請求項８】
前記第３時刻情報は、所定の公開鍵に対応する秘密鍵を用いて暗号化され、
前記時刻更新部は、
前記第３時刻情報を受信すると、当該第３時刻情報を前記所定の公開鍵を用いて復号化し、
前記復号化に成功したとき、当該第３時刻情報を送信した時刻サーバの認証成功とすることを特徴とする請求項６に記載のストレージシステム。
【請求項９】
ストレージシステムと、
時刻サーバと、
前記ストレージシステム及び前記時刻サーバとを通信可能に接続するネットワークと、を含む計算機システムにおいて、
前記ストレージシステムは、
データの更新禁止属性を管理するために使用される第１時刻情報を保持する第１時刻情報保持部と、
前記ネットワークに接続された機器と時刻を同期するために使用される第２時刻情報を保持する第２時刻情報保持部と、
前記第１時刻情報及び前記第２時刻情報を管理する時刻更新部と、を備え、
前記時刻サーバは、前記ストレージシステムに第３時刻情報を送信し、
前記時刻更新部は、
前記第３時刻情報を受信すると、当該第３時刻情報が所定の条件を満たすか否かを判定し、
前記所定の条件を満たす場合には、前記第１時刻情報を当該第３時刻情報に基づいて更新することを特徴とする計算機システム。
【請求項１０】
前記第１時刻情報保持部は、第１時計であり、
前記第２時刻情報保持部は、前記第１時計と独立した第２時計であることを特徴とする請求項９に記載の計算機システム。
【請求項１１】
前記第１時刻情報保持部又は前記第２時刻情報保持部の一方は時計であり、他方は、前記第１時刻情報と前記第２時刻情報との差を保持する記憶領域であることを特徴とする請求項９に記載の計算機システム。
【請求項１２】
前記時刻更新部は、
前記第３時刻情報と前記第１時刻情報との差が所定の範囲内であるとき、当該第３時刻情報が前記所定の条件を満たすと判定し、
前記第３時刻情報が前記所定の条件を満すか否かに関らず、前記第２時刻情報を当該第３時刻情報に基づいて更新することを特徴とする請求項９に記載の計算機システム。
【請求項１３】
前記時刻更新部は、前記第３時刻情報が前記第１時刻情報より後の時刻を示すとき、当該第３時刻情報が前記所定の条件を満たさないと判定することを特徴とする請求項１２に記載の計算機システム。
【請求項１４】
前記時刻更新部は、
前記第３時刻情報を受信すると、当該第３時刻情報を送信した前記時刻サーバを認証し、
当該時刻サーバの認証に成功したとき、当該第３時刻情報が前記所定の条件を満たすと判定することを特徴とする請求項９に記載の計算機システム。
【請求項１５】
前記時刻更新部は、
前記時刻サーバの認証に失敗すると、当該時刻サーバ以外の前記時刻サーバから前記第３時刻情報を受信し、
当該第３時刻情報を送信した時刻サーバを認証することを特徴とする請求項１４に記載の計算機システム。
【請求項１６】
前記第３時刻情報は、所定の公開鍵に対応する秘密鍵を用いて暗号化され、
前記時刻更新部は、
前記第３時刻情報を受信すると、当該第３時刻情報を前記所定の公開鍵を用いて復号化し、
前記復号化に成功したとき、当該第３時刻情報を送信した時刻サーバの認証成功とすることを特徴とする請求項１４に記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関し、特に、保持期間の定められたデータの管理に関する。
【背景技術】
【０００２】
計算機等の複数の機器によって構成される計算機システムにおいては、システムを構成する各機器が保持する時刻を同期する必要がある。この時刻は、例えば、計算機システム内で取得されるログの作成に使用される。このログによって、どの機器の動作が他の機器に対してどのような影響を与えたかなどの状況が把握される。
【０００３】
計算機システム内の時刻を同期するために、ＮＴＰ（Network Time Protocol）サーバが一般に使用される。すなわち、計算機システム内の一つの機器がＮＴＰサーバとなり、他の機器に時刻の情報を送信することによって、計算機システム内の全ての機器が同一の時刻を取得する。
【０００４】
一方、ストレージシステムに格納されるデータには、一定期間の保持が義務付けられているものがある。このようなデータは、例えば、特定の業種の監査対象データである。
【０００５】
このようなデータに、ＷＯＲＭ（Write Once Read Many）属性、すなわち、更新禁止属性を付して格納することで、一度確定したデータを消去又は改竄していないことを証明し、データの正当性を確保する方法がある。
【０００６】
ＷＯＲＭは、一般的に、追記型の光ディスク等（例えば、ＣＤ−Ｒ）が持つ性質である。このため、追記型の媒体にデータを格納する事によって、簡単にＷＯＲＭ属性が実現される。
【０００７】
一方、性能等の観点から、磁気ディスクで構成されたストレージシステムにおいてもＷＯＲＭを実現する方法が提案されている。
【０００８】
特許文献１には、ディスク上に書き込み禁止等のフラグを持つことによって、ディスク上のデータの上書きを防止する方法が開示されている。
【特許文献１】特開平７−１３７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
磁気ディスクのような本来ＷＯＲＭ属性を持たない媒体に、仮想的にＷＯＲＭ属性を付する場合、ＷＯＲＭ属性に期限（ＷＯＲＭ保証期限）を設定することができる。この場合、設定された期限が経過したとき、ＷＯＲＭ属性を解除することができる。
【００１０】
例えば、一定期間の保持が義務付けられているデータについては、その期間終了後、当該データを格納していた領域を別の用途に使用することができる。このため、ストレージ領域を効率的に使用することができる。
【００１１】
その反面、媒体の性質によってＷＯＲＭ属性が保たれる追記型光ディスク等と異なり、ＷＯＲＭ属性を管理する部分、特に、指定した期間の時間を管理する部分に人為的な攻撃が加えられた場合、指定した期間経過前にＷＯＲＭ属性が変更される可能性がある。
【００１２】
例えば、ＷＯＲＭ属性を管理する際に参照される時計の時刻が故意に又は誤って進められた場合、実際にはＷＯＲＭ保証期限が経過していないデータが更新されるおそれがある。
【００１３】
このような問題を解決するため、ＷＯＲＭ管理用の時刻を、ユーザから完全に隠蔽して管理することもできる。しかし、この場合、ユーザが使用する計算機システム内の時刻を同期することができない。
【００１４】
また、この場合、悪意のない管理者がハードウェアによって生じる時刻の誤差を修正することができない。
【課題を解決するための手段】
【００１５】
本発明は、ネットワークを介して時刻サーバと接続されたストレージシステムにおいて、前記ストレージシステムは、データの更新禁止属性を管理するために使用される第１時刻情報を保持する第１時刻情報保持部と、前記ネットワークに接続された機器と時刻を同期するために使用される第２時刻情報を保持する第２時刻情報保持部と、前記第１時刻情報及び前記第２時刻情報を管理する時刻更新部と、を備え、前記時刻更新部は、前記時刻サーバから第３時刻情報を受信すると、当該第３時刻情報が所定の条件を満たすか否かを判定し、前記所定の条件を満たす場合には、前記第１時刻情報を当該第３時刻情報に基づいて更新することを特徴とする。
【発明の効果】
【００１６】
本発明によって、ＷＯＲＭ保証期限を経過していないデータを確実に保護するストレージシステムを実現することができる。
【発明を実施するための最良の形態】
【００１７】
図１は、本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【００１８】
ホスト２は、ストレージエリアネットワーク（ＳＡＮ）３を介してストレージシステム４に接続される計算機である。ホスト２は、ブロックＩ／Ｏインターフェース又はファイルＩ／Ｏインターフェースによって、ストレージシステム４に格納されたデータにアクセスする。
【００１９】
ホスト２は、さらに、ＩＰネットワーク１によってストレージシステム４に接続される。ホスト２は、ＩＰネットワーク１を介してストレージシステム４にデータアクセスしてもよい。
【００２０】
ストレージシステム４には、データが格納される。ストレージシステム４に格納されるデータには、ＷＯＲＭ（Write Once Read Many）属性、すなわち、更新禁止属性を付することができる。さらに、ＷＯＲＭ属性を維持する期限（ＷＯＲＭ保証期限）を設定することができる。データにＷＯＲＭ保証期限が設定されているとき、ホスト２等は、ＷＯＲＭ保証期限が経過する前にそのデータを更新することができない。
【００２１】
サイト内ＮＴＰサーバ５は、ＩＰネットワーク１を介して、ホスト２、ストレージシステム４及び管理ホスト６と接続される計算機である。サイト内ＮＴＰサーバ５は、ＮＴＰを用いて、ＩＰネットワーク１に接続された機器に時刻情報を送信する時刻サーバとして機能する。ＩＰネットワーク１に接続された機器は、それぞれの内部時計の時刻をサイト内ＮＴＰサーバ５から受信した時刻情報に同期させる。
【００２２】
管理ホスト６は、入出力装置（図示省略）を備える計算機である。管理ホスト６は、ＩＰネットワーク１を介して、ホスト２、ストレージシステム４及びサイト内ＮＴＰサーバ５と接続され、これらの機器を管理する。
【００２３】
図２は、本発明の第１の実施の形態のストレージシステム４の構成のブロック図である。
【００２４】
ストレージシステム４は、ディスクドライブ１１１〜１１３及びコントローラ１０１からなる。
【００２５】
ディスクドライブ１１１〜１１３には、データが格納される。
【００２６】
コントローラ１０１は、ディスクドライブ１１１〜１１３に格納されるデータを管理する。コントローラ１０１は、ホスト入出力制御部１２１、データ転送制御部１２２、キャッシュメモリ１２３、ディスク入出力制御部１２４、ＣＰＵ１２５、管理Ｉ／Ｆ１２６、メモリ１２７、ＷＯＲＭ管理用時計１２８、サイト用時計１２９及び内部バス１３０を備える。
【００２７】
ホスト入出力制御部１２１は、ＳＡＮ３を介してホスト２と通信するインターフェースである。ホスト入出力制御部１２１は、例えば、ファイバチャネルプロトコル又はｉＳＣＳＩプロトコルによって、ホスト２等との間でデータ及び制御信号を送受信する。さらに、ストレージシステム４の外部と内部のプロトコル変換をする。
【００２８】
キャッシュメモリ１２３は、例えば、半導体メモリであり、ホスト入出力制御部１２１とディスク入出力制御部１２２との間で送受信されるデータを一時的に記憶する。
【００２９】
データ転送制御部１２２は、ＣＰＵ１２５、ホスト入出力制御部１２１、ディスク入出力制御部１２４、及びキャッシュメモリ１２３の間のデータ転送を制御する。また、転送されるデータに保証コードを付加して、データの保証をする。
【００３０】
ディスク入出力制御部１２４は、ディスクドライブ１１１〜１１３に対するインターフェースである。ディスク入出力制御部１２４は、例えば、ＡＴＡ、ＳＡＳ（Serial Attached SCSI）、ファイバチャネル等のインターフェースによって、ディスクドライブ１１１等との間でデータ及び制御信号を送受信する。さらに、コントローラ１０１の外部と内部のプロトコル変換をする。
【００３１】
すなわち、データ転送制御部１２２は、ホスト２によってディスクドライブ１１１等に読み書きされるデータを、ホスト入出力制御部１２１とディスク入出力制御部１２４との間で転送する。さらに、これらのデータをキャッシュメモリ１２３に転送する。
【００３２】
管理インターフェース（Ｉ／Ｆ）１２６は、ＩＰネットワーク１に対するインターフェースである。管理Ｉ／Ｆ１２６は、ＴＣＰ／ＩＰプロトコルによって、管理ホスト６等との間でデータ及び制御信号を送受信する。
【００３３】
メモリ１２７には、制御プログラムが格納される。ＣＰＵ１２５がメモリ１２７から制御プログラムを呼び出して実行することによって各種の処理が実現される。また、メモリ１２７には、制御プログラムを実行する際に使用される管理情報が格納される。
【００３４】
ＷＯＲＭ管理用時計１２８は、ストレージシステム４内に格納されたデータに付されたＷＯＲＭ属性を管理するために用いられる。具体的には、ＷＯＲＭ管理用時計１２８は、ＷＯＲＭ保証期限が経過したか否かを判定する際に参照される。
【００３５】
サイト用時計１２９は、計算機システム内部の各機器を同期するための時刻（サイト内時刻）を管理する。
【００３６】
本実施の形態では、ＷＯＲＭ管理用時計１２８とサイト用時計１２９とは、互いに独立した時計である。しかし、これらは、互いに独立した時計でなくても、それぞれが時刻情報を保持していればよい。
【００３７】
例えば、ＷＯＲＭ管理用時計１２８は時計であり、サイト用時計１２９は、ＷＯＲＭ管理用時計１２８が示す時刻とサイト内時刻との差分の情報が格納されたキャッシュメモリ１２３上の記憶領域であってもよい。この場合、サイト用時計１２９が示す時刻は、当該記憶領域に格納された差分をＷＯＲＭ管理用時計１２８が示す時刻に加算した値である。
【００３８】
あるいは、サイト用時計１２９が時計であり、ＷＯＲＭ管理用時計１２８がキャッシュメモリ１２３上の記憶領域であってもよい。
【００３９】
内部バス１３０は、ＣＰＵ１２５等のコントローラ１０１内の各部を相互に通信可能に接続する。
【００４０】
ディスクドライブ１１１〜１１３は、ディスクアレイを構成する。図２には、例として三つのディスクドライブのみを示すが、ストレージシステム４は、任意の個数のディスクドライブを備えることができる。
【００４１】
図３は、本発明の第１の実施の形態のメモリ１２７の説明図である。
【００４２】
メモリ１２７には、制御プログラム及び管理情報が格納される。制御プログラムがＣＰＵ１２５によって実行されることによって各種の処理が実現される。具体的には、メモリ１２７には、オペレーティングシステム２０１、ディスクアレイ制御プログラム２０２、データ転送制御プログラム２０３、ＮＴＰクライアントプログラム２０４、入出力制御部ドライバプログラム２０５、サイト用時計管理プログラム２０６、ＷＯＲＭ管理用時計管理プログラム２１１、時刻更新プログラム２１２、及び、ＷＯＲＭ管理用時計管理情報２１３が格納される。
【００４３】
オペレーティングシステム２０１は、各制御プログラムを動作させる基本プログラムである。
【００４４】
ディスクアレイ制御プログラム２０２は、ホスト２等からのデータ入出力要求に従って、ディスクドライブ１１１等に対するデータの入出力を制御する。具体的には、ＲＡＩＤ変換及び論理・物理アドレス変換等の、ディスクアレイの制御をする。
【００４５】
データ転送制御プログラム２０３は、データ転送制御部１２２を制御して、データを転送する。
【００４６】
ＮＴＰクライアントプログラム２０４は、サイト内ＮＴＰサーバ５からＮＴＰによって発行されるデータを解釈して、時刻情報を取得する。取得した時刻情報は、ＷＯＲＭ管理用時計１２８及びサイト用時計１２９の更新に使用される。
【００４７】
入出力制御部ドライバプログラム２０５は、ホスト入出力制御部１２１及びディスク入出力制御部１２４を制御する。
【００４８】
サイト用時計管理プログラム２０６は、時刻更新プログラム２１２からの指示又は管理者からの指示に従って、サイト用時計１２９を更新する。
【００４９】
ＷＯＲＭ管理用時計管理プログラム２１１は、時刻更新プログラム２１２等によって時刻の更新を要求されたとき、ＷＯＲＭ管理用時計管理情報２１３を参照して更新可否を判断し、更新可の場合はＷＯＲＭ管理用時計１２８を更新する。
【００５０】
時刻更新プログラム２１２は、ＷＯＲＭ管理用時計管理情報２１３を参照し、ＮＴＰクライアントプログラム２０４、サイト用時計管理プログラム２０６及びＷＯＲＭ管理用時計管理プログラム２１１を制御して、サイト用時計１２９及びＷＯＲＭ管理用時計１２８を更新する。時刻更新プログラム２１２の動作は、後で詳細に説明する（図６）。
【００５１】
図４は、本発明の第１の実施の形態のＷＯＲＭ管理用時計管理情報２１３の説明図である。
【００５２】
ＷＯＲＭ管理用時計管理情報２１３は、ＷＯＲＭ管理用時計の更新間隔を示すチェック間隔２２１、更新時に許容される修正範囲を示す修正許容時間２２２、前回更新した時刻を示す前回更新時刻２２３、前回更新した際の修正時間を示す前回更新時の修正２２４、前々回更新した時刻を示す前々回更新時刻２２５、及び、前々回更新した際の修正時間を示す前々回更新時の修正２２６を含む。ＷＯＲＭ管理用時計管理情報２１３は、前々回のさらに前の更新時刻及び修正時間を含んでもよい。
【００５３】
本実施の形態では、チェック間隔２２１を固定し（１０分）、一定の間隔でＷＯＲＭ管理用時計１２８を更新するが、ランダムな間隔でＷＯＲＭ管理用時計１２８を更新してもよい。更新の間隔をランダムにすることによって、悪意のある管理者による時刻の改竄に対する堅牢性が向上する。
【００５４】
修正許容時間２２２は、図４の例では、１０分あたり−２秒から＋０秒までとする。すなわち、１０分あたり２秒を超えて時刻を遅らせることは禁止される。また、修正時間に関らず、時刻を進めることは禁止される。
【００５５】
ここで、修正時間とは、時刻を更新する際に進ませる（又は遅らせる）時間である。例えば、時刻を１秒進ませる場合、修正時間は＋１秒であり、時刻を２秒遅らせる場合、修正時間は−２秒である。修正許容時間２２２は、許容される修正時間である。
【００５６】
図４の例において、時刻を進める方向への修正が禁止されるのは、ＷＯＲＭ保証期限を経過していないデータを確実に保護するためである。ＷＯＲＭ管理用時計１２８の時刻を進めると、ＷＯＲＭ保証期限が早く到来する。故意に又は誤ってＷＯＲＭ管理用時計１２８の時刻が実際の時刻より早く設定されると、実際にはＷＯＲＭ保証期限を経過していないデータが、ＷＯＲＭ保証期限を経過したと認識され、ＷＯＲＭ属性が解除される場合がある。このようなことを防ぐため、時刻を進める方向への修正が禁止される。
【００５７】
時刻を遅らせる方向の修正許容時間は、内蔵している時計の精度によって決定される。
【００５８】
図５は、本発明の第１の実施の形態の、チェック時刻における時刻の更新の説明図である。
【００５９】
標準時刻４０１は、実際の時刻（例えば、日本標準時）である。
【００６０】
サイト内ＮＴＰサーバの時刻４０２は、サイト内ＮＴＰサーバ５が保持する時刻である。このサイト内ＮＴＰサーバの時刻４０２は、ＮＴＰによって計算機システム内の機器に送信される。サイト内ＮＴＰサーバ５は、標準時刻４０１を直接取得することができない。したがって、サイト内ＮＴＰサーバの時刻４０２は、標準時刻４０１と異なる場合がある。
【００６１】
サイト用時計の時刻４０３は、サイト用時計１２９が保持する時刻である。
【００６２】
ＷＯＲＭ管理用時計の時刻４０４は、ＷＯＲＭ管理用時計１２８が保持する時刻である。
【００６３】
まず、チェック時刻１（すなわち、サイト用時計の時刻１２：００：００）が到来する。図５の例では、この時点で、標準時刻４０１、サイト内ＮＴＰサーバの時刻４０２、サイト用時計の時刻４０３及びＷＯＲＭ管理用時計の時刻４０４は、全て、１２：００：００となっている。このため、各時計を修正する必要はない。
【００６４】
次に、チェック時刻２（すなわち、サイト用時計の時刻１２：１０：００）が到来する。
【００６５】
このとき、標準時刻４０１と、サイト内ＮＴＰサーバの時刻４０２は、共に１２：０９：５９を示す。
【００６６】
一方、サイト用時計の時刻４０３及びＷＯＲＭ管理用時計の時刻４０４は、１２：１０：００となっており、サイト内ＮＴＰサーバの時刻４０２より１秒進んでいる。
【００６７】
このとき、サイト内ＮＴＰサーバ５から、１２：０９：５９という時刻が送信される。
【００６８】
サイト用時計の時刻４０３は、この１２：０９：５９という時刻に、無条件で更新される。
【００６９】
ＷＯＲＭ管理用時計の時刻４０４も、同様に、１２：０９：５９という時刻を受信する。このとき、修正時間は、−１秒である。一方、ＷＯＲＭ管理用時計管理情報２１３の修正許容時間２２２は、−２秒から＋０秒までである。すなわち、修正時間が修正許容時間２２２の範囲内であるため、この誤差の修正は、時刻の改竄ではなく、ハードウェア誤差の修正であるとみなされる。その結果、時刻の修正が許容され、ＷＯＲＭ管理用時計の時刻４０４が１２：０９：５９に更新される。
【００７０】
次に、チェック時刻３（すなわち、サイト用時計の時刻１２：１０：００）が到来する。
【００７１】
このとき、サイト内ＮＴＰサーバの時刻４０２は、１２：２０：０３を示す。一方、サイト用時計の時刻４０３及びＷＯＲＭ管理用時計の時刻４０４は、共に１２：２０：００を示す。また、標準時刻４０１は、１２：２０：００である。
【００７２】
サイト用時計の時刻４０３は、チェック時刻２と同様に、無条件でサイト内ＮＴＰサーバの時刻４０２に同期し、１２：２０：０３に更新される。
【００７３】
一方、ＷＯＲＭ管理用時計の時刻４０４も、サイト内ＮＴＰサーバ５から１２：２０：０３という時刻を受信する。しかし、修正時間が＋３秒であるため、修正許容時間２２２の範囲外である。このため、この更新は、不正な更新とみなされ、時刻の修正は許容されない。
【００７４】
図５のチェック時刻３において、標準時刻４０１は、１２：２０：００である。すなわち、サイト内ＮＴＰサーバの時刻４０２は、標準時刻４０１より３秒進んでいる。仮に、ＷＯＲＭ管理用時計の時刻４０４をサイト内ＮＴＰサーバの時刻４０２と一致するように修正すると、ＷＯＲＭ管理用時計の時刻４０４は、標準時刻４０１より３秒進む。この場合、ＷＯＲＭ保証期限の終わりは、実際の時刻（すなわち標準時刻４０１）より３秒早く到来する。したがって、実際にはＷＯＲＭ保証期限が経過していないデータが改竄されるおそれがある。
【００７５】
しかし、本実施の形態によれば、ＷＯＲＭ管理用時計の時刻４０４を進める修正は禁止される。したがって、ＷＯＲＭ管理用時計の時刻４０４が標準時刻４０１より進むことがないため、ＷＯＲＭ保証期限が経過していないデータが改竄されるおそれはない。
【００７６】
図６は、本発明の第１の実施の形態においてＷＯＲＭ管理用時計１２８及びサイト用時計１２９を更新する際に実行される処理のフローチャートである。
【００７７】
図６のフローチャートは、時刻更新プログラム２１２によって実行される。図６において、ＮＴＰクライアントプログラム２０４、サイト用時計管理プログラム２０６及びＷＯＲＭ管理用時計管理プログラム２１１は、時刻更新プログラム２１２のサブルーチンとして動作する。
【００７８】
更新処理が開始されると（ステップ５０１）、サイト用時計管理プログラム２０６は、現在時刻がチェック時刻になったか否かを判定する（ステップ５０２）。
【００７９】
このとき、サイト用時計１２９が示す時刻を現在時刻として参照してもよいし、ＷＯＲＭ管理用時計１２８が示す時刻を現在時刻として参照してもよい。
【００８０】
本実施の形態では、サイト用時計１２９が示す時刻を現在時刻として参照する。
【００８１】
また、本実施の形態では、チェック時刻の間隔は、ＷＯＲＭ管理用時計管理情報２１３内のチェック間隔２２１である。しかし、サイト内時計１２９の更新のためのチェック間隔とＷＯＲＭ管理用時計１２８の更新のためのチェック間隔とは、異なっていてもよい。
【００８２】
あるいは、ＷＯＲＭ管理用時計１２８のチェック間隔は、一定でなくてもよい。例えば、ランダムな間隔でＷＯＲＭ管理用時計１２８の時刻を更新することによって、時刻改竄に対する堅牢性が向上する。
【００８３】
ステップ５０２において、現在時刻がチェック時刻になっていなかった場合は、再度チェック時刻になったかどうかの判定（ステップ５０２）に戻る。
【００８４】
一方、ステップ５０２において、現在時刻がチェック時刻になっていた場合、ＮＴＰクライアントプログラム２０４は、サイト内ＮＴＰサーバ５からその時点における時刻の情報を取得する（ステップ５０３）。
【００８５】
次に、サイト用時計管理プログラム２０６は、サイト用時計１２９に、ステップ５０３において取得した時刻を無条件に反映させる（ステップ５０４）。具体的には、サイト用時計管理プログラム２０６が、サイト用時計１２９の時刻を、ステップ５０３において取得した時刻と一致するように修正する。
【００８６】
次に、ＷＯＲＭ管理用時計管理プログラム２１１は、ステップ５０３において取得した時刻と、その時点のＷＯＲＭ管理用時計１２８の時刻との差異を計算し、この差異がＷＯＲＭ管理用時計管理情報２１３の修正許容時間２２２の範囲内か否かを判定する（ステップ５０５）。
【００８７】
ステップ５０５において、時刻の差異が修正許容時間２２２の範囲内であった場合、時刻の修正は許容される。このため、ＷＯＲＭ管理用時計管理プログラム２１１は、ＷＯＲＭ管理用時計１２８をサイト内ＮＴＰサーバ５から取得した時刻に更新する（ステップ５０６）。そして、処理を終了する（ステップ５０７）。
【００８８】
一方、ステップ５０５において、時刻の差異が修正許容時間の範囲外であった場合、時刻の修正は禁止される。このため、ＷＯＲＭ管理用時計管理プログラム２１１は、ＷＯＲＭ管理用時計１２８を更新せずに、処理を終了する（ステップ５０７）。
【００８９】
図７は、本発明の第２の実施の形態の計算機システムの構成のブロック図である。
【００９０】
第２の実施の形態の計算機システムの構成は、ＩＰネットワーク１にインターネット６０１が接続され、さらに、インターネット６０１に一つ以上の認証機能付きＮＴＰサーバ６０２が接続されていることを除けば、第１の実施の形態の計算機システム（図１）の構成と同じである。
【００９１】
ＩＰネットワーク１に接続された機器は、ＩＰネットワーク１及びインターネット６０１を介して、認証機能付きＮＴＰサーバ６０２と通信することができる。本実施の形態では、ストレージシステム４が認証機能付きＮＴＰサーバ６０２と通信し、時刻の情報を取得する。
【００９２】
認証機能付きＮＴＰサーバ６０２については、後述する（図１０参照）。
【００９３】
ＩＰネットワーク１、ホスト２、ＳＡＮ３、サイト内ＮＴＰサーバ５及び管理ホスト６については、図１で示した各機器と全く同一であるため、詳細な説明を省略する。
【００９４】
ストレージシステム４の構成は、第１の実施の形態におけるストレージシステム４（図２）と同一である。ただし、メモリ１２７内に格納されるプログラム及び管理情報の一部が異なる。
【００９５】
図８は、本発明の第２の実施の形態のメモリ１２７の説明図である。
【００９６】
第２の実施の形態のメモリ１２７の構成は、認証機能付きＮＴＰサーバ６０２の認証をストレージシステム４から確認するための外部ＮＴＰサーバ認証プログラム７０１が追加されていることを除けば、第１の実施の形態のメモリ１２７の構成（図３）と同じである。ただし、時刻更新プログラム７０２及びＷＯＲＭ管理用時計管理情報７０３の内容は、それぞれ、時刻更新プログラム２１２及びＷＯＲＭ管理用時計管理情報２１３の内容と異なる。
【００９７】
ＷＯＲＭ管理用時計管理プログラム２１１、サイト用時計管理プログラム２０６、ＮＴＰクライアントプログラム２０４、入出力制御部ドライバプログラム２０５、ディスクアレイ制御プログラム２０２、データ転送制御プログラム２０３及びオペレーティングシステム２０１は、第１の実施の形態（図３）と同一であるため、詳細な説明を省略する。
【００９８】
図９は、本発明の第２の実施の形態のＷＯＲＭ管理用時計管理情報７０３の説明図である。
【００９９】
ＷＯＲＭ管理用時計管理情報７０３は、チェック間隔７１１、認証機能付きＮＴＰサーバ６０２のＩＰアドレス７１２及び認証機能付きＮＴＰサーバ６０２の公開鍵７１３を含む。
【０１００】
チェック間隔７１１は、ＷＯＲＭ管理用時計１２８の更新間隔を示す。
【０１０１】
認証機能付きＮＴＰサーバ６０２のＩＰアドレス７１２は、インターネット６０１に接続された認証機能付きＮＴＰサーバ６０２のＩＰアドレスである。
【０１０２】
認証機能付きＮＴＰサーバ６０２の公開鍵７１３は、認証機能付きＮＴＰサーバ６０２に設定された公開鍵である。
【０１０３】
インターネット６０１に複数の認証機能付きＮＴＰサーバ６０２が接続されている場合、ＷＯＲＭ管理用時計管理情報７０３に複数の認証機能付きＮＴＰサーバ６０２が登録されてもよい。図９は、二つの認証機能付きＮＴＰサーバ６０２（第１の認証機能付きＮＴＰサーバ６０２及び第２の認証機能付きＮＴＰサーバ６０２）が登録された状態を示す。
【０１０４】
ＷＯＲＭ管理用時計管理情報７０３には、さらに多くの認証機能付きＮＴＰサーバ６０２が登録されてもよい。複数の認証機能付きＮＴＰサーバ６０２を登録することによって、一つの認証機能付きＮＴＰサーバ６０２が停止しているときに、他の認証機能付きＮＴＰサーバ６０２を使用することができる。
【０１０５】
管理者は、あらかじめ、信頼できる認証機能付きＮＴＰサーバ６０２を選択して、ＷＯＲＭ管理用時計管理情報７０３に登録することができる。このとき、信頼度の高いものを上位に登録することができる。図９の例では、第１の認証機能付きＮＴＰサーバ６０２の信頼度が最も高く、その次に、第２の認証機能付きＮＴＰサーバ６０２の信頼度が高い。
【０１０６】
なお、本実施の形態において、認証機能付きＮＴＰサーバ６０２は、公開鍵によって認証される。しかし、認証機能付きＮＴＰサーバ６０２は、その他の方法によって認証されてもよい。その場合、ＷＯＲＭ管理用時計管理情報７０３には、認証機能付きＮＴＰサーバ６０２を認証するための情報が格納される。
【０１０７】
本実施の形態では、チェック間隔を固定し、一定の間隔で時計を更新するが、ランダムな間隔で時計を更新してもよい。
【０１０８】
また、図９には示さないが、本発明の第１の実施の形態と同様に、修正許容時間２２２を設定することによって、システムをより堅牢にすることができる。この場合、ＷＯＲＭ管理用時計管理情報７０３内に修正許容時間２２２が格納される。
【０１０９】
図１０は、本発明の第２の実施の形態における時刻の更新の説明図である。
【０１１０】
ストレージシステム４は、ＷＯＲＭ管理用時計１２８及びサイト用時計１２９を含む。
【０１１１】
これらのうち、ＷＯＲＭ管理用時計１２８は、インターネット６０１を介して接続される認証機能付きＮＴＰサーバ６０２によってのみ更新される。
【０１１２】
ＷＯＲＭ管理用時計管理情報７０３内には、予め、認証機能付きＮＴＰサーバ６０２に関する情報が登録されている。
【０１１３】
ストレージシステム４は、認証機能付きＮＴＰサーバ６０２から時刻を取得すると、当該認証機能付きＮＴＰサーバ６０２が登録されたものであるか否かを判定する。登録されたものである場合は、ＷＯＲＭ管理用時計１２８を更新する（図１１参照）。
【０１１４】
サイト用時計１２９は、認証機能付きＮＴＰサーバ６０２の正確な時刻に合わせることよりも、サイト内の他の機器の時計と同期していることが重要であるため、サイト内ＮＴＰサーバ５によって更新される。
【０１１５】
なお、このとき、計算機システム内の全機器又はサイト内ＮＴＰサーバ５が、ストレージシステム４と同様に、認証機能付きＮＴＰサーバ６０２から時刻を取得して、ＷＯＲＭ管理用時計１２８とサイト用時計１２９とを同一の時刻としてもよい。
【０１１６】
また、計算機システム内の時刻を、認証機能付きＮＴＰサーバ６０２から得られた正確な時刻を保持しているＷＯＲＭ管理用時計１２８に同期させてもよい。
【０１１７】
図１１は、本発明の第２の実施の形態においてＷＯＲＭ管理用時計１２８を更新する際に実行される処理のフローチャートである。
【０１１８】
図１１の破線の左側がストレージシステム４によって実行される処理であり、右側が認証機能付きＮＴＰサーバ６０２によって実行される処理である。
【０１１９】
図１１の破線の左側は、時刻更新プログラム７０２によって実行される。図１１において、ＮＴＰクライアントプログラム２０４、ＷＯＲＭ管理用時計管理プログラム２１１及び外部ＮＴＰサーバ認証プログラム７０１は、時刻更新プログラム７０２のサブルーチンとして動作する。
【０１２０】
ＷＯＲＭ管理用時計１２９を更新する処理が開始されると（ステップ１００１）、ＮＴＰクライアントプログラム２０４は、ＷＯＲＭ管理用時計管理情報７０３に登録されたＮＴＰサーバのうち、対象となる認証機能付きＮＴＰサーバ６０２に対して、時刻情報の送信要求を発行する（ステップ１００２）。
【０１２１】
時刻情報の送信要求を受信した認証機能付きＮＴＰサーバ６０２は、現在の時刻及び特定文字列を、秘密鍵を使用して暗号化し、ストレージシステム４に送信する（ステップ１００３）。
【０１２２】
本実施の形態では、上記のように、公開鍵によってＮＴＰサーバを認証するが、ＮＴＰサーバが予め登録されたサーバである事を他の方法によって確認してもよい。
【０１２３】
また、ここで使用される特定文字列は、ストレージシステム４から送信された文字列であってもよいし、その他の予め定められた文字列（例えば、認証機能付きＮＴＰサーバ６０２を示す文字列等）であってもよい。
【０１２４】
ストレージシステム４は、ステップ１００３において対象となる認証機能付きＮＴＰサーバ６０２から送信された信号を受信する。そして、外部ＮＴＰサーバ認証プログラム７０１は、受信した信号を、当該認証機能付きＮＴＰサーバ６０２の公開鍵によって復号化する（ステップ１００４）。ここで、当該認証機能付きＮＴＰサーバ６０２の公開鍵は、予めＷＯＲＭ管理用時計管理情報７０３に登録されている。
【０１２５】
次に、外部ＮＴＰサーバ認証プログラム７０１は、ステップ１００４において復号化した結果から、特定文字列が復号化されたか否かを判定する（ステップ１００５）。
【０１２６】
ステップ１００５において、特定文字列が復号化されなかった場合は、ＷＯＲＭ管理用時計管理情報７０３に登録された公開鍵と、現在処理中の認証機能付きＮＴＰサーバ６０２の持つ秘密鍵とが対応していない。すなわち、当該認証機能付きＮＴＰサーバ６０２が、登録されたものであることを確認する認証に失敗した。
【０１２７】
この場合、外部ＮＴＰサーバ認証プログラム７０１は、ＷＯＲＭ管理用時計管理情報７０３中に他の処理対象の候補となる認証機能付きＮＴＰサーバが登録されているかどうかを判定する（ステップ１００７）。具体的には、例えば、ＷＯＲＭ管理用時計管理情報７０３中に、まだ処理されていない認証機能付きＮＴＰサーバ６０２があるか否かを判定する。
【０１２８】
ステップ１００７において、登録済みの認証機能付きＮＴＰサーバ６０２全てが処理されたと判定された場合、次の処理対象の候補となる認証機能付きＮＴＰサーバが存在しない。このため、ＷＯＲＭ管理用時計１２８の更新処理を終了する（ステップ１００９）。
【０１２９】
一方、ステップ１００７において、処理対象の候補となる登録済みの認証機能付きＮＴＰサーバ６０２があった場合、外部ＮＴＰサーバ認証プログラム７０１は、その認証機能付きＮＴＰサーバ６０２を新たな処理対象として（ステップ１００８）、ステップ１００２に戻る。
【０１３０】
一方、ステップ１００５において、特定文字列が復号化された場合、当該認証機能付きＮＴＰサーバ６０２がＷＯＲＭ管理用時計管理情報７０３に登録されたものである事が認証された。このため、ＷＯＲＭ管理用時計管理プログラム２１１は、ＷＯＲＭ管理用時計１２８を当該認証機能付きＮＴＰサーバ６０２から送信された時刻に更新し（ステップ１００６）、ＷＯＲＭ管理用時計１２８の更新処理を終了する（ステップ１００９）。
【０１３１】
図１２は、本発明の第２の実施の形態の管理画面の説明図である。
【０１３２】
管理画面１１０１は、管理ホスト６の入出力装置（図示省略）に表示される画面である。本実施の形態の計算機システムの管理者は、管理画面１１０１を操作し、情報を入力することによって、ＷＯＲＭ管理用時計１２８の更新に関する設定をすることができる。
【０１３３】
管理画面１１０１は、チェックボタン１１０２と、更新間隔設定欄１１０３と、使用ＮＴＰサーバ設定欄１１０４、１１０５からなる。
【０１３４】
チェックボタン１１０２は、ＷＯＲＭ管理用時計１２８を外部の認証機能付きＮＴＰサーバ６０２によって管理するか否かを設定するために使用される。
【０１３５】
例えば、チェックボタン１１０２をマウス（図示省略）で操作することによって、チェックボタン１１０２の「ＯＮ」「ＯＦＦ」を切り替えることができる。例えば、チェックボタン１１０２が「ＯＮ」であるときは、チェックボタン１１０２上にチェック印が表示される。図１２は、チェックボタン１１０２が「ＯＮ」である状態を示す。
【０１３６】
チェックボタン１１０２が「ＯＮ」であるとき、ＷＯＲＭ管理用時計の更新に認証機能付きＮＴＰサーバ６０２が用いられ、図１１のフローチャートが実行される。
【０１３７】
例えば、本実施の形態の計算機システムがインターネット６０１に接続されていない場合又は信頼できる認証機能付きＮＴＰサーバ６０２が存在しない場合は、チェックボタン１１０２を「ＯＦＦ」とすることができる。
【０１３８】
更新間隔設定欄１１０３は、ＷＯＲＭ管理用時計１２８を更新する間隔を設定するために使用される。図１２は、ＷＯＲＭ管理用時計１２８を更新する間隔が１０分と設定されている状態を示す。管理者は、更新間隔設定欄１１０３を操作することによって、任意の更新間隔を設定することができる。設定された更新間隔は、ＷＯＲＭ管理用時計管理情報７０３に、チェック間隔７１１として登録される。
【０１３９】
使用ＮＴＰサーバ設定欄１１０４及び１１０５は、ＷＯＲＭ管理用時計１２８の更新に使用する認証機能付きＮＴＰサーバ６０２を登録するために使用される。使用ＮＴＰサーバ設定欄１１０４及び１１０５には、認証機能付きＮＴＰサーバ６０２のＩＰアドレスが入力される。ここで入力されたＩＰアドレスは、ＷＯＲＭ管理用時計管理情報７０３に、認証機能付きＮＴＰサーバＩＰアドレス７１２として登録される。
【０１４０】
図１２では、使用ＮＴＰサーバ設定欄１１０４がＮＴＰサーバ第１候補、使用ＮＴＰサーバ設定欄１１０５がＮＴＰサーバ第２候補である。図１１のフローチャートでは、ＮＴＰサーバ第１候補として登録された（すなわち、最も順位の高い）認証機能付きＮＴＰサーバ６０２から順に処理される。例えば、インターネット６０１上で、計算機システムに近い認証機能付きＮＴＰサーバ６０２を、より順位の高い候補として設定してもよい。
【０１４１】
例えば、ＮＴＰサーバ第１候補の使用ＮＴＰサーバ設定欄１１０４に設定されたＩＰアドレスが、第１の認証機能付きＮＴＰサーバＩＰアドレス７１２Ａとして登録され、ＮＴＰサーバ第２候補の使用ＮＴＰサーバ設定欄１１０５に設定されたＩＰアドレスが、第２の認証機能付きＮＴＰサーバＩＰアドレス７１２Ｂとして登録される。
【０１４２】
なお、管理画面１１０１には、さらに多くの使用ＮＴＰサーバ設定欄が設けられてもよい。
【０１４３】
また、認証機能付きＮＴＰサーバ６０２は、予め定められたものの中から選択されてもよい。
【図面の簡単な説明】
【０１４４】
【図１】本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【図２】本発明の第１の実施の形態のストレージシステムの構成のブロック図である。
【図３】本発明の第１の実施の形態のメモリの説明図である。
【図４】本発明の第１の実施の形態のＷＯＲＭ管理用時計管理情報の説明図である。
【図５】本発明の第１の実施の形態の、チェック時刻における時刻の更新の説明図である。
【図６】本発明の第１の実施の形態においてＷＯＲＭ管理用時計及びサイト用時計を更新する際に実行される処理のフローチャートである。
【図７】本発明の第２の実施の形態の計算機システムの構成のブロック図である。
【図８】本発明の第２の実施の形態のメモリの説明図である。
【図９】本発明の第２の実施の形態のＷＯＲＭ管理用時計管理情報の説明図である。
【図１０】本発明の第２の実施の形態における時刻の更新の説明図である。
【図１１】本発明の第２の実施の形態においてＷＯＲＭ管理用時計を更新する際に実行される処理のフローチャートである。
【図１２】本発明の第２の実施の形態の管理画面の説明図である。
【符号の説明】
【０１４５】
１  ＩＰネットワーク
２  ホスト
３  ストレージエリアネットワーク（ＳＡＮ）
４  ストレージシステム
５  サイト内ＮＴＰサーバ
６  管理ホスト
１２８  ＷＯＲＭ管理用時計
１２９  サイト用時計
２０４  ＮＴＰクライアントプログラム
２０６  サイト用時計管理プログラム
２１１  ＷＯＲＭ管理用時計管理プログラム
２０２、７０２  時刻更新プログラム
２１３、７０３  ＷＯＲＭ管理用時計管理情報
６０２  認証機能付きＮＴＰサーバ
７０１  外部ＮＴＰサーバ認証プログラム
【図１】
2006113720.tif 000003
【図２】
2006113720.tif 000004
【図３】
2006113720.tif 000005
【図４】
2006113720.tif 000006
【図５】
2006113720.tif 000007
【図６】
2006113720.tif 000008
【図７】
2006113720.tif 000009
【図８】
2006113720.tif 000010
【図９】
2006113720.tif 000011
【図１０】
2006113720.tif 000012
【図１１】
2006113720.tif 000013
【図１２】
2006113720.tif 000014