(57)【要約】      （修正有）【課題】ストレージデバイスにあるストレージライブラリにおいてアプリケーション透過型の鍵管理を行う。【解決手段】暗号化、復号化は鍵マネージャと着脱可能なストレージデバイスにより実行され、アプリケーションに透過的である。データはストレージ鍵マネージャが管理する鍵により暗号化される。管理インターフェイスはアドミニストレータによる暗号鍵の特定および管理を可能にする。鍵識別子は各鍵に関連付けられ、暗号化データと共にテープに書込まれる。暗号化データの読出時に着脱可能なストレージデバイスがテープから鍵識別子を読出し、暗号鍵を鍵マネージャに要求する。当該ストレージデバイスは復号化データをアプリケーションに与える。暗号鍵は暗号化されたＸＭＬ形式で鍵マネージャまたはライブラリからエクスポートされ得る。従って、暗号化されたテープはライブラリ間での鍵のエクスポートにより別々のライブラリにおいて復号化され得る。【選択図】図１
2008278469.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体であって、
暗号鍵を識別するための磁気的に符号化された鍵識別子を備え、
前記鍵識別子は、
鍵の元を識別するデバイス識別子と、
タイムスタンプと、
鍵ノンスとを含む、記憶媒体。
【請求項２】
前記タイムスタンプは、前記暗号鍵が作成された時間を示す、請求項１に記載の記憶媒体。
【請求項３】
前記タイムスタンプは、前記暗号鍵が有効化された時間を示す、請求項１に記載の記憶媒体。
【請求項４】
前記鍵ノンスは、擬似ランダム値に基づく、請求項１に記載の記憶媒体。
【請求項５】
前記記憶媒体は、磁気テープ、磁気ディスク、光ストレージまたはこれらの組合せを含む、請求項１に記載の記憶媒体。
【請求項６】
前記鍵ノンスは、物理的なエントロピソースによって作成された乱数に基づく、請求項１に記載の記憶媒体。
【請求項７】
前記鍵ノンスは、前記鍵に関連付けられるストレージデバイスの領域内におけるユニークな番号を含む、請求項１に記載の記憶媒体。
【請求項８】
磁気テープ上で鍵識別子を符号化するための装置であって、
前記テープ上でデバイス識別子を磁気的に符号化させるためのロジックと、
前記テープ上でタイムスタンプを磁気的に符号化させるためのロジックと、
前記テープ上で鍵ノンスを磁気的に符号化させるためのロジックとを含む、装置。
【請求項９】
復号鍵を提供するための鍵管理装置であって、
受信した復号鍵を識別する鍵識別子をストレージデバイスに要求するためのロジックと、
少なくとも１つの暗号鍵のテーブルからのエントリの検索を行なわせるためのロジックとを含み、前記エントリは前記ストレージデバイスから受信した鍵識別子に関連付けられ、前記エントリは暗号化されたデータに対応する復号鍵を特定し、前記鍵管理装置はさらに、
前記復号鍵を前記ストレージデバイスに伝達させるためのロジックを含む、鍵管理装置。
【請求項１０】
請求項９に記載の装置を含むデータストレージライブラリ。
【請求項１１】
ストレージデバイスに記憶された暗号化されたデータを復号化するよう動作可能なデータストレージデバイスであって、
前記暗号化されたデータと、前記ストレージデバイスに記憶された前記暗号化されたデータに関連付けられる鍵識別子とを検出するためのロジックと、
復号鍵についての要求をデータストレージライブラリに伝達させるためのロジックとを含み、前記要求は前記鍵識別子を含み、
前記暗号化されたデータブロックを受信した復号鍵で復号化させて復号化されたデータ
を作成するためのロジックを含む、データストレージデバイス。
【請求項１２】
前記復号鍵を用いて前記鍵識別子に関連付けられるデータを復号化するよう前記ストレージデバイスを設定するためのロジックと、
前記復号化されたデータをホストに伝達させるためのロジックとをさらに含む、請求項１１に記載のデータストレージデバイス。
【請求項１３】
前記データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブまたはこれらの組合せを含む、請求項１１に記載のデータストレージデバイス。
【請求項１４】
暗号鍵を提供するための鍵管理装置であって、
暗号鍵についての要求の受信に応答して、暗号鍵および関連する鍵識別子を生成するためのロジックと、
前記暗号鍵および前記関連する鍵識別子を前記ストレージデバイスに伝達させるためのロジックとを含む、鍵管理装置。
【請求項１５】
請求項１４に記載の装置を含むデータストレージライブラリ。
【請求項１６】
データストレージデバイスであって、前記ストレージデバイスに記憶されるデータを暗号化するよう動作可能であり、前記ストレージデバイスは、
書込データコマンドの受信に応答して、暗号鍵についての要求をデータストレージライブラリに伝達させるためのロジックと、
前記ライブラリから受信した暗号鍵でデータを暗号化および復号化するよう前記ストレージデバイスを設定するためのロジックと、
前記暗号鍵で前記データを暗号化させるためのロジックと、
前記データと前記暗号鍵に関連付けられる鍵識別子とを前記ストレージデバイスに書込むためのロジックとを含み、前記鍵識別子は前記ライブラリから受信され、前記鍵識別子は前記データに関連付けて記憶される、データストレージデバイス。
【請求項１７】
前記データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブまたはこれらの組合せを含む、請求項１６に記載のデータストレージデバイス。
【請求項１８】
暗号鍵のツリー構造記述を生成するための鍵エクスポート装置であって、
少なくとも１つの鍵データツリー要素を生成するためのロジックを含み、前記鍵データツリー要素は、鍵名と前記暗号鍵の暗号化された記述とを含む、鍵エクスポート装置。
【請求項１９】
前記ツリー構造記述は、ＸＭＬ記述を含む、請求項１８に記載の装置。
【請求項２０】
前記鍵データツリー要素は、鍵作成日、鍵失効日、鍵作成名、アドレス、局識別子、鍵ハンドル、またはこれらの組合せを含む、請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の背景
発明の分野
この発明は、概して、データ暗号化に関し、より特定的には、大容量ストレージデバイスにおけるデータの暗号化のための技術に関する。
【背景技術】
【０００２】
関連技術の説明
データは、無許可でアクセスされるのを防ぐために暗号化された形式で記憶媒体に記憶され得る。典型的な暗号化方式においては、データは、鍵と称される別のデータの部分を用いて暗号化される。暗号化されたデータの形式は、鍵を有していない人にとっては本質的に無意味なものである。すなわち、鍵は、典型的には、記憶媒体に記憶されたデータを復号化して元の形式、すなわち暗号化されていない形式のデータにアクセスすることを可能にするのに必要とされる。鍵は典型的には秘密のものであり、元の形式のデータにアクセスすることが許可されたユーザにだけ明らかにされる。
【０００３】
記憶媒体に記憶されたデータを暗号化および復号化するプロセスは、バックアップアプリケーション、たとえば、シマンテック社（Symantec Corporation）（カリフォルニア州（California）、キューパーティーノ（Cupertino））によるNetBackup（商標）、または、専用のインバンド・アプライアンス、たとえば、ネットワークアプライアンス社（Network Appliance Inc.）（カリフォルニア州（California）、サニーヴェール（Sunnyvale））によるDecru DataFort（登録商標）、または、ネオスケール・システムズ社（Neoscale Systems Inc.）（カリフォルニア州（California）、ミルピータス（Milpitas））によるCryptoStor（登録商標）によって管理および／または実行可能である。
【０００４】
費用対効果の高いソリューションは、有利には、自動化されたデータストレージライブラリによって提供することができる。データストレージ自動化ライブラリは大量のデータを記憶するためのシステムである。データストレージ自動化ライブラリは、たとえばホストコンピュータからデータを受信し、テープドライブまたはディスクドライブなどのストレージデバイスを用いて、磁気テープ、磁気ディスクまたは光ディスクなどの記憶媒体に当該データを記憶し得る。自動化ライブラリは、複数のストレージデバイスと、当該ストレージデバイス間で記憶媒体を転送するための自動化されたシステムとを含み得る。記憶されたデータについての要求を受取ると、データストレージ自動化ライブラリは、記憶媒体からデータを検索し、当該データをホストコンピュータに返し得る。
【０００５】
ユーザが所望するのは、データ暗号化および鍵管理を行なえる使い易くかつ完璧なソリューションである。このためには、暗号化テープドライブまたは取外し可能なストレージデバイスと、自動化ライブラリと、バックアップソフトウェアアプリケーションとの間を調整することによってソリューションを提供することが必要となる。しかしながら、バックアップソフトウェアアプリケーションは、テープドライブなどのデバイスに記憶されたデータを暗号化および復号化するための機能を含んでいないことが多い。既存のバックアップソフトウェアを拡張するかまたは新しいバックアップソフトウェアを提供するには、かなりの労力が必要となり、場合によっては、特定の製造業者の自動化ライブラリで作動させるためにバックアップソフトウェアをカスタマイズすることが必要になるだろう。したがって、バックアップソフトウェアアプリケーションに依存せずに、暗号化されたデータを自動化ライブラリに記憶させることが所望されるだろう。
【発明の開示】
【課題を解決するための手段】
【０００６】
発明の概要
概して、一局面において、この発明は記憶媒体を特徴とする。記憶媒体は、暗号鍵を識別するための磁気的に符号化された鍵識別子を含み、鍵識別子は、鍵の元（origin）を識別するデバイス識別子と、タイムスタンプと、鍵ノンスとを含む。この発明の実施例は以下の特徴のうちの１つ以上を含み得る。タイムスタンプは、暗号鍵が作成された時間を表わし得る。タイムスタンプは、暗号鍵が有効になった時間を表わし得る。鍵ノンスは擬似ランダム値に基づき得る。記憶媒体は、磁気テープ、磁気ディスク、光ストレージまたはこれらの組合せを含み得る。鍵ノンスは、物理的なエントロピソースによって作成された乱数に基づき得る。鍵ノンスは、鍵に関連付けられたストレージデバイスの領域内のユニークな番号を含み得る。
【０００７】
概して、第２の局面において、この発明は、磁気テープ上で鍵識別子を符号化するための装置を特徴とする。当該装置は、テープ上でデバイス識別子を磁気的に符号化させるためのロジックと、テープ上でタイムスタンプを磁気的に符号化させるためのロジックと、テープ上で鍵ノンスを磁気的に符号化させるためのロジックとを含む。
【０００８】
概して、第３の局面において、この発明は、復号鍵を提供するための鍵管理装置を特徴とする。鍵管理装置は、受信した復号鍵を識別する鍵識別子をストレージデバイスに要求するためのロジックと、少なくとも１つの暗号鍵のテーブルからのエントリの検索を行なわせるためのロジックとを含み、当該エントリはストレージデバイスから受信した鍵識別子に関連付けられ、暗号化されたデータに対応する復号鍵を特定する。鍵管理装置はさらに、復号鍵をストレージデバイスに伝達させるためのロジックを含む。この発明の実施例は以下の特徴のうちの１つ以上を含み得る。データストレージライブラリは鍵管理装置を含み得る。
【０００９】
概して、第４の局面において、この発明は、ストレージデバイスに記憶された暗号化されたデータを復号化するよう動作可能なデータストレージデバイスを特徴とする。当該ストレージデバイスは、暗号化されたデータとストレージデバイスに記憶された暗号化されたデータに関連付けられる鍵識別子とを検出するためのロジックと、復号鍵についての要求をデータストレージライブラリに伝達させるためのロジックとを含み、当該要求は鍵識別子を含み、当該ストレージデバイスはさらに、暗号化されたデータブロックの、受信した復号鍵での復号化を引起こして、復号化されたデータを作成するためのロジックを含む。
【００１０】
この発明の実施例は以下の特徴のうちの１つ以上を含み得る。データストレージデバイスは、復号鍵を用いて鍵識別子に関連付けられるデータを復号化するようストレージデバイスを設定するためのロジックと、復号化されたデータをホストに伝達させるためのロジックとを含み得る。データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブ、またはこれらの組合せを含み得る。
【００１１】
概して、第５の局面において、この発明は、暗号鍵を提供するための鍵管理装置を特徴とする。鍵管理装置は、暗号鍵についての要求の受信に応答して暗号鍵と関連する鍵識別子とを生成するためのロジックと、暗号鍵および関連する鍵識別子をストレージデバイスに伝達させるためのロジックとを含む。この発明の実施例は以下の特徴のうちの１つ以上を含み得る。データストレージライブラリは鍵管理装置を含み得る。
【００１２】
概して、第６の局面において、この発明は、ストレージデバイスに記憶されるデータを暗号化するよう動作可能なデータストレージデバイスを特徴とする。ストレージデバイス
は、書込データコマンドの受信に応答して、暗号鍵についての要求をデータストレージライブラリに伝達させるためのロジックと、当該ライブラリから受信した暗号鍵でデータを暗号化および復号化するようストレージデバイスを設定するためのロジックと、暗号鍵でデータを暗号化させるためのロジックと、データと暗号鍵に関連付けられる鍵識別子とをストレージデバイスに書込むためのロジックとを含み、鍵識別子はライブラリから受信され、データに関連付けて記憶される。この発明の実施例は以下の特徴のうちの１つ以上を含み得る。データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブ、またはこれらの組合せを含み得る。
【００１３】
概して、第７の局面において、この発明は、暗号鍵のツリー構造記述を生成するための鍵エクスポート装置を特徴とする。当該装置は、少なくとも１つの鍵データツリー要素を生成するためのロジックを含む。鍵データツリー要素は、鍵名と、暗号鍵の暗号化された記述とを含む。この発明の実施例は以下の特徴のうちの１つ以上を含み得る。ツリー構造記述はＸＭＬ記述を含み得る。鍵データツリー要素は、鍵作成日、鍵失効日、鍵作成名、アドレス、局識別子、鍵ハンドル、またはこれらの組合せを含み得る。
【発明を実施するための最良の形態】
【００１４】
発明の詳細な説明
以下の説明は、当業者がこの発明を作成および使用することを可能にするよう提示され、特定の応用例およびそれらの要件についての文脈において提供される。これらの実施例に対するさまざまな変更は当業者には容易に明らかとなり、ここに規定される一般原則は、この発明の精神および範囲から逸脱することなく他の実施例および応用例に適用され得る。さらに、以下の記載においては、説明の目的で多くの詳細が述べられる。しかしながら、当業者であれば、これらの特定の詳細を用いることなくこの発明が実施され得ることを認識するだろう。他の例においては、周知の構造および装置は、不要な詳細によってこの発明の記載を曖昧にすることを避けるためにブロック図の形で示されている。このため、この発明は、図示された実施例に限定されることを意図したものではなく、ここに開示される原理および特徴と一致した最も広範な範囲が与えられるべきである。
【００１５】
図１は、この発明の実施例に従った、ライブラリベースの鍵管理を用いるバックアップシステムを示す説明図である。図１に示される構成の例においては、ライブラリベースの鍵管理システムは、バックアップアドミニストレータ１０４、ホストシステム１０２、バックアップアプリケーション１０５、自動化ライブラリ１０６、および、ホストシステム１０２と自動化ライブラリ１０６との間のホストインターフェイスを含む。自動化ライブラリ１０６は、ライブラリサーバ１１２、１つ以上のストレージデバイス、たとえば取外し可能なストレージデバイス１０８、任意の取外し可能なストレージデバイスＮ１１０、鍵マネージャ１１６、１１８（典型的には、鍵マネージャ１１６、１１８のうちの一方だけが存在する）、ならびに、取外し可能なストレージデバイス１０８（および１１０）とライブラリサーバ１１２または鍵マネージャ１１８との間のライブラリインターフェイスを含む。取外し可能なストレージデバイスは、磁気テープドライブ、光ドライブ、ディスクドライブ、フラッシュメモリベースのドライブ、または、取外し可能な記憶媒体を備えた他のストレージデバイスであってもよい。鍵マネージャ１１８がライブラリに常駐していなければ、鍵は、常に、性能の改善のためにライブラリ上においてキャッシュされ得る。別の例においては、鍵マネージャ１１８がライブラリに常駐している場合、鍵はライブラリの外部において、たとえば外部のストレージデバイスに記憶され得る。別の例においては、鍵は外部のストレージデバイスに記憶されてもよく、鍵の二次的なコピーがライブラリに記憶され得る。鍵は、たとえば冗長性または改善された可用性のために、２つ以上の外部リポジトリに記憶され得る。ウェブブラウザ１１４はウェブインターフェイスを介してライブラリサーバ１１２（および、存在するのであれば、鍵マネージャ１１８）と情報をやりとりする。バックアップアドミニストレータ１０４は、バックアップ動作と関わ
りのある活動を調整する人であってもよい。アドミニストレータ１０４は、バックアップアプリケーションを始動させ、適切なセキュリティ証明書をライブラリサーバに提供する役割を果たし得る。ホストシステム１０２は、たとえば、バックアップアプリケーションを実行するコンピュータシステムであり得る。バックアップアプリケーション１０５は、たとえば、データバックアップおよびリカバリ動作を実行し得るソフトウェアアプリケーションであってもよい。
【００１６】
ホストインターフェイスは、たとえば、バックアップアプリケーション１０５と取外し可能なストレージデバイス１０８との間の通信リンクまたは接続部であってもよい。ホストインターフェイスの例には、ＳＣＳＩ、ｉＳＣＳＩ、ファイバチャネル（Fibre Channel）、およびＳＡＳ（シリアル接続ＳＣＳＩ（Serial Attached SCSI））が含まれる。なお、ホストインターフェイスはＳＡＮ（ストレージエリアネットワーク（Storage Area Network））の一部であってもよい。取外し可能なストレージデバイス１０８は、ホストインターフェイスを介してバックアップアプリケーション１０５に接続され、ライブラリインターフェイスを介してライブラリサーバ１１２に接続され得る。ライブラリサーバ１１２は、一例においては、ライブラリインターフェイスを介して、取外し可能なストレージデバイス１０８（および１１０）と通信し、ウェブインターフェイスを介してバックアップアドミニストレータ１０４と通信することのできるサーバであり得る。ライブラリサーバはコンピュータであり得るか、またはコンピュータ上で稼動するプロセスであり得る。鍵マネージャ１１６はライブラリサーバ上で稼動する。一例においては、鍵マネージャ１１６は、コンピュータプログラムコードによって実現され、ライブラリサーバ１１２上で（または、ライブラリサーバ１１２がプロセスである場合にはライブラリサーバ１１２のホストとして機能するコンピュータ上で）稼動するアプリケーションまたはプロセスである。鍵マネージャ１１６は、暗号鍵をライブラリサーバまたは他の場所に記憶し得る。別の例においては、鍵マネージャ１１６はライブラリサーバ上では稼働しない。代わりに、鍵マネージャ１１８は、ライブラリサーバ１１２の外部で、たとえばライブラリサーバ１１２とは異なるコンピュータ上で、または、ライブラリサーバ１１２とは異なるプロセスにおいて稼働している。２つの鍵マネージャ１１６、１１８が例示の目的で示されているが、典型的には１つの鍵マネージャが存在している。鍵マネージャ１１６または１１８は、取外し可能なストレージデバイス１０８、１１０、ライブラリサーバ１１２およびウェブブラウザ１１４と通信するいかなるコンピュータ上でも稼働し得る。
【００１７】
ライブラリインターフェイスは、一例においては、自動化ライブラリ１０６内における取外し可能なストレージデバイス１０８（および１１０）とライブラリサーバ１１２との間の通信リンクであり得る。取外し可能なストレージデバイス１０８（および１１０）は、たとえばクウォンタム社（Quantum（登録商標） Corporation）によって製造され、ＡＤＩインターフェイスを用い得る。自動化ライブラリ１０６は、たとえば、１つ以上の取外し可能なストレージデバイス１０８、１つ以上のテープカートリッジ（図示せず）およびライブラリサーバ１１２を含むハードウェアデバイスであってもよい。自動化ライブラリ１０６は、自動化機構を用いて取外し可能なストレージデバイス１０８内外へのテープカートリッジの移動を行なうことができるだろう。ウェブインターフェイスを用いることにより、バックアップアドミニストレータ１０４がイーサネット（登録商標）によるＴＣＰ／ＩＰなどのネットワーク接続を介してライブラリサーバ１１２と通信することが可能になり得る。ウェブブラウザ１１４は、たとえば、バックアップアドミニストレータ１０４とライブラリサーバ１１２との間の通信のためのユーザインターフェイスを提供し得るソフトウェアアプリケーション（たとえば、Internet Explorer（商標）、Netscape（商標）、またはFirefox（商標））であってもよい。一例においては、暗号鍵は自動化ライブラリ１０６に確実に記憶される。アドミニストレータ１０４は、ウェブブラウザ１１４を通じてライブラリ１０６にログインして鍵を有効化させ得る。
【００１８】
一例においては、取外し可能なストレージデバイス１０８に記憶されたデータが暗号化された形式で記憶されている場合、バックアップアプリケーションが必要とする動作はない。したがって、このライブラリベースの鍵管理の方策はバックアップアプリケーション１０５またはバックアップアプリケーション１０５の製造業者には依存していない。バックアップアドミニストレータ１０４は、ウェブブラウザ１１４を用いて設定コマンドをライブラリ１１２に発行することにより、ライブラリ１１２を介してテープドライブ１０８を構成し得る。ライブラリは、次いで、設定コマンドに従ってテープドライブ１０８を設定する。取外し可能なストレージデバイス１０８または鍵マネージャ１１６は新たな暗号鍵を生成し、鍵を鍵識別子に関連付け得る。
【００１９】
データバックアップ動作は以下のステップに従って実行され得る。バックアップアドミニストレータ１０４はウェブインターフェイスを用いて鍵マネージャ１１６にログインする。バックアップアドミニストレータ１０４は、１つ以上の選択された取外し可能なストレージデバイスに書込まれたすべてのデータを暗号化するよう鍵マネージャ１１６を設定する。次いで、アドミニストレータ１０４によって識別された取外し可能なストレージデバイスに書込まれたデータが暗号鍵を用いて暗号化されることとなる。鍵マネージャ１１６は新たな鍵を生成し得るかまたは既存の鍵を再利用し得る。いずれの場合も、鍵マネージャ１１６は鍵および鍵識別子を取外し可能なストレージデバイスに送る。バックアップアドミニストレータ１０４はバックアップアプリケーションを始動させてデータバックアップ動作を実行する。取外し可能なストレージデバイスは、鍵マネージャ１１６によって与えられた鍵を用いてバックアップアプリケーションからのデータを暗号化する。
【００２０】
一例において、データリカバリ動作は、以下のステップに従って実行され得る。暗号鍵を作成し、リモートのウェブブラウザ１１４を通じて当該暗号鍵をストレージデバイスに割当てるための特別なアドミニストレータユーザアカウントが提供される。認証はパスワードによって実施される。一例においては、この特別なユーザだけが、取外し可能なストレージデバイスが暗号鍵にアクセスすることを許可するといった鍵管理特徴へのアクセスを有する。バックアップアドミニストレータ１０４は、ウェブインターフェイスを用いてライブラリ１１２または鍵マネージャ１１６（または、存在するのであれば鍵マネージャ１１８；この明細書中における鍵マネージャ１１６についての言及はすべて鍵マネージャ１１６または鍵マネージャ１１８を指す）にログインし、選択されたストレージデバイスが選択された暗号鍵にアクセスすることを許可する。バックアップアドミニストレータ１０４はバックアップアプリケーションを始動させてデータリカバリ動作を実行する。ストレージデバイス１０８が暗号化されたデータに遭遇した場合、ストレージデバイス１０８は、暗号化されたデータに遭遇したという通知を鍵マネージャ１１６に送信する。鍵マネージャはストレージデバイス１０８に鍵識別子を要求する。ストレージデバイス１０８は、次いで、暗号化されたデータに対応する鍵識別子を鍵マネージャ１１６に送信して、対応する鍵を要求する。鍵識別子は、Ｔ１０／ＳＳＣ−３に従ったＡＫＡＤまたはＵＫＡＤ形式として記述され得るか、または当該形式で記憶媒体に記憶され得る。特定の記憶媒体に鍵識別子を記憶することについての詳細はデバイスに依存している。取外し可能なストレージデバイスが要求された鍵を受取ることが許可された場合、鍵マネージャ１１６は適切な鍵を取外し可能なストレージデバイスに送信する。そうでない場合、鍵マネージャ１１６はエラーメッセージのログを記録し、取外し可能なストレージデバイスには鍵を送信しない。一例においては、上述のとおり、アドミニストレータによって許可が与えられる。取外し可能なストレージデバイスがデータについての正しい鍵を受信した場合、取外し可能なストレージデバイスは当該データを復号化し、バックアップアプリケーションに送信する。そうでない場合、取外し可能なストレージデバイスは、たとえばＴ１０／ＳＳＣ−３規格に従ってエラーを通知する。ライブラリベースの鍵管理は、ライブラリサーバ１１２（たとえば、鍵マネージャ１１６を追加することにより）、ストレージデバイス、たとえば取外し可能なストレージデバイス１１０、および、ストレージデバイスと鍵マネー
ジャ１１６との間の通信プロトコルを拡張することによって既存のデータストレージシステムの拡張例として実現され得る。
【００２１】
一例においては、自動化ライブラリは、以下のとおり、ライブラリベースの鍵管理をサポートするよう拡張され得る。新たな鍵の作成は、暗号的に安全な乱数発生器によってもたらされてもよい。任意には、取外し可能なストレージデバイスは新たな鍵を作成し得るか、または、鍵マネージャ１１６もしくはライブラリサーバ１１２が乱数を生成するための好適なエントロピソースを欠いている場合には新たな鍵を生成するのに用いられる乱数を作成し得る。鍵マネージャ１１６はいくつかの鍵と関連するメタデータとを記憶し得る。鍵を暗号化するための暗号化アルゴリズムは、ＮＩＳＴ  ＡＥＳ  Ｋｅｙ−Ｗｒａｐであってもよい。メタデータは、以下に記載のとおり、各々の鍵とともに記憶され得る。鍵を暗号化するためにルート鍵が維持され得る。ルート鍵は少なくとも２５６ビットのランダムデータを含み得るか、または、安全なパスワードから得られ得る。一例においては、ランダムデータは、すべて、暗号的に安全な乱数発生器から得られる。
【００２２】
鍵マネージャ１１６から安全に鍵をエクスポートするための方法は、許可されたユーザがバックアップの目的で鍵マネージャ１１６からルート鍵を検索するかまたはリカバリの目的で既存のルート鍵を入力するための方法として提供される。取外し可能なストレージデバイス内で暗号鍵を設定するための方法がサポートされ得る。
【００２３】
暗号化インターフェイスがバックアップアドミニストレータに提供され得る。暗号化インターフェイスは、アドミニストレータが、新たな鍵（たとえば、毎日、毎週、毎月、ユーザ指定）および範囲（たとえば、すべてのドライブに対して同じ鍵、ドライブごとに異なる鍵）を作成する頻度についての規則を規定することを可能にする。鍵の割当は手動のプロセスであってもよく、この場合、アドミニストレータはライブラリにログインして暗号鍵を変更する。暗号鍵はドライブごとに選択可能であり、同じ鍵にすべてのドライブを設定するオプションを有する。一例においては、取外し可能なストレージデバイスは、データが暗号化または復号化されている間、適切な鍵を有する適切な暗号化モードのままである。この特徴は、ドライブのリセット、媒体の変更、および暗号化モードを不能化し得る他のいかなるイベントをも検出し、これらのイベントが暗号化モードを不能化するのを防ぐことによって実現され得る。一例においては、ライブラリは、データの暗号化を予測すると、取外し可能なストレージデバイスによって暗号化されていないデータが書込まれるのを防ぐ。
【００２４】
一例においては、取外し可能なストレージデバイスなどのストレージデバイスは、以下のとおり、ライブラリベースの鍵管理をサポートするよう拡張され得る。暗号鍵は、ストレージデバイスとライブラリとの間の通信プロトコルインターフェイスを介して鍵マネージャ１１６から受信され得る。ロックアウトモードが任意で提供されてもよく、この場合、取外し可能なストレージデバイスは、鍵マネージャ１１６との通信プロトコルインターフェイスを通じて鍵マネージャ１１６から暗号化関連のコマンドだけを受信する。この制限を加えることにより、バックアップアプリケーションがライブラリベースの鍵管理に干渉することが防止され得る。代替的には、取外し可能なストレージデバイスは、ライブラリが鍵管理を実行している間、バックアップアプリケーションが暗号化動作を実行しようとしているかどうかをライブラリに通知し得る。鍵識別子は、鍵マネージャ１１６から対応する鍵を受信する目的で鍵マネージャ１１６に送信され得る。一例において、データストレージデバイスとライブラリサーバとの間の既存の通信プロトコルは、この明細書中に記載されるとおり、新たな通信プロトコルコマンドを当該プロトコルに追加することによってライブラリベースの鍵管理をサポートするよう拡張され得る。このような既存のプロトコルの一例として、クウォンタム（Quantum（登録商標））社によって用いられるＡＤＣプロトコルが挙げられる。ＳＳＣ−３  ＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＩＮお
よびＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴのコマンドがサポートされてもよい。そして、取外し可能なストレージデバイスが、暗号化および復号化のプロセスに悪影響を及ぼそうとするバックアップアプリケーションからのいかなるコマンドをも拒否し、ＡＤＩインターフェイス上で受信されたこのようなコマンドを受入れるように、鍵マネージャ１１６が取外し可能なストレージデバイス上で暗号化モードをロックダウンするための方法が提供され得る。
【００２５】
取外し可能なストレージデバイスが鍵識別子を鍵マネージャ１１６に送信し、鍵マネージャ１１６から対応する鍵を受信するための方法が提供され得る。これを行なうために、鍵マネージャ１１６は取外し可能なストレージデバイスを定期的にポーリングし得るか、または、鍵マネージャ１１６は、取外し可能なストレージデバイスが鍵についての要求を送信し得る論理ユニット番号（Logical Unit Number）（ＬＵＮ、すなわちデバイス番号）を確立し得る。
【００２６】
一例において、鍵管理は、ライブラリによってではなく、バックアップアプリケーションによって実行され得る。たとえば、バックアップアプリケーションは、Ｔ１０／ＳＳＣ−３  ＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬコマンドを用いて鍵管理を実行し得る。バックアップアプリケーションが鍵管理を実行すべき場合、バックアップアドミニストレータは、ライブラリの鍵管理機能をいずれも可能化できない。
【００２７】
一例において、暗号鍵を表わすための汎用の鍵識別子形式が規定される。鍵識別子形式で表わされる暗号鍵は磁気テープに記憶され得るかまたは通信ネットワークを介して送信され得る。鍵識別子形式は異なる製造業者間での使用に適している。一例において、各々の鍵識別子は一般にユニークである可能性が高く、これは鍵管理を大幅に単純化する特性である。さらに、各々の鍵識別子は、特定の鍵の元を識別することを容易にするのに十分なメタデータを含む。当該メタデータは鍵を検索するのに用いられてもよい。
【００２８】
図２は、この発明の実施例に従った鍵識別子形式を示す説明図である。鍵識別子形式は、ＮＡＡ、ＩＥＥ  ＯＵＩまたはＥＵＩ−６４（Ｔ１０／ＳＰＣ−４を参照）、鍵作成タイムスタンプおよび鍵ノンスなどのグローバルにユニークなデバイス識別子を含む。ＮＡＡの最初の４ビット（第１のニブル）が種類を識別する。一例においては、以下の形式がサポートされる。
【００２９】
【表１】
2008278469.tif 000003
【００３０】
Ｔ１０／ＳＰＣ−４において、デバイスサーバ（たとえば、取外し可能なストレージデバイスなどのストレージデバイス）は、典型的には、デバイス識別ＶＰＤページにおけるタイプ３の指示子としてＮＡＡ識別子を提示する（Ｔ１０／ＳＰＣ−４  ｒｅｖ６以降を参照）。ＮＡＡ番号はまた、ＩＥＥＥ  ＯＵＩを含む。ＩＥＥＥ  ＯＵＩ（電気電子技術
者協会の組織的にユニークな識別子）は、すべての製造業者をユニークに識別する３バイト値である。たとえば、ＩＥＥＥは、値００Ｅ０９Ｅｈをクウォンタム（Quantum（登録商標））社に割当てている。
【００３１】
一例において、鍵作成タイムスタンプは、鍵が作成されたとき、または、鍵が最初に有効になるときを含む４バイト値であり得る。ライブラリが１組の鍵を予め生成する場合、各鍵の作成タイムスタンプは、バッチの作成日ではなく、その予定された利用可能日であり得る。たとえば、ライブラリが翌月の各々の日のために３０個の鍵を作成する場合、各々の鍵は各々の日に対応する作成日を有し得る。ライブラリはその日中にランダム時間を任意に選択し得るので、別々の鍵発生器の鍵識別子間においてタイムスタンプが重複する可能性が低くなる。
【００３２】
一例において、鍵ノンスは、特定の鍵を識別するのに用いられる１６バイトの乱数であり得る。ライブラリが新たな鍵を生成する場合、当該ライブラリはまた、鍵ノンスとしてランダムな１６バイト値を生成し得る。代替的には、ライブラリは、初期設定中に鍵ノンスの種を作成し、新たな鍵ノンスが必要とされるたびにこの種を用いてノンスの種を増分することによって新たな鍵ノンス値を作成し得る。ライブラリは、これが同じ鍵ノンスを偶発的に二度生成しないことを確実にし得る。
【００３３】
鍵ノンスまたは鍵ノンスの種の生成時に、ライブラリは、暗号的に安全な乱数発生器を用い得る。この目的で、暗号的に安全な乱数を取外し可能なストレージデバイスに要求し、これらの乱数を用いて、内部の暗号的に安全な乱数発生器の種とする。１６バイトの乱数を用いることにより、各々の鍵ノンスはグローバルにユニークになる可能性が高くなる。
【００３４】
２つの１６バイトのランダムなノンス値が同じ値を有する可能性は、２128において１であるかまたは１０38において約１である。しかしながら、重要な限度はいわゆる「バースデー限界」（バースデーパラドックスに因んで命名された）である。１２８ビット数の場合、重複したノンスは、約２64の独立した数の後に起こる可能性がある。ライブラリが２64の鍵ノンス値よりも著しく少ない値を生成する限り、衝突（すなわち、重複した値）の起こる可能性は許容できるほどに低くなる。
【００３５】
一例において、鍵識別子は、データとともに記憶媒体に記憶される。取外し可能なストレージデバイスは、暗号化された記録内におけるＡＫＡＤ（authenticated key associated data）（認証された鍵関連のデータ）またはＵＫＡＤ（unauthenticated key associated data）（認証されていない鍵関連のデータ）の任意の組合せ内において鍵識別子を記憶することによって、暗号化されたデータに関連付けて鍵識別子を記憶し得る。ＡＫＡＤおよびＵＫＡＤは、各データ記録とともに記憶媒体に記憶され得る。たとえば、ＡＫＡＤは暗号化されたデータ記録のすぐ前にあってもよい。たとえば、暗号化を行なうＤＬＴ−Ｓ４の取外し可能ストレージデバイスは３２バイトのＡＫＡＤまでをサポートし、これは、鍵ＩＤ全体を保持するのに十分な空間となる。いくつかのストレージデバイスにおいては、１６バイトのＵＫＡＤについての定義があってもよい。この場合、ライブラリは、ＡＫＡＤ内の鍵ＩＤの最初の１２バイトと、ＵＫＡＤ内の最後の１６バイト（すなわち、鍵ノンス）とを記憶し得る。ライブラリは、ＡＫＡＤおよびＵＫＡＤを取外し可能なストレージデバイスに送信するためのＴ１０／ＳＳＣ−３（バージョン３以上）のＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬコマンドを用い得る。
【００３６】
一例において、鍵識別子は、拡張可能なマークアップ言語形式（Extensible Markup Language format）（ＸＭＬ）で記述され得る。このＸＭＬ鍵形式は、典型的には、他のシステムまたはアプリケーションが鍵識別子を用いることができるように鍵識別子をライブ
ラリからエクスポートするのに用いられる。ＸＭＬ鍵エクスポート形式は、カスタムの定義でワールドワイド・ウェブ・コンソーシアム（Ｗ３Ｃ）によって特定されるＸＭＬ−ＥＭＣ形式の拡張例である。エクスポート形式は、ＸＭＬ文章タイプ定義（Document Type Definition）（ＤＴＤ）によって記述され得る。ＤＴＤはＸＭＬ文書の形式の形式的記述であり、本質的にはＸＭＬ文書についてのスキーマである。鍵識別子形式についてのＤＴＤは付録Ａに含まれる。ＸＭＬ形式の鍵の例が付録Ｂに示される。
【００３７】
ＤＴＤの第１の要素は、ＸＭＬ文書に現われ得る要素（すなわち、ＸＭＬノード）を列挙することによって鍵識別子ＸＭＬ文書の全体的な構造を特定する。
【００３８】
<!ELEMENT KeyBackup (Version, DevInfo?, ExportInfo?, KeyData+, OptionalParameters?, Signature?)>
上述の要素規格に従うと、鍵識別子は、Version要素、この後に続いて、任意のDevInfo要素、任意のExportInfo要素、１つ以上のKeyData要素、任意のOptionalParameters要素、および任意のSignature要素を含む。
【００３９】
バージョンフィールド、VersionNum、は、ＸＭＬデータの形式についての情報を含む。バージョン番号１はこの明細書中に記載される形式に対応する。コメントはこの形式を記述する任意のフィールドである。起こり得る値は「Quantum Key Export Format（クウォンタム鍵エクスポート形式）」である。DevInfo要素は任意である。これは、存在する場合、以下の要素を含み得る（これらはすべて、DevNAAを除いては任意である）。DevType（任意）：この鍵ファイルをエクスポートするデバイスの種類。たとえば、「Library（ライブラリ）」。DevSerialNum（任意）：製造業者特有のストリングにおけるデバイスの連続番号。DevModel（任意）：エクスポートデバイスのためのデバイスモデル。DevName（任意）：ユーザが割当てられたデバイス名。例：「My Library」。DevNAA：１６進数で表わされたデバイスの８バイトのＮＡＡ値。
【００４０】
ExportInfo要素は、ExportTime要素および任意のExportUser要素を含む。ExportTimeは、この鍵がエクスポートされた時間を示す。例：２００６０９０５１８５５ｚ（グリニッジ標準時で２００６年９月６日午後６時５５分）。ExportUserは、エクスポート動作を実行したユーザの名前を示す。
【００４１】
KeyData要素は、KeyName要素、KeyCreationDate要素、任意のKeyExpirationDate要素、KeyCreationNAA要素、KeyHandle要素、任意のMediaId要素、EncryptionKey要素を含む。KeyName要素は、暗号鍵を記述するテキストストリングであり得る。KeyCreationDateは、鍵が作成されたかまたは使用が予定された日を示すものである。KeyCreationDateは、以下に記載されるGeneralizedTime形式で表わされる。鍵は作成日前には用いられる可能性はない。KeyExpirationDateは、鍵の失効日についてのGeneralizedTime記述である。鍵は、失効日後に用いられる可能性はなく、失効日後に破壊され得る。KeyCreationNAAは、１６進数形式で、この鍵を初めに作成したデバイスのＮＡＡを特定する。KeyHandleは、Base64形式での、鍵を作成したデバイスの文脈内におけるこの鍵についてのユニークな識別子である。MediaIdは、この鍵で暗号化されたデータを含むカートリッジの０以上のバーコード（または他の媒体識別値）のリストである。EncryptionKeyは暗号鍵についての生データである。EncryptionKeyは、ＮＩＳＴ  ＡＥＳ鍵−ラップアルゴリズムでＸＭＬ−Ｅｎｃ形式を用いてラップされ得る。
【００４２】
OptionalParameters要素は任意のデータを表わし、鍵形式の将来の拡張を提供し得る。Signature（シグネチャ）要素は、KeyBackup要素内におけるすべての以前のフィールドを保護する任意のデジタルシグネチャである。デジタルシグネチャを作成するために、インポートデバイスは、ＲＦＣ３０７６（カノニカルＸＭＬバージョン１．０）に従って、前
の部分においてカノニカル形式のＸＭＬデータを作成し、次いで、カノニカルＸＭＬデータをデジタルシグネチャアルゴリズムに通す。
【００４３】
如何なるフィールドのタイプ「GeneralizedTime」も、日および時間を示すための標準的な形式を有する。当該形式は、ＹＹＹＹＭＭＤＤＨＨＭＭＳＳｚであり、ＹＹＹＹは４桁の年であり、ＭＭは２桁の月であり、ＤＤは２桁の日であり、ＨＨは２４時間表記で表わされる２桁の時間であり、ＭＭは２桁の分であり、ＳＳは２桁の秒であり、ｚは、時間がグリニッジ標準時（ＧＮＴ）を基準にして表わされることを示している。使用されないいずれのフィールドの値も０に設定され得る。
【００４４】
一例において、ルート鍵は、ライブラリからエクスポートされた鍵を暗号化するのに用いられる。一例において、ルート鍵は、１つ以上のスマートカードに記憶された２５６ビットのランダム値であり得る。別の例においては、ユーザパスワードを用いてルート鍵を作成し得る。ユーザパスワードの場合、ライブラリは、ＳＨＡ−２５６暗号ハッシュアルゴリズムなどのハッシュアルゴリズムを用いてルート鍵を作成するためにユーザパスワードのハッシュ値を計算する。ルートパスワードは少なくとも８つの文字を有し得る。この場合、少なくとも１つの文字が以下のグループ、すなわち、小文字、大文字、数字、特別な記号から得られる。ライブラリはまた、ユーザ定義の名前がルート鍵に関連付けられることを可能にし、ルート鍵の作成タイムスタンプを保存し得る。
【００４５】
ルート鍵ハンドル（ノンス）は、ルート鍵が作成されるかまたは変更されると作成されることとなる。このハンドルは１６バイトのランダム値である。これは、異なるルート鍵で暗号化されたファイルから、ノンスに関連付けられるルート鍵で暗号化された鍵ファイルを区別するのに用いられる。
【００４６】
一例において、鍵は自動的にバックアップまたはリストアされ得る。たとえば、鍵は、ライブラリの外部にあるファイル転送プロトコル（ＦＴＰ）サーバなどのサーバにバックアップされ、当該サーバからリストアされ得る。自動化された鍵バックアップおよびリストアは以下のとおり達成され得る。
【００４７】
ライブラリＧＵＩは、フィールドが、鍵バックアップ用に指定されたＦＴＰサーバのＩＰ／ディレクトリ／ユーザ名／パスワードを特定することを可能にし得る。複数のＦＴＰサーバは冗長に規定され得る。各々の鍵は典型的には別個のファイルに記憶されることとなる。ファイル名形式は「User_key_Name.Universal_Key_Id.Root_Key_Handle」であり、ファイルの内部の形式は、ここに記載されるＸＭＬ鍵バックアップ形式となるだろう。鍵は、作成されると、ライブラリのローカル鍵ストレージと、鍵バックアップＦＴＰサーバとに書込まれてもよい。一例において、ライブラリが鍵バックアップＦＴＰサーバに接続できない場合、鍵作成動作は失敗することとなる。
【００４８】
ドライブがテープの復号化を必要とする場合、当該ドライブは、ライブラリに鍵を要求し、当該ライブラリにUniversal Key Id（汎用の鍵Ｉｄ）を渡す。ライブラリは初めにそのローカルストレージをチェックする。鍵が発見されなかった場合、ライブラリは鍵バックアップＦＴＰサーバから鍵を検索しようと試みるだろう。ＦＴＰサーバ上で鍵が発見された場合、ライブラリはＦＴＰサーバ鍵でそのローカルストレージを更新し、当該鍵をドライブに送信する。鍵がライブラリのローカルストレージにおいてまたはＦＴＰサーバ上で発見されなかった場合、ライブラリは重要なイベントのログを記録するだろう。最初のうちはユーザベースの鍵アクセス規則は存在しないだろう。すなわち、すべての鍵が復号化のためのいずれのドライブにも利用可能となるだろう。
【００４９】
別のライブラリのバックアップ鍵ストレージから鍵を移動させるために、ユーザは、鍵
ファイルをｆｔｐサーバディレクトリにコピーし得る。グラフィカルユーザインターフェイス（ＧＵＩ）においては、鍵ファイルをインポートするのに用いられる２つのボタンが存在するだろう。一方のボタンにより鍵ファイルのインポートが個々に行なわれ、もう一方のボタンによりグループごとに鍵ファイルのインポートが行なわれる。個々の鍵のインポートの場合、ライブラリは、そのローカルデータベースに存在せず（如何なる複製も除去した）インポートのために有効化されたすべての鍵を列挙する。グループの鍵のインポートの場合、ライブラリは、インポートのために有効化されたすべての鍵グループを列挙する。同じRoot_Key_Handleを有するこれらの鍵は、同じグループの一部とみなされる。
【００５０】
個々の鍵またはグループがインポートのために選択された場合、ライブラリは、選択された鍵またはグループを作成するのに用いられたルート鍵パスワードを照会するかまたは要求するだろう。インポートプロセスでは、インポートのために選択された各々の鍵またはグループにおける鍵が読出され、与えられたルート鍵パスワードに対して鍵が復号化され、現在のライブラリルート鍵に対して当該鍵が再度暗号化される。ライブラリは、このインポートされた鍵をそのローカルな鍵ストレージおよび新たな鍵ファイルにコピーする。終了すると、ＧＵＩは、鍵がいくつインポートされたかをユーザに伝える。
【００５１】
一例において、ルート鍵が変化すると、ライブラリは、新たなルート鍵を有するそのローカル鍵をすべて再度暗号化し、新たなルート鍵を有するバックアップ鍵ファイルをすべて再度暗号化し、保存する。ライブラリローカル鍵ストレージがいっぱいになり、新たな鍵の作成が要求されると、ライブラリは、現在ライブラリにあるいずれのテープにも関連付けられない最も古い１００個の鍵をパージする。ＦＴＰサーバのストレージがいっぱいであれば、鍵作成が不可能となり、重要なイベントが生成される。一例において、ライブラリは、ＦＴＰサーバ上では如何なる鍵ファイルも上書きしない。鍵ファイル名形式はこのような上書きを防ぐよう設計されている。しかしながらファイル名の矛盾が生じた場合、ライブラリは、古い鍵ファイルの名前を変更してから新しい鍵ファイルを書込み得る
ＧＵＩを用いて鍵を削除する場合、ライブラリはそのローカル鍵ストレージから鍵を取除き、鍵のファイル名をユーザに提供するので、ユーザは必要に応じて手動でＦＴＰサーバから鍵を取除くことができる。
【００５２】
ＦＴＰサーバのアドレス（たとえば、ＩＰまたはインターネットアドレス）が変わった場合、ライブラリは、そのローカルデータベースには存在するがＦＴＰサーバ上には存在しない鍵をいずれもＦＴＰサーバに書込むだろう。この動作により、各々の鍵のバックアップコピーがライブラリのローカルストレージの外部に常駐することを確実にする。
【００５３】
一例において、ライブラリと取外し可能なストレージデバイスとの間で用いられる通信プロトコルにおけるＳＣＳＩコマンドおよびデータを変更することにより、ライブラリが、暗号化対応の取外し可能なストレージデバイスにおける暗号化および復号化のプロセスを制御することが可能になり得る。この例においては、通信プロトコルは、クウォンタム（Quantum（登録商標））社によって用いられるＡＤＴトランスポート層プロトコルである。
【００５４】
暗号化対応の取外し可能なストレージデバイスについていくつかの別個の使用事例が存在する。一実施例においては、バックアップアプリケーションはドライブにおける暗号化に気付かず、それを制御しようとしない。典型的には、バックアップアプリケーションのための暗号化を制御しようと試みて一次インターフェイスを介してドライブにアクセスする他のアプリケーションは存在しない。別の実施例においては、バックアップアプリケーションはドライブにおける暗号化に気付かず、これを制御しようとしない。バックアップアプリケーションのための暗号化を制御しようとし得るかまたはし得ない、一次インターフェイスにわたってドライブにアクセスする別のアプリケーションが存在する。第３の場
合には、バックアップアプリケーションはドライブにおける暗号化に気付き、これを制御する。第４の場合には、バックアップアプリケーションはドライブにおける暗号化に気付き、これを制御するよう第三者に命令することを所望する。第５の場合には、現在のバージョンのバックアップアプリケーションは暗号化に気付き、これを制御することを欲するが、テープが前のバージョンのバックアップアプリケーションからのバックアップセットを有しておらず、暗号化がライブラリによってそれらのバックアップセット上で制御されていた（混合した制御）。
【００５５】
一例において、取外し可能なストレージデバイスは、ライブラリから必要とされると鍵を要求するよう構成される。すなわち、ライブラリは、取外し可能なストレージデバイスがライブラリによって選択可能なポリシーに従ってライブラリから鍵を受取るように、取外し可能なストレージデバイスにおける鍵管理制御を構成する。ライブラリが選択できる受取りのポリシーは、（ａ）取外し可能なストレージデバイスがライブラリから暗号鍵だけを受取ること、（ｂ）取外し可能なストレージデバイスが、それら自体のための暗号化を構成しないイニシエータのためにライブラリからの暗号鍵を用いること、（ｃ）一次ポートイニシエータがオーバーライドしない限り、取外し可能なストレージデバイスがまたライブラリからの暗号鍵を用い得ること、および（ｄ）取外し可能なストレージデバイスがライブラリからの暗号鍵を予期しないこと、を含む。
【００５６】
ライブラリは、読出の際に暗号化されたブロックが発生したことと、ドライブが読出しのためにライブラリからの復号鍵または復号化モード変更形式を必要とすることとを取外し可能なストレージデバイスがライブラリに通知するように、取外し可能なストレージデバイスを構成し得る。取外し可能なストレージデバイスはまた、読出の際に暗号化されていないブロックが発生したことと、ドライブがライブラリからの復号化モード変更を必要とすることとを通知することができるかもしれない。取外し可能なストレージデバイスはまた、暗号鍵またはモードが別のイニシエータによる変更のために失われたことと、必要に応じて、暗号鍵またはモードが他の何らかのイベントのために失われたこととを通知することができるかもしれない。
【００５７】
ライブラリは、ＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳ範囲暗号化モード、復号化モード、鍵およびＫＡＤ（ＡＫＡＤ、ＵＫＡＤ、または両方）を設定することができるかもしれない。ライブラリから暗号鍵を得るよう構成された場合、取外し可能なストレージデバイスは、（ａ）暗号鍵またはモードが失われ、ＬＯＣＫビットがその最後の設定時にライブラリによって設定されていた場合、または、（ｂ）（読出が必要な鍵が用いられた後にライブラリが暗号鍵を設定し得るように）ドライブが読出モードもしくは位置モードから書込モードに移行する場合、または、（ｃ）暗号化を制御するライブラリでの読出中に記録が誤った鍵またはモードに遭遇する場合、または、（ｄ）一次ポートイニシエータが暗号化プロセスを制御する場合、ライブラリに通知し、指示を待ち得る。
【００５８】
図３は、この発明の実施例に従った自動化された暗号化制御ページの説明図である。ライブラリがドライブ暗号化プロセスを構成できるようにするために、自動暗号化制御（Automation Encryption Control）ページと称される新たなページがセキュリティプロトコルに追加される。一例において、自動暗号化制御ページはＡＤＣデバイスサーバにおいてのみサポートされる。一例において、セキュリティプロトコルは、自動暗号化制御ページを備えたＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドを含む。取外し可能なストレージデバイスは、テープデータ暗号化プロトコルについてのサポートを含めて、ＡＤＣデバイスサーバにおいてＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＩＮおよびＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴのコマンドをサポートし得る。ＡＤＣは、ライブラリにおける取外し可能なストレージデバイスと自動化デバイスとの間の通信についてのコマンド、パラメータデータおよび状態を規定するＴ１０規格である。Ｔ１０は、情報技術規
格国際委員会（ＩＮＣＩＴＳ（International committee on Information Technology Standards））の技術委員会である。
【００５９】
バイト４での自動化鍵管理制御フィールドは、暗号化に関してライブラリから予想される関与のレベルをドライブに示す。自動化鍵管理制御フィールドについての起こり得る値が以下の表に記述され得る。
【００６０】
【表２】
2008278469.tif 000004
【００６１】
１に設定されたレポート復号化モード不一致（report decryption mode mismatch）（ＲＤＭＭ）ビットは、不能化された復号化モードでの読出中に復号化プロセスが暗号化されたブロックを検出した場合、デバイスサーバ、たとえば取外し可能なストレージデバイスが超短波（ＶＨＦ）データパケットにおけるＲＲＱＳＴビットを１に設定し得ることを示す。一例において、ＶＨＦデータパケットは、ライブラリが最も関心を持っている取外し可能なストレージデバイスについての動的情報を含むデータのパケットである。このデータのパケットは、ＡＤＴ規格で提供される高速ポーリング法によりライブラリによって迅速かつ容易にアクセスされ得る。ライブラリは、パケットにおけるフィールド値がポーリングモデルの代替例として変化するたびにＶＨＦパケットをライブラリに送信するよう取外し可能なストレージデバイスを構成し得る。場合によっては、ＶＨＦデータは、さらなる詳細な情報が他のＳＣＳＩコマンドを介したアクセスのために利用可能であることを特定するインジケータを含む。ここに記載されるビットＲＲＱＳＴおよび他のビットはこのようなインジケータの例である。
【００６２】
１に設定されたレポート復号鍵不一致（report decryption key mismatch）（ＲＤＫＭ）ビットは、可能化された復号化モードでの読出中に復号化プロセスが異なる鍵で暗号化されたブロックを検出した場合、デバイスサーバがＶＨＦデータにおけるＲＲＱＳＴビットを１に設定し得ることを示す。
【００６３】
１に設定されたレポート暗号化パラメータオーバーライド（report encryption parameters over-ridden）（ＲＥＰＯ）ビットは、イニシエータが一次インターフェイスポートを介してＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳ範囲データ暗号化パラメータをオーバーライドした場合、デバイスサーバがＶＨＦデータにおけるＲＲＱＳＴビットを１に設定し得ることを示す。
【００６４】
１に設定されたレポート暗号化パラメータロスト（report encryption parameters lost）（ＲＥＰＬ）ビットは、クリアイベントが自動化デバイスによって設定されたデータ暗号化パラメータのクリアを引起こした場合、デバイスサーバがＶＨＦデータにおけるＲＲＱＳＴビットを１に設定し得ることを示す。
【００６５】
１に設定されたレポート暗号化パラメータオーバーライド拒絶（report encryption parameters over-ride rejected）（ＲＥＰＯＲ）ビットは、一次インターフェイスポートを介してＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳ範囲データ暗号化パラメータをオーバーライドしようとするイニシエータによる試みが構成のために拒絶された場合、デバイスサーバがＶＨＦデータにおけるＲＲＱＳＴビットを１に設定し得ることを示す。
【００６６】
暗号鍵待ち（wait for encryption key）（ＷＥＫ）ビットが１に設定された場合、デバイスサーバは、書込モードへの移行時に停止し、ライブラリに新たな暗号化モードを要求し得る。新たな暗号化モードは、要求リカバリログページの暗号化状態ログパラメータにおけるＷＦＥＫビットとＶＨＦデータにおけるＲＲＱＳＴビットとを設定することによって要求される。デバイスサーバは、（１）ＡＤＣデバイスサーバが設定データ暗号化ページでＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドを処理し、（２）ＡＤＣデバイスサーバが０に設定されたＷＥＫビットを有する自動暗号化制御ページでＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドを処理するか、または、（３）他のイベントを１つも発生させることなく製造業者特有のタイムアウトが発生するまで、如何なる書込データも処理し得ない。
【００６７】
復号鍵待ち（wait for decryption key）（ＷＤＫ）ビットが１に設定されている場合、デバイスサーバは、読出中に復号化モード不一致または不正確鍵を検出すれば停止し、ライブラリに新たな復号化モードを要求し得る。新たな復号化モードは、要求リカバリログページの暗号化状態ログパラメータにおけるＷＦＤＫビットとＶＨＦデータにおけるＲＲＱＳＴビットとを設定することによって要求される。デバイスサーバは、（１）ＡＤＣデバイスが設定データ暗号化ページでＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドを処理するか、（２）ＡＤＣデバイスサーバが、０に設定されたＷＤＫビットを有する自動暗号化制御ページでＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドを処理するか、または、（３）他のイベントを１つも発生させることなく製造業者特有のタイムアウトが発生するまで、復号化の問題を示すエラー状態を一次ポートに返し得ない。
【００６８】
ＶＨＦデータは、既に、要求リカバリ（Requested Recovery）（ＲＲＱＳＴ）ビットにおける例外を通知するための標準的な方法を提供する。このビットは、リカバリ動作が当該要求リカバリログページを介してドライブから読出されるのを待っているときに設定される。これが例外報告書が追加されるログページとなるので、このビットは完全になる。ＶＨＦデータにおけるＲＲＱＳＴビットは、ライブラリが報告書を要求するイベントが発生すると、デバイスサーバによって設定される。
【００６９】
図４は、この発明の実施例に従った暗号化状態ログパラメータを示す説明図である。暗号化状態ログパラメータは、製造業者固有の空間における要求リカバリログページに存在する。一例において、このパラメータを読出すことにより、ビットがその読出後にパラメータにおいて設定されたままになっていたとしても、ＶＨＦデータにおけるＲＲＱＳＴビットがクリアされる。
【００７０】
バイト５のビット０である復号化モード不一致（decryption mode mismatch）（ＤＭＭ）ビットは、ストレージデバイスが暗号化エンジンにおいて暗号化されたブロックを検出し、復号化が不能化された（すなわち、復号化モードがＤＩＳＡＢＬＥＤに設定された）場合、または、ドライブが暗号化エンジンにおいて暗号化されていないブロックを検出し
、復号化が可能化された（すなわち、復号化モードがＤＥＣＲＹＰＴに設定された）場合、読出中に１に設定され得る。ＤＭＭビットは、復号化モードがＭＩＸＥＤに設定された場合には設定されない。このビットは、自動暗号化制御ページにおけるＲＤＭＭビットの設定にかかわらず、その条件が存在する限り１に設定されたままとなる。
【００７１】
バイト５のビット１である復号鍵不一致（decryption key mismatch）（ＤＫＭ）ビットは、ドライブが暗号化エンジンにおいて暗号化されたブロックを検出し、現在の暗号鍵がブロックとして正しくなかった場合、読出中に１に設定され得る。これは、復号化モードがＤＩＳＡＢＬＥに設定された場合には設定されない。この状態は、１つ以上のブロックが暗号化エンジンを通過した可能性があり、ホストへの伝送を待っているとき、現在のホスト位置での状態を必ずしも通知するわけではない。このビットは、自動暗号化制御ページにおけるＲＤＫＭビットの設定にかかわらず、その条件が存在する限り１に設定されたままとなる。
【００７２】
バイト５のビット２である暗号化パラメータオーバーライド（encryption parameters over-ridden）（ＥＰＯ）ビットは、ライブラリがＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳの範囲値でデータ暗号化パラメータを設定するための最後のＩ＿Ｔネクサスであり、イニシエータが一次ポートを介してこのデータ暗号化パラメータの組を変更した場合、１に設定され得る。このビットは、暗号化状態ログパラメータが読出されると０に設定される。
【００７３】
バイト５のビット３である暗号化パラメータロスト（encryption parameters lost）（ＥＰＬ）ビットは、ライブラリがＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳの範囲値でデータ暗号化パラメータを設定するための最後のＩ＿Ｔネクサスであり、データ暗号化パラメータが設定データ暗号化ページを処理する以外のイベントのためにクリアされた場合、１に設定され得る。このビットは、パラメータが読出されるとクリアされる。
【００７４】
バイト５のビット４である暗号化パラメータ試行オーバーライド（encryption parameters attempted over-ride）（ＥＰＡＯＲ）ビットは、イニシエータがＧＬＯＢＡＬ以外の範囲値で設定データ暗号化ページを送信しようと試み、ドライブがライブラリによる暗号化パラメータの設定だけを可能にするよう構成された場合、１に設定され得る。このビットは、暗号化状態ログパラメータが読出されるとクリアされる。
【００７５】
バイト８のビット０である暗号鍵待ち（waiting for encryption key）（ＷＦＥＫ）ビットは、書込時にドライブがライブラリから暗号鍵を待つよう構成され（すなわち、ＷＥＫビットが自動暗号化制御ページにおいて１に設定され）、暗号化モードがＤＩＳＡＢＬＥＤに設定されている間に書込コマンドが受信された場合、１に設定され得る。このビットは、（１）ＡＤＣデバイスサーバが設定データ暗号化ページを処理するか、（２）ＡＤＣデバイスサーバが０に設定されたＷＥＫビットで自動暗号化制御ページを処理するか、または、（３）製造業者特有のタイムアウトまで、設定されたままになり得る。
【００７６】
バイト８のビット１である復号鍵待ち（waiting for decryption key）（ＷＦＤＫ）ビットは、読出時にドライブがライブラリからの復号鍵を待つよう構成され（すなわち、ＷＤＫビットが自動暗号化制御ページにおいて１に設定され）、読出コマンドによりドライブを暗号化されたブロックに遭遇させる一方で、復号化モードがＤＩＳＡＢＬＥＤに設定されるかまたはストレージデバイスが誤った鍵を有する場合、１に設定され得る。このビットは、（１）ＡＤＣデバイスサーバが設定データ暗号化ページを処理するか、（２）ＡＤＣデバイスサーバが０に設定されたＷＤＫビットで自動暗号化制御ページを処理するか、または、（３）製造業者特有のタイムアウトまで、設定されたままとなり得る。
【００７７】
図５は、この発明の実施例に従った、ライブラリにおけるデータの復号化のための鍵管
理ロジックを示す例示的なフロー図である。図５に示されるプロセスは、たとえば図１の鍵マネージャ１１６によって実行され得る。図５のプロセスは、典型的にはストレージデバイスから（たとえば、ＡＤＩプロトコルを介して）データパケットにおいて受信される暗号鍵についてのライブラリインターフェイス上での通信または要求に応答して引起されてもよく、鍵を探索し、結果として当該鍵を返す。ブロック５０２は、ライブラリ管理型暗号化のためにストレージデバイスを構成し、たとえば自動化されたテープローディングシステムによって記憶媒体をストレージデバイスにロードさせる。ブロック５０４は、暗号鍵を探索する（典型的にはデータを復号化する）要求を受信する、すなわち読出すかまたはデコードする。上述のとおり、要求は典型的にはストレージデバイスから受信される。ブロック５０６は、鍵を探索するのに用いられる鍵識別子のための要求パケットをストレージデバイスに送信する。代替的には、鍵識別子は、ブロック５０４において受信された最初の要求時に送信されていてもよく、この場合、鍵識別子は別個に要求されず、ブロック５０６は必要とされないだろう。ブロック６０８は、パケットにおけるページの形式であり得る通信を受信する。当該要求は鍵識別子を含む。ブロック５１０は鍵識別子に対応する鍵を探索する。ブロック５１０は、鍵マネージャ１１６のメモリにおけるかもしくは鍵マネージャ１１６によってアクセス可能な不揮発性記憶装置上におけるルックアップテーブルを用い得るか、または、（たとえばアドミニストレータ１０４によって）鍵識別子に予め関連付けられた鍵を発見するための他の何らかの手段を用い得る。ブロック５１２は応答として鍵をデバイスに送信し、そこから、要求がブロック５０４および５０８において受信された。
【００７８】
図６は、この発明の実施例に従った、ストレージデバイスに記憶された暗号化されたデータを復号化するための復号化ロジックを示す説明図である。図６に示されるプロセスは、たとえば、図１の取外し可能なストレージデバイス１０８などのストレージデバイスにおけるプロセッサ上で実行されるコンピュータプログラムコードによって実行され得る。当該プロセスは、取外し可能なストレージデバイス１０８からデータを読出させるホストシステム１０２による要求に応答して引起されてもよい。ブロック６０２において、ストレージデバイスはホストから読出コマンドを受信する。ブロック６０４において、ストレージデバイスは、読出コマンドにおいて特定されたとおり、記憶媒体から鍵識別子および暗号化されたデータを読出す。ブロック６０６は、ライブラリインターフェイス（たとえば、ＡＤＩ）上の通信プロトコルを介してパケットを鍵マネージャ１１６に送信して、ブロック６０４において読出された鍵識別子に対応する鍵を要求する。鍵識別子はまた、鍵を要求するパケットの一部として、または別個のパケットにおいて鍵マネージャ１１６に送信される。鍵マネージャ１１６は、たとえば図５のプロセスに従って暗号鍵を探索する。ブロック６０８は、通信プロトコル（たとえば、ＡＤＩ）を介してライブラリから鍵を受信する。ブロック６１０は、たとえば、デバイスがデータの読出時にデータを復号化するモードでストレージデバイスを配置することにより、当該鍵でデータを復号化するようストレージデバイスを構成する。ブロック６１２において、ストレージデバイスは暗号化されたデータを復号化し、これを、ホストインターフェイス（たとえば、ＳＣＳＩまたはファイバチャネル）上で通信プロトコルを介してホストに送信する。
【００７９】
図７は、この発明の実施例に従った、ライブラリにおけるデータの暗号化のための鍵管理ロジックを示す説明図である。図７に示されるプロセスは、たとえば図１の鍵マネージャ１１６によって実行され得る。当該プロセスは、暗号鍵を生成させるライブラリインターフェイス上の通信または要求に応答して引起されてもよい。通信は、典型的には、ストレージデバイスから（たとえば、ＡＤＩプロトコルを介して）データパケットにおいて受信される。ブロック７０２は、データを暗号化するための暗号鍵を供給する要求を受信する、すなわち、読出すかまたはデコードする。ブロック７０４は、データ安全性について当業者に公知の暗号化方法にとって適切な技術を用いて暗号鍵を生成する。ブロック７０６は、鍵と、当該鍵に対応する鍵識別子とを含む応答通信を送信する。当該応答は、典型
的には、ブロック７０２において要求が受信されたデバイス、たとえばデータストレージデバイスに送信される。
【００８０】
図８は、この発明の実施例に従った、ストレージデバイスに記憶されるべきデータを暗号化するための暗号化ロジックを示す説明図である。図８に示されるプロセスは、たとえば、図１の取外し可能なストレージデバイス１０８などのストレージデバイスにおけるプロセッサ上で実行されるコンピュータプログラムコードによって実行されてもよい。当該プロセスは、データを取外し可能なストレージデバイス１０８に書込ませるホストシステム１０２による要求に応答して引起されてもよい。ブロック８０２において、ストレージデバイスは、ホスト１０２から書込コマンドを受信し、鍵マネージャ１１６に要求通信を送信して暗号鍵を要求する。鍵マネージャ１１６は、たとえば図７のプロセスに従って暗号鍵および鍵識別子を生成する。ブロック８０４において、ストレージデバイスは暗号鍵および鍵識別子を受信する。ブロック８０６は、たとえば、記憶媒体が取出されるかまたはストレージデバイスが切断されるまで、記憶媒体に書込まれたかまたは記憶媒体から読出されたデータを鍵を用いて暗号化および復号化するようストレージデバイスを構成する。ブロック８０８において、ストレージデバイスは、当該プロセスの現在の呼出時に書込まれるべき特定のデータを復号化および暗号化する。ブロック８１０において、ストレージデバイスは、暗号化されたデータに関連付けて記憶媒体に鍵識別子を書込む。この関連付けは、たとえば、データに隣接する鍵識別子をテープに書込むことによって確立され得る。一例において、鍵識別子がテープに書込まれ、暗号化されたデータが後に続く。
【００８１】
暗号化されたテープに暗号化されたバックアップセットを追加するプロセスが、図５から図８のプロセス間での情報のやりとりを示す一例として説明される。この例において、ライブラリからの鍵で暗号化されたデータを含むテープがドライブにロードされ、次いで、異なる鍵を用いて新たなバックアップセットがＥＯＤにおいて追加される。この例において、ライブラリはまず、自動暗号化制御ページとともにＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドをドライブに送信する。ここで、新たな構成は以下のパラメータを含む。
【００８２】
自動化鍵管理制御（Automation Key Management Control）＝ライブラリ制御された暗号化（Library Controlled Encryption）。
【００８３】
レポート復号化モード不一致（Report decryption mode mismatch）＝１。
レポート復号鍵不一致（Report decryption key mismatch）＝１。
【００８４】
イベントをクリアすることによって失われるレポート暗号化パラメータ（Report encryption parameters lost by clearing event）＝１。
【００８５】
書込時の鍵待ち（Wait for key when writing）＝１。
読出時の鍵待ち（Wait for key when reading）＝１。
【００８６】
次いで、ライブラリは、設定データ暗号化ページとともにＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドをドライブに送信する。以下のパラメータが含まれる。
【００８７】
範囲（Scope）＝ＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳ。
暗号化モード（Encryption Mode）＝ＤＩＳＡＢＬＥ。
【００８８】
復号化モード（Decryption Mode）＝ＤＩＳＡＢＬＥ。
次いで、ホストは、バックアップのために用いられるテープをテープドライブに移動させることを要求するＭＯＶＥ  ＭＥＤＩＵＭコマンドをライブラリに発行する。ライブラ
リは、次いで、テープをドライブにロードし、テープドライブがテープを装着し、準備が整う。
【００８９】
次いで、ホストは、テープラベルを読出すＲＥＡＤコマンドをドライブに発行する。取外し可能なストレージデバイスはデータをキャッシュに読込み、「１２３」とラベルが付された鍵でデータが暗号化されていることを発見する。取外し可能なストレージデバイスは、復号化モード不一致（decryption mode mismatch）（ＤＭＭ）ビットおよび復号鍵待ち（waiting for decryption key）（ＷＦＤＫ）ビットを１に設定し、ＶＨＦにおけるＲＲＱＳＴビットを１に設定する。次いで、ライブラリは、ポーリングまたはＡＥＲ通知を通じて１に設定されたＲＲＱＳＴビットを検出する。ライブラリは、暗号化状態ログパラメータを含む要求リカバリログページについてのＬＯＧ  ＳＥＮＳＥコマンドを送信する。ドライブは、復号化モード不一致（decryption mode mismatch）（ＤＭＭ）ビットおよび復号鍵待ち（waiting for decryption key）（ＷＦＤＫ）ビットが１に設定されている要求リカバリログページの暗号化状態ログを返す。
【００９０】
次いで、ライブラリは、次のブロック暗号化状態ページを要求するＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＩＮコマンドを送信する。ドライブは、Ａ−ＫＡＤデータ「１２３」を有するＡ−ＫＡＤ記述子（すなわち、鍵識別子）を含む鍵関連のデータ記述子を含むページを返す。次いで、ライブラリは鍵識別子に対応する適切な鍵を探索し、設定データ暗号化ページを有するＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドをドライブに送信する。ここでコマンドは以下のパラメータを含む。
【００９１】
範囲（Scope）＝ＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳ。
暗号化モード（Encryption Mode）＝ＤＩＳＡＢＬＥ。
【００９２】
復号化モード（Decryption Mode）＝ＭＩＸＥＤ。
アルゴリズムインデックス（Algorithm Index）＝０。
【００９３】
鍵形式（Key Format）＝０。
鍵長さ（Key Length）＝３２。
【００９４】
鍵（Key）＝正しい鍵。
一例において、鍵を探索し、当該鍵をストレージデバイスに送信する前に、鍵マネージャは認証チェックを実行して、ストレージデバイスが鍵にアクセスする許可を得ているかどうか判断し得る。認証チェックが否定的な結果をもたらした場合、すなわち、デバイスが鍵にアクセスする許可を得ていない場合、鍵マネージャは鍵をデバイスに送信することとなる。許可は、アドミニストレータユーザアカウントを用いるバックアップアドミニストレータ１０４によって確立され得るか、または、許可されたストレージデバイスと鍵を関連付ける許可規則を確実に規定する他の手段によって確立され得る。
【００９５】
次いで、ドライブは当該鍵でデータを復号化し、これをホストに返す。ドライブは現在の鍵を用いてブロックを前処理し続ける。ホストは、（次のバックアップセットを追加する準備をするよう）ＳＰＡＣＥコマンドをデータの終わり（ＥＯＤ）に発行する。ホストは、（最後のバックアップセットについてカタログを確認するよう）ＳＰＡＣＥ逆方向２ファイルマークコマンド（SPACE reverse 2 filemarks command）を発行する。ホストは、ＳＰＡＣＥ順方向１ファイルマークコマンド（SPACE forward 1 filemark command）を発行する。ホストは最後のカタログを確認するためにＲＥＡＤコマンドを発行する。これらのブロックはヘッダと同じ鍵で暗号化されているので、ドライブはこれらを正常に処理する。ホストは、ＥＯＤの直前のファイルマークが通知されるまでＲＥＡＤコマンドを発行する。
【００９６】
次いで、ホストは、次のバックアップを開始するようＷＲＩＴＥコマンドを発行する。ドライブは、ライブラリに送信されたパケットにおいて、暗号鍵待ち（waiting for encryption key）（ＷＦＥＫ）ビットを１に設定し、ＶＨＦデータにおけるＲＲＱＳＴビットを１に設定する。ライブラリはパケットを受信し、ポーリングまたはＡＥＲ通知により、１に設定されたＲＲＱＳＴビットを検出する。ライブラリは、ドライブに送信されたパケットにおいて暗号化状態ログパラメータを含む要求リカバリページについてのＬＯＧ  ＳＥＮＳＥコマンドを送信する。ドライブは、１に設定された暗号鍵待ち（waiting for encryption key）（ＷＦＥＫ）ビットを備えた暗号化状態ログパラメータとともに、要求リカバリページを返す。
【００９７】
次いで、ライブラリは、パケットにおける設定データ暗号化ページを有するＳＥＣＵＲＩＴＹ  ＰＲＯＴＯＣＯＬ  ＯＵＴコマンドをドライブに送信する。この場合、ページは以下のパラメータを含む。
【００９８】
範囲（Scope）＝ＡＬＬ  Ｉ＿Ｔ  ＮＥＸＵＳ。
暗号化モード（Encryption Mode）＝ＥＮＣＲＹＰＴ。
【００９９】
復号化モード（Decryption Mode）＝ＭＩＸＥＤ。
アルゴリズムインデックス（Algorithm Index）＝０。
【０１００】
鍵形式（Key Format）＝０。
鍵長さ（Key Length）＝３２。
【０１０１】
鍵（Key）＝新たな鍵。
鍵関連のデータ記述子（Key-Associated Data Descriptions）は、新たな鍵についての鍵ＩＤを有するＡ−ＫＡＤ記述子を含む。
【０１０２】
ドライブは、次いで、ＷＲＩＴＥコマンドおよび次のＷＲＩＴＥコマンドについてのデータを受取り、供給された鍵でデータを暗号化する。バックアップが完了すると、ホストは、検証パスのためにバックセットの始めに再度位置決めするようＳＰＡＣＥ逆方向コマンドまたはＬＯＣＡＴＥコマンドを発行する。次いで、ホストは、データを検証するようＲＥＡＤコマンドを発行する。ドライブが同じ鍵で復号化するよう設定されていたので、ＲＥＡＤコマンドは正常に処理される。ホストはＬＯＡＤ  ＵＮＬＯＡＤコマンドをドライブに発行して、テープまたは記憶媒体をアンロードする。ドライブはテープまたは記憶媒体をアンロードする。アンロード動作の処理中、鍵は、ＣＫＯＤビットが設定されているためにクリアされてもよい。ドライブは、暗号化パラメータロスト（encryption parameters lost）（ＥＰＬ）ビットを１に設定し、ＶＨＦデータにおけるＲＲＱＳＴビットを１に設定する。
【０１０３】
次いで、ライブラリは、ポーリングまたはＡＥＲ通知により、１に設定されたＲＲＱＳＴビットを検出する。ライブラリは、暗号化状態ログパラメータを含む要求リカバリログページについてのＬＯＧ  ＳＥＮＳＥコマンドを送信する。テープドライブは、１に設定された暗号化パラメータロスト（ＥＰＬ）ビットを有する暗号化状態ログパラメータとともに、要求リカバリログページを返す。ライブラリはこれに応答しない。テープドライブまたはストレージデバイスがＬＯＡＤ  ＵＮＬＯＡＤについての完了状態をホストに送信すると、当該ホストは、ＭＯＶＥ  ＭＥＤＩＵＭコマンドをライブラリに発行する。ライブラリは、ＭＯＶＥ  ＭＥＤＩＵＭコマンドを処理してテープをスロットに返す。
【０１０４】
図９は、この発明のいくつかの実施例に従って用いられ得る例示的なコンピュータシス
テムを示す説明図である。図９は、この発明の実施例における処理機能を実現するのに用いられ得る典型的な演算システム９００を示す。このタイプの演算システムは、たとえば、クライアントおよびサーバにおいて用いられてもよい。当業者であれば、他のコンピュータシステムまたはアーキテクチャを用いてこの発明を如何に実現するかについても認識するだろう。演算システム９００は、たとえば、デスクトップ、ラップトップもしくはノート型コンピュータ、携帯型の演算装置（ＰＤＡ、携帯電話、パームトップなど）、メインフレーム、サーバ、クライアント、または、所与のアプリケーションもしくは環境にとって所望され得るかもしくは適切であり得る特定用途もしくは汎用の如何なる種類の演算装置をも表わし得る。演算システム９００は、プロセッサ９０４などの１つ以上のプロセッサを含み得る。プロセッサ９０４は、たとえば、マイクロプロセッサ、マイクロコントローラまたは他の制御ロジックなどの汎用または特定用途の処理エンジンを用いて実現され得る。この例においては、プロセッサ９０４はバス９０２または他の通信媒体に接続される。
【０１０５】
演算システム９００はまた、プロセッサ９０４によって実行されるべき情報および命令を記憶するためのランダムアクセスメモリ（ＲＡＭ）または他の動的メモリなどのメインメモリ９０８を含み得る。メインメモリ９０８はまた、プロセッサ９０４によって実行されるべき命令の実行中に一次変数または他の中間情報を記憶するのに用いられてもよい。演算システム９００は、同様に、バス９０２に結合されプロセッサ９０４のための静的情報および命令を記憶するための読出専用メモリ（ＲＯＭ）または他の静的記憶装置を含み得る。
【０１０６】
演算システム９００はまた、たとえば、媒体ドライブ９１２および取外し可能なストレージデバイス９２０を含み得る情報ストレージシステム９１０を含み得る。媒体ドライブ９１２は、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、取外し可能な磁気ストレージデバイス、光ディスクドライブ、ＣＤもしくはＤＶＤドライブ（ＲもしくはＲＷ）、または他の取外し可能もしくは固定式の媒体ドライブなどの固定式または取外し可能な記憶媒体をサポートするためのドライブまたは他の機構を含み得る。記憶媒体９１８は、たとえば、媒体ドライブ９１４による読出または書込が行なわれるハードディスク、フロッピー（登録商標）ディスク、磁気テープ、光ディスク、ＣＤもしくはＤＶＤまたは他の固定式もしくは取外し可能な媒体を含み得る。これらの例が示すように、記憶媒体９１８は、特定のコンピュータソフトウェアまたはデータが記憶されているコンピュータ読取可能記憶媒体を含み得る。
【０１０７】
代替的な実施例においては、情報ストレージシステム９１０は、コンピュータプログラムまたは他の命令もしくはデータを演算システム９００にロードすることを可能にするための他の同様の構成要素を含み得る。このような構成要素は、たとえば、プログラムカートリッジおよびカートリッジインターフェイスなどの取外し可能なストレージユニット９２２およびインターフェイス９２０、取外し可能なメモリ（たとえば、フラッシュメモリもしくは他の取外し可能なメモリモジュール）およびメモリスロット、ならびに、ソフトウェアおよびデータを取外し可能なストレージユニット９１８から演算システム９００に転送することを可能にする他の取外し可能なストレージユニット９２２およびインターフェイス９２０を含み得る。
【０１０８】
演算システム９００はまた通信インターフェイス９２４を含み得る。通信インターフェイス９２４を用いることにより、演算システム９００と外部装置との間でソフトウェアおよびデータを伝達することが可能になり得る。通信インターフェイス９２４の例は、モデム、ネットワークインターフェイス（たとえばイーサネット（登録商標）または他のＮＩＣカード）、通信ポート（たとえば、ＵＳＢポートなど）、ＰＣＭＣＩＡスロットおよびカードなどを含み得る。通信インターフェイス９２４を介して転送されるソフトウェアお
よびデータは、通信インターフェイス９２４が受信可能な電子的、電磁的、光学的または他の信号であり得る信号の形態である。これらの信号はチャネル９２８を介して通信インターフェイス９２４に供給される。このチャネル９２８は信号を搬送し、無線媒体、ワイヤもしくはケーブル、光ファイバまたは他の通信媒体を用いて実現されてもよい。チャネルの他の例には、電話回線、携帯電話リンク、ＲＦリンク、ネットワークインターフェイス、ローカルまたはワイドエリアネットワーク、および他の通信チャネルが含まれる。
【０１０９】
この明細書において、「コンピュータプログラムプロダクト」、「コンピュータ読取可能媒体」などの用語は、概して、たとえばメモリ９０８、ストレージデバイス９１８またはストレージユニット９２２などの媒体を指すのに用いられてもよい。コンピュータ読取可能媒体のこれらおよび他の形態は、プロセッサ９０４によって用いられプロセッサに特定の動作を実行させる１つ以上の命令を記憶することに関与し得る。一般に「コンピュータプログラムコード」（コンピュータプログラムまたは他のグループ分けの形でグループ分けされ得る）と称されるこのような命令は、実行されると、演算システム９００がこの発明の実施例の特徴または機能を実行することを可能にする。なお、当該コードは、直接的に、プロセッサに特定の動作を実行させてもよく、これを行なうためにコンパイルされてもよく、ならびに／または、これを行なうために他のソフトウェア、ハードウェアおよび／もしくはファームウェア要素（標準的な機能を実行するためのライブラリ）と組合されてもよい。
【０１１０】
当該要素がソフトウェアを用いて実現される実施例においては、ソフトウェアは、たとえば、取外し可能なストレージドライブ９１４、ドライブ９１２または通信インターフェイス９２４を用いてコンピュータ読取可能媒体に記憶され、演算システム９００にロードされ得る。制御ロジック（この例においてはソフトウェア命令またはコンピュータプログラムコード）は、プロセッサ９０４によって実行されると、ここに記載される発明の機能をプロセッサ９０４に実行させる。
【０１１１】
明確にする目的で、上述の記載では異なる機能ユニットおよびプロセッサに関連付けてこの発明の実施例を説明してきたことが認識されるだろう。しかしながら、この発明から逸脱することなく、異なる機能ユニット、プロセッサまたは領域の間における如何なる好適な機能の分散も利用可能であることが認識されるだろう。たとえば、別個のプロセッサまたはコントローラによって実行されるよう示された機能は同じプロセッサまたはコントローラによって実行され得る。このため、特定の機能ユニットについての言及は、厳密な論理的または物理的な構造または構成を示すのではなく、上述の機能を提供するための好適な手段を言及するものとしてのみ認識されるべきである。
【０１１２】
この発明をいくつかの実施例に関連付けて説明してきたが、この発明はこの明細書中に記載される特定の形態に限定されることを意図するものではない。むしろ、この発明の範囲は添付の特許請求の範囲によってのみ限定される。加えて、特徴が特定の実施例に関連付けて説明されているように思われるが、当業者であれば、記載された実施例のさまざまな特徴がこの発明に従って組合せ可能であることを認識するだろう。
【０１１３】
さらに、個々に列挙されているが、複数の手段、要素または方法ステップが、たとえば単一のユニットまたはプロセッサによって実現されてもよい。加えて、個々の特徴は異なるクレームに含まれてもよいが、これらは、場合によっては有利に組合せされてもよく、異なるクレームに含めることは、特徴の組合せが実現可能および／または有利でないことを示唆するものではない。また、クレームの１つのカテゴリに特徴を含めることは、このカテゴリに限定することを示唆するものではなく、むしろ、特徴は、適宜、他のクレームカテゴリに等しく適用可能であり得る。
【０１１４】
さらに、この発明の精神および範囲から逸脱することなくさまざまな変更例および代替例が当業者によってなされ得ることが認識されるだろう。この発明は上述の具体的な詳細によって限定されるべきではなく、クレームに従って規定されるべきである。
2008278469.tif 000005
【０１１５】
2008278469.tif 000006
【図面の簡単な説明】
【０１１６】
【図１】この発明の実施例に従った、ライブラリベースの鍵管理を用いるバックアップシステムの説明図である。
【図２】この発明の実施例に従った鍵識別子データ形式を示す説明図である。
【図３】この発明の実施例に従った自動化鍵管理制御形式を示す説明図である。
【図４】この発明の実施例に従った暗号化状態ログパラメータデータ形式を示す説明図である。
【図５】この発明の実施例に従った、ライブラリにおけるデータの復号化のための鍵管理ロジックを示す例示的なフロー図である。
【図６】この発明の実施例に従った、ストレージデバイスに記憶された暗号化されたデータを復号化するための復号化ロジックを示す説明図である。
【図７】この発明の実施例に従った、ライブラリにおけるデータの暗号化のための鍵管理ロジックを示す説明図である。
【図８】この発明の実施例に従った、ストレージデバイスに記憶されるべきデータを暗号化するための暗号化ロジックを示す説明図である。
【図９】この発明のいくつかの実施例に従って用いられ得る例示的なコンピュータシステムを示す説明図である。
【符号の説明】
【０１１７】
１０２  ホストシステム、１０４  バックアップアドミニストレータ、１０５  バックアップアプリケーション、１０６  自動化ライブラリ、１０８  取外し可能なストレージデバイス、１１２  ライブラリサーバ、１１６  鍵マネージャ、１１８  鍵マネージャ。
【図１】
2008278469.tif 000007
【図２】
2008278469.tif 000008
【図３】
2008278469.tif 000009
【図４】
2008278469.tif 000010
【図５】
2008278469.tif 000011
【図６】
2008278469.tif 000012
【図７】
2008278469.tif 000013
【図８】
2008278469.tif 000014
【図９】
2008278469.tif 000015
【外国語明細書】
2008278469000001.pdf