(57)【要約】【課題】本発明は、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させる。【解決手段】計算機システム１０は、ホスト計算機２０側に設けられたホスト側暗号コントローラ２１４と、ストレージシステム３０側に設けられたボリューム管理コントローラ３１４とを備え、アクセスデータを暗復号化する鍵データを更新する鍵変更をホスト側暗号コントローラ２１４で実施した場合、ボリューム３９０に保存されたボリュームデータの再暗号化をボリューム管理コントローラ３１４で実施する。【選択図】図１
2008269173.tif 000002
【特許請求の範囲】
【請求項１】
データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムであって、更に、
前記ホスト計算機から前記ネットワーク経由で前記ボリュームに至るアクセス経路における前記ネットワークよりも前記ホスト計算機側に設けられ、該アクセス経路を通過するデータの暗号化および復号化を制御するホスト側暗号コントローラと、
前記ストレージシステムに設けられ、前記ボリュームに記憶されたデータを管理するボリューム管理コントローラと、
を備え、
前記ホスト側暗号コントローラは、
データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、
前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、
前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、
前記鍵データ記憶部に記憶された鍵データを、第１の鍵データから第２の鍵データに変更する鍵変更部と、
前記鍵変更部によって前記第１の鍵データが前記第２の鍵データに変更される場合、前記第１および２の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ボリューム管理コントローラに送信する鍵変更コマンド送信部と
を含み、
前記ボリューム管理コントローラは、
前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、
前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第１および２の鍵データを記憶するボリューム側鍵データ記憶部と、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されたデータのうち前記第１の鍵データで暗号化されたデータを読み出す変換リード部と、
前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する変換復号化部と、
前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化する変換暗号化部と、
前記変換暗号化部によって第２の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部と
を含む計算機システム。
【請求項２】
請求項１記載の計算機システムであって、
前記ボリューム管理コントローラは、更に、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１の鍵データで暗号化されたデータである場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化するライト復号化部と、
前記ライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて暗号化するライト暗号化部と、
前記ライト暗号化部によって第１の鍵データで暗号化されたデータを、前記ライトコマンドで指定されたブロックアドレスに書き込む未変換ライト部と
を含む計算機システム。
【請求項３】
請求項１または２記載の計算機システムであって、
前記ボリューム管理コントローラは、更に、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第１の鍵データで暗号化されたデータである場合、該リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す未変換リード部と、
前記未変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化するリード復号化部と、
前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化するリード暗号化部と、
前記リード暗号化部によって第２の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信するリード応答部と
を含む計算機システム。
【請求項４】
前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記ボリュームに記憶されているデータの全てが、前記第２の鍵データで暗号化されたデータになった場合、前記ボリューム側鍵データ記憶部に記憶された第１および２の鍵データを削除する鍵データ削除部を含む請求項１ないし３のいずれか記載の計算機システム。
【請求項５】
前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第１の鍵データで暗号化されたデータを、前記ボリュームに割り当てられた一連のブロックアドレスの順序で、前記ボリュームから読み出す請求項１ないし４のいずれか記載の計算機システム。
【請求項６】
前記ホスト側暗号コントローラは、前記ホスト計算機に設けられた請求項１ないし５のいずれか記載の計算機システム。
【請求項７】
請求項１ないし５のいずれか記載の計算機システムであって、
前記ストレージシステムは、
前記ネットワークとは異なる他のネットワーク経由で前記ホスト計算機に接続され、前記ホスト計算機が前記他のネットワーク経由で前記ボリュームに対して間接的にアクセス可能に前記ボリュームに対応付けられた仮想ボリュームを仮想的に構成する仮想化装置と、
前記ネットワーク経由で前記仮想化装置に接続され、該仮想化装置から前記ネットワーク経由でアクセス可能に前記ボリュームを構成する第１のストレージシステムと
を含み、
前記ホスト側暗号コントローラは、前記仮想化装置に設けられ、
前記ボリューム管理コントローラは、前記第１のストレージシステムに設けられた計算機システム。
【請求項８】
請求項１ないし７のいずれか記載の計算機システムであって、
前記ストレージシステムは、更に、
設定時点において前記ボリュームに記憶されるデータのコピーを記憶する基底ボリュームと、
前記設定時点以降に前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて蓄積する第１のジャーナルボリュームと、
前記設定時点以降の所望時点における前記ボリュームを再現する再現ボリュームを、前記基底ボリュームおよび前記第１のジャーナルボリュームに記憶されているデータを用いて構成するボリューム再現部と
を含み、
前記ボリューム再現部は、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記基底ボリュームおよび前記第１のジャーナルボリュームのデータのうち前記再現ボリュームを構成するために用いられる前記第１の鍵データで暗号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する再現復号化部と、
前記再現復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化する再現暗号化部と、
前記再現暗号化部によって暗号化されたデータを、前記再現ボリュームに編入する再現編入部と
を含む計算機システム。
【請求項９】
請求項１ないし８のいずれか記載の計算機システムであって、
前記ストレージシステムの前記ボリュームは、
前記第１の鍵データで暗号化されたデータを保存する第１のボリュームと、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記第１のボリュームに共通する一連のブロックアドレスが割り当てられ、前記第１のボリュームに保存されたデータを引き継いで、前記第２の鍵データで暗号化されたデータを保存する第２のボリュームと
を含み、
前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第１の鍵データで暗号化されたデータを前記第１のボリュームから読み出し、
前記ボリューム管理コントローラの前記変換ライト部は、前記変換暗号化部によって第２の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された前記第１のボリュームのブロックアドレスに対応する前記第２のボリュームのブロックアドレスに書き込む計算機システム。
【請求項１０】
請求項９記載の計算機システムであって、
前記ボリューム管理コントローラは、更に、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれていない場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化する第１のライト復号化部と、
前記第１のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて暗号化する第１のライト暗号化部と、
前記第１のライト暗号化部によって第１の鍵データで暗号化されたデータを、前記第１のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第１の引継ライト部と、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記第２のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第２の引継ライト部と
を含む計算機システム。
【請求項１１】
請求項１０記載の計算機システムであって、
前記ボリューム管理コントローラは、更に、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化する第２のライト復号化部と、
前記第２のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて暗号化する第２のライト暗号化部と、
前記第２のライト暗号化部によって第１の鍵データで暗号化されたデータを、前記第１のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第３の引継ライト部と
を含む計算機システム。
【請求項１２】
請求項９ないし１１のいずれか記載の計算機システムであって、
前記ボリューム管理コントローラは、更に、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれていない場合、前記第１のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第１の引継リード部と、
前記未引継リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化するリード復号化部と、
前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化するリード暗号化部と、
前記リード暗号化部によって第２の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第１の引継リード応答部と、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれている場合、前記第２のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第２の引継リード部と、
前記引継済リード部によって読み出された第２の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第２の引継リード応答部と
を含む計算機システム。
【請求項１３】
請求項１ないし１２のいずれか記載の計算機システムであって、
前記ストレージシステムは、更に、
前記ボリュームに対応付けられた一連のブロックアドレスが割り当てられ該ボリュームに記憶されるデータのコピーを記憶するセカンダリボリュームと、
前記ライトコマンドによって前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて一時的に蓄積する第２のジャーナルボリュームと、
前記第２のジャーナルボリュームに蓄積されたデータが前記第１の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する第１のジャーナル復号化部と、
前記第１のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第１のジャーナル転送部と、
前記第２のジャーナルボリュームに蓄積されたデータが前記第２の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化する第２のジャーナル復号化部と、
前記第２のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第２のジャーナル転送部と
を含む計算機システム。
【請求項１４】
データを処理するホスト計算機とネットワーク経由で接続され、該ホスト計算機から該ネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを備えるストレージシステムであって、
前記ホスト計算機は、
データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、
前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、
前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、
前記鍵データ記憶部に記憶されている鍵データを、第１の鍵データから第２の鍵データに変更する鍵変更部と、
前記鍵変更部によって前記第１の鍵データが前記第２の鍵データに変更される場合、前記第１および２の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する鍵変更コマンド送信部と
を含み、
前記ストレージシステムは、更に、
前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、
前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第１および２の鍵データを記憶するボリューム側鍵データ記憶部と、
前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されているデータのうち前記第１の鍵データで暗号化されたデータを読み出す変換リード部と、
前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する変換復号化部と、
前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化する変換暗号化部と、
前記変換暗号化部によって第２の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部と
を備えるストレージシステム。
【請求項１５】
データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムにおいて、該計算機システムで取り扱われるデータを管理するデータ管理方法であって、
前記ホスト計算機のコンピュータが、データの暗号化および復号化に用いられる鍵データを、該ホスト計算機のメモリに記憶する工程と、
前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを暗号化する工程と、
前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを復号化する工程と、
前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶されている鍵データを、第１の鍵データから第２の鍵データに変更する工程と、
前記第１の鍵データが前記第２の鍵データに変更される場合、前記ホスト計算機のコンピュータが、前記第１および２の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する工程と、
前記ストレージシステムのコンピュータが、前記ホスト計算機によって送信された鍵変更コマンドを受信する工程と、
前記ストレージシステムのコンピュータが、前記受信された鍵変更コマンドに含まれる第１および２の鍵データを、該ストレージシステムのメモリに記憶する工程と、
前記鍵変更コマンドが前記ホスト計算機から前記ストレージシステムに受信された場合、前記ストレージシステムのコンピュータが、前記ボリュームに記憶されているデータのうち前記第１の鍵データで暗号化されたデータを読み出す変換リード工程と、
前記ストレージシステムのコンピュータが、前記変換リード工程によって読み出されたデータを、該ストレージシステムのメモリに記憶された第１の鍵データを用いて復号化する変換復号化工程と、
前記ストレージシステムのコンピュータが、前記変換復号化工程によって復号化されたデータを、該ストレージシステムのメモリに記憶された第２の鍵データを用いて暗号化する変換暗号化工程と、
前記ストレージシステムのコンピュータが、前記変換暗号化工程によって第２の鍵データで暗号化されたデータを、前記変換リード工程によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト工程と
を備えるデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムで保存されるデータを管理するストレージ技術に関し、特に、データの暗号化および復号化に用いられる鍵データ（Key）を変更する鍵変更（Rekey）技術に関する。
【背景技術】
【０００２】
従来、ホスト計算機とストレージシステムとをネットワーク経由で接続した計算機システムにおいて、データを暗号化および復号化する暗復号化処理の方式としては、ホスト計算機側で暗復号化処理を行う方式と、ストレージシステム側で暗復号化処理を行う方式とがあった。ホスト計算機側での暗復号化処理は、ネットワーク上からストレージシステム内に至るまでデータが暗号化されるため、情報漏洩に対するセキュリティ上、ストレージシステム側での暗復号化処理より有利である。
【０００３】
また、情報漏洩に対するセキュリティを向上させるために、暗復号化処理に用いられる鍵データを変更する鍵変更が行われる場合がある。下記特許文献１には、鍵変更に関する技術として、ボリュームに記憶されている古い鍵データで暗号化されたデータを、新しい鍵データで暗号化し直す暗号変換処理を実行しながら、そのボリュームに対するデータアクセスを処理する技術が開示されている。
【０００４】
【特許文献１】特開２００５−３０３９８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
情報漏洩に対するセキュリティ上、暗復号化処理をストレージシステム側よりもホスト計算機側で行う方が有利であるが、鍵変更を実行する場合、暗復号化処理および暗号変換処理をホスト計算機側で実行するため、ホスト計算機側の処理負荷が過大になってしまうという問題があった。
【０００６】
本発明は、上記した課題を踏まえ、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させることができるストレージ技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００８】
［適用例１］  データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムであって、更に、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに至るアクセス経路における前記ネットワークよりも前記ホスト計算機側に設けられ、該アクセス経路を通過するデータの暗号化および復号化を制御するホスト側暗号コントローラと、前記ストレージシステムに設けられ、前記ボリュームに記憶されたデータを管理するボリューム管理コントローラと、を備え、前記ホスト側暗号コントローラは、データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、前記鍵データ記憶部に記憶された鍵データを、第１の鍵データから第２の鍵データに変更する鍵変更部と、前記鍵変更部によって前記第１の鍵データが前記第２の鍵データに変更される場合、前記第１および２の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ボリューム管理コントローラに送信する鍵変更コマンド送信部とを含み、前記ボリューム管理コントローラは、前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第１および２の鍵データを記憶するボリューム側鍵データ記憶部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されたデータのうち前記第１の鍵データで暗号化されたデータを読み出す変換リード部と、前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する変換復号化部と、前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化する変換暗号化部と、前記変換暗号化部によって第２の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部とを含む計算機システム。
【０００９】
適用例１記載の計算機システムによれば、ホスト計算機とボリュームとの間でやり取りされるアクセスデータの暗復号化をホスト計算機側で実行し、そのアクセスデータの暗復号化に用いられる鍵データを変更する場合、ボリュームに保存されたボリュームデータの再暗号化をストレージシステム側で実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させることができる。
【００１０】
本発明の形態は、計算機システムの形態に限るものではなく、例えば、ホスト計算機やストレージシステムなどの計算機システムを構成する各装置の他、これら各装置の機能の少なくとも一部をコンピュータに実現させるためのプログラム、これらのプログラムの少なくとも一部をコンピュータ読み取り可能に記録した記録媒体、データ管理方法などの種々の形態に適用することも可能である。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【発明を実施するための最良の形態】
【００１１】
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用した計算機システムについて次の順序で説明する。
Ａ．第１の実施例
Ａ１．計算機システムの構成
Ａ２．計算機システムの動作
Ａ３．効果
Ｂ．第２の実施例
Ｃ．第３の実施例
Ｄ．第４の実施例
Ｅ．第５の実施例
Ｆ．第６の実施例
Ｇ．その他の実施形態
【００１２】
Ａ．第１の実施例：
Ａ１．計算機システムの構成：
図１は、計算機システム１０の概略構成を機能的に示す説明図である。計算機システム１０は、データを処理するホスト計算機２０と、ホスト計算機２０からアクセス可能なボリューム３９０を構成するストレージシステム３０とを備える。図１では、図面の簡略化を目的として、ホスト計算機２０を一台のみ示すが、計算機システム１０は、複数のホスト計算機２０を備えても良い。
【００１３】
図１に示すように、計算機システム１０は、更に、ホスト計算機２０とストレージシステム３０との間を相互に通信可能に接続するストレージネットワーク９２および管理ネットワーク９４を備える。本実施例では、ストレージネットワーク９２は、ボリューム３９０に対してアクセスするためのデータ通信に用いられ、管理ネットワーク９４は、計算機システム１０を管理するための権限が与えられたデータ通信に用いられる。本実施例では、ストレージネットワーク９２および管理ネットワーク９４は、それぞれ別のネットワークとして構成されているが、他の実施形態として、ストレージネットワーク９２および管理ネットワーク９４は、単一のネットワークとして構成されても良い。本実施例では、ストレージネットワーク９２および管理ネットワーク９４で、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）に準拠したデータ通信が行われる。本実施例では、ストレージネットワーク９２で、ＴＣＰ／ＩＰを利用して、ｉＳＣＳＩ（Internet Small Computer System Interface）に準拠したデータ通信が行われるが、他の実施形態として、ファイバチャネル（Fibre Channel, FC）に準拠したデータ通信が行われても良い。
【００１４】
図１に示すように、計算機システム１０のホスト計算機２０は、データ処理部２１２と、ホスト側暗号コントローラ２１４とを備える。ホスト計算機２０のデータ処理部２１２は、ストレージシステム３０のボリューム３９０にアクセスしてデータを処理する。ホスト計算機２０のホスト側暗号コントローラ２１４は、データの暗号化および複号化に用いられる鍵データを保持し、データ処理部２１２からボリューム３９０に書き込まれるデータを暗号化すると共に、ボリューム３９０からデータ処理部２１２に読み出されるデータを復号化する。これによって、データ処理部２１２からストレージネットワーク９２経由でボリューム３９０に至るアクセス経路において、ホスト側暗号コントローラ２１４よりもデータ処理部２１２側では、暗号化されていない平文データがやり取りされ、ホスト側暗号コントローラ２１４よりもボリューム３９０側では、暗号化された暗号データがやり取りされる。ホスト側暗号コントローラ２１４によってデータの暗号化および複号化に用いられる鍵データが、旧鍵データ９０１から新鍵データ９０２に鍵変更される場合、ホスト側暗号コントローラ２１４は、ホスト側暗号コントローラ２１４における鍵データが変更されたことを示す鍵変更コマンド９１０を、管理ネットワーク９４を介してストレージシステム３０に送信する。これによって、ホスト計算機２０側で鍵データが変更されたことが、ストレージシステム３０側に通知される。本実施例では、鍵変更コマンド９１０は、旧鍵データ９０１および新鍵データ９０２を含む。ホスト側暗号コントローラ２１４の動作についての詳細は後述する。
【００１５】
図２は、計算機システム１０におけるホスト計算機２０の詳細構成を主に示す説明図である。ホスト計算機２０は、ホスト計算機２０の各部を制御するセントラルプロセッシングユニット（Central Processing Unit、以下、ＣＰＵという）２１０と、ＣＰＵ２１０によって取り扱われるデータを記憶するメモリ２２０と、ストレージネットワーク９２を介してストレージシステム３０とのデータのやり取りを行うストレージインタフェース２３２と、管理ネットワーク９４を介してストレージシステム３０とのデータのやり取りを行う管理インタフェース２３４と、ユーザからデータ入力を受け付けるユーザインタフェース２３６とを備える。
【００１６】
ホスト計算機２０のメモリ２２０には、ＣＰＵ２１０を動作させるプログラムとして、オペレーティングシステム（Operating System、ＯＳ）２８２の他、アプリケーションプログラム（Application Program）２８４が記憶される。本実施例では、ホスト計算機２０のデータ処理部２１２は、ＣＰＵ２１０がメモリ２２０を用いてアプリケーションプログラム２８４に従って動作することによって実現される。本実施例では、ホスト計算機２０のホスト側暗号コントローラ２１４は、ＣＰＵ２１０がメモリ２２０を用いてＯＳ２８２に従って動作することによって実現されるが、他の実施形態として、アプリケーションプログラム２８４に従って動作することによって実現されても良い。
【００１７】
図１の説明に戻り、計算機システム１０のストレージシステム３０は、ボリューム３９０に加え、ボリューム管理コントローラ３１４を備える。ストレージシステム３０のボリューム管理コントローラ３１４は、ストレージネットワーク９２を介したホスト計算機２０からボリューム３９０に対するデータアクセスに従って、ボリューム３９０に対してデータの読み書きを実行する。ストレージシステム３０がホスト計算機２０から鍵変更コマンド９１０を受信した場合、ボリューム管理コントローラ３１４は、鍵変更コマンド９１０に含まれる旧鍵データ９０１および新鍵データ９０２を用いて、ボリューム３９０に保存されている暗号データを、旧鍵データ９０１で暗号化されたデータから、新鍵データ９０２で暗号化されたデータに変換する。ボリューム管理コントローラ３１４は、新鍵データ９０２で暗号化済みのデータが格納されたアドレスを特定するための変換ポインタ９２０を用いて、ボリューム３９０におけるデータの暗号化の変換を管理する。ボリューム管理コントローラ３１４の動作についての詳細は後述する。
【００１８】
図３は、計算機システム１０におけるストレージシステム３０の詳細構成を主に示す説明図である。ストレージシステム３０は、ストレージシステム３０の各部を制御するＣＰＵ３１０と、ＣＰＵ３１０によって取り扱われるデータを記憶するメモリ３２０と、ストレージネットワーク９２を介してホスト計算機２０とのデータのやり取りを行うストレージインタフェース３３２と、管理ネットワーク９４を介してホスト計算機２０とのデータのやり取りを行う管理インタフェース３３４と、複数のハーディスクドライブ（ＨＤＤ(Hard Disk Drive)）３５０と、複数のＨＤＤ３５０とのデータのやり取りを行うディスクインタフェース３４２と、ストレージインタフェース３３２とディスクインタフェース３４２との間でやり取りされるデータを一時的に記憶するキャッシュメモリ３４４とを備える。ストレージシステム３０は、ＣＰＵおよびメモリ等で構成されたコントローラデバイスと、ＨＤＤで構成された記憶デバイス群とを備えるシステムを含む。
【００１９】
ストレージシステム３０のメモリ３２０には、ＣＰＵ３１０を動作させるプログラムとして、ストレージ構成プログラム３８２と、アクセス管理プログラム３８４と、暗号変換プログラム３８６とが記憶されている。本実施例では、ストレージシステム３０のボリューム管理コントローラ３１４は、ＣＰＵ３１０がメモリ３２０を用いてアクセス管理プログラム３８４および暗号変換プログラム３８６に従って動作することによって実現される。本実施例では、ストレージシステム３０のボリューム３９０は、ＣＰＵ３１０がメモリ３２０を用いてストレージ構成プログラム３８２に従って複数のＨＤＤ３５０をＲＡＩＤ（Redundant Arrays of Independent (Inexpensive) Disks、レイド）技術で管理することによって論理的に構成される。なお、ボリューム３９０を構成する記憶デバイスは、ＨＤＤに限るものではなく、半導体メモリであっても良く、また、ＨＤＤおよび半導体メモリの組み合わせであっても良い。
【００２０】
Ａ２．計算機システムの動作：
図４は、計算機システム１０におけるホスト側暗号コントローラ２１４が実行するライトコマンド処理（ステップＳ２１００）を示すフローチャートである。本実施例では、図４のライトコマンド処理（ステップＳ２１００）は、ホスト計算機２０のＣＰＵ２１０によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム３９０にデータの書き込みを要求するライト要求がデータ処理部２１２から送信された場合、ホスト側暗号コントローラ２１４は、図４のライトコマンド処理（ステップＳ２１００）を開始する。
【００２１】
ホスト側暗号コントローラ２１４は、図４のライトコマンド処理（ステップＳ２１００）を開始すると、データ処理部２１２からライト要求を受け付ける（ステップＳ２１１０）。本実施例では、データ処理部２１２から送信されるライト要求は、ボリューム３９０に書き込むべき暗号化されていない平文データと、そのデータを書き込むべきボリューム３９０のブロックアドレスを示す書込アドレスとを含む。
【００２２】
ホスト側暗号コントローラ２１４は、ライト要求を受け付けると（ステップＳ２１１０）、ホスト側暗号コントローラ２１４に保持された鍵データを用いて、ライト要求に含まれる平文データを暗号化する（ステップＳ２１２０）。その後、ホスト側暗号コントローラ２１４は、ライトコマンドを生成する（ステップＳ２１３０）。ホスト側暗号コントローラ２１４によって生成されたライトコマンドは、ライト要求に含まれる平文データを暗号化した暗号データと、ライト要求に含まれる書込アドレスとを含む。ライトコマンドが生成された後（ステップＳ２１３０）、ホスト側暗号コントローラ２１４は、ストレージネットワーク９２を介してボリューム管理コントローラ３１４にライトコマンドを送信する（ステップＳ２１４０）。
【００２３】
その後、ホスト側暗号コントローラ２１４は、ライトコマンドに従ってデータがボリューム３９０に書込まれたことを示すライト応答を、ボリューム管理コントローラ３１４から受信する（ステップＳ２１５０）。その後、ホスト側暗号コントローラ２１４は、ボリューム３９０に対するデータの書き込みが完了したことを示すライト完了応答を、データ処理部２１２に引き渡す（ステップＳ２１６０）。
【００２４】
図５は、計算機システム１０におけるホスト側暗号コントローラ２１４が実行するリードコマンド処理（ステップＳ２２００）を示すフローチャートである。本実施例では、図５のリードコマンド処理（ステップＳ２２００）は、ホスト計算機２０のＣＰＵ２１０によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム３９０にデータの読み出しを要求するリード要求がデータ処理部２１２から送信された場合、ホスト側暗号コントローラ２１４は、図５のリードコマンド処理（ステップＳ２２００）を開始する。
【００２５】
ホスト側暗号コントローラ２１４は、図５のリードコマンド処理（ステップＳ２２００）を開始すると、データ処理部２１２からリード要求を受け付ける（ステップＳ２２１０）。本実施例では、データ処理部２１２から送信されるリード要求には、データを読み出すべきボリューム３９０のブロックアドレスを示す読出アドレスが含まれる。
【００２６】
ホスト側暗号コントローラ２１４は、リード要求を受け付けると（ステップＳ２２１０）、リード要求に含まれる読出アドレスを含むリードコマンドを生成する（ステップＳ２２２０）。その後、ホスト側暗号コントローラ２１４は、ストレージネットワーク９２を介してボリューム管理コントローラ３１４にリードコマンドを送信する（ステップＳ２２３０）。
【００２７】
その後、ホスト側暗号コントローラ２１４は、リードコマンドに従ってボリューム３９０から読み出された暗号データを含むリード応答を、ボリューム管理コントローラ３１４から受信する（ステップＳ２２４０）。その後、ホスト側暗号コントローラ２１４は、ホスト側暗号コントローラ２１４に保持された鍵データを用いて、リード応答に含まれる暗号データを復号化する（ステップＳ２２５０）。その後、ホスト側暗号コントローラ２１４は、リード応答に含まれる暗号データを復号化した平文データを含むリード完了応答を、データ処理部２１２に引き渡す（ステップＳ２２６０）。
【００２８】
図６は、計算機システム１０におけるホスト側暗号コントローラ２１４が実行する鍵更新処理（ステップＳ２３００）を示すフローチャートである。本実施例では、図６の鍵更新処理（ステップＳ２３００）は、ホスト計算機２０のＣＰＵ２１０によるソフトウェアに基づく動作によって実現される。本実施例では、鍵データの更新を指示する鍵更新要求がユーザインタフェース２３６または管理インタフェース２３４に受信された場合、ホスト側暗号コントローラ２１４は、図６の鍵更新処理（ステップＳ２３００）を開始する。
【００２９】
ホスト側暗号コントローラ２１４は、図６の鍵更新処理（ステップＳ２３００）を開始すると、ユーザインタフェース２３６または管理インタフェース２３４から鍵更新要求を受け付ける（ステップＳ２３１０）。その後、ホスト側暗号コントローラ２１４は、ライトコマンド処理（ステップＳ２１００）およびリードコマンド処理（ステップＳ２２００）の開始を禁止することによって、データ処理部２１２からボリューム３９０に対するアクセスを保留する（ステップＳ２３２０）。その後、ホスト側暗号コントローラ２１４は、鍵更新要求に基づいて新鍵データ９０２を生成する（ステップＳ２３３０）。その後、ホスト側暗号コントローラ２１４は、旧鍵データ９０１および新鍵データ９０２を含む鍵変更コマンド９１０を生成する（ステップＳ２３４０）。その後、ホスト側暗号コントローラ２１４は、管理ネットワーク９４を介してボリューム管理コントローラ３１４に鍵変更コマンド９１０を送信する（ステップＳ２３５０）。
【００３０】
その後、ホスト側暗号コントローラ２１４は、ボリューム管理コントローラ３１４において鍵データの変更に対する準備が整ったことを示すコマンド応答を、ボリューム管理コントローラ３１４から受信する（ステップＳ２３６０）。その後、ボリューム管理コントローラ３１４は、暗号化および復号化に用いる鍵データを、旧鍵データ９０１から新鍵データ９０２へとメモリ２２０上に設定する（ステップＳ２３７０）。その後、ボリューム管理コントローラ３１４は、ライトコマンド処理（ステップＳ２１００）およびリードコマンド処理（ステップＳ２２００）の開始を許可することによって、データ処理部２１２からボリューム３９０に対するアクセスを再開する（ステップＳ２３８０）。
【００３１】
図７は、計算機システム１０におけるボリューム管理コントローラ３１４が実行する更新受付処理（ステップＳ３３００）を示すフローチャートである。本実施例では、図７の更新受付処理（ステップＳ３３００）は、ストレージシステム３０のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、鍵変更コマンド９１０がホスト側暗号コントローラ２１４から送信された場合（ステップＳ２３５０）、ボリューム管理コントローラ３１４は、図７の更新受付処理（ステップＳ３３００）を開始する。
【００３２】
ボリューム管理コントローラ３１４は、図７の更新受付処理（ステップＳ３３００）を開始すると、管理インタフェース３３４から鍵変更コマンド９１０を受け付ける（ステップＳ３３１０）。その後、ボリューム管理コントローラ３１４は、鍵変更コマンド９１０に含まれる旧鍵データ９０１および新鍵データ９０２を、メモリ３２０上に設定する（ステップＳ３３２０）。その後、ボリューム管理コントローラ３１４は、ボリューム３９０に割り当てられた一連のブロックアドレスのうちの先頭アドレスを変換ポインタ９２０に格納することによって、変換ポインタ９２０を初期設定する（ステップＳ３３３０）。その後、ボリューム管理コントローラ３１４は、後述する暗号変換処理（ステップＳ３４００）を開始する（ステップＳ３３４０）。その後、ボリューム管理コントローラ３１４は、鍵データの変更に対する準備が整ったことを示すコマンド応答を、ホスト側暗号コントローラ２１４に送信する（ステップＳ３３５０）。
【００３３】
図８は、計算機システム１０におけるボリューム管理コントローラ３１４が実行する暗号変換処理（ステップＳ３４００）を示すフローチャートである。本実施例では、図８の暗号変換処理（ステップＳ３４００）は、ストレージシステム３０のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム管理コントローラ３１４は、前述の更新受付処理（ステップＳ３３４０）を契機に、図８の暗号変換処理（ステップＳ３４００）を開始する。
【００３４】
ボリューム管理コントローラ３１４は、図８の暗号変換処理（ステップＳ３４００）を開始すると、ボリューム３９０に割り当てられた一連のブロックアドレスのうち変換ポインタ９２０が示すブロックアドレスから、旧鍵データ９０１で暗号化された旧暗号データを読み出す（ステップＳ３４１０）。その後、ボリューム管理コントローラ３１４は、ボリューム３９０から読み出した旧暗号データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて復号化する（ステップＳ３４２０）。その後、ボリューム管理コントローラ３１４は、旧鍵データ９０１で復号化した平文データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて暗号化する（ステップＳ３４３０）。その後、ボリューム管理コントローラ３１４は、新鍵データ９０２で暗号化した新暗号データを、旧暗号データを読み出した元のブロックアドレスに書込む（ステップＳ３４４０）。
【００３５】
その後、ボリューム管理コントローラ３１４は、変換ポインタ９２０の値をボリューム３９０の最終アドレスになるまでインクリメントしながら（ステップＳ３４６０）、旧暗号データの読み出しから新暗号データの書き込みまでの処理（ステップＳ３４１０〜Ｓ３４４０）を繰り返し実行する（ステップＳ３４５０）。ボリューム管理コントローラ３１４は、ボリューム３９０に保存された全てのデータを旧暗号データから新暗号データに変換すると（ステップＳ３４５０）、旧鍵データ９０１および新鍵データ９０２をメモリ３２０上から削除する（ステップＳ３４８０）。
【００３６】
図９は、計算機システム１０におけるボリューム管理コントローラ３１４が実行するライト実行処理（ステップＳ３１００）を示すフローチャートである。本実施例では、図９のライト実行処理（ステップＳ３１００）は、ストレージシステム３０のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、ライトコマンドがホスト側暗号コントローラ２１４から送信された場合（図４のステップＳ２１４０）、ボリューム管理コントローラ３１４は、図９のライト実行処理（ステップＳ３１００）を開始する。ボリューム管理コントローラ３１４は、図９のライト実行処理（ステップＳ３１００）を開始すると、ストレージインタフェース３３２からライトコマンドを受け付ける（ステップＳ３１１０）。
【００３７】
前述した暗号変換処理（図８，ステップＳ３４００）がライトコマンドの受付時に実行中でない場合、ボリューム管理コントローラ３１４は、ライトコマンドに含まれる暗号データを、ボリューム３９０に割り当てられた一連のブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む（ステップＳ３１３０）。
【００３８】
前述した暗号変換処理（図８，ステップＳ３４００）がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ９２０の値よりも先行するアドレスである場合、すなわち、書込アドレスに保存された暗号データが旧暗号データから新暗号データに変換済みである場合（ステップＳ３１４０）、ボリューム管理コントローラ３１４は、ライトコマンドに含まれる暗号データを、ボリューム３９０に割り当てられた一連のブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む（ステップＳ３１３０）。
【００３９】
前述した暗号変換処理（図８，ステップＳ３４００）がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ９２０の値に後続するアドレスである場合、すなわち、書込アドレスに保存された暗号データが旧暗号データから新暗号データに変換されていない場合（ステップＳ３１４０）、ボリューム管理コントローラ３１４は、ライトコマンドに含まれる暗号データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて復号化する（ステップＳ３１５０）。その後、ボリューム管理コントローラ３１４は、新鍵データ９０２で復号化した平文データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて暗号化する（ステップＳ３１６０）。その後、ボリューム管理コントローラ３１４は、旧鍵データ９０１で暗号化した暗号データを、ボリューム３９０に割り当てられた一連のブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む（ステップＳ３１７０）。
【００４０】
ボリューム管理コントローラ３１４は、ライトコマンドに基づいてボリューム３９０にデータを書き込むと（ステップＳ３１３０，Ｓ３１７０）、ライトコマンドに従ってデータがボリューム３９０に書き込まれたことを示すライト応答を、ホスト側暗号コントローラ２１４に送信する（ステップＳ３１８０）。
【００４１】
図１０は、計算機システム１０におけるボリューム管理コントローラ３１４が実行するリード実行処理（ステップＳ３２００）を示すフローチャートである。本実施例では、図１０のリード実行処理（ステップＳ３２００）は、ストレージシステム３０のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、リードコマンドがホスト側暗号コントローラ２１４から送信された場合（図５のステップＳ２２３０）、ボリューム管理コントローラ３１４は、図１０のリード実行処理（ステップＳ３２００）を開始する。ボリューム管理コントローラ３１４は、図１０のリード実行処理（ステップＳ３２００）を開始すると、ストレージインタフェース３３２からリードコマンドを受け付ける（ステップＳ３２１０）。
【００４２】
前述した暗号変換処理（図８，ステップＳ３４００）がリードコマンドの受付時に実行中でない場合、ボリューム管理コントローラ３１４は、ボリューム３９０に割り当てられた一連のブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す（ステップＳ３２３０）。その後、ボリューム管理コントローラ３１４は、リードコマンドに基づいてボリューム３９０から読み出した暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ３４４に準備する（ステップＳ３２３５）。
【００４３】
前述した暗号変換処理（図８，ステップＳ３４００）がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ９２０の値よりも先行するアドレスである場合、すなわち、読出アドレスに保存された暗号データが旧暗号データから新暗号データに変換済みである場合（ステップＳ３２４０）、ボリューム管理コントローラ３１４は、ボリューム３９０に割り当てられた一連のブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す（ステップＳ３２３０）。その後、ボリューム管理コントローラ３１４は、リードコマンドに基づいてボリューム３９０から読み出した暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ３４４に準備する（ステップＳ３２３５）。
【００４４】
前述した暗号変換処理（図８，ステップＳ３４００）がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ９２０の値に後続するアドレスである場合、すなわち、読出アドレスに保存された暗号データが旧暗号データから新暗号データに変換されていない場合（ステップＳ３２４０）、ボリューム管理コントローラ３１４は、ボリューム３９０に割り当てられた一連のブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す（ステップＳ３２５０）。その後、ボリューム管理コントローラ３１４は、リードコマンドに基づいてボリューム３９０から読み出した暗号データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて復号化する（ステップＳ３２６０）。その後、ボリューム管理コントローラ３１４は、旧鍵データ９０１で復号化した平文データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて暗号化する（ステップＳ３２７０）。その後、ボリューム管理コントローラ３１４は、新鍵データ９０２で暗号化した暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ３４４に準備する（ステップＳ３２７５）。
【００４５】
ボリューム管理コントローラ３１４は、リードコマンドに基づいてボリューム３９０からデータを読み出すと（ステップＳ３２３５，Ｓ３２７５）、キャッシュメモリ３４４に準備された応答データを含むリード応答を、ホスト側暗号コントローラ２１４に送信する（ステップＳ３２８０）。
【００４６】
Ａ３．効果：
以上説明した計算機システム１０によれば、ホスト計算機２０とボリューム３９０との間でやり取りされるアクセスデータの暗復号化をホスト計算機２０側で実行し、そのアクセスデータの暗復号化に用いられる鍵データを変更する場合、ボリューム３９０に保存されたボリュームデータの再暗号化をストレージシステム３０側で実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機２０側の処理負荷を軽減させることができる。
【００４７】
また、図９のライト実行処理（ステップＳ３１００）によって、ボリューム３９０に記憶されているボリュームデータが、暗号変換処理（図８，ステップＳ３４００）を受ける前にライトコマンドによって新しい鍵データで暗号化されたデータに書き換えられてしまうことが回避されるため、暗号変換処理（図８，ステップＳ３４００）中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。また、暗号変換処理（図８，ステップＳ３４００）において、ボリュームデータの再暗号化が一連のブロックアドレスの順序で行われるため（図８，ステップＳ３４６０）、暗号変換処理（図８，ステップＳ３４００）中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。
【００４８】
また、図１０のリード実行処理（ステップＳ３２００）によって、まだ再暗号化されていないボリュームデータが読み出し要求された場合であっても、新鍵データ９０２で再暗号化したデータをホスト計算機２０に応答することができるため、ホスト計算機２０からリードアクセスを受け付けながら、ストレージシステム３０側で暗号変換処理（図８，ステップＳ３４００）を実行することができる。
【００４９】
また、暗号変換処理（図８，ステップＳ３４００）が完了した場合、ストレージシステム３０側から旧鍵データ９０１および新鍵データ９０２が削除されるため（図８，ステップＳ３４８０）、ストレージシステム２０からの情報漏洩に対するセキュリティを向上させることができる。
【００５０】
Ｂ．第２の実施例：
図１１は、第２の実施例における計算機システム１２の概略構成を機能的に示す説明図である。第２の実施例における計算機システム１２は、ホスト計算機２０に代えてホスト計算機２２および仮想ストレージシステム４０を備える点と、ストレージシステム３０に代えてストレージシステム３２を備える点とを除き、第１の実施例における計算機システム１０と同様である。計算機システム１２のホスト計算機２２は、ホスト側暗号コントローラ２１４の機能を有しない点を除き、第１の実施例におけるホスト計算機２０と同様である。計算機システム１２のストレージシステム３２は、ホスト計算機２２から仮想ストレージシステム４０を通じて間接的にアクセス可能にボリューム３９０を構成する点を除き、第１の実施例におけるストレージシステム３０と同様である。
【００５１】
計算機システム１２の仮想ストレージシステム４０は、ホスト計算機がボリュームに対して間接的にアクセス可能に仮想的なボリュームを構成する仮想化装置の一例としてストレージシステムを用いたものであり、他の実施形態として、仮想ストレージシステム４０に代えてスイッチを仮想化装置として用いても良い。仮想ストレージシステム４０は、仮想ボリューム４９０およびホスト側暗号コントローラ４１４を備える。仮想ストレージシステム４０の仮想ボリューム４９０は、ストレージシステム３２のボリューム３９０に対する関連付けによって仮想的に構成されたボリュームであり、ホスト計算機２０のデータ処理部２１２からアクセス可能である。仮想ストレージシステム４０のホスト側暗号コントローラ４１４は、第１の実施例におけるホスト側暗号コントローラ２１４と同様であり、データの暗号化および複号化に用いられる鍵データを保持し、データ処理部２１２から仮想ボリューム４９０を通じてボリューム３９０に書き込まれるデータを暗号化すると共に、ボリューム３９０から仮想ボリューム４９０を通じてデータ処理部２１２に読み出されるデータを復号化する。これによって、データ処理部２１２から仮想ボリューム４９０を通じてストレージネットワーク９２経由でボリューム３９０に至るアクセス経路において、ホスト側暗号コントローラ４１４よりもデータ処理部２１２側では、暗号化されていない平文データがやり取りされ、ホスト側暗号コントローラ４１４よりもボリューム３９０側では、暗号化された暗号データがやり取りされる。
【００５２】
仮想ストレージシステム４０は、ＣＰＵおよびメモリを有するコンピュータと、ストレージネットワーク９２を介してストレージシステム３０とのデータのやり取りを行うストレージインタフェース４３２と、管理ネットワーク９４を介してストレージシステム３０とのデータのやり取りを行う管理インタフェース４３４とを備える。仮想ストレージシステム４０の仮想ボリューム４９０およびホスト側暗号コントローラ４１４は、仮想ストレージシステム４０のＣＰＵがメモリを用いてソフトウェアに従って動作することによって実現される。
【００５３】
以上説明した第２の実施例における計算機システム１２によれば、ホスト計算機２２に仮想ボリューム４９０を提供する仮想ストレージシステム４０にホスト側暗号コントローラ４１４を設けたシステム構成において、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合における仮想ストレージシステム４０の処理負荷を軽減させることができる。
【００５４】
Ｃ．第３の実施例；
図１２は、第３の実施例におけるストレージシステム３４を機能的に示す説明図である。第３の実施例における計算機システムは、ストレージシステム３０に代えてストレージシステム３４を備える点を除き、第１の実施例における計算機システム１０と同様である。
【００５５】
第３の実施例におけるストレージシステム３４は、第１の実施例におけるストレージシステム３０の構成に加え、更に、継続的データ保護方式（Continuous Data Protection, CDP）を実行するために、予め設定された設定時点においてボリューム３９０に保存されているデータのコピーを保存する基底ボリューム３９２と、基底ボリューム３９２に保存された設定時点以降にボリューム３９０に書き込まれたデータのコピーを記憶するジャーナルボリューム３９１とを備える。ストレージシステム３４のジャーナルボリューム３９１は、設定時点以降にボリューム３９０にデータが書き込まれた日時を特定可能なジャーナルデータ９３１を保持する。
【００５６】
第３の実施例におけるストレージシステム３４のボリューム管理コントローラ３１４は、第１の実施例と同様の処理を実行すると共に、設定時点以降の所望時点におけるボリューム３９０を再現（すなわち、復元，リストア（restore））する再現ボリューム３９３の構成を指示する再現コマンドを、管理インタフェース３３４から受け取ると、ジャーナルボリューム３９１および基底ボリューム３９２に保存されたデータから再現ボリューム３９３を構成する。第３の実施例におけるボリューム管理コントローラ３１４は、ジャーナルボリューム３９１および基底ボリューム３９２から再現ボリューム３９３として再現したデータが格納されたアドレスを特定するための再現ポインタ９３４と、再現コマンドで指定された所望時点を示す所望ポインタ９３６とを用いて、再現ボリューム３９３の構成を管理する。本実施例では、ジャーナルボリューム３９１，基底ボリューム３９２，再現ボリューム３９３は、ＣＰＵ３１０がメモリ３２０を用いてストレージ構成プログラム３８２に従って複数のＨＤＤ３５０をＲＡＩＤ技術で管理することによって論理的に構成される。
【００５７】
図１３は、第３の実施例におけるボリューム管理コントローラ３１４が実行するボリューム再現処理（ステップＳ３５００）を示すフローチャートである。本実施例では、図１３のボリューム再現処理（ステップＳ３５００）は、ストレージシステム３４のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、再現コマンドがホスト側暗号コントローラ２１４から送信された場合、ボリューム管理コントローラ３１４は、図１３のボリューム再現処理（ステップＳ３５００）を開始する。
【００５８】
ボリューム管理コントローラ３１４は、図１３のボリューム再現処理（ステップＳ３５００）を開始すると、管理インタフェース３３４から再現コマンドを受け付ける（ステップＳ３５１０）。その後、ボリューム管理コントローラ３１４は、再現ポインタ９３４をメモリ３２０上に初期設定すると共に、再現コマンドで指定された所望時点を示す所望ポインタ９３６とをメモリ３２０上に設定する（ステップＳ３５１２）。
【００５９】
ボリューム管理コントローラ３１４は、基底ボリューム３９２およびジャーナルボリューム３９１における再現ポインタ９３４に対応するブロックアドレスに新暗号データが保存されている場合（ステップＳ３５２０）、そのブロックアドレスから新暗号データを読み出して（ステップＳ３５３０）、読み出した新暗号データを再現ボリューム３９３に編入する（ステップＳ３５６０）。
【００６０】
一方、ボリューム管理コントローラ３１４は、基底ボリューム３９２およびジャーナルボリューム３９１における再現ポインタ９３４に対応するブロックアドレスに旧暗号データが保存されている場合（ステップＳ３５２０）、そのブロックアドレスから旧暗号データを読み出す（ステップＳ３５４０）。その後、ボリューム管理コントローラ３１４は、読み出した旧暗号データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて複号化する（ステップＳ３５４２）。その後、ボリューム管理コントローラ３１４は、旧鍵データ９０１で復号化した平文データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて暗号化して（ステップＳ３５４４）、新鍵データ９０２で暗号化された暗号データを再現ボリューム３９３に編入する（ステップＳ３５６０）。
【００６１】
再現ポインタ９３４に対応するブロックアドレスのデータが再現ボリューム３９３に編入された後（ステップＳ３５６０）、ボリューム管理コントローラ３１４は、再現ポインタ９３４の値を所望ポインタ９３６の値になるまでインクリメントしながら（ステップＳ３５７２）、再現ポインタ９３４に対応するデータの読み出しから再現ボリューム３９３への編入までの処理（ステップＳ３５２０〜Ｓ３５６０）を繰り返し実行する（ステップＳ３５７０）。ボリューム管理コントローラ３１４は、所望ポインタ９３６に対応するブロックアドレスまでのデータを再現ボリューム３９３に編入すると（ステップＳ３５７０）、ホスト側暗号コントローラ２１４に再現ボリューム３９３を提供する（ステップＳ３５８０）。
【００６２】
なお、図１２に示す例では、基底ボリューム３９２には、データｄ１〜ｄ６が旧暗号データとして格納され、ジャーナルボリューム３９１には、データｄ７が旧暗号データとして格納されると共に、データｄ８，ｄ９が新暗号データとして格納されている。この状態から、データｄ１〜ｄ８を格納した再現ボリューム３９３を構成する場合、基底ボリューム３９２のデータｄ１〜ｄ６およびジャーナルボリューム３９１のデータｄ７は、旧暗号データから新暗号データに変換された後で再現ボリューム３９３に編入される（図１３のステップＳ３５４０〜Ｓ３５６０）。残りのジャーナルボリューム３９１のデータｄ８は、そのまま再現ボリューム３９３に編入される（図１３のステップＳ３５３０，Ｓ３５６０）。
【００６３】
以上説明した第３の実施例における計算機システムによれば、継続的データ保護方式（Continuous Data Protection, CDP）をストレージシステムに適用しつつ、ストレージシステム３４で暗号変換処理（図８，ステップＳ３４００）を実行することができる。
【００６４】
Ｄ．第４の実施例：
図１４は、第４の実施例におけるストレージシステム３６を機能的に示す説明図である。第４の実施例における計算機システムは、ストレージシステム３０に代えてストレージシステム３６を備える点を除き、第１の実施例における計算機システム１０と同様である。
【００６５】
第４の実施例におけるストレージシステム３６は、第１の実施例におけるストレージシステム３０の構成に加え、更に、ボリューム３９０と共通する一連のブロックアドレスが割り当てられた新暗号化ボリューム３９４を備え、鍵変更コマンド９１０がホスト側暗号コントローラ２１４から送信された場合、ボリューム３９０に保存されたデータを引き継いで新鍵データ９０２で暗号化されたデータを新暗号化ボリューム３９４で保存する。
【００６６】
図１５は、第４の実施例におけるボリューム管理コントローラ３１４が実行する暗号変換処理（ステップＳ５４００）を示すフローチャートである。第４の実施例におけるボリューム管理コントローラ３１４は、図８の暗号変換処理（ステップＳ３４００）に代えて、図１５の暗号変換処理（ステップＳ５４００）を実行する。本実施例では、図１５の暗号変換処理（ステップＳ５４００）は、ストレージシステム３０のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム管理コントローラ３１４は、前述の更新受付処理（ステップＳ３３４０）を契機に、図１５の暗号変換処理（ステップＳ５４００）を開始する。
【００６７】
ボリューム管理コントローラ３１４は、図１５の暗号変換処理（ステップＳ５４００）を開始すると、変換ポインタ９２０が示すボリューム３９０のブロックアドレスから、旧鍵データ９０１で暗号化された旧暗号データを読み出す（ステップＳ５４１０）。その後、ボリューム管理コントローラ３１４は、ボリューム３９０から読み出した旧暗号データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて復号化する（ステップＳ５４２０）。その後、ボリューム管理コントローラ３１４は、旧鍵データ９０１で復号化した平文データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて暗号化する（ステップＳ５４３０）。その後、ボリューム管理コントローラ３１４は、新鍵データ９０２で暗号化した新暗号データを、旧暗号データを読み出したボリューム３９０のブロックアドレスに対応する新暗号化ボリューム３９４のブロックアドレスに書込む（ステップＳ５４４０）。
【００６８】
その後、ボリューム管理コントローラ３１４は、変換ポインタ９２０の値をボリューム３９０の最終アドレスになるまでインクリメントしながら（ステップＳ５４６０）、旧暗号データの読み出しから新暗号データの書き込みまでの処理（ステップＳ５４１０〜Ｓ５４４０）を繰り返し実行する（ステップＳ５４５０）。ボリューム管理コントローラ３１４は、ボリューム３９０に保存された全てのデータを、旧暗号データから新暗号データに変換して新暗号化ボリューム３９４に移行すると（ステップＳ５４５０）、旧鍵データ９０１および新鍵データ９０２をメモリ３２０上から削除する（ステップＳ３５８０）。その後、ボリューム管理コントローラ３１４は、ホスト側暗号コントローラ２１４に対してパス設定された接続先ボリュームを、ボリューム３９０から新暗号化ボリューム３９４に変更する（ステップＳ３５９０）。
【００６９】
図１６は、第４の実施例におけるボリューム管理コントローラ３１４が実行するライト実行処理（ステップＳ５１００）を示すフローチャートである。第４の実施例におけるボリューム管理コントローラ３１４は、図９のライト実行処理（ステップＳ３１００）に代えて、図１６のライト実行処理（ステップＳ５１００）を実行する。本実施例では、図１６のライト実行処理（ステップＳ５１００）は、ストレージシステム３０のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、ライトコマンドがホスト側暗号コントローラ２１４から送信された場合（図４のステップＳ２１４０）、ボリューム管理コントローラ３１４は、図１６のライト実行処理（ステップＳ５１００）を開始する。ボリューム管理コントローラ３１４は、図１６のライト実行処理（ステップＳ５１００）を開始すると、ストレージインタフェース３３２からライトコマンドを受け付ける（ステップＳ５１１０）。
【００７０】
前述した暗号変換処理（図１５，ステップＳ５４００）がライトコマンドの受付時に実行中でない場合、ボリューム管理コントローラ３１４は、ライトコマンドに含まれる暗号データを、ホスト側暗号コントローラ２１４に対してパス設定された接続先ボリュームにおけるブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む（ステップＳ５１３０）。
【００７１】
前述した暗号変換処理（図１５，ステップＳ５４００）がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ９２０の値よりも先行するアドレスである場合、すなわち、書込アドレスに保存された暗号データがボリューム３９０から新暗号化ボリューム３９４に引き継がれている場合（ステップＳ５１４０）、ボリューム管理コントローラ３１４は、ライトコマンドに含まれる暗号データを、新暗号化ボリューム３９４におけるブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む（ステップＳ５１４５）。
【００７２】
前述した暗号変換処理（図１５，ステップＳ５４００）がライトコマンドの受付時に実行中である場合であって、ライトコマンドで指定された書込アドレスが変換ポインタ９２０の値に後続するアドレスである場合、すなわち、書込アドレスに保存された暗号データがボリューム３９０から新暗号化ボリューム３９４に引き継がれていない場合（ステップＳ５１４０）、ボリューム管理コントローラ３１４は、ライトコマンドに含まれる暗号データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて復号化する（ステップＳ５１５０）。その後、ボリューム管理コントローラ３１４は、新鍵データ９０２で復号化した平文データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて暗号化する（ステップＳ５１６０）。その後、ボリューム管理コントローラ３１４は、旧鍵データ９０１で暗号化した暗号データを、ボリューム３９０におけるブロックアドレスのうちライトコマンドで指定された書込アドレスに書き込む（ステップＳ５１７０）。
【００７３】
ボリューム管理コントローラ３１４は、ライトコマンドに基づいてボリューム３９０または新暗号化ボリューム３９４にデータを書き込むと（ステップＳ５１３０，Ｓ５１４５，Ｓ５１７０）、ライトコマンドに従ってデータが書き込まれたことを示すライト応答を、ホスト側暗号コントローラ２１４に送信する（ステップＳ５１８０）。
【００７４】
図１７は、第４の実施例におけるボリューム管理コントローラ３１４が実行するリード実行処理（ステップＳ５２００）を示すフローチャートである。第４の実施例におけるボリューム管理コントローラ３１４は、図１０のリード実行処理（ステップＳ３２００）に代えて、図１７のリード実行処理（ステップＳ５２００）を実行する。本実施例では、図１７のリード実行処理（ステップＳ５２００）は、ストレージシステム３０のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、リードコマンドがホスト側暗号コントローラ２１４から送信された場合（図５のステップＳ２２３０）、ボリューム管理コントローラ３１４は、図１７のリード実行処理（ステップＳ５２００）を開始する。ボリューム管理コントローラ３１４は、図１７のリード実行処理（ステップＳ５２００）を開始すると、ストレージインタフェース３３２からリードコマンドを受け付ける（ステップＳ５２１０）。
【００７５】
前述した暗号変換処理（図１５，ステップＳ５４００）がリードコマンドの受付時に実行中でない場合、ボリューム管理コントローラ３１４は、ホスト側暗号コントローラ２１４に対してパス設定された接続先ボリュームにおけるブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出し、その暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ３４４に準備する（ステップＳ５２３０）。
【００７６】
前述した暗号変換処理（図１５，ステップＳ５４００）がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ９２０の値よりも先行するアドレスである場合、すなわち、読出アドレスに保存された暗号データがボリューム３９０から新暗号化ボリューム３９４に引き継がれている場合（ステップＳ５２４０）、ボリューム管理コントローラ３１４は、新暗号化ボリューム３９４におけるブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出し、その暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ３４４に準備する（ステップＳ５２４５）。
【００７７】
前述した暗号変換処理（図１５，ステップＳ５４００）がリードコマンドの受付時に実行中である場合であって、リードコマンドで指定された読出アドレスが変換ポインタ９２０の値に後続するアドレスである場合、すなわち、読出アドレスに保存された暗号データがボリューム３９０から新暗号化ボリューム３９４に引き継がれていない場合（ステップＳ５２４０）、ボリューム管理コントローラ３１４は、ボリューム３９０におけるブロックアドレスのうちリードコマンドで指定された読出アドレスから、暗号データを読み出す（ステップＳ５２５０）。その後、ボリューム管理コントローラ３１４は、リードコマンドに基づいてボリューム３９０から読み出した暗号データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて復号化する（ステップＳ５２６０）。その後、ボリューム管理コントローラ３１４は、旧鍵データ９０１で復号化した平文データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて暗号化し、その暗号データを、リードコマンドに応答するための応答データとしてキャッシュメモリ３４４に準備する（ステップＳ５２７０）。
【００７８】
ボリューム管理コントローラ３１４は、リードコマンドに基づいてボリューム３９０または新暗号化ボリューム３９４からデータを読み出すと（ステップＳ５２３０，Ｓ５２４５，Ｓ５２７０）、キャッシュメモリ３４４に準備された応答データを含むリード応答を、ホスト側暗号コントローラ２１４に送信する（ステップＳ５２８０）。
【００７９】
以上説明した第４実施例における計算システムによれば、ボリューム３９０および新暗号化ボリューム３９４にデータが二重化されるため、暗号変換処理中（図１５，ステップＳ５４００）におけるデータの損失を防止することができる。また、図１６のライト実行処理（ステップＳ５１００）によって、ボリューム３９０から新暗号化ボリューム３９４にデータがまだ引き継がれていないプロックアドレスに書き込み要求された場合であっても、書込み要求されたデータを、旧鍵データ９０１で暗号化してボリューム３９０に書き込むことによって、ホスト計算機２０からライトアクセスを受けながら、ボリューム３９０から新暗号化ボリューム３９４にデータを引継ぐことができる。また、図１７のリード実行処理（ステップＳ５２００）によって、新暗号化ボリューム３９４にまだ引継がれていないボリュームデータが読み出し要求された場合であっても、新鍵データ９０２で再暗号化されたデータをホスト計算機２０に応答することができるため、ホスト計算機２０からリードアクセスを受け付けながら、ストレージシステム３６で暗号変換処理中（図１５，ステップＳ５４００）を実行することができる。
【００８０】
Ｅ．第５の実施例：
図１８は、第５の実施例におけるボリューム管理コントローラ３１４が実行するライト実行処理（ステップＳ６１００）を示すフローチャートである。第５の実施例における計算機システムは、図１６のライト実行処理（ステップＳ５１００）に代えて、図１８のライト実行処理（ステップＳ６１００）を実行する点を除き、第４の実施例における計算機システムと同様である。図１８のライト実行処理（ステップＳ６１００）は、書込アドレスに保存された暗号データがボリューム３９０から新暗号化ボリューム３９４に引き継がれている場合（ステップＳ５１４０）、ライトコマンドに含まれる暗号データを新暗号化ボリューム３９４に書き込んだ後（ステップＳ５１４５）、更に、ライトコマンドに含まれる暗号データを旧鍵データ９０１で暗号化してボリューム３９０に書き込む（ステップＳ５１５０，Ｓ５１６０，Ｓ５１７０）点を除き、図１６のライト実行処理（ステップＳ５１００）と同様である。
【００８１】
以上説明した第５の実施例によれば、ボリューム３９０から新暗号化ボリューム３９４にデータがまだ引き継がれていないプロックアドレスに書き込み要求された場合であっても、書込み要求されたデータを、旧鍵データ９０１で暗号化してボリューム３９０に書き込むことによって、ホスト計算機２０からライトアクセスを受けながら、ボリューム３９０から新暗号化ボリューム３９４にデータを引継ぐことができる。
【００８２】
Ｆ．第６の実施例：
図１９は、第６の実施例におけるストレージシステム３８およびセカンダリ・ストレージシステム３９を機能的に示す説明図である。第６の実施例における計算機システムは、ストレージシステム３０に代えてストレージシステム３８およびセカンダリ・ストレージシステム３９を備える点を除き、第１の実施例における計算機システム１０と同様である。本実施例では、セカンダリ・ストレージシステム３９は、ストレージシステム３８とは異なる場所に設置され、ストレージシステム３８に保存されるデータをセカンダリ・ストレージシステム３９に非同期に複写するリモートコピー（Remote Copy）が実施される。セカンダリ・ストレージシステム３９は、ストレージシステム３８に対応付けられた一連のブロックアドレスが割り当てられたセカンダリボリューム３９６を備える。
【００８３】
第６の実施例におけるストレージシステム３８は、第１の実施例におけるストレージシステム３０の構成に加え、更に、ボリューム３９０に書き込まれるデータのコピー（レコード）を記憶するジャーナルボリューム３９７を備える。ストレージシステム３８のジャーナルボリューム３９７は、ボリューム３９０にデータが書き込まれた処理順序を特定可能なジャーナルデータ９３７を保持する。
【００８４】
第６の実施例におけるストレージシステム３８のボリューム管理コントローラ３１４は、第１の実施例と同様の処理を実行すると共に、ボリューム３９０にデータが書き込まれると、そのデータのコピーをレコードとしてジャーナルボリューム３９７に一時的に格納し、ジャーナルデータ９３７で特定される処理順序に従って、ジャーナルボリューム３９７のレコードをセカンダリボリューム３９６に転送する。本実施例では、セカンダリボリューム３９６に転送されたレコードは、ジャーナルボリューム３９７から削除される。本実施例では、第６の実施例におけるボリューム管理コントローラ３１４は、鍵変更コマンド９１０がホスト側暗号コントローラ２１４から送信された場合、その後に最初にボリューム３９０に書き込まれたデータのレコードを示す切換レコード９３８をメモリ３２０に設定する。本実施例では、ジャーナルボリューム３９７のレコードを、ホスト側暗号コントローラ２１４で暗号化された暗号データのまま蓄積するが、他の実施形態として、ジャーナルボリューム３９７のレコードを平文データとして蓄積しても良いし、他の暗号データで暗号化したデータを蓄積しても良い。
【００８５】
図２０は、第６の実施例におけるボリューム管理コントローラ３１４が実行するリモートコピー処理（ステップＳ７１００）を示すフローチャートである。本実施例では、図２０のリモートコピー処理（ステップＳ７１００）は、ストレージシステム３４のＣＰＵ３１０によるソフトウェアに基づく動作によって実現される。本実施例では、ボリューム管理コントローラ３１４は、図２０のリモートコピー処理（ステップＳ７１００）を定期的に実行する。
【００８６】
ボリューム管理コントローラ３１４は、図２０のリモートコピー処理（ステップＳ７１００）を開始すると、ジャーナルデータ９３７を確認することによって、ジャーナルボリューム３９７にレコードが蓄積されているか否かを判断する（ステップＳ７１１０）。ジャーナルボリューム３９７にレコードが蓄積されている場合（ステップＳ７１１０）、ボリューム管理コントローラ３１４は、ジャーナルボリューム３９７に蓄積されているレコードのうち、処理順序がより先行する先頭レコードを、ジャーナルボリューム３９７から読み出す（ステップＳ７１２０）。
【００８７】
ジャーナルボリューム３９７から読み出したレコードが、切換レコード９３８に示されたレコードよりも先行する場合、すなわち、ジャーナルボリューム３９７から読み出したレコードが旧暗号データである場合（ステップＳ７１３０）、ボリューム管理コントローラ３１４は、ジャーナルボリューム３９７から読み出したレコードに含まれる旧暗号データを、ボリューム管理コントローラ３１４に保持された旧鍵データ９０１を用いて復号化する（ステップＳ７１４０）。一方、ジャーナルボリューム３９７から読み出したレコードが、切換レコード９３８に示されたレコードに後続する場合、すなわち、ジャーナルボリューム３９７から読み出したレコードが新暗号データである場合（ステップＳ７１３０）、ボリューム管理コントローラ３１４は、ジャーナルボリューム３９７から読み出したレコードに含まれる新暗号データを、ボリューム管理コントローラ３１４に保持された新鍵データ９０２を用いて復号化する（ステップＳ７１５０）。
【００８８】
ボリューム管理コントローラ３１４は、ジャーナルボリューム３９７から読み出したレコードを平文データに復号化すると（ステップＳ７１４０，Ｓ７１５０）、その平文データをセカンダリボリューム３９６に転送する（ステップＳ７１６０）。本実施例では、セカンダリボリューム３９６に転送される平文データは、圧縮化されて転送される。ボリューム管理コントローラ３１４は、セカンダリボリューム３９６にデータを転送すると（ステップＳ７１６０）、そのデータに対応するレコードをジャーナルボリューム３９７から削除する（ステップＳ７１７０）。
【００８９】
以上説明した第６の実施例におけるストレージシステムによれば、ボリューム３９０の複製をセカンダリボリューム３９６に構成しつつ、ストレージシステム３８で暗号変換処理（図８，ステップＳ３４００）を実行することができる。
【００９０】
Ｇ．その他の実施形態：
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。例えば、本発明は、以下の形態または適用例として実現することも可能である。
【００９１】
［適用例２］  前述の適用例１記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１の鍵データで暗号化されたデータである場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化するライト復号化部と、前記ライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて暗号化するライト暗号化部と、前記ライト暗号化部によって第１の鍵データで暗号化されたデータを、前記ライトコマンドで指定されたブロックアドレスに書き込む未変換ライト部とを含む計算機システム。
【００９２】
適用例２記載の計算機システムによれば、ボリュームに記憶されているボリュームデータが、暗号変換処理を受ける前にライトコマンドによって新しい鍵データで暗号化されたデータに書き換えられてしまうことが回避されるため、暗号変換処理中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。
【００９３】
［適用例３］  適用例１または２記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第１の鍵データで暗号化されたデータである場合、該リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す未変換リード部と、前記未変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化するリード復号化部と、前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化するリード暗号化部と、前記リード暗号化部によって第２の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信するリード応答部とを含む計算機システム。
【００９４】
適用例３記載の計算機システムによれば、まだ再暗号化されていないボリュームデータが読み出し要求された場合であっても、新しい鍵データで再暗号化したデータをホスト計算機に応答することができるため、ホスト計算機からリードアクセスを受け付けながら、ストレージシステム側で暗号変換処理を実行することができる。
【００９５】
［適用例４］  前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記ボリュームに記憶されているデータの全てが、前記第２の鍵データで暗号化されたデータになった場合、前記ボリューム側鍵データ記憶部に記憶された第１および２の鍵データを削除する鍵データ削除部を含む適用例１ないし３のいずれか記載の計算機システム。
【００９６】
適用例４記載の計算機システムによれば、暗号変換処理が完了した場合、ストレージシステム側から鍵データが削除されるため、ストレージシステムからの情報漏洩に対するセキュリティを向上させることができる。
【００９７】
［適用例５］  前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第１の鍵データで暗号化されたデータを、前記ボリュームに割り当てられた一連のブロックアドレスの順序で、前記ボリュームから読み出す適用例１ないし４のいずれか記載の計算機システム。
【００９８】
適用例５記載の計算機システムによれば、ボリュームデータの再暗号化が一連のブロックアドレスの順序で行われるため、暗号変換処理中に、どのボリュームデータが再暗号化されているか否かを容易に管理することができる。
【００９９】
［適用例６］  前記ホスト側暗号コントローラは、前記ホスト計算機に設けられた適用例１ないし５のいずれか記載の計算機システム。
【０１００】
［適用例７］  適用例１ないし５のいずれか記載の計算機システムであって、前記ストレージシステムは、前記ネットワークとは異なる他のネットワーク経由で前記ホスト計算機に接続され、前記ホスト計算機が前記他のネットワーク経由で前記ボリュームに対して間接的にアクセス可能に前記ボリュームに対応付けられた仮想ボリュームを仮想的に構成する仮想化装置と、前記ネットワーク経由で前記仮想化装置に接続され、該仮想化装置から前記ネットワーク経由でアクセス可能に前記ボリュームを構成する第１のストレージシステムとを含み、前記ホスト側暗号コントローラは、前記仮想化装置に設けられ、前記ボリューム管理コントローラは、前記第１のストレージシステムに設けられた計算機システム。
【０１０１】
適用例６または７記載の計算機システムによれば、各システム構成の計算機システムにおいて、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機側の処理負荷を軽減させることができる。
【０１０２】
［適用例８］  適用例１ないし７のいずれか記載の計算機システムであって、前記ストレージシステムは、更に、設定時点において前記ボリュームに記憶されるデータのコピーを記憶する基底ボリュームと、前記設定時点以降に前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて蓄積する第１のジャーナルボリュームと、前記設定時点以降の所望時点における前記ボリュームを再現する再現ボリュームを、前記基底ボリュームおよび前記第１のジャーナルボリュームに記憶されているデータを用いて構成するボリューム再現部とを含み、前記ボリューム再現部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記基底ボリュームおよび前記第１のジャーナルボリュームのデータのうち前記再現ボリュームを構成するために用いられる前記第１の鍵データで暗号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する再現復号化部と、前記再現復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化する再現暗号化部と、前記再現暗号化部によって暗号化されたデータを、前記再現ボリュームに編入する再現編入部とを含む計算機システム。
【０１０３】
適用例８記載の計算機システムによれば、継続的データ保護方式（Continuous Data Protection, CDP）をストレージシステムに適用しつつ、ストレージシステム側で暗号変換処理を実行することができる。ここで、継続的データ保護方式とは、ボリュームに書き込まれたデータを書込み履歴と共に保存することによって過去の任意時点におけるボリュームのデータ構成を再現する方式である。
【０１０４】
［適用例９］  適用例１ないし８のいずれか記載の計算機システムであって、前記ストレージシステムの前記ボリュームは、前記第１の鍵データで暗号化されたデータを保存する第１のボリュームと、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後、前記第１のボリュームに共通する一連のブロックアドレスが割り当てられ、前記第１のボリュームに保存されたデータを引き継いで、前記第２の鍵データで暗号化されたデータを保存する第２のボリュームとを含み、前記ボリューム管理コントローラの前記変換リード部は、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記第１の鍵データで暗号化されたデータを前記第１のボリュームから読み出し、前記ボリューム管理コントローラの前記変換ライト部は、前記変換暗号化部によって第２の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された前記第１のボリュームのブロックアドレスに対応する前記第２のボリュームのブロックアドレスに書き込む計算機システム。
【０１０５】
適用例９記載の計算機システムによれば、第１および第２のボリュームにデータが二重化されるため、暗号変換処理中におけるデータの損失を防止することができる。
【０１０６】
［適用例１０］  適用例９記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれていない場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化する第１のライト復号化部と、前記第１のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて暗号化する第１のライト暗号化部と、前記第１のライト暗号化部によって第１の鍵データで暗号化されたデータを、前記第１のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第１の引継ライト部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記第２のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第２の引継ライト部とを含む計算機システム。
【０１０７】
適用例１０記載の計算機システムによれば、第１のボリュームから第２のボリュームにデータがまだ引き継がれていないプロックアドレスに書き込み要求された場合であっても、書込み要求されたデータを、第１の鍵データで暗号化して第１のボリュームに書き込むことによって、ホスト計算機からライトアクセスを受けながら、第１のボリュームから第２のボリュームにデータを引継ぐことができる。
【０１０８】
［適用例１１］  適用例１０記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたライトコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれている場合、該ライトコマンドで書き込み要求されるデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化する第２のライト復号化部と、前記第２のライト復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて暗号化する第２のライト暗号化部と、前記第２のライト暗号化部によって第１の鍵データで暗号化されたデータを、前記第１のボリュームにおける前記ライトコマンドで指定されたブロックアドレスに書き込む第３の引継ライト部とを含む計算機システム。
【０１０９】
適用例１１記載の計算機システムによれば、鍵変更処理を中断した場合であっても、鍵変更処理中に書込み要求されたデータを含めて第１の鍵データで暗号化されたデータが第１のボリュームに残るため、データの損失を防止することができる。
【０１１０】
［適用例１２］  適用例９ないし１１のいずれか記載の計算機システムであって、前記ボリューム管理コントローラは、更に、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれていない場合、前記第１のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第１の引継リード部と、前記未引継リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化するリード復号化部と、前記リード復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化するリード暗号化部と、前記リード暗号化部によって第２の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第１の引継リード応答部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した後に送信されたリードコマンドで指定されたブロックアドレスのデータが、前記第１のボリュームから前記第２のボリュームに引き継がれている場合、前記第２のボリュームにおける前記リードコマンドで指定されたブロックアドレスに記憶されているデータを読み出す第２の引継リード部と、前記引継済リード部によって読み出された第２の鍵データで暗号化されたデータを、前記リードコマンドに対する応答として、前記ネットワーク経由で前記ホスト計算機に送信する第２の引継リード応答部とを含む計算機システム。
【０１１１】
適用例１２記載の計算機システムによれば、第２のボリュームにまだ引継がれていないボリュームデータが読み出し要求された場合であっても、新しい鍵データで再暗号化されたデータをホスト計算機に応答することができるため、ホスト計算機からリードアクセスを受け付けながら、ストレージシステム側で暗号変換処理を実行することができる。
【０１１２】
［適用例１３］  適用例１ないし１２のいずれか記載の計算機システムであって、前記ストレージシステムは、更に、前記ボリュームに対応付けられた一連のブロックアドレスが割り当てられ該ボリュームに記憶されるデータのコピーを記憶するセカンダリボリュームと、前記ライトコマンドによって前記ボリュームに書き込まれるデータのコピーを、該データの書き込み履歴に対応付けて一時的に蓄積する第２のジャーナルボリュームと、前記第２のジャーナルボリュームに蓄積されたデータが前記第１の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する第１のジャーナル復号化部と、前記第１のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第１のジャーナル転送部と、前記第２のジャーナルボリュームに蓄積されたデータが前記第２の鍵データで暗号化されている場合、該データを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて復号化する第２のジャーナル復号化部と、前記第２のジャーナル複合化部によって復号化されたデータを、前記セカンダリボリュームに転送する第２のジャーナル転送部とを含む計算機システム。
【０１１３】
適用例１３記載の計算機システムによれば、ボリュームの複製をセカンダリボリュームに構成しつつ、ストレージシステム側で暗号変換処理を実行することができる。
【０１１４】
［適用例１４］  データを処理するホスト計算機とネットワーク経由で接続され、該ホスト計算機から該ネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを備えるストレージシステムであって、前記ホスト計算機は、データの暗号化および復号化に用いられる鍵データを記憶するホスト側鍵データ記憶部と、前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて暗号化するホスト側暗号化部と、前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、該データを、前記ホスト側鍵データ記憶部に記憶された鍵データを用いて復号化するホスト側復号化部と、前記鍵データ記憶部に記憶されている鍵データを、第１の鍵データから第２の鍵データに変更する鍵変更部と、前記鍵変更部によって前記第１の鍵データが前記第２の鍵データに変更される場合、前記第１および２の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する鍵変更コマンド送信部とを含み、前記ストレージシステムは、更に、前記鍵変更コマンド送信部によって送信された鍵変更コマンドを受信する鍵変更コマンド受信部と、前記鍵変更コマンド受信部によって受信された鍵変更コマンドに含まれる第１および２の鍵データを記憶するボリューム側鍵データ記憶部と、前記鍵変更コマンド受信部が前記鍵変更コマンドを受信した場合、前記ボリュームに記憶されているデータのうち前記第１の鍵データで暗号化されたデータを読み出す変換リード部と、前記変換リード部によって読み出されたデータを、前記ボリューム側鍵データ記憶部に記憶された第１の鍵データを用いて復号化する変換復号化部と、前記変換復号化部によって復号化されたデータを、前記ボリューム側鍵データ記憶部に記憶された第２の鍵データを用いて暗号化する変換暗号化部と、前記変換暗号化部によって第２の鍵データで暗号化されたデータを、前記変換リード部によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト部とを備える。
【０１１５】
適用例１４記載のストレージシステムによれば、ホスト計算機でアクセスデータの暗復号化に用いられる鍵データが変更される場合、ボリュームに保存されたボリュームデータの再暗号化をストレージシステムで実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機の処理負荷を軽減させることができる。
【０１１６】
［適用例１５］  データを処理するホスト計算機と、前記ホスト計算機からネットワーク経由で一連のブロックアドレスを指定してアクセス可能なボリュームを有するストレージシステムとを備える計算機システムにおいて、該計算機システムで取り扱われるデータを管理するデータ管理方法であって、前記ホスト計算機のコンピュータが、データの暗号化および復号化に用いられる鍵データを、該ホスト計算機のメモリに記憶する工程と、前記ホスト計算機から前記ストレージシステムに対するライトコマンドによって前記ボリュームに書き込み要求されるデータが、前記ホスト計算機から前記ネットワーク経由で前記ボリュームに転送される場合、該データが前記ネットワーク上で転送される前に、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを暗号化する工程と、前記ホスト計算機から前記ストレージシステムに対するリードコマンドによって前記ボリュームから読み出し要求されるデータが、前記ボリュームから前記ネットワーク経由で前記ホスト計算機に転送される場合、該データが前記ネットワーク上で転送された後で、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶された鍵データを用いて、該データを復号化する工程と、前記ホスト計算機のコンピュータが、該ホスト計算機のメモリに記憶されている鍵データを、第１の鍵データから第２の鍵データに変更する工程と、前記第１の鍵データが前記第２の鍵データに変更される場合、前記ホスト計算機のコンピュータが、前記第１および２の鍵データを含み該鍵データの変更を示す鍵変更コマンドを、前記ストレージシステムに送信する工程と、前記ストレージシステムのコンピュータが、前記ホスト計算機によって送信された鍵変更コマンドを受信する工程と、前記ストレージシステムのコンピュータが、前記受信された鍵変更コマンドに含まれる第１および２の鍵データを、該ストレージシステムのメモリに記憶する工程と、前記鍵変更コマンドが前記ホスト計算機から前記ストレージシステムに受信された場合、前記ストレージシステムのコンピュータが、前記ボリュームに記憶されているデータのうち前記第１の鍵データで暗号化されたデータを読み出す変換リード工程と、前記ストレージシステムのコンピュータが、前記変換リード工程によって読み出されたデータを、該ストレージシステムのメモリに記憶された第１の鍵データを用いて復号化する変換復号化工程と、前記ストレージシステムのコンピュータが、前記変換復号化工程によって復号化されたデータを、該ストレージシステムのメモリに記憶された第２の鍵データを用いて暗号化する変換暗号化工程と、前記ストレージシステムのコンピュータが、前記変換暗号化工程によって第２の鍵データで暗号化されたデータを、前記変換リード工程によって元のデータが読み出された元のブロックアドレスに書き込む変換ライト工程とを備える。
【０１１７】
適用例１５記載のデータ管理方法によれば、ホスト計算機とボリュームとの間でやり取りされるアクセスデータの暗復号化をホスト計算機で実行し、そのアクセスデータの暗復号化に用いられる鍵データを変更する場合、ボリュームに保存されたボリュームデータの再暗号化をストレージシステムで実行することができる。その結果、情報漏洩に対するセキュリティを確保しながら、鍵データを変更する場合におけるホスト計算機の処理負荷を軽減させることができる。
【図面の簡単な説明】
【０１１８】
【図１】計算機システム１０の概略構成を機能的に示す説明図である。
【図２】計算機システム１０におけるホスト計算機２０の詳細構成を主に示す説明図である。
【図３】計算機システム１０におけるストレージシステム３０の詳細構成を主に示す説明図である。
【図４】計算機システム１０におけるホスト側暗号コントローラ２１４が実行するライトコマンド処理（ステップＳ２１００）を示すフローチャートである。
【図５】計算機システム１０におけるホスト側暗号コントローラ２１４が実行するリードコマンド処理（ステップＳ２２００）を示すフローチャートである。
【図６】計算機システム１０におけるホスト側暗号コントローラ２１４が実行する鍵更新処理（ステップＳ２３００）を示すフローチャートである。
【図７】計算機システム１０におけるボリューム管理コントローラ３１４が実行する更新受付処理（ステップＳ３３００）を示すフローチャートである。
【図８】計算機システム１０におけるボリューム管理コントローラ３１４が実行する暗号変換処理（ステップＳ３４００）を示すフローチャートである。
【図９】計算機システム１０におけるボリューム管理コントローラ３１４が実行するライト実行処理（ステップＳ３１００）を示すフローチャートである。
【図１０】計算機システム１０におけるボリューム管理コントローラ３１４が実行するリード実行処理（ステップＳ３２００）を示すフローチャートである。
【図１１】第２の実施例における計算機システム１２の概略構成を機能的に示す説明図である。
【図１２】第３の実施例におけるストレージシステム３４を機能的に示す説明図である。
【図１３】第３の実施例におけるボリューム管理コントローラ３１４が実行するボリューム再現処理（ステップＳ３５００）を示すフローチャートである。
【図１４】第４の実施例におけるストレージシステム３６を機能的に示す説明図である。
【図１５】第４の実施例におけるボリューム管理コントローラ３１４が実行する暗号変換処理（ステップＳ５４００）を示すフローチャートである。
【図１６】第４の実施例におけるボリューム管理コントローラ３１４が実行するライト実行処理（ステップＳ５１００）を示すフローチャートである。
【図１７】第４の実施例におけるボリューム管理コントローラ３１４が実行するリード実行処理（ステップＳ５２００）を示すフローチャートである。
【図１８】第５の実施例におけるボリューム管理コントローラ３１４が実行するライト実行処理（ステップＳ６１００）を示すフローチャートである。
【図１９】第６の実施例におけるストレージシステム３８およびセカンダリ・ストレージシステム３９を機能的に示す説明図である。
【図２０】第６の実施例におけるボリューム管理コントローラ３１４が実行するリモートコピー処理（ステップＳ７１００）を示すフローチャートである。
【符号の説明】
【０１１９】
１０，１２…計算機システム
２０，２２…ホスト計算機
３０，３４，３６，３８，３９…ストレージシステム
３２…ストレージシステム
４０…仮想ストレージシステム
９２…ストレージネットワーク
９４…管理ネットワーク
２１０…ＣＰＵ
２１２…データ処理部
２１４…ホスト側暗号コントローラ
２２０…メモリ
２３２…ストレージインタフェース
２３４…管理インタフェース
２３６…ユーザインタフェース
２８２…ＯＳ
２８４…アプリケーションプログラム
３１０…ＣＰＵ
３１４…ボリューム管理コントローラ
３２０…メモリ
３３２…ストレージインタフェース
３３４…管理インタフェース
３４２…ディスクインタフェース
３４４…キャッシュメモリ
３８２…ストレージ構成プログラム
３８４…アクセス管理プログラム
３８６…暗号変換プログラム
３９０…ボリューム
３９１…ジャーナルボリューム
３９２…基底ボリューム
３９３…再現ボリューム
３９４…新暗号化ボリューム
３９６…セカンダリボリューム
３９７…ジャーナルボリューム
４１４…ホスト側暗号コントローラ
４３２…ストレージインタフェース
４３４…管理インタフェース
４９０…仮想ボリューム
９０１…旧鍵データ
９０２…新鍵データ
９１０…鍵変更コマンド
９２０…変換ポインタ
９３１…ジャーナルデータ
９３４…再現ポインタ
９３６…所望ポインタ
９３７…ジャーナルデータ
９３８…切換レコード
【図１】
2008269173.tif 000003
【図２】
2008269173.tif 000004
【図３】
2008269173.tif 000005
【図４】
2008269173.tif 000006
【図５】
2008269173.tif 000007
【図６】
2008269173.tif 000008
【図７】
2008269173.tif 000009
【図８】
2008269173.tif 000010
【図９】
2008269173.tif 000011
【図１０】
2008269173.tif 000012
【図１１】
2008269173.tif 000013
【図１２】
2008269173.tif 000014
【図１３】
2008269173.tif 000015
【図１４】
2008269173.tif 000016
【図１５】
2008269173.tif 000017
【図１６】
2008269173.tif 000018
【図１７】
2008269173.tif 000019
【図１８】
2008269173.tif 000020
【図１９】
2008269173.tif 000021
【図２０】
2008269173.tif 000022