説明

暗号鍵を管理するストレージシステム、計算機システム及び方法

【課題】従来、テープにバックアップされるデータを暗号化するための暗号鍵を、論理的なデータ管理単位ごとに割り当てることができなかった。
【解決手段】ディスク記憶装置と、テープ記憶媒体を装着可能なテープ記憶装置と、前記ディスク記憶装置及び前記テープ記憶装置を制御するコントローラと、を備えるストレージシステムであって、前記コントローラは、前記一つ以上のテープ記憶媒体を含むテープグループを設定する要求を受信すると、前記要求によって設定されるテープグループに格納されるデータを暗号化するために使用されるべき第1暗号鍵を生成し、前記生成された第1暗号鍵と前記テープグループとを対応付ける情報を保持する。

【発明の詳細な説明】
【技術分野】
【0001】
本願明細書で開示される技術は、ストレージシステムにおけるデータの管理に関し、特に、暗号化されたデータをテープに格納するために使用される暗号鍵の管理に関する。
【背景技術】
【0002】
企業等の計算機システムが扱うデータの量は、増大する傾向にある。これに伴い、障害等によるデータ消失を防ぐためのバックアップデータの量も増大している。
【0003】
大量のデータを低コストで保存するため、一般に、階層化されたストレージシステムが使用される。階層化されたストレージシステムにおいて、アクセス頻度が高いデータは、磁気ディスクのように、比較的高価であるが高性能な記憶媒体に格納される。一方、例えばバックアップデータのようにアクセス頻度が低いデータは、磁気テープのように、比較的安価な記憶媒体に格納される。
【0004】
このような階層化されたストレージシステムとして、例えば特許文献1及び特許文献2が開示されている。
【0005】
特許文献1には、ホストコンピュータに対してディスクインターフェースを持ち、論理ボリュームのデータを磁気テープに格納する機能を有するストレージシステムが開示されている。
【0006】
特許文献2には、正データストレージシステムから、テープライブラリを備える副データストレージシステムへのデータのバックアップが開示されている。
【0007】
さらに、データを安全に保持するために、暗号化されたデータをテープに格納する技術が、例えば非特許文献1に開示されている。
【0008】
非特許文献1によれば、テープライブラリ装置ごとの暗号鍵から、テープごとの暗号鍵まで、種々の粒度の暗号鍵が管理される。さらに、非特許文献1には、データの暗号化及び復号化が開示されている。これによると、テープライブラリは、テープを読み出すときにSecure Key Managerから暗号鍵を取り出す。
【特許文献1】特開2006−163454号公報
【特許文献2】米国特許第6、353、878号明細書
【非特許文献1】"HP StorageWorks Secure Key Manager", [online], Hewlett-Packard Development Company, L.P., [平成20年1月17日検索],インターネット<URL:http://h18000.www1.hp.com/products/quickspecs/12814_div/12814_div.html>
【発明の開示】
【発明が解決しようとする課題】
【0009】
従来の鍵管理サーバ又は鍵管理アプライアンス(例えばSecure Key Manager)は、物理的な装置(例えばテープカートリッジ、テープドライブ又はテープライブラリ)を識別することはできるが、論理的なデータ管理単位(例えば複数のテープからなるテープグループ)を識別することができない。このため、従来の鍵管理サーバ等は、物理的な装置ごとに暗号鍵を割り当てることはできるが、論理的なデータ管理単位に対して、そのデータ管理単位が実際に生成される前に暗号鍵を割り当てることができなかった。このため、セキュリティ強度を確保するために必要以上の鍵を管理する必要が生じ、その結果鍵の管理が複雑になるという問題があった。
【課題を解決するための手段】
【0010】
本願で開示する代表的な発明は、ディスク記憶装置と、テープ記憶媒体を装着可能なテープ記憶装置と、前記ディスク記憶装置及び前記テープ記憶装置を制御するコントローラと、を備えるストレージシステムであって、前記コントローラは、ネットワークに接続される第1インターフェースと、前記ディスク記憶装置及び前記テープ記憶装置に接続される一つ以上の第2インターフェースと、前記第1インターフェース及び前記第2インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、前記コントローラは、一つ以上の前記テープ記憶媒体を含むテープグループを設定する要求を受信すると、前記要求によって設定されるテープグループに格納されるデータを暗号化するために使用されるべき第1暗号鍵を生成し、前記生成された第1暗号鍵と前記テープグループとを対応付ける情報を保持することを特徴とする。
【発明の効果】
【0011】
本発明の一実施形態によれば、テープにバックアップされるデータを暗号化するための暗号鍵を、論理的なデータ管理単位ごとに割り当てることができるため、使用される暗号鍵の数を必要最小限に抑えることができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態を、図面を参照して説明する。
【0013】
図1は、本発明の実施形態の計算機システムの構成を示すブロック図である。
【0014】
本実施形態の計算機システムは、少なくとも、ストレージシステム101A、ホスト102及び管理端末103を備える。
【0015】
ストレージシステム101Aは、ネットワーク105を介してホスト102と接続され、ネットワーク106を介して管理端末103と接続される。ホスト102は、ネットワーク104を介して管理端末103と接続される。
【0016】
ネットワーク104〜106は、いかなる種類のネットワークであってもよい。例えば、ネットワーク104及び106は、LAN(Local Area Network)のようなIP(Internet Protocol)ネットワークであってもよい。ネットワーク105は、ネットワーク104及び106と同様のネットワークであってもよいし、FC(Fibre Channel)プロトコルが適用されるいわゆるストレージエリアネットワークであってもよい。
【0017】
ホスト102は、ユーザに種々のサービスを提供する計算機である。ホスト102は、ネットワーク104及び105に接続されるインターフェース(図示省略)、インターフェースに接続されるプロセッサ(図示省略)及びプロセッサに接続されるメモリ(図示省略)を備える。
【0018】
ホスト102のメモリには、アプリケーションプログラム210及び指示プログラム220が格納される。アプリケーションプログラム210は、ホスト102がユーザにサービスを提供するためにプロセッサによって実行されるプログラムである。アプリケーションプログラム210を実行するプロセッサは、必要に応じて、ストレージシステム101A内のデータへのアクセス要求(すなわち、データ書き込み要求又はデータ読み出し要求)を発行する。指示プログラム220は、ユーザがストレージシステム101Aにデータのバックアップを指示するためにプロセッサによって実行されるプログラムである。
【0019】
なお、図1の例では、ホスト102が指示プログラム220を保持する。しかし、計算機システム内のどの装置が指示プログラム220を保持し、実行してもよい。例えば、管理端末103又はストレージシステム101Aが指示プログラム220を保持及び実行してもよい。
【0020】
管理端末103は、本実施形態の計算機システムを管理する計算機である。管理端末103は、ネットワーク104及び106に接続されるインターフェース(図示省略)、インターフェースに接続されるプロセッサ(図示省略)及びプロセッサに接続されるメモリ(図示省略)を備える。
【0021】
管理端末103のメモリには、管理プログラム310が格納される。管理プログラム310は、ストレージシステム101Aによるデータバックアップを管理するためにプロセッサによって実行されるプログラムである。以下の説明において管理プログラム310が実行する処理は、実際には、管理端末103のプロセッサ(図示省略)によって実行される。
【0022】
ストレージシステム101Aは、ホスト102によって書き込まれたデータを格納する。本実施形態のストレージシステム101Aは、コントローラ110、一つ以上のディスク装置150及び一つ以上のテープライブラリ装置130を備える。
【0023】
コントローラ110は、ディスク装置150及びテープライブラリ装置130を制御するために、少なくともコピー制御プログラム117、ディスク制御プログラム118、テープ制御プログラム119及び鍵管理プログラム120を保持する。コントローラ110の構成については、後で詳細に説明する(図2参照)。
【0024】
ディスク装置150は、典型的には磁気ディスクドライブであるが、フラッシュメモリのような半導体記憶装置又はその他の種類の記憶装置であってもよい。図1に示すディスク装置A150A及びディスク装置B150Bの各々は、複数のディスク装置150の一つである。ストレージシステム101Aは、さらに多くのディスク装置150(例えば図3に示すディスク装置150N)を備えてもよい。複数のディスク装置150がRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
【0025】
ここで、ディスク装置150が提供する記憶領域について図3を参照して説明する。
【0026】
図3は、本発明の実施形態のディスク装置150が提供する記憶領域の説明図である。
【0027】
図3の例では、複数のディスク装置150の記憶領域が一つ以上の内部LU(Logical Unit)141に分割して管理される。例えば、図3に示すように、各ディスク装置150の記憶領域の一部の集合が一つの内部LU141として管理されてもよい。
【0028】
図3に示す内部LU141A及び141Bの各々は、複数の内部LU141の一つである。図3に示すLUN10及びLUN11は、それぞれ、内部LU141A及び141Bの識別子である。コントローラ110は、任意の容量の内部LU141を任意の数設定することができる。
【0029】
各内部LU141は、それぞれ一つの論理ボリューム140と対応付けられる。図3の例では、論理ボリューム140A及び140Bが、それぞれ、内部LU141A及び141Bと対応付けられる。この例において、論理ボリューム140Cは、内部LU141と対応付けられていない。論理ボリューム140A、140B及び140Cの各々は、複数の論理ボリューム140の一つである。図3に示すLUN0、LUN1及びLUN2は、それぞれ、論理ボリューム140A、140B及び140Cの識別子である。
【0030】
各論理ボリューム140は、ホスト102によって一つの論理的な記憶装置として認識される。例えば、ホスト102が論理ボリューム140Aにデータを書き込む要求を発行すると、コントローラ110は、要求されたデータを、論理ボリューム140Aに対応する内部LU141Aに格納する。
【0031】
各論理ボリューム140に格納されたデータ(すなわち、実際には各内部LU141に格納されたデータ)は、指示プログラム220からのバックアップ指示に応じて、一つ以上のテープ132にバックアップされる。言い換えると、バックアップ指示に応じて、各論理ボリューム140に格納されたデータの複製が一つ以上のテープ132に格納される。
【0032】
再び図1を参照すると、テープライブラリ装置130は、一つ以上のテープドライブ131及び一つ以上のテープ132を備える。図1に示すテープライブラリ装置130は、テープドライブA131A、テープドライブB131B、テープA132A及びテープB132Bを備える。テープドライブA131A及びテープドライブB131Bの各々は、複数のテープドライブ131の一つである。テープA132A及びテープB132Bの各々は、複数のテープ132の一つである。
【0033】
一つ以上のテープ132が一つのテープグループ142を構成してもよい(図4参照)。テープライブラリ装置130は、さらに多くのテープドライブ131及びテープ132を備えてもよい。
【0034】
各テープ132は、具体的には一つのテープ記憶媒体(テープメディア)に相当する。一つのテープメディアは、例えば、巻き取られた1巻のテープ(磁気記録テープ)と、そのテープを内包するケースと、からなるいわゆるテープカートリッジであってもよい。テープメディアは、さらに、巻き取られたテープ以外の記憶媒体を含んでもよい。巻き取られたテープ以外の記憶媒体とは、例えば、ケースに取り付けられたバーコード、磁気記憶媒体又はフラッシュメモリのような不揮発性の記憶媒体である。ケースにこのような記憶媒体が含まれる場合、テープドライブ131は、このような記憶媒体からデータを読み出す機能を備える。
【0035】
本実施形態の計算機システムは、図1に示すように、さらにストレージシステム101Bを備えてもよい。ストレージシステム101Bは、ネットワーク104に接続される。ストレージシステム101Bの構成は、ストレージシステム101Aと同様であるため、その説明は省略する。
【0036】
図2は、本発明の実施形態のコントローラ110の構成を示すブロック図である。
【0037】
本実施形態のコントローラ110は、メモリ111、CPU112、上位インターフェース(I/F)113、下位I/F114、I/F115及びブリッジ116を備える。
【0038】
メモリ111は、例えば半導体記憶装置のようなデータ記憶装置である。メモリ111には、CPU112によって実行されるプログラム及びCPU112によって参照されるデータが格納される。本実施形態のメモリ111には、少なくとも、コピー制御プログラム117、ディスク制御プログラム118、テープ制御プログラム119及び鍵管理プログラム120が格納される。
【0039】
ディスク制御プログラム118は、ディスク管理テーブル1181を含む。
【0040】
テープ制御プログラム119は、テープ管理テーブル1191を含む。
【0041】
鍵管理プログラム120は、鍵情報テーブル1121及びテープグループ(TG)鍵情報テーブル1122を含む。
【0042】
これらのプログラム及びテーブルについては、後で詳細に説明する。
【0043】
CPU112は、メモリ111に格納されたプログラムを実行するプロセッサである。以下の説明において各プログラムが実行する処理は、実際には、各プログラムを実行するCPU112によって実行される。
【0044】
上位I/F113は、コントローラ110を、ネットワーク105を介してホスト102に接続するためのインターフェースである。下位I/F114は、コントローラ110をディスク装置150に接続するためのインターフェースである。上位I/F113及び下位I/F114は、例えばSCSIアダプタ又はFCアダプタであってもよい。
【0045】
I/F115は、コントローラ110を、ネットワーク106を介して管理端末103に接続するためのインターフェースである。ネットワーク106がLANである場合、I/F115はいわゆるネットワークインターフェースカードであってもよい。
【0046】
ブリッジ116は、メモリ111、CPU112、上位I/F113、下位I/F114及びI/F115を接続し、これらの間で行われる通信を制御する。
【0047】
図4は、本発明の実施形態のテープグループ142の説明図である。
【0048】
一つ以上のテープ132からなる各テープグループ142は、バックアップされたデータの論理的な管理単位である。例えば、一つの論理ボリューム140に割り当てられた記憶容量が一つのテープ132の記憶容量より大きい場合がある。その場合、複数のテープ132からなる一つのテープグループに、一つの論理ボリューム140のデータが格納されてもよい。また、複数の論理ボリュームのデータを一つのテープグループに格納してもよい。
【0049】
なお、以下の説明では、バックアップの代表的な例として、論理ボリューム140に格納されたデータをテープグループ142にバックアップする例を示すが、テープグループ142に格納されたデータが別のテープグループ142にバックアップされてもよい。
【0050】
図4の例では、テープグループ番号「0」が付与されたテープグループ142Aは、テープ132A〜132Jを含む。テープグループ番号「1」が付与されたテープグループ142Bは、テープ132K〜132Nを含む。
【0051】
図5は、本発明の実施形態のディスク管理テーブル1181の説明図である。
【0052】
ディスク管理テーブル1181は、ディスク装置150の記憶領域を管理するために必要な情報を保持する。
【0053】
ディスク管理テーブル1181は、論理ボリューム11811、内部LUN11812、LUサイズ11813及び物理ディスクアドレス11814を含む。
【0054】
論理ボリューム11811は、論理ボリューム140の識別子(すなわち外部LUN)を示す。例えば、図5では、論理ボリューム11811として「0」及び「1」が格納されている。これらは、それぞれ、図3に示すLUN0及びLUN1に相当する。
【0055】
内部LUN11812は、論理ボリューム140に対応付けられた内部LU141の識別子を示す。例えば、図5では、LUN0及びLUN1に対応する内部LUN11812として「10」及び「11」が格納されている。これらは、それぞれ、図3に示すLUN10及びLUN11に相当する。
【0056】
LUサイズ11813は、各内部LU141に割り当てられている記憶領域のサイズ、すなわち、その記憶領域に格納できるデータの容量を示す。例えば、図5では、LUN00及びLUN01に対応するLUサイズ11813として、それぞれ、「1テラバイト(TB)」及び「500ギガバイト(GB)」が格納されている。これらは、LUN10及びLUN11としてそれぞれ1TB及び500GBの記憶領域が割り当てられていることを示す。
【0057】
物理ディスクアドレス11814は、各内部LU141に割り当てられているディスク装置150内の記憶領域のアドレスを示す。例えば、図5では、LUN10に対応する物理ディスクアドレス11814として、「A:0−2000、B:0−2000、・・・、N:0−2000」が格納されている。これは、少なくとも、ディスク装置150Aのアドレス0からアドレス2000までの記憶領域、ディスク装置150Bのアドレス0からアドレス2000までの記憶領域、及び、ディスク装置150Nのアドレス0からアドレス2000までの記憶領域が、LUN10として割り当てられていることを示す。
【0058】
図6は、本発明の実施形態のテープ管理テーブル1191の説明図である。
【0059】
テープ管理テーブル1191は、テープグループ142を管理するために必要な情報を保持する。
【0060】
テープ管理テーブル1191は、TG11911、TG固有識別子11912、Tape11913、Keyword11914及び暗号化11915を含む。
【0061】
TG11911は、各テープグループ142に割り当てられた番号を示す。例えば、図6では、TG11911として「0」及び「1」が格納されている。これらは、それぞれ、図4に示すテープグループ142A及び142Bに割り当てられた番号である。なお、図4では省略されているが、本実施形態の計算機システムはさらに多くのテープグループ142を含んでもよい。例えば図6では、TG11911としてさらに「2」及び「3」が格納されている。これらは、それぞれ、図示しないテープグループ142に割り当てられた番号である。
【0062】
なお、以下の説明では、便宜上、テープグループ番号「0」、「1」、「2」及び「3」で識別されるテープグループ142を、それぞれ、TG#0、TG#1、TG#2及びTG#3とも記載する。
【0063】
TG11911は、テープグループ142を管理するためにコントローラ110によって割り当てられる。コントローラ110は、そのコントローラによる管理が及ぶ範囲内において一意の番号を、TG11911として各テープグループ142に割り当てる。しかし、TG11911が計算機システム全体で一意であることは保証されない。
【0064】
TG固有識別子11912は、各テープグループ142に割り当てられた固有の(すなわち計算機システム内で一意の)識別子を示す。
【0065】
Tape11913は、各テープグループ142に含まれる各テープ132の識別子である。例えば、図6では、TG#0に対応するTape11913として、「1000、1001、1002」が格納されている。これは、TG#0が、識別子「1000」、「1001」及び「1002」によって識別される三つのテープ132を含むことを示す。
【0066】
Keyword11914は、ユーザがテープグループ142を検索するときに使用されるキーワードを示す。ユーザは、データをテープグループ142にバックアップするときに、任意のキーワードを指定することができる(図16参照)。例えば、ユーザは、バックアップ元である論理ボリューム140の識別子、及び、バックアップが実行された日時等をキーワードとして指定してもよい。このようにして指定されたキーワードが、Keyword11914として格納される。図6の例では、TG#0に対応するKeyword11914として、「ABCD」が格納されている。
【0067】
ユーザは、テープグループ142に格納されたデータを論理ボリューム140にコピーすることによって、論理ボリューム140を復元(リストア)することができる。このコピーを実行するときに、ユーザは、コピー元のテープグループ142を、Keyword11914に格納されたキーワードによって指定することができる(図17参照)。
【0068】
暗号化11915は、各テープグループ142に暗号化されたデータが格納されるか否かを示す情報である。「ON」は暗号化されたデータが格納されることを、「OFF」は暗号化されていない(すなわち平文の)データが格納されることを示す。ユーザは、テープグループ142へのデータのバックアップを実行する場合、そのデータを暗号化してテープグループ142に格納するか否かを予め決定し、その決定の結果を示す値(すなわち「ON」又は「OFF」)を暗号化11915として設定することができる。
【0069】
図7は、本発明の実施形態の鍵情報テーブル1121の説明図である。
【0070】
鍵情報テーブル1121は、テープグループ142に格納されるデータを暗号化するために使用される暗号鍵自体を保持する。具体的には、鍵情報テーブル1121は、鍵ID11211及び鍵データ11212を含む。
【0071】
鍵ID11211は、暗号鍵の識別子である。
【0072】
鍵データ11212は、暗号鍵、すなわち、テープグループ142に格納されるデータを暗号化するために使用されるデータ列である。この暗号鍵は、平文の状態で記録されてもよいが、暗号鍵の不正な読み出し及び使用を防ぐため、この暗号鍵自体が例えばコントローラ110が保持する所定の暗号鍵によって暗号化されていることが望ましい。
【0073】
例えば、鍵ID11211及び鍵データ11212としてそれぞれ「aaaaaaaa」及び「Mxxxxxxxxxxxxxxxx」が記録される。この場合、識別子「aaaaaaaa」によって得られる暗号鍵が「Mxxxxxxxxxxxxxxxx」である。この暗号鍵が所定の暗号鍵によって暗号化されている場合、「Mxxxxxxxxxxxxxxxx」を復号化することによって得られたデータ列が暗号鍵として使用される。
【0074】
図8は、本発明の実施形態のTG鍵情報テーブル1122の説明図である。
【0075】
TG鍵情報テーブル1122は、各テープグループ142に格納されるデータを暗号化するために使用される暗号鍵を管理する。具体的には、TG鍵情報テーブル1122は、TG番号11221、予約鍵ID11222及び取得鍵ID11223を含む。
【0076】
TG番号11221は、各テープグループ142に付与された番号である。
【0077】
予約鍵ID11222は、次回に各テープグループ142に格納されるデータを暗号化するために使用される暗号鍵の識別子である。
【0078】
取得鍵ID11223は、現在各テープグループ142に格納されているデータを暗号化するために使用された暗号鍵の識別子である。
【0079】
例えば、図8において、TG#0に対応する予約鍵ID11222及び取得鍵ID11223としてそれぞれ「aaaaaaaa」及び「aaaaaaaa」が記録されている。これは、TG#0に現在格納されているデータが、「aaaaaaaa」によって識別される暗号鍵によって暗号化されていること、及び、TG#0に次回格納されるデータも「aaaaaaaa」によって識別される暗号鍵によって暗号化されることを示す。
【0080】
一方、図8において、TG#2に対応する予約鍵ID11222として「cccccccc」が格納され、取得鍵ID11223には有効な値が格納されていない。これは、TG#2に暗号化されたデータがまだ格納されていないこと、及び、TG#2に次回格納されるデータは「cccccccc」によって識別される暗号鍵によって暗号化されることを示す。
【0081】
図9は、本発明の実施形態の鍵バックアップファイル900の説明図である。
【0082】
鍵バックアップファイル900は、鍵情報テーブル1121に記録された暗号鍵をバックアップするために作成され、管理者によって保管される。
【0083】
例えば、論理ボリューム140に格納されたデータの複製をバックアップのために暗号化してテープグループ142に格納した場合、そのデータをテープから読み出して、暗号化に使用された暗号鍵を用いて復号化しない限り、そのデータを論理ボリューム140にリストアすることができない。したがって、バックアップからリストアまでの間に暗号鍵が失われた場合、リストアをすることができなくなる。
【0084】
あるいは、あるストレージシステム(例えばストレージシステム101A)のコントローラ110によって暗号化されたデータを格納するテープグループ142を、別のストレージシステム(例えばストレージシステム101B)に装着して、そのストレージシステム101Bの論理ボリューム140にデータをリストアする場合がある。暗号化に使用された暗号鍵は、その暗号化を実行したコントローラ110(上記の例ではストレージシステム101Aのコントローラ110)の鍵情報テーブル1121に記録される。したがって、その暗号鍵をストレージシステム101Bのコントローラ110にも保持させない限り、ストレージシステム101Bのコントローラ110は、そのテープグループ142のデータをリストアすることができない。このことは、バックアップデータの不正な読み出しを防ぐためには有効である。しかし、正当な使用のためにテープグループ142を別のストレージシステム101Bにマウントする場合には、暗号鍵を安全にストレージシステム101Bに与える必要がある。
【0085】
鍵バックアップファイル900は、上記のような場合に備えて暗号鍵を安全に保管するために作成される。
【0086】
鍵バックアップファイル900は、鍵ID9001及び暗号化された鍵データ9002を含む。
【0087】
鍵ID9001は、暗号鍵の識別子である。この識別子は、鍵情報テーブル1121の鍵ID11211に対応する。
【0088】
暗号化された鍵データ9002は、鍵情報テーブル1121に記録された暗号鍵を別の暗号鍵によって暗号化することによって生成されたデータである。鍵情報テーブル1121に記録された暗号鍵が所定の暗号鍵によって暗号化されている場合、その所定の暗号鍵によって復号化した後、それをさらに後述する保護鍵によって暗号化することによって、鍵データ9002が生成される。
【0089】
なお、これらの暗号鍵を区別するために、以下の説明において、鍵情報テーブル1121に登録されている暗号鍵(すなわち、テープグループ142に格納されるデータを暗号化するために使用される暗号鍵)は、データ暗号鍵とも記載される。一方、データ暗号鍵を暗号化するために使用される暗号鍵は、保護鍵とも記載される。
【0090】
保護鍵は、鍵情報テーブル1121に記録された暗号鍵を安全にバックアップするために使用される暗号鍵である。鍵管理プログラム120は、管理者によって入力された任意のパスワードに基づいて、保護鍵を生成することができる。
【0091】
例えば、図9において、鍵ID9001の値「aaaaaaaa」に対応する暗号化された鍵データ9002として「Pxxxxxxxxxxxxxxxx」が記録されている。これは、「Pxxxxxxxxxxxxxxxx」が、図7に示す鍵ID11211の値「aaaaaaaa」に対応する暗号鍵「Mxxxxxxxxxxxxxxxx」を保護鍵によって暗号化することによって生成されたデータであることを示す。
【0092】
管理者は、生成された鍵バックアップファイル900を、任意の場所、例えば、管理端末103、ホスト102、又は、図1に示す計算機システムに含まれない記憶媒体(図示省略)に格納することができる。
【0093】
図10は、本発明の実施形態のテープ格納情報1000の説明図である。
【0094】
テープ格納情報1000は、テープグループ142にバックアップのためにデータが格納されるときに、そのテープグループに含まれるテープメディアに格納される。例えば、テープ格納情報1000は、テープメディアに含まれる、巻き取られたテープの先頭又は末尾に格納されてもよい。あるいは、テープ格納情報1000の一部がテープの先頭に、別の一部がテープの末尾に格納されてもよい。あるいは、テープメディアが、ケースに取り付けられたフラッシュメモリのような記憶媒体を含む場合、テープ格納情報1000はその記憶媒体に格納されてもよい。
【0095】
テープ格納情報は、TG10001、TG固有識別子10002、Tape10003、Keyword10004、暗号化10005及び鍵ID10006を含む。
【0096】
TG10001、TG固有識別子10002、Tape10003、Keyword10004及び暗号化10005は、それぞれ、図6のTG11911、TG固有識別子11912、Tape11913、Keyword11914及び暗号化11915に対応する。鍵ID10006は、図7の鍵ID11211に対応する。
【0097】
次に、本実施形態において実行される処理について、フローチャートを参照して説明する。TG設定処理(図11)及び鍵バックアップ処理(図12)は、論理ボリューム140に格納されたデータをテープグループ142にバックアップする前に実行される。鍵リストア処理(図13)及びテープインポート処理(図14)は、テープグループ142にバックアップされたデータを論理ボリューム140にリストアする前に実行される。鍵変更処理(図15)は、暗号鍵を変更するために実行される。バックアップ取得処理(図17)及びテープからのリストア処理(図18)は、それぞれ、論理ボリューム140に格納されたデータをテープグループ142にバックアップする処理、及び、テープグループ142に格納されたデータを論理ボリューム140にリストアする処理である。以下、これらの処理について詳細に説明する。
【0098】
図11は、本発明の実施形態のTG設定処理を示すフローチャートである。
【0099】
TG設定処理は、データのバックアップ先となるテープグループ142を新たに設定するために実行される。
【0100】
最初に、管理者は、少なくともテープグループ番号及び暗号化ON/OFFを指定して、テープグループ142の設定を指示する(S1101)。具体的には、例えば管理者は、上記の指定を管理端末103に入力する。
【0101】
テープグループ番号は、新たに設定されるテープグループ142に付与される番号である。管理者は、テープ管理テーブル1191のTG11911にまだ登録されていない番号のうち、任意の番号を指定することができる。管理者は、複数のテープグループ142を新たに設定する必要がある場合、複数のテープグループ番号を指定してもよい。
【0102】
暗号化ON/OFFは、新たに設定されるテープグループ142に暗号化されたデータを格納するか否かを示す値である。管理者は、バックアップされるデータの内容等に基づいて、暗号化「ON」(すなわち、暗号化されたデータをテープグループ142に格納すること)、又は、暗号化「OFF」(すなわち、暗号化されていないデータをテープグループ142に格納すること)を指定することができる。
【0103】
上記の指定を入力された管理プログラム310は、入力された指定を含む情報をコントローラ110に送信する(S1102)。
【0104】
この情報を受信したコントローラ110のテープ制御プログラム119は、指定に従って、テープグループ142をテープ管理テーブル1191に登録する(S1103)。具体的には、テープ制御プログラム119は、テープ管理テーブル1191に新たな行を追加し、その行のTG11911に、指定されたテープグループ番号を登録する。
【0105】
次に、テープ制御プログラム119は、このTG設定処理によって新たに設定されるテープグループ142に暗号化されたデータが格納されるか否かを判定する(S1104)。具体的には、テープ制御プログラム119は、暗号化「ON」又は「OFF」のいずれが指定されたかを判定する。
【0106】
暗号化「OFF」が指定された場合、新たに設定されたテープグループ142に格納されるデータを暗号化するための暗号鍵を新たに生成する必要はない。このため、処理はS1108に進む。
【0107】
一方、暗号化「ON」が指定された場合、鍵管理プログラム120は、新しい鍵ID及び鍵データを生成する(S1105)。
【0108】
次に、鍵管理プログラム120は、生成した鍵ID及び鍵データを、それぞれ、鍵情報テーブル1121の鍵ID11211及び鍵データ11212に登録する(S1106)。
【0109】
次に、鍵管理プログラム120は、生成した鍵IDを、TG鍵情報テーブル1122の指定されたテープグループ番号(TG番号11221)に対応する予約鍵ID11222に登録する(S1107)。
【0110】
次に、コントローラ110は、ステップ1101において指定されたテープグループ番号の全てについて上記のS1103からS1107までの処理が終了したか否かを判定する(S1108)。全てのテープグループ番号について上記の処理が終了していない場合、処理はS1103に戻り、残りのテープグループ番号についてS1103以降の処理が実行される。一方、全てのテープグループ番号について上記の処理が終了した場合、TG設定処理が終了する。
【0111】
例えば、S1101においてテープグループ番号「2」及び暗号化「ON」が指定された場合、テープ管理テーブル1191に新たに追加された行のTG11911及び暗号化11915に、それぞれ、「2」及び「ON」が登録される(S1103)。この時点で、テープグループ番号「2」が付与されたテープグループ142(すなわちTG#2)にデータを格納するバックアップ処理は、まだ実行されていない。このため、TG#2には、まだTG固有識別子11912が付与されておらず、テープ132もまだ割り当てられておらず、TG#2を検索するためのキーワードもまだ決定されていない。したがって、この時点で、TG固有識別子11912、Tape11913及びKeyword11914には有効な値が登録されていない(図6参照)。
【0112】
その後、S1105において例えば新たな鍵ID及び鍵データとしてそれぞれ「cccccccc」及び「Mzzzzzzzzzzzzzzzz」が生成された場合、鍵情報テーブル1121に新たに追加された行にこれらの値が登録される(S1106)(図7参照)。
【0113】
さらに、TG鍵情報テーブル1122の、テープグループ番号「2」に対応する予約鍵ID11222に、生成された「cccccccc」が登録される(S1107)。この時点で、まだ新たに生成されたデータ暗号鍵によって暗号化されたデータがテープグループ142に格納されていないため、テープグループ番号「2」に対応する取得鍵ID11223には有効な値が登録されていない(図8参照)。
【0114】
通常、テープグループ142にバックアップされるデータは、論理ボリューム140から読み出された後、圧縮され、必要に応じて暗号化されてから、テープグループ142に格納される。圧縮後のデータ量は、圧縮前のデータの冗長性及び使用される圧縮アルゴリズム等に依存する。このため、圧縮を実行する前に圧縮後のデータ量を予測することは困難である。したがって、バックアップを実行する前に予めテープグループ142にテープ132を割り当てることはできない。
【0115】
しかし、本実施形態によれば、上記の図11の処理を実行することによって、まだテープ132が割り当てられていないテープグループ142にデータ暗号鍵を割り当てることができる。
【0116】
図12は、本発明の実施形態の鍵バックアップ処理を示すフローチャートである。
【0117】
鍵バックアップ処理は、生成されたデータ暗号鍵、すなわち、鍵情報テーブル1121に登録されている暗号鍵の少なくとも一つをバックアップするために実行される。この暗号鍵は、安全な保管のために、保護鍵によって暗号化されてからバックアップされる。
【0118】
管理者は、鍵バックアップ処理の対象となるテープグループ142のテープグループ番号及び派生用パスワードを管理プログラム310に入力する(S1201)。管理者は、鍵バックアップ処理の対象として複数のテープグループ142を指定してもよい。その場合、S1201において複数のテープグループ番号が入力される。
【0119】
派生用パスワードは、後述するように、保護鍵を生成するために使用される。管理者は、任意の文字列等を派生用パスワードとして入力することができる。
【0120】
次に、管理プログラム310は、入力された情報をコントローラ110に送信する(S1202)。
【0121】
この情報を受信したコントローラ110の鍵管理プログラム120は、派生用パスワードに基づいて保護鍵を生成し、生成した保護鍵を用いてデータ暗号鍵を暗号化する(S1203)。
【0122】
具体的には、鍵管理プログラム120は、TG鍵情報テーブル1122を参照して、入力されたテープグループ番号と同一のテープグループ番号11221に対応する予約鍵ID11222及び取得鍵ID11223の少なくとも一方に登録されている鍵IDを特定する。そして、鍵管理プログラム120は、鍵情報テーブル1121を参照して、特定された鍵IDと同一の鍵ID11211に対応する鍵データ11212を取得し、その鍵データ11212を暗号化する。
【0123】
なお、S1201において複数のテープグループ番号が入力された場合、入力された全てのテープグループ番号についてS1203の処理が実行される。
【0124】
次に、鍵管理プログラム120は、暗号化されたデータ暗号鍵及び鍵属性情報を管理プログラム310に送信する(S1204)。鍵属性情報は、少なくとも、暗号化されたデータ暗号鍵に対応する鍵ID11211の値を含む。暗号化されたデータ暗号鍵及び鍵属性情報は、鍵バックアップファイル900として送信されてもよい。
【0125】
管理者は、鍵バックアップファイル900を取得し、保管する(S1205)。管理者は、S1201において自分が管理しようとするテープグループ142のみを指定することによって、自分が必要とする暗号鍵のみを含む鍵バックアップファイル900を取得することができる。
【0126】
上記の図11及び図12の処理によれば、鍵バックアップファイル900の取得は、まだテープグループ142に実際にバックアップデータが格納される前に実行することができる。このため、管理者は、自分が管理しようとするテープグループ142が既に決定している場合、そのテープグループ142がまだ使用されていない段階(例えば、初期設定の段階)で鍵バックアップファイル900を取得しておけば、以後、暗号鍵を変更しない限り、再度鍵バックアップファイル900を取得する必要がない。
【0127】
この鍵バックアップファイル900は、漏洩して不正に使用されたり、紛失したりすることのないように安全に保管される必要がある。例えば、鍵バックアップファイル900は、図1の計算機システムとは別のサイトで保管されてもよい。さらに、S1203において使用された派生用パスワードは、暗号化されたデータ暗号鍵を復号化するために必要であるため、管理者によって安全に保管される必要がある。
【0128】
以上で、鍵バックアップ処理が終了する。
【0129】
図13は、本発明の実施形態の鍵リストア処理を示すフローチャートである。
【0130】
鍵リストア処理は、鍵バックアップファイル900を用いてデータ暗号鍵をコントローラ110内に復元(リストア)するために実行される。
【0131】
例えば、ストレージシステム101Aのコントローラ110においてデータ暗号鍵が生成され、そのデータ暗号鍵を使用したストレージシステム101Aの論理ボリューム140からストレージシステム101Aのテープグループ142へのバックアップが実行された後で、ハードウェア障害、ソフトウェア障害又は人為的な誤操作等によってデータ暗号鍵が失われる場合がある。データ暗号鍵が失われると、テープグループ142にバックアップされたデータを読み出しても、それを復号化して利用することができない。このような場合、鍵リストア処理を実行することによって、ストレージシステム101Aのコントローラ110にデータ暗号鍵をリストアすることができる。
【0132】
あるいは、上記と同様にストレージシステム101Aのテープグループ142へのバックアップが実行された後、そのテープグループ142がストレージシステム101Aから取り出され、別のストレージシステム、例えばストレージシステム101Bに装着される場合がある。ストレージシステム101Bのコントローラ110は、そのテープグループ142のデータ暗号鍵を保持していなければ、そのデータを復号化して利用することができない。このような場合、鍵リストア処理を実行することによって、ストレージシステム101Bのコントローラ110にデータ暗号鍵をリストアすることができる。
【0133】
データ暗号鍵をリストアされると、コントローラ110は、テープグループ142から読み出されたデータを復号化して利用することができる。
【0134】
最初に、管理者は、鍵バックアップファイル900及び派生用パスワードを管理プログラム310に入力する(S1301)。
【0135】
管理プログラム310は、入力された情報を、リストア先のコントローラ110に送信する(S1302)。
【0136】
この情報を受信したコントローラ110の鍵管理プログラム120は、派生用パスワードに基づいて保護鍵を生成し、生成された保護鍵を用いてデータ暗号鍵を復号化する(S1303)。
【0137】
次に、鍵管理プログラム120は、復号化されたデータ暗号鍵、及び、そのデータ暗号鍵に対応する鍵IDを、それぞれ、鍵情報テーブル1121の鍵データ11212及び鍵ID11211に登録する(S1304)。
【0138】
以上で鍵リストア処理が終了する。
【0139】
図14は、本発明の実施形態のテープインポート処理を示すフローチャートである。
【0140】
テープインポート処理は、テープメディアに格納されたテープ格納情報1000をテープ管理テーブル1191に登録するために実行される。この処理は、例えば、テープグループを構成するテープメディアがテープライブラリ装置130に挿入されたときに実行される。
【0141】
最初に、テープ制御プログラム119は、テープメディアからテープ格納情報1000を読み込む(S1401)。
【0142】
次に、テープ制御プログラム119は、読み込まれたテープ格納情報1000のTG10001と、既にテープ管理テーブル1191に登録されているTG11911とが重複するか否か(すなわち、TG10001と同一の値が既にTG11911として登録されているか否か)を判定する(S1402)。
【0143】
既に説明したように、コントローラ110は、そのコントローラ110によって制御される範囲内で一意のテープグループ番号を各テープグループ142に付与するが、その番号は計算機システム内で一意ではない。言い換えると、一つの計算機システム内に、同一のテープグループ番号が付与された、互いに異なるテープグループ142が存在する可能性がある。このため、あるコントローラ110によってテープグループ番号を付与されたテープグループ142が、そのコントローラ110とは別のコントローラ110によって制御されるテープライブラリ装置130に挿入された場合、そのコントローラ110によって制御される範囲内でテープグループ番号の重複が発生する可能性がある。
【0144】
しかし、コントローラ110が正しくデータの暗号化及び復号化を制御するためには、少なくとも、一つのコントローラ110によって制御される範囲内で、テープグループ番号が一意である必要がある。このため、S1402においてテープグループ番号の重複が検出された場合、テープグループ番号を変更することによって重複を解消する必要がある。
【0145】
S1402において、読み込まれたTG10001と同一の値が既にTG11911として登録されていると判定された場合、解消すべきテープグループ番号の重複が発生している。この場合管理者は、少なくともコントローラ110が制御する範囲内で一意の新たなテープグループ番号を指定する(S1403)。
【0146】
次に、テープ制御プログラム119は、読み込まれたテープ格納情報1000をテープ管理テーブル1191に登録する(S1404)。具体的には、テープ制御プログラム119は、読み込まれたテープ格納情報1000のTG10001、TG固有識別子10002、Tape10003、Keyword10004及び暗号化10005の値を、テープ管理テーブル1191に新たに追加された行のTG11911、TG固有識別子11912、Tape11913、Keyword11914及び暗号化11915に登録する。
【0147】
ただし、S1403において新たなテープグループ番号が指定された場合、読み込まれたTG10001の代わりに、S1403において指定された新たなテープグループ番号がTG11911に登録される。
【0148】
一方、S1402において、読み込まれたTG10001と同一の値が既にTG11911として登録されていないと判定された場合、解消すべきテープグループ番号の重複が発生していない。この場合、S1403は実行されない。このため、S1404において、読み込まれたTG10001がTG11911に登録される。
【0149】
なお、S1402において、読み込まれたTG10001と同一の値が既にTG11911として登録されていると判定された場合であっても、それらのTG10001及びTG11911に対応するTG固有識別子10002及びTG固有識別子11912が同一である場合がある。この場合、読み込まれたTG10001と、それと同一のTG11911とは、同一のテープグループ142に付与されたものである。したがって、この場合は解消すべきテープグループ番号の重複が発生していないため、S1403は実行されない。
【0150】
次に、テープ制御プログラム119は、読み込まれたテープ格納情報1000に対応するテープグループ142(すなわち、読み込まれたテープ格納情報1000が格納されたテープメディアによって構成されるテープグループ142)に格納されているデータが暗号化されているか否かを判定する(S1405)。具体的には、テープ制御プログラム119は、読み込まれたテープ格納情報1000の暗号化10005の値が「ON」であるか否かを判定する。
【0151】
データが暗号化されていると判定された場合、鍵管理プログラム120は、読み込まれたテープ格納情報1000の鍵ID10006の値を、TG鍵情報テーブル1122に登録する(S1406)。具体的には、鍵管理プログラム120は、TG鍵情報テーブル1122に新たな行を追加し、その行のテープグループ番号11221及び取得鍵ID11223に、それぞれ、読み込まれたTG10001(又はS1403で指定されたテープグループ番号)及び読み込まれた鍵ID10006の値を登録する。
【0152】
以上でテープインポート処理が終了する。なお、S1405において、データが暗号化されていないと判定された場合、S1406は実行されずにテープインポート処理が終了する。
【0153】
図15は、本発明の実施形態の鍵変更処理を示すフローチャートである。
【0154】
鍵変更処理は、データ暗号鍵を変更するために実行される。
【0155】
最初に、管理者は、テープグループ142を選択し、そのテープグループ142に格納されるデータを暗号化するためのデータ暗号鍵を変更する指示を管理プログラム310に入力する(S1501)。
【0156】
管理プログラム310は、入力された情報をコントローラ110に送信する(S1502)。
【0157】
この情報を受信したコントローラ110の鍵管理プログラム120は、新しい鍵ID及び新しい鍵データを生成する(S1503)。
【0158】
次に、鍵管理プログラム120は、生成した新しい鍵ID及び新しい鍵データを、それぞれ、鍵情報テーブル1121の鍵ID11211及び鍵データ11212に登録する(S1504)。
【0159】
次に、鍵管理プログラム120は、生成した新しい鍵IDをTG鍵情報テーブル1122に登録する(S1505)。具体的には、鍵管理プログラム120は、S1501において選択されたテープグループ142のテープグループ番号11221に対応する予約鍵ID11222に、生成した新しい鍵IDを登録する。
【0160】
以上で鍵変更処理が終了する。
【0161】
図16は、本発明の実施形態のバックアップ取得処理を示すフローチャートである。
【0162】
バックアップ取得処理は、論理ボリューム140に格納されているデータをテープグループ142にバックアップするために実行される。あるいは、バックアップ取得処理は、あるテープグループ142に格納されているデータを別のテープグループ142にバックアップするために実行されてもよい。
【0163】
最初に、指示プログラム220は、バックアップ指示を発行する(S1601)。このバックアップ指示は、一つ又は複数のバックアップ対象及びキーワードの指定を含む。
【0164】
バックアップ対象の指定は、バックアップ元(すなわちデータのコピー元)である論理ボリューム140又はテープグループ142の指定、及び、バックアップ先(すなわちデータのコピー先)であるテープグループ142の指定を含む。キーワードは、ユーザがテープグループ142を検索するときに使用されるキーワードであり、後でテープ管理テーブル1191のKeyword11914として登録される。例えば、ユーザ又は管理者が任意のバックアップ対象及び任意のキーワードを指定してもよい。
【0165】
次に、コピー制御プログラム117は、テープ管理テーブル1191を参照する(S1602)。
【0166】
次に、コピー制御プログラム117は、バックアップ先として指定されたテープグループ142に対応する暗号化11915の値が「ON」であるか否かを判定する(S1603)。
【0167】
暗号化11915の値が「ON」であると判定された場合、バックアップ先として指定されたテープグループ142に暗号化されたデータをバックアップする必要がある。このため、コピー制御プログラム117は、指定されたテープグループ142に予め割り当てられているデータ暗号鍵をテープドライブ131に設定する(S1604)。
【0168】
具体的には、コピー制御プログラム117は、TG鍵情報テーブル1122を参照して、バックアップ先として指定されたテープグループ142に対応する予約鍵ID11222を特定する。そして、コピー制御プログラム117は、鍵情報テーブル1121を参照して、特定された予約鍵ID11222と同一の鍵ID11211によって識別される鍵データ11212をテープドライブ131に設定する。
【0169】
さらに、S1604においてコピー制御プログラム117は、特定された予約鍵ID11222の値を、バックアップ先として指定されたテープグループ142に対応する取得鍵ID11223として登録する。
【0170】
次に、コピー制御プログラム117は、指示されたバックアップのためのデータコピーを実行する(S1605)。具体的には、コピー制御プログラム117は、指定されたバックアップ元からデータを読み出す。そして、コピー制御プログラム117は、バックアップ先として指定されたテープグループ142に読み出されたデータを格納することをテープドライブ131に指示する。テープドライブ131は、S1604において設定された鍵データ11212を用いてデータを暗号化し、暗号化されたデータをテープグループ142に含まれる各テープ132に格納する。
【0171】
さらに、S1605においてコピー制御プログラム117は、テープ格納情報1000を生成し、そのテープ格納情報1000をテープメディアに格納することをテープドライブ131に指示する。
【0172】
具体的には、S1605のコピーの実行の結果、テープ管理テーブル1191のうち、コピー先(すなわちバックアップ先)のテープグループ142に関する内容が確定する。コピー制御プログラム117は、確定した内容をテープ管理テーブル1191に反映させる。さらに、コピー制御プログラム117は、確定した内容が反映されたテープ格納情報1000を生成し、テープメディアに格納させる。
【0173】
図11を参照して説明したように、TG設定処理が終了した時点で、設定されたテープグループ142に対応するTG固有識別子11912、Tape11913及びKeyword11914の値は確定していない。その後、S1605のコピーが実行されると、これらの値が確定し、テープ管理テーブル1191に登録される。
【0174】
例えば、S1601において、バックアップ先としてTG#0、キーワードとして「ABCD」が指定された場合について説明する。
【0175】
バックアップ取得処理が実行される前の時点において、テープ管理テーブル1191のTG#0に対応するTG固有識別子11912、Tape11913及びKeyword11914には有効な値が登録されていない。
【0176】
その後、Keyword11914には、S1601において指定された「ABCD」が登録される。
【0177】
S1605のコピーの実行の結果、TG#0の固有識別子として「AAAAAAAA」が決定された場合、「AAAAAAAA」がTG固有識別子11912として登録される。
【0178】
S1605のコピーの実行の結果、コピー元の論理ボリューム140のデータが、テープ番号「1001」、「1002」及び「1003」によって識別される三つのテープ132に格納された場合、「1001」、「1002」及び「1003」がTape11913として登録される。
【0179】
この場合、S1605において生成されるテープ格納情報1000のTG10001、TG固有識別子10002、Tape10003、Keyword10004及び暗号化10005として、それぞれ、TG#0に対応するTG11911、TG固有識別子11912、Tape11913、Keyword11914及び暗号化11915と同じ値が設定される。さらに、TG鍵情報テーブル1122に基づいて、TG#0に対応する取得鍵ID11223の値「aaaaaaaa」が鍵ID10006として設定される。
【0180】
ただし、既に説明したように、一般にバックアップされるデータは圧縮されるため、一つのテープグループが最終的にいくつのテープ132を含むか、S1605のコピーの実行が終了するまでわからない。
【0181】
例えば、テープ番号「1001」、「1002」及び「1003」によって識別される三つのテープ132に、バックアップされるデータがそのテープ番号の順に格納される場合、テープ番号「1001」によって識別されるテープ132へのデータの格納が終了した時点では、残りのデータがどのテープ132に格納されるか確定していない。
【0182】
このため、例えば、テープ番号「1001」及び「1002」によって識別されるテープ132のテープメディアに格納されるテープ格納情報1000のTape10003には、情報を登録せず、コピーが終了した際の最終テープであるテープ番号「1003」によって識別されるテープ132のテープメディアに格納されるテープ格納情報1000のTape10003のみ、「1001」、「1002」及び「1003」が登録されてもよい。
【0183】
一方、S1603において暗号化11915の値が「OFF」であると判定された場合、バックアップ先として指定されたテープグループ142にバックアップするデータを暗号化する必要がない。このため、コピー制御プログラム117は、暗号化「OFF」(すなわち、暗号化しないことを示す情報)をテープドライブ131に設定する(S1606)。
【0184】
次に、コピー制御プログラム117は、指示されたバックアップを実行する(S1607)。S1607において実行される処理は、S1605において実行されるものと同様である。ただし、データを暗号化する必要がないため、テープドライブ131は、データを暗号化せずに各テープ132に格納する。
【0185】
S1605又はS1607が実行された後、テープ制御プログラム119は、指定されたキーワードを、バックアップ先として指定されたテープグループ142に対応するKeyword11914として、テープ管理テーブル1191に登録する。さらに、テープ制御プログラム119は、決定されたTG固有識別子及びテープ番号をテープ管理テーブル1191のTG固有識別子11912及びTape11913に登録する(S1608)。
【0186】
次に、コピー制御プログラム117は、指定された全てのテープグループ142について上記のバックアップの実行が終了したか否かを判定する(S1609)。
【0187】
全てのテープグループ142についてバックアップの実行が終了していない場合、処理はS1602に戻り、残りのテープグループ142についてのバックアップが実行される。
【0188】
全てのテープグループ142についてバックアップの実行が終了した場合、バックアップ取得処理が終了する。
【0189】
図17は、本発明の実施形態のテープからのリストア処理を示すフローチャートである。
【0190】
テープからのリストア処理は、テープグループ142に格納されているデータを論理ボリューム140(又は別のテープグループ142)にリストアするために実行される。
【0191】
最初に、指示プログラム220は、リストア指示を発行する(S1701)。このリストア指示は、一つ又は複数のリストア対象又はキーワードの指定を含む。
【0192】
リストア対象の指定は、リストア元(すなわちデータのコピー元)であるテープグループ142の指定、及び、リストア先(すなわちデータのコピー先)である論理ボリューム140又はテープグループ142の指定を含む。キーワードは、図16におけるものと同様、ユーザがテープグループ142を検索するときに使用されるキーワードである。
【0193】
キーワードが指定された場合、コントローラ110のテープ制御プログラム119は、テープ管理テーブル1191を参照して、指定されたキーワードと同一のKeyword11914に対応するテープグループ142、及び、そのテープグループ142に含まれるテープ132を、リストア元(すなわちデータのコピー元)として指定する(S1702)。
【0194】
次に、コピー制御プログラム117は、テープ管理テーブル1191を参照して、リストア元として指定されたテープグループ142に対応する暗号化11915の値が「ON」であるか否かを判定する(S1703)。
【0195】
暗号化11915の値が「ON」であると判定された場合、リストア元として指定されたテープグループ142には暗号化されたデータが格納されている。すなわち、そのテープグループ142から読み出されたデータを復号化する必要がある。このため、コピー制御プログラム117は、データ暗号鍵をテープドライブ131に設定する(S1704)。
【0196】
具体的には、コピー制御プログラム117は、TG鍵情報テーブル1122を参照して、バックアップ先として指定されたテープグループ142に対応する取得鍵ID11223を特定する。そして、コピー制御プログラム117は、鍵情報テーブル1121を参照して、特定された取得鍵ID11223と同一の鍵ID11211によって識別される鍵データ11212をテープドライブ131に設定する。
【0197】
次に、コピー制御プログラム117は、指示されたリストアのためのデータコピーを実行する(S1705)。具体的には、まず、テープライブラリ装置130が、コピー制御プログラム117からの指示に従って、指定されたテープグループ142に含まれるテープ132をテープドライブ131に装着する。テープドライブ131は、装着されたテープからデータを読み出し、設定された鍵データ11212を用いて読み出されたデータを復号化する。コピー制御プログラム117は、復号化されたデータをリストア先にコピーする。
【0198】
一方、S1703において暗号化11915の値が「OFF」であると判定された場合、リストア元として指定されたテープグループ142には暗号化されていないデータが格納されている。すなわち、そのテープグループ142から読み出されたデータを復号化する必要がない。この場合、コピー制御プログラム117は、指示されたリストアのためのデータコピーを実行する(S1706)。
【0199】
S1706において実行される処理は、S1705において実行されるものと同様である。ただし、格納されているデータが暗号化されていないため、テープドライブ131は、データを復号化しない。
【0200】
次に、コピー制御プログラム117は、指定された全てのテープグループ142について上記のリストアの実行が終了したか否かを判定する(S1708)。
【0201】
全てのテープグループ142についてリストアの実行が終了していない場合、処理はS1702に戻り、残りのテープグループ142についてのリストアが実行される。
【0202】
全てのテープグループ142についてリストアの実行が終了した場合、テープからのリストア処理が終了する。
【0203】
以上の本発明の実施形態によれば、論理的な管理単位であるテープグループごとに暗号鍵を割り当てることによって、使用される暗号鍵の数を必要最小限に抑えることができる。また、本実施形態によれば、まだ実際にテープが割り当てられていないテープグループに予め暗号鍵を割り当てることができる。このため、管理者は、自分が管理する必要があるテープグループの暗号鍵のバックアップファイルを初期設定時に保存すれば、以後、暗号鍵が変更されない限り、再び暗号鍵のバックアップファイルを取得する必要がない。このため、鍵の管理が容易になる。
【0204】
さらに、従来の鍵管理サーバ等は暗号化されていない暗号鍵を扱うため、鍵管理サーバ等を安全に保つ必要があった。このため、従来の鍵管理サーバ等は、暗号鍵を安全に保つための特殊なハードウェア等を備える必要があり、その結果コストが上昇するという問題があった。しかし、本実施形態によれば、暗号鍵のバックアップファイルは、保護鍵によって暗号化される。したがって、暗号鍵のバックアップファイルを高価な鍵管理サーバ等に保管する必要がないため、低コストで安全に鍵を管理することができる。
【図面の簡単な説明】
【0205】
【図1】本発明の実施形態の計算機システムの構成を示すブロック図である。
【図2】本発明の実施形態のコントローラの構成を示すブロック図である。
【図3】本発明の実施形態のディスク装置が提供する記憶領域の説明図である。
【図4】本発明の実施形態のテープグループの説明図である。
【図5】本発明の実施形態のディスク管理テーブルの説明図である。
【図6】本発明の実施形態のテープ管理テーブルの説明図である。
【図7】本発明の実施形態の鍵情報テーブルの説明図である。
【図8】本発明の実施形態のTG鍵情報テーブルの説明図である。
【図9】本発明の実施形態の鍵バックアップファイルの説明図である。
【図10】本発明の実施形態のテープ格納情報の説明図である。
【図11】本発明の実施形態のTG設定処理を示すフローチャートである。
【図12】本発明の実施形態の鍵バックアップ処理を示すフローチャートである。
【図13】本発明の実施形態の鍵リストア処理を示すフローチャートである。
【図14】本発明の実施形態のテープインポート処理を示すフローチャートである。
【図15】本発明の実施形態の鍵変更処理を示すフローチャートである。
【図16】本発明の実施形態のバックアップ取得処理を示すフローチャートである。
【図17】本発明の実施形態のテープからのリストア処理を示すフローチャートである。
【符号の説明】
【0206】
101A、101B ストレージシステム
110 コントローラ
111 メモリ
112 CPU
113 上位インターフェース(I/F)
114 下位I/F
115 I/F
116 ブリッジ
117 コピー制御プログラム
118 ディスク制御プログラム
119 テープ制御プログラム
120 鍵管理プログラム
150A〜150N ディスク装置
130 テープライブラリ装置
131A、131B テープドライブ
132A〜132N テープ
140A〜140C 論理ボリューム
142A、142B テープグループ

【特許請求の範囲】
【請求項1】
ディスク記憶装置と、テープ記憶媒体を装着可能なテープ記憶装置と、前記ディスク記憶装置及び前記テープ記憶装置を制御するコントローラと、を備えるストレージシステムであって、
前記コントローラは、ネットワークに接続される第1インターフェースと、前記ディスク記憶装置及び前記テープ記憶装置に接続される一つ以上の第2インターフェースと、前記第1インターフェース及び前記第2インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記コントローラは、
一つ以上の前記テープ記憶媒体を含むテープグループを設定する要求を受信すると、前記要求によって設定されるテープグループに格納されるデータを暗号化するために使用されるべき第1暗号鍵を生成し、
前記生成された第1暗号鍵と前記テープグループとを対応付ける情報を保持することを特徴とするストレージシステム。
【請求項2】
前記コントローラは、
前記ディスク記憶装置に格納されたデータを前記テープグループにバックアップする要求を受信すると、前記テープ記憶装置が前記ディスク記憶装置に格納されたデータを前記テープグループに対応付けられた前記第1暗号鍵を用いて暗号化するように制御し、
前記テープ記憶装置が、前記暗号化されたデータ、前記テープグループを識別する情報、及び、前記第1暗号鍵を識別する情報を、前記テープグループに含まれる複数の前記テープ記憶媒体に格納するように制御することを特徴とする請求項1に記載のストレージシステム。
【請求項3】
前記コントローラは、
前記テープグループに格納されたデータを前記ディスク記憶装置にリストアする要求を受信すると、前記テープ記憶装置が前記テープグループに含まれる複数の前記テープ記憶媒体からデータを読み出すように制御し、
前記テープ記憶装置が、前記読み出されたデータを、前記テープグループに対応付けられた前記第1暗号鍵を用いて復号化するように制御し、
前記復号化されたデータを前記ディスク記憶装置に格納することを特徴とする請求項2に記載のストレージシステム。
【請求項4】
前記コントローラは、
前記第1暗号鍵をバックアップする要求及びパスワードを受信し、
前記パスワードに基づいて第2暗号鍵を生成し、
前記第2暗号鍵を用いて前記第1暗号鍵を暗号化し、
前記暗号化された第1暗号鍵を出力することを特徴とする請求項1に記載のストレージシステム。
【請求項5】
前記コントローラは、
前記第1暗号鍵を変更する要求を受信すると、新たな暗号鍵を前記第1暗号鍵として生成し、
前記生成された新たな第1暗号鍵と前記テープグループとを対応付ける情報を保持することを特徴とする請求項1に記載のストレージシステム。
【請求項6】
第1ストレージシステムを備える計算機システムであって、
前記第1ストレージシステムは、第1ディスク記憶装置と、テープ記憶媒体を装着可能な第1テープ記憶装置と、前記第1ディスク記憶装置及び前記第1テープ記憶装置を制御する第1コントローラと、を備え、
前記第1コントローラは、ネットワークに接続される第1インターフェースと、前記第1ディスク記憶装置及び前記第1テープ記憶装置に接続される一つ以上の第2インターフェースと、前記第1インターフェース及び前記第2インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1メモリと、を備え、
前記第1ストレージシステムは、
一つ以上の前記第1テープ記憶媒体を含むテープグループを設定する要求を受信すると、前記要求によって設定されるテープグループに格納されるデータを暗号化するために使用されるべき第1暗号鍵を生成し、
前記生成された第1暗号鍵と前記テープグループとを対応付ける情報を保持することを特徴とする計算機システム。
【請求項7】
前記計算機システムは、前記第1ストレージシステムに接続される管理端末をさらに備え、
前記第1ストレージシステムは、
前記管理端末から、前記第1暗号鍵をバックアップする要求及びパスワードを受信し、
前記パスワードに基づいて第2暗号鍵を生成し、
前記第2暗号鍵を用いて前記第1暗号鍵を暗号化し、
前記暗号化された第1暗号鍵を前記管理端末に送信することを特徴とする請求項6に記載の計算機システム。
【請求項8】
前記計算機システムは、前記管理端末に接続される第2ストレージシステムをさらに備え、
前記第2ストレージシステムは、第2ディスク記憶装置と、第2テープ記憶装置と、前記第2ディスク記憶装置及び前記第2テープ記憶装置を制御する第2コントローラと、を備え、
前記第2コントローラは、ネットワークに接続される第3インターフェースと、前記第2ディスク記憶装置及び前記第2テープ記憶装置に接続される一つ以上の第4インターフェースと、前記第3インターフェース及び前記第4インターフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2メモリと、を備え、
前記第2ストレージシステムは、
前記第1暗号鍵をリストアする要求、前記暗号化された第1暗号鍵、及び、前記パスワードを前記管理端末から受信すると、前記パスワードに基づいて前記第2暗号鍵を生成し、
前記暗号化された第1暗号鍵を、前記第2暗号鍵を用いて復号化し、
前記復号化された第1暗号鍵を保持することを特徴とする請求項7に記載の計算機システム。
【請求項9】
前記第1ストレージシステムは、
前記第1ディスク記憶装置に格納されたデータを前記テープグループにバックアップする要求を受信すると、前記第1ディスク記憶装置に格納されたデータを、前記テープグループに対応付けられた前記第1暗号鍵を用いて暗号化し、
前記暗号化されたデータ、前記テープグループを識別する情報、及び、前記第1暗号鍵を識別する情報を、前記テープグループに含まれる複数の前記テープ記憶媒体に格納することを特徴とする請求項8に記載の計算機システム。
【請求項10】
前記第2ストレージシステムは、
前記テープグループに含まれる複数の前記テープ記憶媒体から、前記テープグループを識別する情報、及び、前記第1暗号鍵を識別する情報を読み出し、
前記読み出された情報に基づいて、前記第1暗号鍵と前記テープグループとを対応付ける情報を保持することを特徴とする請求項9に記載の計算機システム。
【請求項11】
前記第2ストレージシステムは、
前記テープグループに格納されたデータを前記第2ディスク記憶装置にリストアする要求を受信すると、前記テープグループに含まれる複数の前記テープ記憶媒体からデータを読み出し、
前記読み出されたデータを、前記テープグループに対応付けられた前記第1暗号鍵を用いて復号化し、
前記復号化されたデータを前記第2ディスク記憶装置に格納することを特徴とする請求項10に記載の計算機システム。
【請求項12】
前記第1ストレージシステムは、
前記第1暗号鍵を変更する要求を受信すると、新たな暗号鍵を前記第1暗号鍵として生成し、
前記生成された新たな第1暗号鍵と前記テープグループとを対応付ける情報を保持することを特徴とする請求項6に記載の計算機システム。
【請求項13】
第1ストレージシステムを備える計算機システムを制御する方法であって、
前記第1ストレージシステムは、第1ディスク記憶装置と、テープ記憶媒体を装着可能な第1テープ記憶装置と、前記第1ディスク記憶装置及び前記第1テープ記憶装置を制御する第1コントローラと、を備え、
前記第1コントローラは、ネットワークに接続される第1インターフェースと、前記第1ディスク記憶装置及び前記第1テープ記憶装置に接続される一つ以上の第2インターフェースと、前記第1インターフェース及び前記第2インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1メモリと、を備え、
前記方法は、
前記第1ストレージシステムが、一つ以上の前記第1テープ記憶媒体を含むテープグループを設定する要求を受信すると、前記要求によって設定されるテープグループに格納されるデータを暗号化するために使用されるべき第1暗号鍵を生成する手順と、
前記第1ストレージシステムが、前記生成された第1暗号鍵と前記テープグループとを対応付ける情報を保持する手順と、を含むことを特徴とする方法。
【請求項14】
前記計算機システムは、前記第1ストレージシステムに接続される管理端末をさらに備え、
前記方法は、さらに、
前記第1ストレージシステムが、前記管理端末から、前記第1暗号鍵をバックアップする要求及びパスワードを受信する手順と、
前記第1ストレージシステムが、前記パスワードに基づいて第2暗号鍵を生成する手順と、
前記第1ストレージシステムが、前記第2暗号鍵を用いて前記第1暗号鍵を暗号化する手順と、
前記第1ストレージシステムが、前記暗号化された第1暗号鍵を前記管理端末に送信する手順と、を含むことを特徴とする請求項13に記載の方法。
【請求項15】
前記計算機システムは、前記管理端末に接続される第2ストレージシステムをさらに備え、
前記第2ストレージシステムは、第2ディスク記憶装置と、第2テープ記憶装置と、前記第2ディスク記憶装置及び前記第2テープ記憶装置を制御する第2コントローラと、を備え、
前記第2コントローラは、ネットワークに接続される第3インターフェースと、前記第2ディスク記憶装置及び前記第2テープ記憶装置に接続される一つ以上の第4インターフェースと、前記第3インターフェース及び前記第4インターフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2メモリと、を備え、
前記方法は、さらに、
前記第2ストレージシステムが、前記第1暗号鍵をリストアする要求、前記暗号化された第1暗号鍵、及び、前記パスワードを前記管理端末から受信すると、前記パスワードに基づいて前記第2暗号鍵を生成する手順と、
前記第2ストレージシステムが、前記暗号化された第1暗号鍵を、前記第2暗号鍵を用いて復号化する手順と、
前記第2ストレージシステムが、前記復号化された第1暗号鍵を保持する手順と、を含むことを特徴とする請求項14に記載の方法。
【請求項16】
前記方法は、さらに、
前記第1ストレージシステムが、前記第1ディスク記憶装置に格納されたデータを前記テープグループにバックアップする要求を受信すると、前記第1ディスク記憶装置に格納されたデータを、前記テープグループに対応付けられた前記第1暗号鍵を用いて暗号化する手順と、
前記第1ストレージシステムが、前記暗号化されたデータ、前記テープグループを識別する情報、及び、前記第1暗号鍵を識別する情報を、前記テープグループに含まれる複数の前記テープ記憶媒体に格納する手順と、を含むことを特徴とする請求項15に記載の方法。
【請求項17】
前記方法は、さらに、
前記第2ストレージシステムが、前記テープグループに含まれる複数の前記テープ記憶媒体から、前記テープグループを識別する情報、及び、前記第1暗号鍵を識別する情報を読み出す手順と、
前記第2ストレージシステムが、前記読み出された情報に基づいて、前記第1暗号鍵と前記テープグループとを対応付ける情報を保持する手順と、を含むことを特徴とする請求項16に記載の方法。
【請求項18】
前記方法は、さらに、
前記第2ストレージシステムが、前記テープグループに格納されたデータを前記第2ディスク記憶装置にリストアする要求を受信すると、前記テープグループに含まれる複数の前記テープ記憶媒体からデータを読み出す手順と、
前記第2ストレージシステムが、前記読み出されたデータを、前記テープグループに対応付けられた前記第1暗号鍵を用いて復号化する手順と、
前記第2ストレージシステムが、前記復号化されたデータを前記第2ディスク記憶装置に格納する手順と、を含むことを特徴とする請求項17に記載の方法。
【請求項19】
前記方法は、さらに、
前記第1ストレージシステムが、前記第1暗号鍵を変更する要求を受信すると、新たな暗号鍵を前記第1暗号鍵として生成する手順と、
前記第1ストレージシステムが、前記生成された新たな第1暗号鍵と前記テープグループとを対応付ける情報を保持する手順と、を含むことを特徴とする請求項13に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2009−193125(P2009−193125A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−30451(P2008−30451)
【出願日】平成20年2月12日(2008.2.12)
【出願人】(000005108)株式会社日立製作所 (27,607)
【出願人】(000233033)日立コンピュータ機器株式会社 (253)
【Fターム(参考)】