説明

記憶されたデータのための暗号鍵の管理

【課題】ストレージデバイスにあるストレージライブラリにおいてアプリケーション透過型の鍵管理を行う。
【解決手段】暗号化、復号化は鍵マネージャと着脱可能なストレージデバイスにより実行され、アプリケーションに透過的である。データはストレージ鍵マネージャが管理する鍵により暗号化される。管理インターフェイスはアドミニストレータによる暗号鍵の特定および管理を可能にする。鍵識別子は各鍵に関連付けられ、暗号化データと共にテープに書込まれる。暗号化データの読出時に着脱可能なストレージデバイスがテープから鍵識別子を読出し、暗号鍵を鍵マネージャに要求する。当該ストレージデバイスは復号化データをアプリケーションに与える。暗号鍵は暗号化されたXML形式で鍵マネージャまたはライブラリからエクスポートされ得る。従って、暗号化されたテープはライブラリ間での鍵のエクスポートにより別々のライブラリにおいて復号化され得る。

【発明の詳細な説明】
【技術分野】
【0001】
発明の背景
発明の分野
この発明は、概して、データ暗号化に関し、より特定的には、大容量ストレージデバイスにおけるデータの暗号化のための技術に関する。
【背景技術】
【0002】
関連技術の説明
データは、無許可でアクセスされるのを防ぐために暗号化された形式で記憶媒体に記憶され得る。典型的な暗号化方式においては、データは、鍵と称される別のデータの部分を用いて暗号化される。暗号化されたデータの形式は、鍵を有していない人にとっては本質的に無意味なものである。すなわち、鍵は、典型的には、記憶媒体に記憶されたデータを復号化して元の形式、すなわち暗号化されていない形式のデータにアクセスすることを可能にするのに必要とされる。鍵は典型的には秘密のものであり、元の形式のデータにアクセスすることが許可されたユーザにだけ明らかにされる。
【0003】
記憶媒体に記憶されたデータを暗号化および復号化するプロセスは、バックアップアプリケーション、たとえば、シマンテック社(Symantec Corporation)(カリフォルニア州(California)、キューパーティーノ(Cupertino))によるNetBackup(商標)、または、専用のインバンド・アプライアンス、たとえば、ネットワークアプライアンス社(Network Appliance Inc.)(カリフォルニア州(California)、サニーヴェール(Sunnyvale))によるDecru DataFort(登録商標)、または、ネオスケール・システムズ社(Neoscale Systems Inc.)(カリフォルニア州(California)、ミルピータス(Milpitas))によるCryptoStor(登録商標)によって管理および/または実行可能である。
【0004】
費用対効果の高いソリューションは、有利には、自動化されたデータストレージライブラリによって提供することができる。データストレージ自動化ライブラリは大量のデータを記憶するためのシステムである。データストレージ自動化ライブラリは、たとえばホストコンピュータからデータを受信し、テープドライブまたはディスクドライブなどのストレージデバイスを用いて、磁気テープ、磁気ディスクまたは光ディスクなどの記憶媒体に当該データを記憶し得る。自動化ライブラリは、複数のストレージデバイスと、当該ストレージデバイス間で記憶媒体を転送するための自動化されたシステムとを含み得る。記憶されたデータについての要求を受取ると、データストレージ自動化ライブラリは、記憶媒体からデータを検索し、当該データをホストコンピュータに返し得る。
【0005】
ユーザが所望するのは、データ暗号化および鍵管理を行なえる使い易くかつ完璧なソリューションである。このためには、暗号化テープドライブまたは取外し可能なストレージデバイスと、自動化ライブラリと、バックアップソフトウェアアプリケーションとの間を調整することによってソリューションを提供することが必要となる。しかしながら、バックアップソフトウェアアプリケーションは、テープドライブなどのデバイスに記憶されたデータを暗号化および復号化するための機能を含んでいないことが多い。既存のバックアップソフトウェアを拡張するかまたは新しいバックアップソフトウェアを提供するには、かなりの労力が必要となり、場合によっては、特定の製造業者の自動化ライブラリで作動させるためにバックアップソフトウェアをカスタマイズすることが必要になるだろう。したがって、バックアップソフトウェアアプリケーションに依存せずに、暗号化されたデータを自動化ライブラリに記憶させることが所望されるだろう。
【発明の開示】
【課題を解決するための手段】
【0006】
発明の概要
概して、一局面において、この発明は記憶媒体を特徴とする。記憶媒体は、暗号鍵を識別するための磁気的に符号化された鍵識別子を含み、鍵識別子は、鍵の元(origin)を識別するデバイス識別子と、タイムスタンプと、鍵ノンスとを含む。この発明の実施例は以下の特徴のうちの1つ以上を含み得る。タイムスタンプは、暗号鍵が作成された時間を表わし得る。タイムスタンプは、暗号鍵が有効になった時間を表わし得る。鍵ノンスは擬似ランダム値に基づき得る。記憶媒体は、磁気テープ、磁気ディスク、光ストレージまたはこれらの組合せを含み得る。鍵ノンスは、物理的なエントロピソースによって作成された乱数に基づき得る。鍵ノンスは、鍵に関連付けられたストレージデバイスの領域内のユニークな番号を含み得る。
【0007】
概して、第2の局面において、この発明は、磁気テープ上で鍵識別子を符号化するための装置を特徴とする。当該装置は、テープ上でデバイス識別子を磁気的に符号化させるためのロジックと、テープ上でタイムスタンプを磁気的に符号化させるためのロジックと、テープ上で鍵ノンスを磁気的に符号化させるためのロジックとを含む。
【0008】
概して、第3の局面において、この発明は、復号鍵を提供するための鍵管理装置を特徴とする。鍵管理装置は、受信した復号鍵を識別する鍵識別子をストレージデバイスに要求するためのロジックと、少なくとも1つの暗号鍵のテーブルからのエントリの検索を行なわせるためのロジックとを含み、当該エントリはストレージデバイスから受信した鍵識別子に関連付けられ、暗号化されたデータに対応する復号鍵を特定する。鍵管理装置はさらに、復号鍵をストレージデバイスに伝達させるためのロジックを含む。この発明の実施例は以下の特徴のうちの1つ以上を含み得る。データストレージライブラリは鍵管理装置を含み得る。
【0009】
概して、第4の局面において、この発明は、ストレージデバイスに記憶された暗号化されたデータを復号化するよう動作可能なデータストレージデバイスを特徴とする。当該ストレージデバイスは、暗号化されたデータとストレージデバイスに記憶された暗号化されたデータに関連付けられる鍵識別子とを検出するためのロジックと、復号鍵についての要求をデータストレージライブラリに伝達させるためのロジックとを含み、当該要求は鍵識別子を含み、当該ストレージデバイスはさらに、暗号化されたデータブロックの、受信した復号鍵での復号化を引起こして、復号化されたデータを作成するためのロジックを含む。
【0010】
この発明の実施例は以下の特徴のうちの1つ以上を含み得る。データストレージデバイスは、復号鍵を用いて鍵識別子に関連付けられるデータを復号化するようストレージデバイスを設定するためのロジックと、復号化されたデータをホストに伝達させるためのロジックとを含み得る。データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブ、またはこれらの組合せを含み得る。
【0011】
概して、第5の局面において、この発明は、暗号鍵を提供するための鍵管理装置を特徴とする。鍵管理装置は、暗号鍵についての要求の受信に応答して暗号鍵と関連する鍵識別子とを生成するためのロジックと、暗号鍵および関連する鍵識別子をストレージデバイスに伝達させるためのロジックとを含む。この発明の実施例は以下の特徴のうちの1つ以上を含み得る。データストレージライブラリは鍵管理装置を含み得る。
【0012】
概して、第6の局面において、この発明は、ストレージデバイスに記憶されるデータを暗号化するよう動作可能なデータストレージデバイスを特徴とする。ストレージデバイス
は、書込データコマンドの受信に応答して、暗号鍵についての要求をデータストレージライブラリに伝達させるためのロジックと、当該ライブラリから受信した暗号鍵でデータを暗号化および復号化するようストレージデバイスを設定するためのロジックと、暗号鍵でデータを暗号化させるためのロジックと、データと暗号鍵に関連付けられる鍵識別子とをストレージデバイスに書込むためのロジックとを含み、鍵識別子はライブラリから受信され、データに関連付けて記憶される。この発明の実施例は以下の特徴のうちの1つ以上を含み得る。データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブ、またはこれらの組合せを含み得る。
【0013】
概して、第7の局面において、この発明は、暗号鍵のツリー構造記述を生成するための鍵エクスポート装置を特徴とする。当該装置は、少なくとも1つの鍵データツリー要素を生成するためのロジックを含む。鍵データツリー要素は、鍵名と、暗号鍵の暗号化された記述とを含む。この発明の実施例は以下の特徴のうちの1つ以上を含み得る。ツリー構造記述はXML記述を含み得る。鍵データツリー要素は、鍵作成日、鍵失効日、鍵作成名、アドレス、局識別子、鍵ハンドル、またはこれらの組合せを含み得る。
【発明を実施するための最良の形態】
【0014】
発明の詳細な説明
以下の説明は、当業者がこの発明を作成および使用することを可能にするよう提示され、特定の応用例およびそれらの要件についての文脈において提供される。これらの実施例に対するさまざまな変更は当業者には容易に明らかとなり、ここに規定される一般原則は、この発明の精神および範囲から逸脱することなく他の実施例および応用例に適用され得る。さらに、以下の記載においては、説明の目的で多くの詳細が述べられる。しかしながら、当業者であれば、これらの特定の詳細を用いることなくこの発明が実施され得ることを認識するだろう。他の例においては、周知の構造および装置は、不要な詳細によってこの発明の記載を曖昧にすることを避けるためにブロック図の形で示されている。このため、この発明は、図示された実施例に限定されることを意図したものではなく、ここに開示される原理および特徴と一致した最も広範な範囲が与えられるべきである。
【0015】
図1は、この発明の実施例に従った、ライブラリベースの鍵管理を用いるバックアップシステムを示す説明図である。図1に示される構成の例においては、ライブラリベースの鍵管理システムは、バックアップアドミニストレータ104、ホストシステム102、バックアップアプリケーション105、自動化ライブラリ106、および、ホストシステム102と自動化ライブラリ106との間のホストインターフェイスを含む。自動化ライブラリ106は、ライブラリサーバ112、1つ以上のストレージデバイス、たとえば取外し可能なストレージデバイス108、任意の取外し可能なストレージデバイスN110、鍵マネージャ116、118(典型的には、鍵マネージャ116、118のうちの一方だけが存在する)、ならびに、取外し可能なストレージデバイス108(および110)とライブラリサーバ112または鍵マネージャ118との間のライブラリインターフェイスを含む。取外し可能なストレージデバイスは、磁気テープドライブ、光ドライブ、ディスクドライブ、フラッシュメモリベースのドライブ、または、取外し可能な記憶媒体を備えた他のストレージデバイスであってもよい。鍵マネージャ118がライブラリに常駐していなければ、鍵は、常に、性能の改善のためにライブラリ上においてキャッシュされ得る。別の例においては、鍵マネージャ118がライブラリに常駐している場合、鍵はライブラリの外部において、たとえば外部のストレージデバイスに記憶され得る。別の例においては、鍵は外部のストレージデバイスに記憶されてもよく、鍵の二次的なコピーがライブラリに記憶され得る。鍵は、たとえば冗長性または改善された可用性のために、2つ以上の外部リポジトリに記憶され得る。ウェブブラウザ114はウェブインターフェイスを介してライブラリサーバ112(および、存在するのであれば、鍵マネージャ118)と情報をやりとりする。バックアップアドミニストレータ104は、バックアップ動作と関わ
りのある活動を調整する人であってもよい。アドミニストレータ104は、バックアップアプリケーションを始動させ、適切なセキュリティ証明書をライブラリサーバに提供する役割を果たし得る。ホストシステム102は、たとえば、バックアップアプリケーションを実行するコンピュータシステムであり得る。バックアップアプリケーション105は、たとえば、データバックアップおよびリカバリ動作を実行し得るソフトウェアアプリケーションであってもよい。
【0016】
ホストインターフェイスは、たとえば、バックアップアプリケーション105と取外し可能なストレージデバイス108との間の通信リンクまたは接続部であってもよい。ホストインターフェイスの例には、SCSI、iSCSI、ファイバチャネル(Fibre Channel)、およびSAS(シリアル接続SCSI(Serial Attached SCSI))が含まれる。なお、ホストインターフェイスはSAN(ストレージエリアネットワーク(Storage Area Network))の一部であってもよい。取外し可能なストレージデバイス108は、ホストインターフェイスを介してバックアップアプリケーション105に接続され、ライブラリインターフェイスを介してライブラリサーバ112に接続され得る。ライブラリサーバ112は、一例においては、ライブラリインターフェイスを介して、取外し可能なストレージデバイス108(および110)と通信し、ウェブインターフェイスを介してバックアップアドミニストレータ104と通信することのできるサーバであり得る。ライブラリサーバはコンピュータであり得るか、またはコンピュータ上で稼動するプロセスであり得る。鍵マネージャ116はライブラリサーバ上で稼動する。一例においては、鍵マネージャ116は、コンピュータプログラムコードによって実現され、ライブラリサーバ112上で(または、ライブラリサーバ112がプロセスである場合にはライブラリサーバ112のホストとして機能するコンピュータ上で)稼動するアプリケーションまたはプロセスである。鍵マネージャ116は、暗号鍵をライブラリサーバまたは他の場所に記憶し得る。別の例においては、鍵マネージャ116はライブラリサーバ上では稼働しない。代わりに、鍵マネージャ118は、ライブラリサーバ112の外部で、たとえばライブラリサーバ112とは異なるコンピュータ上で、または、ライブラリサーバ112とは異なるプロセスにおいて稼働している。2つの鍵マネージャ116、118が例示の目的で示されているが、典型的には1つの鍵マネージャが存在している。鍵マネージャ116または118は、取外し可能なストレージデバイス108、110、ライブラリサーバ112およびウェブブラウザ114と通信するいかなるコンピュータ上でも稼働し得る。
【0017】
ライブラリインターフェイスは、一例においては、自動化ライブラリ106内における取外し可能なストレージデバイス108(および110)とライブラリサーバ112との間の通信リンクであり得る。取外し可能なストレージデバイス108(および110)は、たとえばクウォンタム社(Quantum(登録商標) Corporation)によって製造され、ADIインターフェイスを用い得る。自動化ライブラリ106は、たとえば、1つ以上の取外し可能なストレージデバイス108、1つ以上のテープカートリッジ(図示せず)およびライブラリサーバ112を含むハードウェアデバイスであってもよい。自動化ライブラリ106は、自動化機構を用いて取外し可能なストレージデバイス108内外へのテープカートリッジの移動を行なうことができるだろう。ウェブインターフェイスを用いることにより、バックアップアドミニストレータ104がイーサネット(登録商標)によるTCP/IPなどのネットワーク接続を介してライブラリサーバ112と通信することが可能になり得る。ウェブブラウザ114は、たとえば、バックアップアドミニストレータ104とライブラリサーバ112との間の通信のためのユーザインターフェイスを提供し得るソフトウェアアプリケーション(たとえば、Internet Explorer(商標)、Netscape(商標)、またはFirefox(商標))であってもよい。一例においては、暗号鍵は自動化ライブラリ106に確実に記憶される。アドミニストレータ104は、ウェブブラウザ114を通じてライブラリ106にログインして鍵を有効化させ得る。
【0018】
一例においては、取外し可能なストレージデバイス108に記憶されたデータが暗号化された形式で記憶されている場合、バックアップアプリケーションが必要とする動作はない。したがって、このライブラリベースの鍵管理の方策はバックアップアプリケーション105またはバックアップアプリケーション105の製造業者には依存していない。バックアップアドミニストレータ104は、ウェブブラウザ114を用いて設定コマンドをライブラリ112に発行することにより、ライブラリ112を介してテープドライブ108を構成し得る。ライブラリは、次いで、設定コマンドに従ってテープドライブ108を設定する。取外し可能なストレージデバイス108または鍵マネージャ116は新たな暗号鍵を生成し、鍵を鍵識別子に関連付け得る。
【0019】
データバックアップ動作は以下のステップに従って実行され得る。バックアップアドミニストレータ104はウェブインターフェイスを用いて鍵マネージャ116にログインする。バックアップアドミニストレータ104は、1つ以上の選択された取外し可能なストレージデバイスに書込まれたすべてのデータを暗号化するよう鍵マネージャ116を設定する。次いで、アドミニストレータ104によって識別された取外し可能なストレージデバイスに書込まれたデータが暗号鍵を用いて暗号化されることとなる。鍵マネージャ116は新たな鍵を生成し得るかまたは既存の鍵を再利用し得る。いずれの場合も、鍵マネージャ116は鍵および鍵識別子を取外し可能なストレージデバイスに送る。バックアップアドミニストレータ104はバックアップアプリケーションを始動させてデータバックアップ動作を実行する。取外し可能なストレージデバイスは、鍵マネージャ116によって与えられた鍵を用いてバックアップアプリケーションからのデータを暗号化する。
【0020】
一例において、データリカバリ動作は、以下のステップに従って実行され得る。暗号鍵を作成し、リモートのウェブブラウザ114を通じて当該暗号鍵をストレージデバイスに割当てるための特別なアドミニストレータユーザアカウントが提供される。認証はパスワードによって実施される。一例においては、この特別なユーザだけが、取外し可能なストレージデバイスが暗号鍵にアクセスすることを許可するといった鍵管理特徴へのアクセスを有する。バックアップアドミニストレータ104は、ウェブインターフェイスを用いてライブラリ112または鍵マネージャ116(または、存在するのであれば鍵マネージャ118;この明細書中における鍵マネージャ116についての言及はすべて鍵マネージャ116または鍵マネージャ118を指す)にログインし、選択されたストレージデバイスが選択された暗号鍵にアクセスすることを許可する。バックアップアドミニストレータ104はバックアップアプリケーションを始動させてデータリカバリ動作を実行する。ストレージデバイス108が暗号化されたデータに遭遇した場合、ストレージデバイス108は、暗号化されたデータに遭遇したという通知を鍵マネージャ116に送信する。鍵マネージャはストレージデバイス108に鍵識別子を要求する。ストレージデバイス108は、次いで、暗号化されたデータに対応する鍵識別子を鍵マネージャ116に送信して、対応する鍵を要求する。鍵識別子は、T10/SSC−3に従ったAKADまたはUKAD形式として記述され得るか、または当該形式で記憶媒体に記憶され得る。特定の記憶媒体に鍵識別子を記憶することについての詳細はデバイスに依存している。取外し可能なストレージデバイスが要求された鍵を受取ることが許可された場合、鍵マネージャ116は適切な鍵を取外し可能なストレージデバイスに送信する。そうでない場合、鍵マネージャ116はエラーメッセージのログを記録し、取外し可能なストレージデバイスには鍵を送信しない。一例においては、上述のとおり、アドミニストレータによって許可が与えられる。取外し可能なストレージデバイスがデータについての正しい鍵を受信した場合、取外し可能なストレージデバイスは当該データを復号化し、バックアップアプリケーションに送信する。そうでない場合、取外し可能なストレージデバイスは、たとえばT10/SSC−3規格に従ってエラーを通知する。ライブラリベースの鍵管理は、ライブラリサーバ112(たとえば、鍵マネージャ116を追加することにより)、ストレージデバイス、たとえば取外し可能なストレージデバイス110、および、ストレージデバイスと鍵マネー
ジャ116との間の通信プロトコルを拡張することによって既存のデータストレージシステムの拡張例として実現され得る。
【0021】
一例においては、自動化ライブラリは、以下のとおり、ライブラリベースの鍵管理をサポートするよう拡張され得る。新たな鍵の作成は、暗号的に安全な乱数発生器によってもたらされてもよい。任意には、取外し可能なストレージデバイスは新たな鍵を作成し得るか、または、鍵マネージャ116もしくはライブラリサーバ112が乱数を生成するための好適なエントロピソースを欠いている場合には新たな鍵を生成するのに用いられる乱数を作成し得る。鍵マネージャ116はいくつかの鍵と関連するメタデータとを記憶し得る。鍵を暗号化するための暗号化アルゴリズムは、NIST AES Key−Wrapであってもよい。メタデータは、以下に記載のとおり、各々の鍵とともに記憶され得る。鍵を暗号化するためにルート鍵が維持され得る。ルート鍵は少なくとも256ビットのランダムデータを含み得るか、または、安全なパスワードから得られ得る。一例においては、ランダムデータは、すべて、暗号的に安全な乱数発生器から得られる。
【0022】
鍵マネージャ116から安全に鍵をエクスポートするための方法は、許可されたユーザがバックアップの目的で鍵マネージャ116からルート鍵を検索するかまたはリカバリの目的で既存のルート鍵を入力するための方法として提供される。取外し可能なストレージデバイス内で暗号鍵を設定するための方法がサポートされ得る。
【0023】
暗号化インターフェイスがバックアップアドミニストレータに提供され得る。暗号化インターフェイスは、アドミニストレータが、新たな鍵(たとえば、毎日、毎週、毎月、ユーザ指定)および範囲(たとえば、すべてのドライブに対して同じ鍵、ドライブごとに異なる鍵)を作成する頻度についての規則を規定することを可能にする。鍵の割当は手動のプロセスであってもよく、この場合、アドミニストレータはライブラリにログインして暗号鍵を変更する。暗号鍵はドライブごとに選択可能であり、同じ鍵にすべてのドライブを設定するオプションを有する。一例においては、取外し可能なストレージデバイスは、データが暗号化または復号化されている間、適切な鍵を有する適切な暗号化モードのままである。この特徴は、ドライブのリセット、媒体の変更、および暗号化モードを不能化し得る他のいかなるイベントをも検出し、これらのイベントが暗号化モードを不能化するのを防ぐことによって実現され得る。一例においては、ライブラリは、データの暗号化を予測すると、取外し可能なストレージデバイスによって暗号化されていないデータが書込まれるのを防ぐ。
【0024】
一例においては、取外し可能なストレージデバイスなどのストレージデバイスは、以下のとおり、ライブラリベースの鍵管理をサポートするよう拡張され得る。暗号鍵は、ストレージデバイスとライブラリとの間の通信プロトコルインターフェイスを介して鍵マネージャ116から受信され得る。ロックアウトモードが任意で提供されてもよく、この場合、取外し可能なストレージデバイスは、鍵マネージャ116との通信プロトコルインターフェイスを通じて鍵マネージャ116から暗号化関連のコマンドだけを受信する。この制限を加えることにより、バックアップアプリケーションがライブラリベースの鍵管理に干渉することが防止され得る。代替的には、取外し可能なストレージデバイスは、ライブラリが鍵管理を実行している間、バックアップアプリケーションが暗号化動作を実行しようとしているかどうかをライブラリに通知し得る。鍵識別子は、鍵マネージャ116から対応する鍵を受信する目的で鍵マネージャ116に送信され得る。一例において、データストレージデバイスとライブラリサーバとの間の既存の通信プロトコルは、この明細書中に記載されるとおり、新たな通信プロトコルコマンドを当該プロトコルに追加することによってライブラリベースの鍵管理をサポートするよう拡張され得る。このような既存のプロトコルの一例として、クウォンタム(Quantum(登録商標))社によって用いられるADCプロトコルが挙げられる。SSC−3 SECURITY PROTOCOL INお
よびSECURITY PROTOCOL OUTのコマンドがサポートされてもよい。そして、取外し可能なストレージデバイスが、暗号化および復号化のプロセスに悪影響を及ぼそうとするバックアップアプリケーションからのいかなるコマンドをも拒否し、ADIインターフェイス上で受信されたこのようなコマンドを受入れるように、鍵マネージャ116が取外し可能なストレージデバイス上で暗号化モードをロックダウンするための方法が提供され得る。
【0025】
取外し可能なストレージデバイスが鍵識別子を鍵マネージャ116に送信し、鍵マネージャ116から対応する鍵を受信するための方法が提供され得る。これを行なうために、鍵マネージャ116は取外し可能なストレージデバイスを定期的にポーリングし得るか、または、鍵マネージャ116は、取外し可能なストレージデバイスが鍵についての要求を送信し得る論理ユニット番号(Logical Unit Number)(LUN、すなわちデバイス番号)を確立し得る。
【0026】
一例において、鍵管理は、ライブラリによってではなく、バックアップアプリケーションによって実行され得る。たとえば、バックアップアプリケーションは、T10/SSC−3 SECURITY PROTOCOLコマンドを用いて鍵管理を実行し得る。バックアップアプリケーションが鍵管理を実行すべき場合、バックアップアドミニストレータは、ライブラリの鍵管理機能をいずれも可能化できない。
【0027】
一例において、暗号鍵を表わすための汎用の鍵識別子形式が規定される。鍵識別子形式で表わされる暗号鍵は磁気テープに記憶され得るかまたは通信ネットワークを介して送信され得る。鍵識別子形式は異なる製造業者間での使用に適している。一例において、各々の鍵識別子は一般にユニークである可能性が高く、これは鍵管理を大幅に単純化する特性である。さらに、各々の鍵識別子は、特定の鍵の元を識別することを容易にするのに十分なメタデータを含む。当該メタデータは鍵を検索するのに用いられてもよい。
【0028】
図2は、この発明の実施例に従った鍵識別子形式を示す説明図である。鍵識別子形式は、NAA、IEE OUIまたはEUI−64(T10/SPC−4を参照)、鍵作成タイムスタンプおよび鍵ノンスなどのグローバルにユニークなデバイス識別子を含む。NAAの最初の4ビット(第1のニブル)が種類を識別する。一例においては、以下の形式がサポートされる。
【0029】
【表1】

【0030】
T10/SPC−4において、デバイスサーバ(たとえば、取外し可能なストレージデバイスなどのストレージデバイス)は、典型的には、デバイス識別VPDページにおけるタイプ3の指示子としてNAA識別子を提示する(T10/SPC−4 rev6以降を参照)。NAA番号はまた、IEEE OUIを含む。IEEE OUI(電気電子技術
者協会の組織的にユニークな識別子)は、すべての製造業者をユニークに識別する3バイト値である。たとえば、IEEEは、値00E09Ehをクウォンタム(Quantum(登録商標))社に割当てている。
【0031】
一例において、鍵作成タイムスタンプは、鍵が作成されたとき、または、鍵が最初に有効になるときを含む4バイト値であり得る。ライブラリが1組の鍵を予め生成する場合、各鍵の作成タイムスタンプは、バッチの作成日ではなく、その予定された利用可能日であり得る。たとえば、ライブラリが翌月の各々の日のために30個の鍵を作成する場合、各々の鍵は各々の日に対応する作成日を有し得る。ライブラリはその日中にランダム時間を任意に選択し得るので、別々の鍵発生器の鍵識別子間においてタイムスタンプが重複する可能性が低くなる。
【0032】
一例において、鍵ノンスは、特定の鍵を識別するのに用いられる16バイトの乱数であり得る。ライブラリが新たな鍵を生成する場合、当該ライブラリはまた、鍵ノンスとしてランダムな16バイト値を生成し得る。代替的には、ライブラリは、初期設定中に鍵ノンスの種を作成し、新たな鍵ノンスが必要とされるたびにこの種を用いてノンスの種を増分することによって新たな鍵ノンス値を作成し得る。ライブラリは、これが同じ鍵ノンスを偶発的に二度生成しないことを確実にし得る。
【0033】
鍵ノンスまたは鍵ノンスの種の生成時に、ライブラリは、暗号的に安全な乱数発生器を用い得る。この目的で、暗号的に安全な乱数を取外し可能なストレージデバイスに要求し、これらの乱数を用いて、内部の暗号的に安全な乱数発生器の種とする。16バイトの乱数を用いることにより、各々の鍵ノンスはグローバルにユニークになる可能性が高くなる。
【0034】
2つの16バイトのランダムなノンス値が同じ値を有する可能性は、2128において1であるかまたは1038において約1である。しかしながら、重要な限度はいわゆる「バースデー限界」(バースデーパラドックスに因んで命名された)である。128ビット数の場合、重複したノンスは、約264の独立した数の後に起こる可能性がある。ライブラリが264の鍵ノンス値よりも著しく少ない値を生成する限り、衝突(すなわち、重複した値)の起こる可能性は許容できるほどに低くなる。
【0035】
一例において、鍵識別子は、データとともに記憶媒体に記憶される。取外し可能なストレージデバイスは、暗号化された記録内におけるAKAD(authenticated key associated data)(認証された鍵関連のデータ)またはUKAD(unauthenticated key associated data)(認証されていない鍵関連のデータ)の任意の組合せ内において鍵識別子を記憶することによって、暗号化されたデータに関連付けて鍵識別子を記憶し得る。AKADおよびUKADは、各データ記録とともに記憶媒体に記憶され得る。たとえば、AKADは暗号化されたデータ記録のすぐ前にあってもよい。たとえば、暗号化を行なうDLT−S4の取外し可能ストレージデバイスは32バイトのAKADまでをサポートし、これは、鍵ID全体を保持するのに十分な空間となる。いくつかのストレージデバイスにおいては、16バイトのUKADについての定義があってもよい。この場合、ライブラリは、AKAD内の鍵IDの最初の12バイトと、UKAD内の最後の16バイト(すなわち、鍵ノンス)とを記憶し得る。ライブラリは、AKADおよびUKADを取外し可能なストレージデバイスに送信するためのT10/SSC−3(バージョン3以上)のSECURITY PROTOCOLコマンドを用い得る。
【0036】
一例において、鍵識別子は、拡張可能なマークアップ言語形式(Extensible Markup Language format)(XML)で記述され得る。このXML鍵形式は、典型的には、他のシステムまたはアプリケーションが鍵識別子を用いることができるように鍵識別子をライブ
ラリからエクスポートするのに用いられる。XML鍵エクスポート形式は、カスタムの定義でワールドワイド・ウェブ・コンソーシアム(W3C)によって特定されるXML−EMC形式の拡張例である。エクスポート形式は、XML文章タイプ定義(Document Type Definition)(DTD)によって記述され得る。DTDはXML文書の形式の形式的記述であり、本質的にはXML文書についてのスキーマである。鍵識別子形式についてのDTDは付録Aに含まれる。XML形式の鍵の例が付録Bに示される。
【0037】
DTDの第1の要素は、XML文書に現われ得る要素(すなわち、XMLノード)を列挙することによって鍵識別子XML文書の全体的な構造を特定する。
【0038】
<!ELEMENT KeyBackup (Version, DevInfo?, ExportInfo?, KeyData+, OptionalParameters?, Signature?)>
上述の要素規格に従うと、鍵識別子は、Version要素、この後に続いて、任意のDevInfo要素、任意のExportInfo要素、1つ以上のKeyData要素、任意のOptionalParameters要素、および任意のSignature要素を含む。
【0039】
バージョンフィールド、VersionNum、は、XMLデータの形式についての情報を含む。バージョン番号1はこの明細書中に記載される形式に対応する。コメントはこの形式を記述する任意のフィールドである。起こり得る値は「Quantum Key Export Format(クウォンタム鍵エクスポート形式)」である。DevInfo要素は任意である。これは、存在する場合、以下の要素を含み得る(これらはすべて、DevNAAを除いては任意である)。DevType(任意):この鍵ファイルをエクスポートするデバイスの種類。たとえば、「Library(ライブラリ)」。DevSerialNum(任意):製造業者特有のストリングにおけるデバイスの連続番号。DevModel(任意):エクスポートデバイスのためのデバイスモデル。DevName(任意):ユーザが割当てられたデバイス名。例:「My Library」。DevNAA:16進数で表わされたデバイスの8バイトのNAA値。
【0040】
ExportInfo要素は、ExportTime要素および任意のExportUser要素を含む。ExportTimeは、この鍵がエクスポートされた時間を示す。例:200609051855z(グリニッジ標準時で2006年9月6日午後6時55分)。ExportUserは、エクスポート動作を実行したユーザの名前を示す。
【0041】
KeyData要素は、KeyName要素、KeyCreationDate要素、任意のKeyExpirationDate要素、KeyCreationNAA要素、KeyHandle要素、任意のMediaId要素、EncryptionKey要素を含む。KeyName要素は、暗号鍵を記述するテキストストリングであり得る。KeyCreationDateは、鍵が作成されたかまたは使用が予定された日を示すものである。KeyCreationDateは、以下に記載されるGeneralizedTime形式で表わされる。鍵は作成日前には用いられる可能性はない。KeyExpirationDateは、鍵の失効日についてのGeneralizedTime記述である。鍵は、失効日後に用いられる可能性はなく、失効日後に破壊され得る。KeyCreationNAAは、16進数形式で、この鍵を初めに作成したデバイスのNAAを特定する。KeyHandleは、Base64形式での、鍵を作成したデバイスの文脈内におけるこの鍵についてのユニークな識別子である。MediaIdは、この鍵で暗号化されたデータを含むカートリッジの0以上のバーコード(または他の媒体識別値)のリストである。EncryptionKeyは暗号鍵についての生データである。EncryptionKeyは、NIST AES鍵−ラップアルゴリズムでXML−Enc形式を用いてラップされ得る。
【0042】
OptionalParameters要素は任意のデータを表わし、鍵形式の将来の拡張を提供し得る。Signature(シグネチャ)要素は、KeyBackup要素内におけるすべての以前のフィールドを保護する任意のデジタルシグネチャである。デジタルシグネチャを作成するために、インポートデバイスは、RFC3076(カノニカルXMLバージョン1.0)に従って、前
の部分においてカノニカル形式のXMLデータを作成し、次いで、カノニカルXMLデータをデジタルシグネチャアルゴリズムに通す。
【0043】
如何なるフィールドのタイプ「GeneralizedTime」も、日および時間を示すための標準的な形式を有する。当該形式は、YYYYMMDDHHMMSSzであり、YYYYは4桁の年であり、MMは2桁の月であり、DDは2桁の日であり、HHは24時間表記で表わされる2桁の時間であり、MMは2桁の分であり、SSは2桁の秒であり、zは、時間がグリニッジ標準時(GNT)を基準にして表わされることを示している。使用されないいずれのフィールドの値も0に設定され得る。
【0044】
一例において、ルート鍵は、ライブラリからエクスポートされた鍵を暗号化するのに用いられる。一例において、ルート鍵は、1つ以上のスマートカードに記憶された256ビットのランダム値であり得る。別の例においては、ユーザパスワードを用いてルート鍵を作成し得る。ユーザパスワードの場合、ライブラリは、SHA−256暗号ハッシュアルゴリズムなどのハッシュアルゴリズムを用いてルート鍵を作成するためにユーザパスワードのハッシュ値を計算する。ルートパスワードは少なくとも8つの文字を有し得る。この場合、少なくとも1つの文字が以下のグループ、すなわち、小文字、大文字、数字、特別な記号から得られる。ライブラリはまた、ユーザ定義の名前がルート鍵に関連付けられることを可能にし、ルート鍵の作成タイムスタンプを保存し得る。
【0045】
ルート鍵ハンドル(ノンス)は、ルート鍵が作成されるかまたは変更されると作成されることとなる。このハンドルは16バイトのランダム値である。これは、異なるルート鍵で暗号化されたファイルから、ノンスに関連付けられるルート鍵で暗号化された鍵ファイルを区別するのに用いられる。
【0046】
一例において、鍵は自動的にバックアップまたはリストアされ得る。たとえば、鍵は、ライブラリの外部にあるファイル転送プロトコル(FTP)サーバなどのサーバにバックアップされ、当該サーバからリストアされ得る。自動化された鍵バックアップおよびリストアは以下のとおり達成され得る。
【0047】
ライブラリGUIは、フィールドが、鍵バックアップ用に指定されたFTPサーバのIP/ディレクトリ/ユーザ名/パスワードを特定することを可能にし得る。複数のFTPサーバは冗長に規定され得る。各々の鍵は典型的には別個のファイルに記憶されることとなる。ファイル名形式は「User_key_Name.Universal_Key_Id.Root_Key_Handle」であり、ファイルの内部の形式は、ここに記載されるXML鍵バックアップ形式となるだろう。鍵は、作成されると、ライブラリのローカル鍵ストレージと、鍵バックアップFTPサーバとに書込まれてもよい。一例において、ライブラリが鍵バックアップFTPサーバに接続できない場合、鍵作成動作は失敗することとなる。
【0048】
ドライブがテープの復号化を必要とする場合、当該ドライブは、ライブラリに鍵を要求し、当該ライブラリにUniversal Key Id(汎用の鍵Id)を渡す。ライブラリは初めにそのローカルストレージをチェックする。鍵が発見されなかった場合、ライブラリは鍵バックアップFTPサーバから鍵を検索しようと試みるだろう。FTPサーバ上で鍵が発見された場合、ライブラリはFTPサーバ鍵でそのローカルストレージを更新し、当該鍵をドライブに送信する。鍵がライブラリのローカルストレージにおいてまたはFTPサーバ上で発見されなかった場合、ライブラリは重要なイベントのログを記録するだろう。最初のうちはユーザベースの鍵アクセス規則は存在しないだろう。すなわち、すべての鍵が復号化のためのいずれのドライブにも利用可能となるだろう。
【0049】
別のライブラリのバックアップ鍵ストレージから鍵を移動させるために、ユーザは、鍵
ファイルをftpサーバディレクトリにコピーし得る。グラフィカルユーザインターフェイス(GUI)においては、鍵ファイルをインポートするのに用いられる2つのボタンが存在するだろう。一方のボタンにより鍵ファイルのインポートが個々に行なわれ、もう一方のボタンによりグループごとに鍵ファイルのインポートが行なわれる。個々の鍵のインポートの場合、ライブラリは、そのローカルデータベースに存在せず(如何なる複製も除去した)インポートのために有効化されたすべての鍵を列挙する。グループの鍵のインポートの場合、ライブラリは、インポートのために有効化されたすべての鍵グループを列挙する。同じRoot_Key_Handleを有するこれらの鍵は、同じグループの一部とみなされる。
【0050】
個々の鍵またはグループがインポートのために選択された場合、ライブラリは、選択された鍵またはグループを作成するのに用いられたルート鍵パスワードを照会するかまたは要求するだろう。インポートプロセスでは、インポートのために選択された各々の鍵またはグループにおける鍵が読出され、与えられたルート鍵パスワードに対して鍵が復号化され、現在のライブラリルート鍵に対して当該鍵が再度暗号化される。ライブラリは、このインポートされた鍵をそのローカルな鍵ストレージおよび新たな鍵ファイルにコピーする。終了すると、GUIは、鍵がいくつインポートされたかをユーザに伝える。
【0051】
一例において、ルート鍵が変化すると、ライブラリは、新たなルート鍵を有するそのローカル鍵をすべて再度暗号化し、新たなルート鍵を有するバックアップ鍵ファイルをすべて再度暗号化し、保存する。ライブラリローカル鍵ストレージがいっぱいになり、新たな鍵の作成が要求されると、ライブラリは、現在ライブラリにあるいずれのテープにも関連付けられない最も古い100個の鍵をパージする。FTPサーバのストレージがいっぱいであれば、鍵作成が不可能となり、重要なイベントが生成される。一例において、ライブラリは、FTPサーバ上では如何なる鍵ファイルも上書きしない。鍵ファイル名形式はこのような上書きを防ぐよう設計されている。しかしながらファイル名の矛盾が生じた場合、ライブラリは、古い鍵ファイルの名前を変更してから新しい鍵ファイルを書込み得る
GUIを用いて鍵を削除する場合、ライブラリはそのローカル鍵ストレージから鍵を取除き、鍵のファイル名をユーザに提供するので、ユーザは必要に応じて手動でFTPサーバから鍵を取除くことができる。
【0052】
FTPサーバのアドレス(たとえば、IPまたはインターネットアドレス)が変わった場合、ライブラリは、そのローカルデータベースには存在するがFTPサーバ上には存在しない鍵をいずれもFTPサーバに書込むだろう。この動作により、各々の鍵のバックアップコピーがライブラリのローカルストレージの外部に常駐することを確実にする。
【0053】
一例において、ライブラリと取外し可能なストレージデバイスとの間で用いられる通信プロトコルにおけるSCSIコマンドおよびデータを変更することにより、ライブラリが、暗号化対応の取外し可能なストレージデバイスにおける暗号化および復号化のプロセスを制御することが可能になり得る。この例においては、通信プロトコルは、クウォンタム(Quantum(登録商標))社によって用いられるADTトランスポート層プロトコルである。
【0054】
暗号化対応の取外し可能なストレージデバイスについていくつかの別個の使用事例が存在する。一実施例においては、バックアップアプリケーションはドライブにおける暗号化に気付かず、それを制御しようとしない。典型的には、バックアップアプリケーションのための暗号化を制御しようと試みて一次インターフェイスを介してドライブにアクセスする他のアプリケーションは存在しない。別の実施例においては、バックアップアプリケーションはドライブにおける暗号化に気付かず、これを制御しようとしない。バックアップアプリケーションのための暗号化を制御しようとし得るかまたはし得ない、一次インターフェイスにわたってドライブにアクセスする別のアプリケーションが存在する。第3の場
合には、バックアップアプリケーションはドライブにおける暗号化に気付き、これを制御する。第4の場合には、バックアップアプリケーションはドライブにおける暗号化に気付き、これを制御するよう第三者に命令することを所望する。第5の場合には、現在のバージョンのバックアップアプリケーションは暗号化に気付き、これを制御することを欲するが、テープが前のバージョンのバックアップアプリケーションからのバックアップセットを有しておらず、暗号化がライブラリによってそれらのバックアップセット上で制御されていた(混合した制御)。
【0055】
一例において、取外し可能なストレージデバイスは、ライブラリから必要とされると鍵を要求するよう構成される。すなわち、ライブラリは、取外し可能なストレージデバイスがライブラリによって選択可能なポリシーに従ってライブラリから鍵を受取るように、取外し可能なストレージデバイスにおける鍵管理制御を構成する。ライブラリが選択できる受取りのポリシーは、(a)取外し可能なストレージデバイスがライブラリから暗号鍵だけを受取ること、(b)取外し可能なストレージデバイスが、それら自体のための暗号化を構成しないイニシエータのためにライブラリからの暗号鍵を用いること、(c)一次ポートイニシエータがオーバーライドしない限り、取外し可能なストレージデバイスがまたライブラリからの暗号鍵を用い得ること、および(d)取外し可能なストレージデバイスがライブラリからの暗号鍵を予期しないこと、を含む。
【0056】
ライブラリは、読出の際に暗号化されたブロックが発生したことと、ドライブが読出しのためにライブラリからの復号鍵または復号化モード変更形式を必要とすることとを取外し可能なストレージデバイスがライブラリに通知するように、取外し可能なストレージデバイスを構成し得る。取外し可能なストレージデバイスはまた、読出の際に暗号化されていないブロックが発生したことと、ドライブがライブラリからの復号化モード変更を必要とすることとを通知することができるかもしれない。取外し可能なストレージデバイスはまた、暗号鍵またはモードが別のイニシエータによる変更のために失われたことと、必要に応じて、暗号鍵またはモードが他の何らかのイベントのために失われたこととを通知することができるかもしれない。
【0057】
ライブラリは、ALL I_T NEXUS範囲暗号化モード、復号化モード、鍵およびKAD(AKAD、UKAD、または両方)を設定することができるかもしれない。ライブラリから暗号鍵を得るよう構成された場合、取外し可能なストレージデバイスは、(a)暗号鍵またはモードが失われ、LOCKビットがその最後の設定時にライブラリによって設定されていた場合、または、(b)(読出が必要な鍵が用いられた後にライブラリが暗号鍵を設定し得るように)ドライブが読出モードもしくは位置モードから書込モードに移行する場合、または、(c)暗号化を制御するライブラリでの読出中に記録が誤った鍵またはモードに遭遇する場合、または、(d)一次ポートイニシエータが暗号化プロセスを制御する場合、ライブラリに通知し、指示を待ち得る。
【0058】
図3は、この発明の実施例に従った自動化された暗号化制御ページの説明図である。ライブラリがドライブ暗号化プロセスを構成できるようにするために、自動暗号化制御(Automation Encryption Control)ページと称される新たなページがセキュリティプロトコルに追加される。一例において、自動暗号化制御ページはADCデバイスサーバにおいてのみサポートされる。一例において、セキュリティプロトコルは、自動暗号化制御ページを備えたSECURITY PROTOCOL OUTコマンドを含む。取外し可能なストレージデバイスは、テープデータ暗号化プロトコルについてのサポートを含めて、ADCデバイスサーバにおいてSECURITY PROTOCOL INおよびSECURITY PROTOCOL OUTのコマンドをサポートし得る。ADCは、ライブラリにおける取外し可能なストレージデバイスと自動化デバイスとの間の通信についてのコマンド、パラメータデータおよび状態を規定するT10規格である。T10は、情報技術規
格国際委員会(INCITS(International committee on Information Technology Standards))の技術委員会である。
【0059】
バイト4での自動化鍵管理制御フィールドは、暗号化に関してライブラリから予想される関与のレベルをドライブに示す。自動化鍵管理制御フィールドについての起こり得る値が以下の表に記述され得る。
【0060】
【表2】

【0061】
1に設定されたレポート復号化モード不一致(report decryption mode mismatch)(RDMM)ビットは、不能化された復号化モードでの読出中に復号化プロセスが暗号化されたブロックを検出した場合、デバイスサーバ、たとえば取外し可能なストレージデバイスが超短波(VHF)データパケットにおけるRRQSTビットを1に設定し得ることを示す。一例において、VHFデータパケットは、ライブラリが最も関心を持っている取外し可能なストレージデバイスについての動的情報を含むデータのパケットである。このデータのパケットは、ADT規格で提供される高速ポーリング法によりライブラリによって迅速かつ容易にアクセスされ得る。ライブラリは、パケットにおけるフィールド値がポーリングモデルの代替例として変化するたびにVHFパケットをライブラリに送信するよう取外し可能なストレージデバイスを構成し得る。場合によっては、VHFデータは、さらなる詳細な情報が他のSCSIコマンドを介したアクセスのために利用可能であることを特定するインジケータを含む。ここに記載されるビットRRQSTおよび他のビットはこのようなインジケータの例である。
【0062】
1に設定されたレポート復号鍵不一致(report decryption key mismatch)(RDKM)ビットは、可能化された復号化モードでの読出中に復号化プロセスが異なる鍵で暗号化されたブロックを検出した場合、デバイスサーバがVHFデータにおけるRRQSTビットを1に設定し得ることを示す。
【0063】
1に設定されたレポート暗号化パラメータオーバーライド(report encryption parameters over-ridden)(REPO)ビットは、イニシエータが一次インターフェイスポートを介してALL I_T NEXUS範囲データ暗号化パラメータをオーバーライドした場合、デバイスサーバがVHFデータにおけるRRQSTビットを1に設定し得ることを示す。
【0064】
1に設定されたレポート暗号化パラメータロスト(report encryption parameters lost)(REPL)ビットは、クリアイベントが自動化デバイスによって設定されたデータ暗号化パラメータのクリアを引起こした場合、デバイスサーバがVHFデータにおけるRRQSTビットを1に設定し得ることを示す。
【0065】
1に設定されたレポート暗号化パラメータオーバーライド拒絶(report encryption parameters over-ride rejected)(REPOR)ビットは、一次インターフェイスポートを介してALL I_T NEXUS範囲データ暗号化パラメータをオーバーライドしようとするイニシエータによる試みが構成のために拒絶された場合、デバイスサーバがVHFデータにおけるRRQSTビットを1に設定し得ることを示す。
【0066】
暗号鍵待ち(wait for encryption key)(WEK)ビットが1に設定された場合、デバイスサーバは、書込モードへの移行時に停止し、ライブラリに新たな暗号化モードを要求し得る。新たな暗号化モードは、要求リカバリログページの暗号化状態ログパラメータにおけるWFEKビットとVHFデータにおけるRRQSTビットとを設定することによって要求される。デバイスサーバは、(1)ADCデバイスサーバが設定データ暗号化ページでSECURITY PROTOCOL OUTコマンドを処理し、(2)ADCデバイスサーバが0に設定されたWEKビットを有する自動暗号化制御ページでSECURITY PROTOCOL OUTコマンドを処理するか、または、(3)他のイベントを1つも発生させることなく製造業者特有のタイムアウトが発生するまで、如何なる書込データも処理し得ない。
【0067】
復号鍵待ち(wait for decryption key)(WDK)ビットが1に設定されている場合、デバイスサーバは、読出中に復号化モード不一致または不正確鍵を検出すれば停止し、ライブラリに新たな復号化モードを要求し得る。新たな復号化モードは、要求リカバリログページの暗号化状態ログパラメータにおけるWFDKビットとVHFデータにおけるRRQSTビットとを設定することによって要求される。デバイスサーバは、(1)ADCデバイスが設定データ暗号化ページでSECURITY PROTOCOL OUTコマンドを処理するか、(2)ADCデバイスサーバが、0に設定されたWDKビットを有する自動暗号化制御ページでSECURITY PROTOCOL OUTコマンドを処理するか、または、(3)他のイベントを1つも発生させることなく製造業者特有のタイムアウトが発生するまで、復号化の問題を示すエラー状態を一次ポートに返し得ない。
【0068】
VHFデータは、既に、要求リカバリ(Requested Recovery)(RRQST)ビットにおける例外を通知するための標準的な方法を提供する。このビットは、リカバリ動作が当該要求リカバリログページを介してドライブから読出されるのを待っているときに設定される。これが例外報告書が追加されるログページとなるので、このビットは完全になる。VHFデータにおけるRRQSTビットは、ライブラリが報告書を要求するイベントが発生すると、デバイスサーバによって設定される。
【0069】
図4は、この発明の実施例に従った暗号化状態ログパラメータを示す説明図である。暗号化状態ログパラメータは、製造業者固有の空間における要求リカバリログページに存在する。一例において、このパラメータを読出すことにより、ビットがその読出後にパラメータにおいて設定されたままになっていたとしても、VHFデータにおけるRRQSTビットがクリアされる。
【0070】
バイト5のビット0である復号化モード不一致(decryption mode mismatch)(DMM)ビットは、ストレージデバイスが暗号化エンジンにおいて暗号化されたブロックを検出し、復号化が不能化された(すなわち、復号化モードがDISABLEDに設定された)場合、または、ドライブが暗号化エンジンにおいて暗号化されていないブロックを検出し
、復号化が可能化された(すなわち、復号化モードがDECRYPTに設定された)場合、読出中に1に設定され得る。DMMビットは、復号化モードがMIXEDに設定された場合には設定されない。このビットは、自動暗号化制御ページにおけるRDMMビットの設定にかかわらず、その条件が存在する限り1に設定されたままとなる。
【0071】
バイト5のビット1である復号鍵不一致(decryption key mismatch)(DKM)ビットは、ドライブが暗号化エンジンにおいて暗号化されたブロックを検出し、現在の暗号鍵がブロックとして正しくなかった場合、読出中に1に設定され得る。これは、復号化モードがDISABLEに設定された場合には設定されない。この状態は、1つ以上のブロックが暗号化エンジンを通過した可能性があり、ホストへの伝送を待っているとき、現在のホスト位置での状態を必ずしも通知するわけではない。このビットは、自動暗号化制御ページにおけるRDKMビットの設定にかかわらず、その条件が存在する限り1に設定されたままとなる。
【0072】
バイト5のビット2である暗号化パラメータオーバーライド(encryption parameters over-ridden)(EPO)ビットは、ライブラリがALL I_T NEXUSの範囲値でデータ暗号化パラメータを設定するための最後のI_Tネクサスであり、イニシエータが一次ポートを介してこのデータ暗号化パラメータの組を変更した場合、1に設定され得る。このビットは、暗号化状態ログパラメータが読出されると0に設定される。
【0073】
バイト5のビット3である暗号化パラメータロスト(encryption parameters lost)(EPL)ビットは、ライブラリがALL I_T NEXUSの範囲値でデータ暗号化パラメータを設定するための最後のI_Tネクサスであり、データ暗号化パラメータが設定データ暗号化ページを処理する以外のイベントのためにクリアされた場合、1に設定され得る。このビットは、パラメータが読出されるとクリアされる。
【0074】
バイト5のビット4である暗号化パラメータ試行オーバーライド(encryption parameters attempted over-ride)(EPAOR)ビットは、イニシエータがGLOBAL以外の範囲値で設定データ暗号化ページを送信しようと試み、ドライブがライブラリによる暗号化パラメータの設定だけを可能にするよう構成された場合、1に設定され得る。このビットは、暗号化状態ログパラメータが読出されるとクリアされる。
【0075】
バイト8のビット0である暗号鍵待ち(waiting for encryption key)(WFEK)ビットは、書込時にドライブがライブラリから暗号鍵を待つよう構成され(すなわち、WEKビットが自動暗号化制御ページにおいて1に設定され)、暗号化モードがDISABLEDに設定されている間に書込コマンドが受信された場合、1に設定され得る。このビットは、(1)ADCデバイスサーバが設定データ暗号化ページを処理するか、(2)ADCデバイスサーバが0に設定されたWEKビットで自動暗号化制御ページを処理するか、または、(3)製造業者特有のタイムアウトまで、設定されたままになり得る。
【0076】
バイト8のビット1である復号鍵待ち(waiting for decryption key)(WFDK)ビットは、読出時にドライブがライブラリからの復号鍵を待つよう構成され(すなわち、WDKビットが自動暗号化制御ページにおいて1に設定され)、読出コマンドによりドライブを暗号化されたブロックに遭遇させる一方で、復号化モードがDISABLEDに設定されるかまたはストレージデバイスが誤った鍵を有する場合、1に設定され得る。このビットは、(1)ADCデバイスサーバが設定データ暗号化ページを処理するか、(2)ADCデバイスサーバが0に設定されたWDKビットで自動暗号化制御ページを処理するか、または、(3)製造業者特有のタイムアウトまで、設定されたままとなり得る。
【0077】
図5は、この発明の実施例に従った、ライブラリにおけるデータの復号化のための鍵管
理ロジックを示す例示的なフロー図である。図5に示されるプロセスは、たとえば図1の鍵マネージャ116によって実行され得る。図5のプロセスは、典型的にはストレージデバイスから(たとえば、ADIプロトコルを介して)データパケットにおいて受信される暗号鍵についてのライブラリインターフェイス上での通信または要求に応答して引起されてもよく、鍵を探索し、結果として当該鍵を返す。ブロック502は、ライブラリ管理型暗号化のためにストレージデバイスを構成し、たとえば自動化されたテープローディングシステムによって記憶媒体をストレージデバイスにロードさせる。ブロック504は、暗号鍵を探索する(典型的にはデータを復号化する)要求を受信する、すなわち読出すかまたはデコードする。上述のとおり、要求は典型的にはストレージデバイスから受信される。ブロック506は、鍵を探索するのに用いられる鍵識別子のための要求パケットをストレージデバイスに送信する。代替的には、鍵識別子は、ブロック504において受信された最初の要求時に送信されていてもよく、この場合、鍵識別子は別個に要求されず、ブロック506は必要とされないだろう。ブロック608は、パケットにおけるページの形式であり得る通信を受信する。当該要求は鍵識別子を含む。ブロック510は鍵識別子に対応する鍵を探索する。ブロック510は、鍵マネージャ116のメモリにおけるかもしくは鍵マネージャ116によってアクセス可能な不揮発性記憶装置上におけるルックアップテーブルを用い得るか、または、(たとえばアドミニストレータ104によって)鍵識別子に予め関連付けられた鍵を発見するための他の何らかの手段を用い得る。ブロック512は応答として鍵をデバイスに送信し、そこから、要求がブロック504および508において受信された。
【0078】
図6は、この発明の実施例に従った、ストレージデバイスに記憶された暗号化されたデータを復号化するための復号化ロジックを示す説明図である。図6に示されるプロセスは、たとえば、図1の取外し可能なストレージデバイス108などのストレージデバイスにおけるプロセッサ上で実行されるコンピュータプログラムコードによって実行され得る。当該プロセスは、取外し可能なストレージデバイス108からデータを読出させるホストシステム102による要求に応答して引起されてもよい。ブロック602において、ストレージデバイスはホストから読出コマンドを受信する。ブロック604において、ストレージデバイスは、読出コマンドにおいて特定されたとおり、記憶媒体から鍵識別子および暗号化されたデータを読出す。ブロック606は、ライブラリインターフェイス(たとえば、ADI)上の通信プロトコルを介してパケットを鍵マネージャ116に送信して、ブロック604において読出された鍵識別子に対応する鍵を要求する。鍵識別子はまた、鍵を要求するパケットの一部として、または別個のパケットにおいて鍵マネージャ116に送信される。鍵マネージャ116は、たとえば図5のプロセスに従って暗号鍵を探索する。ブロック608は、通信プロトコル(たとえば、ADI)を介してライブラリから鍵を受信する。ブロック610は、たとえば、デバイスがデータの読出時にデータを復号化するモードでストレージデバイスを配置することにより、当該鍵でデータを復号化するようストレージデバイスを構成する。ブロック612において、ストレージデバイスは暗号化されたデータを復号化し、これを、ホストインターフェイス(たとえば、SCSIまたはファイバチャネル)上で通信プロトコルを介してホストに送信する。
【0079】
図7は、この発明の実施例に従った、ライブラリにおけるデータの暗号化のための鍵管理ロジックを示す説明図である。図7に示されるプロセスは、たとえば図1の鍵マネージャ116によって実行され得る。当該プロセスは、暗号鍵を生成させるライブラリインターフェイス上の通信または要求に応答して引起されてもよい。通信は、典型的には、ストレージデバイスから(たとえば、ADIプロトコルを介して)データパケットにおいて受信される。ブロック702は、データを暗号化するための暗号鍵を供給する要求を受信する、すなわち、読出すかまたはデコードする。ブロック704は、データ安全性について当業者に公知の暗号化方法にとって適切な技術を用いて暗号鍵を生成する。ブロック706は、鍵と、当該鍵に対応する鍵識別子とを含む応答通信を送信する。当該応答は、典型
的には、ブロック702において要求が受信されたデバイス、たとえばデータストレージデバイスに送信される。
【0080】
図8は、この発明の実施例に従った、ストレージデバイスに記憶されるべきデータを暗号化するための暗号化ロジックを示す説明図である。図8に示されるプロセスは、たとえば、図1の取外し可能なストレージデバイス108などのストレージデバイスにおけるプロセッサ上で実行されるコンピュータプログラムコードによって実行されてもよい。当該プロセスは、データを取外し可能なストレージデバイス108に書込ませるホストシステム102による要求に応答して引起されてもよい。ブロック802において、ストレージデバイスは、ホスト102から書込コマンドを受信し、鍵マネージャ116に要求通信を送信して暗号鍵を要求する。鍵マネージャ116は、たとえば図7のプロセスに従って暗号鍵および鍵識別子を生成する。ブロック804において、ストレージデバイスは暗号鍵および鍵識別子を受信する。ブロック806は、たとえば、記憶媒体が取出されるかまたはストレージデバイスが切断されるまで、記憶媒体に書込まれたかまたは記憶媒体から読出されたデータを鍵を用いて暗号化および復号化するようストレージデバイスを構成する。ブロック808において、ストレージデバイスは、当該プロセスの現在の呼出時に書込まれるべき特定のデータを復号化および暗号化する。ブロック810において、ストレージデバイスは、暗号化されたデータに関連付けて記憶媒体に鍵識別子を書込む。この関連付けは、たとえば、データに隣接する鍵識別子をテープに書込むことによって確立され得る。一例において、鍵識別子がテープに書込まれ、暗号化されたデータが後に続く。
【0081】
暗号化されたテープに暗号化されたバックアップセットを追加するプロセスが、図5から図8のプロセス間での情報のやりとりを示す一例として説明される。この例において、ライブラリからの鍵で暗号化されたデータを含むテープがドライブにロードされ、次いで、異なる鍵を用いて新たなバックアップセットがEODにおいて追加される。この例において、ライブラリはまず、自動暗号化制御ページとともにSECURITY PROTOCOL OUTコマンドをドライブに送信する。ここで、新たな構成は以下のパラメータを含む。
【0082】
自動化鍵管理制御(Automation Key Management Control)=ライブラリ制御された暗号化(Library Controlled Encryption)。
【0083】
レポート復号化モード不一致(Report decryption mode mismatch)=1。
レポート復号鍵不一致(Report decryption key mismatch)=1。
【0084】
イベントをクリアすることによって失われるレポート暗号化パラメータ(Report encryption parameters lost by clearing event)=1。
【0085】
書込時の鍵待ち(Wait for key when writing)=1。
読出時の鍵待ち(Wait for key when reading)=1。
【0086】
次いで、ライブラリは、設定データ暗号化ページとともにSECURITY PROTOCOL OUTコマンドをドライブに送信する。以下のパラメータが含まれる。
【0087】
範囲(Scope)=ALL I_T NEXUS。
暗号化モード(Encryption Mode)=DISABLE。
【0088】
復号化モード(Decryption Mode)=DISABLE。
次いで、ホストは、バックアップのために用いられるテープをテープドライブに移動させることを要求するMOVE MEDIUMコマンドをライブラリに発行する。ライブラ
リは、次いで、テープをドライブにロードし、テープドライブがテープを装着し、準備が整う。
【0089】
次いで、ホストは、テープラベルを読出すREADコマンドをドライブに発行する。取外し可能なストレージデバイスはデータをキャッシュに読込み、「123」とラベルが付された鍵でデータが暗号化されていることを発見する。取外し可能なストレージデバイスは、復号化モード不一致(decryption mode mismatch)(DMM)ビットおよび復号鍵待ち(waiting for decryption key)(WFDK)ビットを1に設定し、VHFにおけるRRQSTビットを1に設定する。次いで、ライブラリは、ポーリングまたはAER通知を通じて1に設定されたRRQSTビットを検出する。ライブラリは、暗号化状態ログパラメータを含む要求リカバリログページについてのLOG SENSEコマンドを送信する。ドライブは、復号化モード不一致(decryption mode mismatch)(DMM)ビットおよび復号鍵待ち(waiting for decryption key)(WFDK)ビットが1に設定されている要求リカバリログページの暗号化状態ログを返す。
【0090】
次いで、ライブラリは、次のブロック暗号化状態ページを要求するSECURITY PROTOCOL INコマンドを送信する。ドライブは、A−KADデータ「123」を有するA−KAD記述子(すなわち、鍵識別子)を含む鍵関連のデータ記述子を含むページを返す。次いで、ライブラリは鍵識別子に対応する適切な鍵を探索し、設定データ暗号化ページを有するSECURITY PROTOCOL OUTコマンドをドライブに送信する。ここでコマンドは以下のパラメータを含む。
【0091】
範囲(Scope)=ALL I_T NEXUS。
暗号化モード(Encryption Mode)=DISABLE。
【0092】
復号化モード(Decryption Mode)=MIXED。
アルゴリズムインデックス(Algorithm Index)=0。
【0093】
鍵形式(Key Format)=0。
鍵長さ(Key Length)=32。
【0094】
鍵(Key)=正しい鍵。
一例において、鍵を探索し、当該鍵をストレージデバイスに送信する前に、鍵マネージャは認証チェックを実行して、ストレージデバイスが鍵にアクセスする許可を得ているかどうか判断し得る。認証チェックが否定的な結果をもたらした場合、すなわち、デバイスが鍵にアクセスする許可を得ていない場合、鍵マネージャは鍵をデバイスに送信することとなる。許可は、アドミニストレータユーザアカウントを用いるバックアップアドミニストレータ104によって確立され得るか、または、許可されたストレージデバイスと鍵を関連付ける許可規則を確実に規定する他の手段によって確立され得る。
【0095】
次いで、ドライブは当該鍵でデータを復号化し、これをホストに返す。ドライブは現在の鍵を用いてブロックを前処理し続ける。ホストは、(次のバックアップセットを追加する準備をするよう)SPACEコマンドをデータの終わり(EOD)に発行する。ホストは、(最後のバックアップセットについてカタログを確認するよう)SPACE逆方向2ファイルマークコマンド(SPACE reverse 2 filemarks command)を発行する。ホストは、SPACE順方向1ファイルマークコマンド(SPACE forward 1 filemark command)を発行する。ホストは最後のカタログを確認するためにREADコマンドを発行する。これらのブロックはヘッダと同じ鍵で暗号化されているので、ドライブはこれらを正常に処理する。ホストは、EODの直前のファイルマークが通知されるまでREADコマンドを発行する。
【0096】
次いで、ホストは、次のバックアップを開始するようWRITEコマンドを発行する。ドライブは、ライブラリに送信されたパケットにおいて、暗号鍵待ち(waiting for encryption key)(WFEK)ビットを1に設定し、VHFデータにおけるRRQSTビットを1に設定する。ライブラリはパケットを受信し、ポーリングまたはAER通知により、1に設定されたRRQSTビットを検出する。ライブラリは、ドライブに送信されたパケットにおいて暗号化状態ログパラメータを含む要求リカバリページについてのLOG SENSEコマンドを送信する。ドライブは、1に設定された暗号鍵待ち(waiting for encryption key)(WFEK)ビットを備えた暗号化状態ログパラメータとともに、要求リカバリページを返す。
【0097】
次いで、ライブラリは、パケットにおける設定データ暗号化ページを有するSECURITY PROTOCOL OUTコマンドをドライブに送信する。この場合、ページは以下のパラメータを含む。
【0098】
範囲(Scope)=ALL I_T NEXUS。
暗号化モード(Encryption Mode)=ENCRYPT。
【0099】
復号化モード(Decryption Mode)=MIXED。
アルゴリズムインデックス(Algorithm Index)=0。
【0100】
鍵形式(Key Format)=0。
鍵長さ(Key Length)=32。
【0101】
鍵(Key)=新たな鍵。
鍵関連のデータ記述子(Key-Associated Data Descriptions)は、新たな鍵についての鍵IDを有するA−KAD記述子を含む。
【0102】
ドライブは、次いで、WRITEコマンドおよび次のWRITEコマンドについてのデータを受取り、供給された鍵でデータを暗号化する。バックアップが完了すると、ホストは、検証パスのためにバックセットの始めに再度位置決めするようSPACE逆方向コマンドまたはLOCATEコマンドを発行する。次いで、ホストは、データを検証するようREADコマンドを発行する。ドライブが同じ鍵で復号化するよう設定されていたので、READコマンドは正常に処理される。ホストはLOAD UNLOADコマンドをドライブに発行して、テープまたは記憶媒体をアンロードする。ドライブはテープまたは記憶媒体をアンロードする。アンロード動作の処理中、鍵は、CKODビットが設定されているためにクリアされてもよい。ドライブは、暗号化パラメータロスト(encryption parameters lost)(EPL)ビットを1に設定し、VHFデータにおけるRRQSTビットを1に設定する。
【0103】
次いで、ライブラリは、ポーリングまたはAER通知により、1に設定されたRRQSTビットを検出する。ライブラリは、暗号化状態ログパラメータを含む要求リカバリログページについてのLOG SENSEコマンドを送信する。テープドライブは、1に設定された暗号化パラメータロスト(EPL)ビットを有する暗号化状態ログパラメータとともに、要求リカバリログページを返す。ライブラリはこれに応答しない。テープドライブまたはストレージデバイスがLOAD UNLOADについての完了状態をホストに送信すると、当該ホストは、MOVE MEDIUMコマンドをライブラリに発行する。ライブラリは、MOVE MEDIUMコマンドを処理してテープをスロットに返す。
【0104】
図9は、この発明のいくつかの実施例に従って用いられ得る例示的なコンピュータシス
テムを示す説明図である。図9は、この発明の実施例における処理機能を実現するのに用いられ得る典型的な演算システム900を示す。このタイプの演算システムは、たとえば、クライアントおよびサーバにおいて用いられてもよい。当業者であれば、他のコンピュータシステムまたはアーキテクチャを用いてこの発明を如何に実現するかについても認識するだろう。演算システム900は、たとえば、デスクトップ、ラップトップもしくはノート型コンピュータ、携帯型の演算装置(PDA、携帯電話、パームトップなど)、メインフレーム、サーバ、クライアント、または、所与のアプリケーションもしくは環境にとって所望され得るかもしくは適切であり得る特定用途もしくは汎用の如何なる種類の演算装置をも表わし得る。演算システム900は、プロセッサ904などの1つ以上のプロセッサを含み得る。プロセッサ904は、たとえば、マイクロプロセッサ、マイクロコントローラまたは他の制御ロジックなどの汎用または特定用途の処理エンジンを用いて実現され得る。この例においては、プロセッサ904はバス902または他の通信媒体に接続される。
【0105】
演算システム900はまた、プロセッサ904によって実行されるべき情報および命令を記憶するためのランダムアクセスメモリ(RAM)または他の動的メモリなどのメインメモリ908を含み得る。メインメモリ908はまた、プロセッサ904によって実行されるべき命令の実行中に一次変数または他の中間情報を記憶するのに用いられてもよい。演算システム900は、同様に、バス902に結合されプロセッサ904のための静的情報および命令を記憶するための読出専用メモリ(ROM)または他の静的記憶装置を含み得る。
【0106】
演算システム900はまた、たとえば、媒体ドライブ912および取外し可能なストレージデバイス920を含み得る情報ストレージシステム910を含み得る。媒体ドライブ912は、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、取外し可能な磁気ストレージデバイス、光ディスクドライブ、CDもしくはDVDドライブ(RもしくはRW)、または他の取外し可能もしくは固定式の媒体ドライブなどの固定式または取外し可能な記憶媒体をサポートするためのドライブまたは他の機構を含み得る。記憶媒体918は、たとえば、媒体ドライブ914による読出または書込が行なわれるハードディスク、フロッピー(登録商標)ディスク、磁気テープ、光ディスク、CDもしくはDVDまたは他の固定式もしくは取外し可能な媒体を含み得る。これらの例が示すように、記憶媒体918は、特定のコンピュータソフトウェアまたはデータが記憶されているコンピュータ読取可能記憶媒体を含み得る。
【0107】
代替的な実施例においては、情報ストレージシステム910は、コンピュータプログラムまたは他の命令もしくはデータを演算システム900にロードすることを可能にするための他の同様の構成要素を含み得る。このような構成要素は、たとえば、プログラムカートリッジおよびカートリッジインターフェイスなどの取外し可能なストレージユニット922およびインターフェイス920、取外し可能なメモリ(たとえば、フラッシュメモリもしくは他の取外し可能なメモリモジュール)およびメモリスロット、ならびに、ソフトウェアおよびデータを取外し可能なストレージユニット918から演算システム900に転送することを可能にする他の取外し可能なストレージユニット922およびインターフェイス920を含み得る。
【0108】
演算システム900はまた通信インターフェイス924を含み得る。通信インターフェイス924を用いることにより、演算システム900と外部装置との間でソフトウェアおよびデータを伝達することが可能になり得る。通信インターフェイス924の例は、モデム、ネットワークインターフェイス(たとえばイーサネット(登録商標)または他のNICカード)、通信ポート(たとえば、USBポートなど)、PCMCIAスロットおよびカードなどを含み得る。通信インターフェイス924を介して転送されるソフトウェアお
よびデータは、通信インターフェイス924が受信可能な電子的、電磁的、光学的または他の信号であり得る信号の形態である。これらの信号はチャネル928を介して通信インターフェイス924に供給される。このチャネル928は信号を搬送し、無線媒体、ワイヤもしくはケーブル、光ファイバまたは他の通信媒体を用いて実現されてもよい。チャネルの他の例には、電話回線、携帯電話リンク、RFリンク、ネットワークインターフェイス、ローカルまたはワイドエリアネットワーク、および他の通信チャネルが含まれる。
【0109】
この明細書において、「コンピュータプログラムプロダクト」、「コンピュータ読取可能媒体」などの用語は、概して、たとえばメモリ908、ストレージデバイス918またはストレージユニット922などの媒体を指すのに用いられてもよい。コンピュータ読取可能媒体のこれらおよび他の形態は、プロセッサ904によって用いられプロセッサに特定の動作を実行させる1つ以上の命令を記憶することに関与し得る。一般に「コンピュータプログラムコード」(コンピュータプログラムまたは他のグループ分けの形でグループ分けされ得る)と称されるこのような命令は、実行されると、演算システム900がこの発明の実施例の特徴または機能を実行することを可能にする。なお、当該コードは、直接的に、プロセッサに特定の動作を実行させてもよく、これを行なうためにコンパイルされてもよく、ならびに/または、これを行なうために他のソフトウェア、ハードウェアおよび/もしくはファームウェア要素(標準的な機能を実行するためのライブラリ)と組合されてもよい。
【0110】
当該要素がソフトウェアを用いて実現される実施例においては、ソフトウェアは、たとえば、取外し可能なストレージドライブ914、ドライブ912または通信インターフェイス924を用いてコンピュータ読取可能媒体に記憶され、演算システム900にロードされ得る。制御ロジック(この例においてはソフトウェア命令またはコンピュータプログラムコード)は、プロセッサ904によって実行されると、ここに記載される発明の機能をプロセッサ904に実行させる。
【0111】
明確にする目的で、上述の記載では異なる機能ユニットおよびプロセッサに関連付けてこの発明の実施例を説明してきたことが認識されるだろう。しかしながら、この発明から逸脱することなく、異なる機能ユニット、プロセッサまたは領域の間における如何なる好適な機能の分散も利用可能であることが認識されるだろう。たとえば、別個のプロセッサまたはコントローラによって実行されるよう示された機能は同じプロセッサまたはコントローラによって実行され得る。このため、特定の機能ユニットについての言及は、厳密な論理的または物理的な構造または構成を示すのではなく、上述の機能を提供するための好適な手段を言及するものとしてのみ認識されるべきである。
【0112】
この発明をいくつかの実施例に関連付けて説明してきたが、この発明はこの明細書中に記載される特定の形態に限定されることを意図するものではない。むしろ、この発明の範囲は添付の特許請求の範囲によってのみ限定される。加えて、特徴が特定の実施例に関連付けて説明されているように思われるが、当業者であれば、記載された実施例のさまざまな特徴がこの発明に従って組合せ可能であることを認識するだろう。
【0113】
さらに、個々に列挙されているが、複数の手段、要素または方法ステップが、たとえば単一のユニットまたはプロセッサによって実現されてもよい。加えて、個々の特徴は異なるクレームに含まれてもよいが、これらは、場合によっては有利に組合せされてもよく、異なるクレームに含めることは、特徴の組合せが実現可能および/または有利でないことを示唆するものではない。また、クレームの1つのカテゴリに特徴を含めることは、このカテゴリに限定することを示唆するものではなく、むしろ、特徴は、適宜、他のクレームカテゴリに等しく適用可能であり得る。
【0114】
さらに、この発明の精神および範囲から逸脱することなくさまざまな変更例および代替例が当業者によってなされ得ることが認識されるだろう。この発明は上述の具体的な詳細によって限定されるべきではなく、クレームに従って規定されるべきである。

【0115】

【図面の簡単な説明】
【0116】
【図1】この発明の実施例に従った、ライブラリベースの鍵管理を用いるバックアップシステムの説明図である。
【図2】この発明の実施例に従った鍵識別子データ形式を示す説明図である。
【図3】この発明の実施例に従った自動化鍵管理制御形式を示す説明図である。
【図4】この発明の実施例に従った暗号化状態ログパラメータデータ形式を示す説明図である。
【図5】この発明の実施例に従った、ライブラリにおけるデータの復号化のための鍵管理ロジックを示す例示的なフロー図である。
【図6】この発明の実施例に従った、ストレージデバイスに記憶された暗号化されたデータを復号化するための復号化ロジックを示す説明図である。
【図7】この発明の実施例に従った、ライブラリにおけるデータの暗号化のための鍵管理ロジックを示す説明図である。
【図8】この発明の実施例に従った、ストレージデバイスに記憶されるべきデータを暗号化するための暗号化ロジックを示す説明図である。
【図9】この発明のいくつかの実施例に従って用いられ得る例示的なコンピュータシステムを示す説明図である。
【符号の説明】
【0117】
102 ホストシステム、104 バックアップアドミニストレータ、105 バックアップアプリケーション、106 自動化ライブラリ、108 取外し可能なストレージデバイス、112 ライブラリサーバ、116 鍵マネージャ、118 鍵マネージャ。

【特許請求の範囲】
【請求項1】
記憶媒体であって、
暗号鍵を識別するための磁気的に符号化された鍵識別子を備え、
前記鍵識別子は、
鍵の元を識別するデバイス識別子と、
タイムスタンプと、
鍵ノンスとを含む、記憶媒体。
【請求項2】
前記タイムスタンプは、前記暗号鍵が作成された時間を示す、請求項1に記載の記憶媒体。
【請求項3】
前記タイムスタンプは、前記暗号鍵が有効化された時間を示す、請求項1に記載の記憶媒体。
【請求項4】
前記鍵ノンスは、擬似ランダム値に基づく、請求項1に記載の記憶媒体。
【請求項5】
前記記憶媒体は、磁気テープ、磁気ディスク、光ストレージまたはこれらの組合せを含む、請求項1に記載の記憶媒体。
【請求項6】
前記鍵ノンスは、物理的なエントロピソースによって作成された乱数に基づく、請求項1に記載の記憶媒体。
【請求項7】
前記鍵ノンスは、前記鍵に関連付けられるストレージデバイスの領域内におけるユニークな番号を含む、請求項1に記載の記憶媒体。
【請求項8】
磁気テープ上で鍵識別子を符号化するための装置であって、
前記テープ上でデバイス識別子を磁気的に符号化させるためのロジックと、
前記テープ上でタイムスタンプを磁気的に符号化させるためのロジックと、
前記テープ上で鍵ノンスを磁気的に符号化させるためのロジックとを含む、装置。
【請求項9】
復号鍵を提供するための鍵管理装置であって、
受信した復号鍵を識別する鍵識別子をストレージデバイスに要求するためのロジックと、
少なくとも1つの暗号鍵のテーブルからのエントリの検索を行なわせるためのロジックとを含み、前記エントリは前記ストレージデバイスから受信した鍵識別子に関連付けられ、前記エントリは暗号化されたデータに対応する復号鍵を特定し、前記鍵管理装置はさらに、
前記復号鍵を前記ストレージデバイスに伝達させるためのロジックを含む、鍵管理装置。
【請求項10】
請求項9に記載の装置を含むデータストレージライブラリ。
【請求項11】
ストレージデバイスに記憶された暗号化されたデータを復号化するよう動作可能なデータストレージデバイスであって、
前記暗号化されたデータと、前記ストレージデバイスに記憶された前記暗号化されたデータに関連付けられる鍵識別子とを検出するためのロジックと、
復号鍵についての要求をデータストレージライブラリに伝達させるためのロジックとを含み、前記要求は前記鍵識別子を含み、
前記暗号化されたデータブロックを受信した復号鍵で復号化させて復号化されたデータ
を作成するためのロジックを含む、データストレージデバイス。
【請求項12】
前記復号鍵を用いて前記鍵識別子に関連付けられるデータを復号化するよう前記ストレージデバイスを設定するためのロジックと、
前記復号化されたデータをホストに伝達させるためのロジックとをさらに含む、請求項11に記載のデータストレージデバイス。
【請求項13】
前記データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブまたはこれらの組合せを含む、請求項11に記載のデータストレージデバイス。
【請求項14】
暗号鍵を提供するための鍵管理装置であって、
暗号鍵についての要求の受信に応答して、暗号鍵および関連する鍵識別子を生成するためのロジックと、
前記暗号鍵および前記関連する鍵識別子を前記ストレージデバイスに伝達させるためのロジックとを含む、鍵管理装置。
【請求項15】
請求項14に記載の装置を含むデータストレージライブラリ。
【請求項16】
データストレージデバイスであって、前記ストレージデバイスに記憶されるデータを暗号化するよう動作可能であり、前記ストレージデバイスは、
書込データコマンドの受信に応答して、暗号鍵についての要求をデータストレージライブラリに伝達させるためのロジックと、
前記ライブラリから受信した暗号鍵でデータを暗号化および復号化するよう前記ストレージデバイスを設定するためのロジックと、
前記暗号鍵で前記データを暗号化させるためのロジックと、
前記データと前記暗号鍵に関連付けられる鍵識別子とを前記ストレージデバイスに書込むためのロジックとを含み、前記鍵識別子は前記ライブラリから受信され、前記鍵識別子は前記データに関連付けて記憶される、データストレージデバイス。
【請求項17】
前記データストレージデバイスは、磁気テープドライブ、磁気ディスクドライブ、光ディスクドライブまたはこれらの組合せを含む、請求項16に記載のデータストレージデバイス。
【請求項18】
暗号鍵のツリー構造記述を生成するための鍵エクスポート装置であって、
少なくとも1つの鍵データツリー要素を生成するためのロジックを含み、前記鍵データツリー要素は、鍵名と前記暗号鍵の暗号化された記述とを含む、鍵エクスポート装置。
【請求項19】
前記ツリー構造記述は、XML記述を含む、請求項18に記載の装置。
【請求項20】
前記鍵データツリー要素は、鍵作成日、鍵失効日、鍵作成名、アドレス、局識別子、鍵ハンドル、またはこれらの組合せを含む、請求項18に記載の装置。

【図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


【公開番号】特開2008−278469(P2008−278469A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【外国語出願】
【出願番号】特願2008−57905(P2008−57905)
【出願日】平成20年3月7日(2008.3.7)
【出願人】(591179352)クウォンタム・コーポレイション (49)
【氏名又は名称原語表記】QUANTUM CORPORATION
【Fターム(参考)】