(57)【要約】   【課題】  アプリケーションに透明に暗号化を実行可能とするように暗号化対応テープ・ドライブにキーを供給する機能を提供する。  【解決手段】  暗号化対応テープ・ドライブおよびこの暗号化対応テープ・ドライブのための暗号化可能テープ・ドライブ・デバイス・ドライバを備えたテープ・システムが提供される。暗号化可能テープ・ドライブ・デバイス・ドライバは、暗号化対応テープ・ドライブをキー・マネージャに接続するプロキシとして機能する。キー・マネージャは、テープ・ドライブにキーを供給する。暗号化対応デバイス・ドライバがコマンドをドライブに送信させた場合、テープ・ドライブは、外部キー・マネージャ（ＥＫＭ）等のキー・マネージャに向けられたメッセージによって応答するように構成されている。暗号化対応デバイス・ドライバは、これがＥＫＭに向けられたメッセージであることを認識し、そのメッセージをＥＫＭに転送する（例えばインターネット・プロトコル（ＩＰ）接続を介して）。次いで、ＥＫＭは、新しいキー（テープ始端（ＢＯＴ）から書き込まれる新しいカートリッジ用）、または既存のキー（読み取る必要があるカートリッジ用）を発行することによって、キー要求に応答する。デバイス・ドライバは、全てのＥＫＭ応答を、暗号化対応テープ・ドライブおよび暗号化対応テープ・ドライブがそのキーを取得するＥＫＭに接続する。【選択図】  図１
2010503092.tif 000002
【特許請求の範囲】
【請求項１】
記憶システムであって、
ホストと、
前記ホストに結合可能な記憶デバイスであって、記憶媒体と相互作用して前記記憶媒体から情報を記憶すると共に検索し、
記憶媒体に記憶されたデータの暗号化および復号化を可能とするための暗号化モジュールを含む、前記記憶デバイスと、
前記記憶デバイスからの暗号化関連情報をチェックするためのデバイス・ドライバであって、前記暗号化関連情報が前記ホストによって発行されるコマンドに応答して発生され、暗号化関連情報が存在する場合、前記ホストが暗号化可能であるか否かには無関係に暗号化を促進するように動作可能である、前記デバイス・ドライバと、
を含む、前記記憶システム。
【請求項２】
前記デバイス・ドライバを介して前記記憶デバイスにキーを供給するためのキー・マネージャを更に含む、請求項１に記載の記憶システム。
【請求項３】
前記記憶デバイスと前記キー・マネージャとの間の通信経路を確立して前記記憶デバイスに対するキーの供給を促進するためのプロキシを更に含む、請求項２に記載の記憶システム。
【請求項４】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項２に記載の記憶システム。
【請求項５】
前記暗号化関連情報が、前記記憶デバイスによって発行されたステータス指示を含み、前記コマンドが前記記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示す、請求項１に記載の記憶システム。
【請求項６】
記憶媒体と相互作用して前記記憶媒体から情報を記憶すると共に検索するための記憶デバイスであって、
記憶媒体に記憶されたデータの暗号化および復号化を可能とするための暗号化モジュールと、
前記暗号化モジュールに結合可能であり、前記暗号化モジュールと相互作用して前記記憶媒体に対する情報の記憶および前記記憶媒体からの情報の検索を可能とするためのコントローラと、
を含み、前記記憶デバイスが、デバイス・ドライバから情報を受信すると共に前記デバイス・ドライバに情報を送信するように動作可能であり、前記デバイス・ドライバが、前記記憶デバイスからの暗号化関連情報をチェックするように動作可能であり、前記暗号化関連情報が、ホストによって発行されるコマンドに応答して前記記憶デバイスによって発生され、暗号化関連情報が存在する場合、前記ホストが暗号化可能であるか否かには無関係に前記デバイス・ドライバが暗号化を促進するように動作可能である、前記記憶デバイス。
【請求項７】
前記デバイス・ドライバがキー・マネージャと相互作用するように動作可能であり、前記キー・マネージャが前記デバイス・ドライバを介して前記記憶デバイスにキーを供給するように動作可能である、請求項６に記載の記憶デバイス。
【請求項８】
前記デバイス・ドライバがプロキシと相互作用するように動作可能であり、前記プロキシが、前記記憶デバイスと前記キー・マネージャとの間の通信経路を確立して前記記憶デバイスに対するキーの供給を促進するように動作可能である、請求項７に記載の記憶デバイス。
【請求項９】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項６に記載の記憶デバイス。
【請求項１０】
前記暗号化関連情報が、前記記憶デバイスによって発行されたステータス指示を含み、前記コマンドが前記記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示す、請求項６に記載の記憶デバイス。
【請求項１１】
ホスト上で実行し、記憶デバイスと通信を行うためのデバイス・ドライバであって、
前記ホストによって前記記憶デバイスに対して発行されたコマンドを傍受するためのコマンド開始部分と、
前記記憶デバイスからの暗号化関連情報をチェックするための暗号化部分であって、前記暗号化関連情報が、前記ホストによって発行されるコマンドに応答して前記記憶デバイスによって発生され、暗号化関連情報が存在する場合、前記ホストが暗号化可能であるか否かには無関係に前記デバイス・ドライバが暗号化を促進するように動作可能である、前記暗号化部分と、
を含む、前記デバイス・ドライバ。
【請求項１２】
暗号化動作が実行を完了した後に前記コマンドを実行するためのコマンド実行部分を更に含む、請求項１１に記載のデバイス・ドライバ。
【請求項１３】
前記デバイス・ドライバがキー・マネージャと通信を行うように動作可能であり、前記キー・マネージャが前記デバイス・ドライバを介して前記記憶デバイスにキーを供給するように動作可能である、請求項１１に記載のデバイス・ドライバ。
【請求項１４】
前記記憶デバイスと前記キー・マネージャとの間の通信経路を確立して前記記憶デバイスに対するキーの供給を促進するためのプロキシを更に含む、請求項１３に記載のデバイス・ドライバ。
【請求項１５】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項１３に記載のデバイス・ドライバ。
【請求項１６】
前記暗号化関連情報が、前記記憶デバイスによって発行されたステータス指示を含み、前記コマンドが前記記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示す、請求項１１に記載のデバイス・ドライバ。
【請求項１７】
暗号化可能記憶デバイスとホストとの間で暗号化を促進するための方法であって、
前記記憶デバイスに対してコマンドを発行するステップと、
前記コマンドに応答して、前記記憶デバイスよって発生した暗号化関連情報を傍受するステップと、
前記暗号化関連情報が、前記コマンドが前記暗号化可能記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示すか否かを判定するステップと、
前記暗号化動作が必要であることが前記暗号化関連情報によって示される場合、前記ホストが暗号化可能であるか否かには無関係に暗号化動作を実行するステップと、
を含む、前記方法。
【請求項１８】
前記暗号化動作が実行を完了した後に前記コマンドを実行するステップを更に含む、請求項１７に記載の方法。
【請求項１９】
前記傍受が、暗号化可能デバイス・ドライバによって実行され、
前記デバイス・ドライバがキー・マネージャと通信を行い、前記キー・マネージャが前記デバイス・ドライバを介して前記暗号化可能記憶デバイスにキーを供給する、請求項１７に記載の方法。
【請求項２０】
プロキシを介して前記暗号化可能記憶デバイスと前記キー・マネージャとの間で通信経路を確立して前記記憶デバイスに対するキーの供給を促進するステップを更に含む、請求項１９に記載の方法。
【請求項２１】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記暗号化可能記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項１９に記載の方法。
【請求項２２】
前記暗号化関連情報が、前記暗号化可能記憶デバイスによって発行されたステータス指示を含む、請求項１７に記載の方法。
【請求項２３】
コンピュータ上で実行された場合に請求項１７から２２のいずれかに記載のステップを全て実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にテープ記憶システムに関し、更に具体的には、暗号化対応テープ・ドライブとキー・マネージャとの間のプロキシとして機能するデバイス・ドライバの使用に関する。
【背景技術】
【０００２】
ネットワーク化コンピュータ・システムにおいて大量の記憶領域を提供するために、データ記憶システム内で高密度の着脱可能媒体記憶ライブラリを用いることが知られている。通常、かかるデータ記憶システムは、バックアップまたは他の二次記憶の目的で用いられるが、データ記憶システムは、順次データ・アクセス等を促進する環境において一次記憶として用いることも可能である。多くの場合、データは、磁気テープまたは光ディスク等の媒体カートリッジに記憶される。既知の媒体カートリッジは大量のデータを記憶することができる。１つの記憶システムには、複数の古い記憶デバイス（すなわち、より新しいデータ記憶装置と共に動作するように特に設計されていないデバイス）が含まれる場合がある。
【０００３】
暗号化対応ドライブが、アプリケーションから帯域内で（例えばファイバ・チャネルを介して）または帯域外で（例えばライブラリとのインタフェース（ＲＳ−４２２インタフェース等）を介して）キーを取得することが知られている。これらのキー取得モードによって、アプリケーションが管理するキーおよびライブラリが管理するキーがそれぞれ可能となる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、暗号化対応テープ・ドライブに伴う１つの問題が、古いアプリケーション（すなわちキーを供給するように変更されていないアプリケーション）からのデータが暗号化対応テープ・ドライブに提供された場合に関連して発生する。暗号化対応テープ・ドライバに伴う更に別の問題が、古い自動化テープ・ライブラリ（すなわち、アプリケーションに透明にドライブからキーを取得するように変更されていないテープ・ライブラリ）内に暗号化対応テープ・ドライブが配置されている場合に関連して発生する。これらの状況のいずれかまたは双方において、暗号化対応テープ・ドライブは、暗号化キーを取得することができない場合がある。また、この問題は、他の環境においても存在し得る。例えば、暗号化対応テープ・ドライブがブリッジ・ボックスもしくはラックに搭載されている場合（従って自動化でない場合）、または暗号化対応テープ・ドライブが劣悪な環境にある場合（テープ・ドライブの製造業者以外の製造業者のサイロ等）である。劣悪な環境では、暗号化対応テープ・ドライブに対してキーを渡すことを可能とするように意図されていない場合がある。
【０００５】
これらの各状況において、データ記憶システム内で実行するいかなるアプリケーションにも透明に暗号化を実行可能とするように、暗号化対応テープ・ドライブにキーを供給する機能を提供することが望ましい。
【課題を解決するための手段】
【０００６】
本発明に従って、暗号化対応テープ・ドライブおよびこの暗号化対応テープ・ドライブのための暗号化可能テープ・ドライブ・デバイス・ドライバを備えたテープ・システムが提供される。暗号化可能テープ・ドライブ・デバイス・ドライバは、暗号化対応テープ・ドライブをキー・マネージャに接続するプロキシとして機能して、例えばテープ・ドライブに対するキー・マネージャによるキーの供給等の暗号化動作を促進する。従って、暗号化可能テープ・ドライブ・デバイス・ドライバは、ホストが暗号化をサポートまたは実行することができるか否かには無関係に、暗号化を促進する。本発明の一態様において、暗号化対応デバイス・ドライバがコマンド（読み取りまたは書き込みコマンド）をドライブに送信させた場合、テープ・ドライブは、外部キー・マネージャ（ＥＫＭ）等のキー・マネージャに向けられたメッセージによって応答するように構成されている。暗号化対応デバイス・ドライバは、これがＥＫＭに向けられたメッセージであることを認識し、そのメッセージをＥＫＭに転送する（例えばインターネット・プロトコル（ＩＰ）接続を介して）。次いで、ＥＫＭは、新しいキー（テープ始端（ＢＯＴ）から書き込まれる新しいカートリッジ用）、または既存のキー（読み取る必要があるカートリッジ用）を発行することによって、キー要求に応答する。デバイス・ドライバは、全てのＥＫＭ応答を、暗号化対応テープ・ドライブおよび暗号化対応テープ・ドライブがそのキーを取得するＥＫＭに接続する。
【０００７】
このように、デバイス・ドライバは、暗号化対応テープ・ドライブおよび暗号化対応テープ・ドライブがそのキーを取得するＥＫＭとの間の通信経路を提供する。いったんテープ・ドライブが全てのキーを取得すると、ドライバ・プロキシはコマンド完了メッセージをデバイス・ドライバに発行することができ、次いでデバイス・ドライバは、ホスト・アプリケーション・コマンドの処理を継続し、この情報をホスト・アプリケーションに戻す。従って、アプリケーション・データは、ドライブとアプリケーションとの間を流れはじめる。（書き込みの場合はテープ・ドライブへ、読み取りの場合はテープ・ドライバから）。デバイス・ドライバは、正常なコマンドに対して、アプリケーションとデバイス・ドライバとの間の通信経路として機能し続ける。また、デバイス・ドライバは、ＥＫＭに向けられた拡張コマンドを検出し、この通信経路を別個に提供する。このため、テープ・システムは、帯域内通信経路（すなわちデバイス・ドライバとテープ・ドライブとの間の通信経路）および帯域外通信経路（すなわちデバイス・ドライバとＥＫＭとの間の通信経路）を含む。
【０００８】
従って、一実施形態において、本発明は、ホストと、このホストに結合された記憶デバイスと、ホスト上で実行するデバイス・ドライバと、を含む記憶システムに関する。記憶デバイスは、記憶媒体と相互作用(interact)して記憶媒体から情報を記憶すると共に検索し、記憶媒体に記憶されたデータの暗号化および復号化を可能とする暗号化モジュールを含む。デバイス・ドライバは、記憶デバイスからの暗号化関連情報をチェックする。暗号化関連情報は、ホストによって発行されるコマンドに応答して発生される。暗号化関連情報が存在する場合、ホストが暗号化可能であるか否かには無関係に、デバイス・ドライバは暗号化を促進する。
【０００９】
別の実施形態において、本発明は、記憶媒体と相互作用してこの記憶媒体から情報を記憶すると共に検索するための記憶デバイスに関する。この記憶デバイスは、暗号化モジュールと、この暗号化モジュールに結合されたコントローラと、を含む。暗号化モジュールは、記憶媒体に記憶されたデータの暗号化および復号化を可能とする。コントローラは、暗号化モジュールと相互作用して、記憶媒体に対する情報の記憶および記憶媒体からの情報の検索を可能とする。記憶デバイスは、デバイス・ドライバから情報を受信すると共にデバイス・ドライバに情報を送信し、デバイス・ドライバは、記憶デバイスからの暗号化関連情報をチェックする。暗号化関連情報が存在する場合、暗号化関連情報は、ホストによって発行されたコマンドに応答して記憶デバイスによって発生される。デバイス・ドライバは、ホストが暗号化可能であるか否かには無関係に、暗号化を促進する。
【００１０】
別の実施形態において、本発明は、ホスト上で実行し、記憶デバイスと通信を行うためのデバイス・ドライバに関する。このデバイス・ドライバは、ホストによって記憶デバイスに対して発行されたコマンドを傍受するためのコマンド開始部分と、暗号化動作が実行を完了した後にコマンドを実行するためのコマンド実行部分と、記憶デバイスからの暗号化関連情報をチェックするための暗号化部分と、を含む。暗号化関連情報は、ホストによって発行されるコマンドに応答して記憶デバイスによって発生される。暗号化関連情報が存在する場合、ホストが暗号化可能であるか否かには無関係に、デバイス・ドライバは暗号化を促進する。
【００１１】
別の実施形態において、本発明は、暗号化可能記憶デバイスとホストとの間で暗号化を促進するための方法に関する。この方法は、記憶デバイスに対してコマンドを発行するステップと、コマンドに応答して記憶デバイスよって発生した暗号化関連情報を傍受するステップと、暗号化関連情報が、コマンドが暗号化可能記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示すか否かを判定するステップと、暗号化動作が必要であることが暗号化関連情報によって示される場合、ホストが暗号化可能であるか否かには無関係に暗号化動作を実行するステップと、暗号化動作が実行を完了した後にコマンドを実行するステップと、を含む。
【００１２】
別の実施形態において、本発明は記憶システムに関する。この記憶システムは、ホストと、このホストに結合された記憶デバイスと、記憶デバイスに結合されたモジュールと、ホスト上で実行するデバイス・ドライバと、を含む。記憶デバイスは、記憶媒体と相互作用してこの記憶媒体から情報を記憶すると共に検索する。デバイス・ドライバは、ホストによって発行されるコマンドに応答して特別ステータス情報が発生される記憶デバイスから特別ステータス情報をチェックする。特別ステータス情報が存在する場合、ホストがモジュールと通信可能であるか否かには無関係に、デバイス・ドライバは通信を促進する。
【００１３】
好ましくは、キーはプッシュ方法によって記憶デバイスに供給される。更に好ましくは、キーはプル方法によって記憶デバイスに供給される。更に好ましくは、記憶デバイスはテープ・ドライブを含む。
【００１４】
好ましくは、モジュールは、デバイス・ドライバを介して記憶デバイスにキーを供給するキー・マネージャを含む。更に好ましくは、記憶システムは、記憶デバイスとキー・マネージャとの間の通信経路を確立して記憶デバイスに対するキーの供給を促進するためのプロキシを更に含む。
【００１５】
更に好ましくは、コマンドは、ホスト上で実行しているアプリケーションによって発行される。更に好ましくは、アプリケーションは、記憶デバイスにデータを転送すると共に記憶デバイスからデータを転送するバックアップ・プログラムを含む。
【００１６】
本発明の上述および更に別の目的、機構、および利点は、以下の詳細な記述から明らかとなろう。
【００１７】
新規であると考えられる本発明の特徴は、特許請求の範囲において説明する。しかしながら、本発明自体は、その使用の好適な形態、更に別の目的および利点と共に、添付図面と関連付けて読まれる以下の例示的な実施形態の詳細な説明を参照することで、最も良く理解されよう。
【発明を実施するための最良の形態】
【００１８】
以下の説明において、本発明のいくつかの実施形態を示す添付図面を参照する。他の実施形態も利用可能であり、本発明の範囲から逸脱することなく構造および動作の変更を行うことが可能であることは理解されよう。
【００１９】
図１を参照すると、本発明の態様が実施されるテープ記憶システム１００のアーキテクチャが図示されている。テープ記憶システム１００は、ホスト１１０、テープ・ドライブ１１２、およびテープ・カートリッジ１１４を含む。また、テープ記憶システム１００は、外部キー・マネージャ（ＥＫＭ）１１６も含む。
【００２０】
ホスト１１０は、デバイス・ドライバ１２０およびプロキシ１２２を含む。また、ホストは、アプリケーション１２４も含む。テープ・ドライブは、コントローラ１３０および暗号化モジュール１３２を含む。テープ・カートリッジ１１４は、不揮発性カートリッジ・メモリ１４０および大容量磁気テープ１４２を含む。
【００２１】
アプリケーション１２４は、バックアップ・プログラムを含むことができる。このプログラムは、テープ・ドライブ１１２へデータを転送すると共にテープ・ドライブ１１２からデータを転送して、順次テープ１４２にデータを書き込む（テープ１４２からデータを読み出す）。アプリケーション１２４は、ＳＣＳＩテープ・コマンドを用いて、Ｉ／Ｏ要求をテープ・ドライブ１１２に伝達することができる。あるいは、アプリケーション１２４は、他のデータ・アクセス・コマンド・プロトコルを用いることができる。データを検索するため、アプリケーション１２４は、テープ１４２を順次またはランダムに読み出すことができる。
【００２２】
カートリッジ・メモリ１４０は、磁気テープ１４２上のデータのフォーマットよびレイアウトに関する情報を維持する。また、カートリッジ・メモリ１４０は、磁気テープ１４２上に記憶されたデータを暗号化および復号化するための暗号化情報を維持することができる。
【００２３】
テープ・ドライブ１１２は、磁気テープ１４２にデータを転送し磁気テープ１４２からデータを転送することができる読み取り／書き込みヘッドを含む。テープ・ドライブ・コントローラ１３０は、ホスト・システム１１０から入力／出力（Ｉ／Ｏ）要求を受信し、テープ上でファイルがありそうな位置を推定するテープ・ドライブ機構およびアルゴリズムを用いてテープを巻き戻して磁気テープ１４２上の特定の位置にテープ・ヘッドを位置決めすることによって、受信したＩ／Ｏ要求を実行することができる。テープ・ドライブ１１２は、ホスト・システム１１０内に封入するか、スタンド・アロンのユニットとするか、またはテープ・ライブラリ内に配することができる。テープ・ドライブ１１２は、直接インタフェース（ＳＣＳＩ、ファイバ・チャネル等）を介してホストに接続することができ、または、ネットワーク（ローカル・エリア・ネットワーク（ＬＡＮ）、記憶エリア・ネットワーク（ＳＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット等）を介して接続することができる。
【００２４】
ホスト１１０またはホスト・アプリケーション１２４が暗号化対応でないとしても、テープ・ドライブが暗号化対応である場合には、デバイス・ドライバ１２０によって、テープ・システム１００は、テープ・カートリッジ１４２上のデータを暗号化し復号化することができる。従って、デバイス・ドライバ１２０は、暗号化可能テープ・ドライブ・デバイス・ドライバである。暗号化可能テープ・ドライブ・デバイス・ドライバは、プロキシ１２２プロキシを介してプロキシ機能を提供する。プロキシは、暗号化対応テープ・ドライブ１１２をキー・マネージャ１１６に接続する。マネージャ１１６はテープ・ドライブ１１２にキーを供給する。従って、デバイス・ドライバ１２０は、暗号化対応テープ・ドライブ１１２と、暗号化対応テープ・ドライブ１１２がキーを取得することができるＥＫＭ１１６との間の通信経路を提供する。デバイス・ドライバ１２０は、正常な（すなわち非暗号化関連の）コマンドに対して、アプリケーションとデバイス・ドライバとの間の通信経路として機能する。また、デバイス・ドライバ１２０は、プロキシ１２２の制御のもとで、テープ・ドライブ１１２に対する通信経路として機能することができる。また、デバイス・ドライバ１２０は、ＥＫＭに向けられた拡張コマンドを検出し、この通信経路を別個に提供する。このため、暗号化対応デバイス・ドライバ１２０によって、テープ・システム１００は、帯域内の通信経路（すなわちデバイス・ドライバとテープ・ドライブとの間の通信経路）、および、帯域外の通信路（すなわちデバイス・ドライバとＥＫＭとの間の通信経路）を有することができる。
【００２５】
図２は、テープ・ドライブ１１２およびテープ・カートリッジ１１４を例示する概略ブロック図である。テープ・ドライブ１１２は、インタフェース２２０、暗号化モジュール１３２（これは例えば特定用途向け集積回路（ＡＳＩＣ）とすることができる）、読み取り／書き込みシステム２３０、および読み取り／書き込みヘッド２４０を含む。また、テープ・ドライブ１１２は、コントローラ１３０および暗号化モジュール１３２に結合されたファームウェア２５０を含む。
【００２６】
図示した例において、ホスト１１０は、Ｉ／Ｏ要求をテープ・ドライブ１１２に伝達するためのＳＣＳＩ（Small Computer System Interface）テープ・コマンド、または当技術分野において既知の他のいずれかのアクセス・コマンド・プロトコルを用いる等によって、データをテープ・ドライブ１１２に転送して、テープ・カートリッジ１１４に順次書き込む。
【００２７】
テープ・ドライブ１１２は、インタフェース２００を用いてホスト１１０と通信を行う。読み取り／書き込みシステム２３０は、書き換え可能テープ媒体１３０から情報を読み取ると共に書き換え可能テープ媒体１３０に情報を書き込むための読み取り／書き込みヘッド２４０と相互作用し、これを制御する。読み取り／書き込みシステム２３０は、所望の速度でヘッド２４０を横切るように磁気テープ媒体１３０を移動させることによって、磁気テープ媒体１３０に対する読み取り書き込みヘッド２４０の動きを制御し、更に、磁気テープの移動を停止させ、開始させ、移動の方向を逆にする。
【００２８】
テープ・ドライブ１１２における制御システム（またはコントローラ）１３０は、インタフェース２２０、暗号化モジュール１３２、および読み取り／書き込みシステム２３０と通信を行う。また、カートリッジ処理システム１１４を動作させるためのコマンドを受信し情報を交換するため、コントローラ１３０は、インタフェース２２０を制御して、１つ以上のポート（図示せず）を介して通信を行う。暗号化モジュール１３２は、安全にデータを暗号化しテープ・カートリッジ１１４に記憶すること、および、テープ・カートリッジ１１４上に記憶されたデータを安全に検索し復号化することを可能とする。動作において、暗号化モジュール１３２は、いずれかの所望のキー長（例えば１２８または２５６ビットのデータ・キー長）を有するデータ・キーを用いて、実際のデータ暗号化および復号化（ＡＥＳ（Advanced Encryption Standard）暗号化アルゴリズムを用いることによって等）を実行し、更に、データ圧縮および復元ならびにデータ・バッファリング等の他の符号化機能を実行することができる。また、暗号化モジュール１３２は、データを暗号化および復号化する目的で、暗号化カプセル化データ・キー（ＥＥＤＫ：encryption encapsulated data keys）を組み立て、有効化し、分配し、記憶し、検索することによって、および、ＥＥＤＫに関連付けたデータ・キーをＥＫＭ１１６と安全に交換する（ＳＥＤＫ）ことによって、データ暗号化／復号化を制御する。暗号化モジュール１３２は、ハードウェアまたはソフトウェアあるいはその両方のいずれかの所望の組み合わせによって実施することができる。例えば、暗号化モジュール１３２は、ファームウェア２５０およびコントローラ１３０によって制御されてこれらと相互作用するＡＳＩＣまたはＦＰＧＡ回路によって、実施することができる。
【００２９】
記載したように、テープ・システム１００は様々な機能を実行する。それらの機能には、データ・キー（ＡＥＳ暗号化キー等）を用いてカートリッジ１１４に記憶されるデータを暗号化すること、公開鍵暗号化法技法を用いてデータ・キーを異なるキーによりラップして（wrap）１つ以上の暗号化データ・キーを形成すること、テープ・カートリッジ媒体１３０に対して暗号化キーおよび暗号化データ・キー（複数のキー）の書き込みおよび読み取りを行うこと、暗号化データ・キーをアンラップする（unwrap）ことによって取得されるデータ・キーを用いて記憶した暗号化データを復号化することが含まれるが、これらに限定されるわけではない。このように、テープ・システム１００は分散記憶領域を提供し、これによって、異なるユーザは、各ユーザの公開鍵を用いてデータ・キーをラップして別個のＥＥＤＫを発生させることにより、単一のテープ・カートリッジ１１４上の暗号化データにアクセスすることができる。
【００３０】
図３は、暗号化したアクセスを実行する場合のテープ・システム１００の動作のフロー・チャートである。更に具体的には、テープ・システムは、コマンド開始動作３１０、テープ・ドライブ１１２とＥＫＭ１１６との間の暗号化キー管理動作３１２、およびコマンド実行動作３１４を実行する。コマンド開始動作３１０は、デバイス・ドライバ１２０に提供されるコマンドを発生する。暗号化キー管理動作３１２は、ステップ３２０においてテープ・カートリッジ１１４上において暗号化が存在する（または望まれる）か否かを判定すること、ステップ３２２において暗号化関連機能を実行すること、および、ステップ３２４において暗号化関連機能が完了しているか否かを判定することを含む。暗号化関連機能が完了している場合、コマンド実行動作３１４において、コマンド開始動作３１０で発生させたコマンドを実行する。
【００３１】
更に具体的には、コマンド開始動作３１０の間、アプリケーション１２４がテープ・ドライブ１１２にアクセスを試みた場合にアクセスが開始する。アプリケーション１２４は、デバイス・ドライバ１２０を介してテープ・ドライブ１１２にアクセスする。暗号化対応デバイス・ドライバ１２０は、コマンド（例えば読み取りまたは書き込みコマンド）をテープ・ドライブ１１２に送信させる。
【００３２】
暗号化動作３１２の間、テープ・ドライブ１１２は、ステップ３１４においてＥＫＭ１１６等のキー・マネージャに向けられたメッセージによって応答する。ステップ３２０において、暗号化対応デバイス・ドライバ１２０は、これがＥＫＭ１１６に向けられたメッセージであることを認識する。ステップ３２２において、デバイス・ドライバ１２０は、そのメッセージをＥＫＭ１１６に転送する（例えばインターネット・プロトコル（ＩＰ）接続を介して）。次いで、ＥＫＭ１１６は、新しいキー（テープ始端（ＢＯＴ）から書き込まれる新しいカートリッジ用）、または既存のキー（読み取る必要があるカートリッジ用）を発行することによって、キー要求に応答する。ステップ３２２の間、デバイス・ドライバ１２０は、テープ・ドライブ１１２とＥＫＭ１１６との間のインタラクションを継続し、ステップ３２４において、暗号化対応テープ・ドライブ１１２および暗号化対応テープ・ドライブがそのキーを取得するＥＫＭ１１６に対する全てのＥＫＭ応答について判定する。いったんテープ・ドライブが全てのキーを取得すると、プロキシ１２２は暗号化機能メッセージをデバイス・ドライバ１２０に発行し、次いでステップ３１４において、このデバイス・ドライバ１２０がコマンドを実行する。
【００３３】
次に、ステップ３１４におけるコマンド実行動作の後に、デバイス・ドライバ１２０は、このコマンド完了情報をホスト・アプリケーション１２４に伝達する。次いで、アプリケーション・データは、ドライブとアプリケーションとの間を流れ始める（書き込みの場合はテープ・ドライブへ、読み取りの場合はテープ・ドライバから）。デバイス・ドライバ１２０は、正常な（すなわち非暗号化関連）コマンドに対して、アプリケーションとデバイス・ドライバとの間の通信経路として機能する。また、デバイス・ドライバ１２０は、ＥＫＭに向けられた拡張コマンドを検出し、この通信経路を別個に提供する。このため、暗号化対応デバイス・ドライバ１２０によって、テープ・システム１００は、帯域内通信経路（すなわちデバイス・ドライバとテープ・ドライブとの間の通信経路）および帯域外通信経路（すなわちデバイス・ドライバとＥＫＭとの間の通信経路）を有することができる。
【００３４】
ここで図４から図８を参照すると、図４から図７は、キー・マネージャ・プル方法のためのテープ記憶システムの動作を例示するフロー・チャートを示し、図８は、キー・マネージャ・プル方法のための代表的なテープ記憶システムおよびフロー経路を例示する概略ブロック図である。フロー・チャートのステップとテープ記憶システムのフロー経路との対応関係をより良く示すために、図４から図７のフロー・チャートの円内に表した番号は、図８のブロック図の円内の同じ番号に対応する。
【００３５】
この方法は、ステップ４１０においてアプリケーション（例えばアプリケーション１２４）がテープ・コマンド（ＣＭＤ）を発行した場合に開始する。コマンドがアプリケーション１２４によって発行された場合、このコマンドは実際にはテープ・ドライブ・ドライバ１２０に発行される。次に、ステップ４１２において、ドライバ１２０はコマンドをテープ・ドライブに発行する。ステップ４１４において、テープ・ドライブがこのコマンドを受信すると、ステップ４１６において、テープ・ドライブはこのコマンドを調べて、コマンドが暗号化に関連するものでありＥＫＭ１１６と通信を行う必要があるか否か（すなわち、コマンドを実行するために暗号化情報が必要であるか否か）を判定する。
【００３６】
コマンドがＥＫＭ１１６との暗号化関連の交換を必要としない場合、ステップ４２０においてテープ・ドライブ１１２はコマンドを実行し、ステップ４２２においてステータス指示（ＳＴＳ）をデバイス・ドライバ１２０に戻す。ステップ４２４において、デバイス・ドライバ１２０はステータス指示を調べる。ステータス指示が特別でない場合（すなわちコマンドが暗号化関連でなく、完了している場合）、ステップ４１０においてステータスをアプリケーションに転送し、次いでステップ４２８において、ステータス指示を調べて、コマンドが実行されたことを確実とし、次いで、所望の場合には制御をアプリケーションに戻して別のコマンドを発行する。
【００３７】
コマンドがＥＫＭ１１６との暗号化関連の交換を必要とする場合、ステップ４３０において、テープ・ドライブ１１２は特別ステータス指示をデバイス・ドライバ１２０に戻す。（例えば、いくつかの実施形態では、テープ・ドライブ１１１２は、１６進法の値ＥＦを含むステータス指示を戻し、これはベンダーの一意の任意の暗号化指示を表す）。ステップ４２４において、デバイス・ドライバ１２０はステータス指示を調べる。ステータス指示が特別である場合（すなわちコマンドが暗号化関連である場合）、ステップ４４０において、デバイス・ドライバ１２０は、後の処理のためにコマンドを放置し、プロキシ１２２を呼び出す。ステップ４４２において、プロキシ１２２は、情報を転送するためにテープ・ドライブ１１２に問い合わせる。次いで、ステップ４４４において、ドライブ１１２は暗号化のための初期コマンドを構築し、このコマンドを、ドライバ１２０を介してプロキシ１２２に送信する。次いで、ステップ４４６において、プロキシ１２２はＥＫＭ１１６との接続をオープンし、コマンドをＥＫＭ１１６に送信する。（いくつかの実施形態においては、ドライブ１１２とＥＫＭ１１６との間の接続は、すでに存在するかまたはプロキシ１２２によって確立されるＴＣ／ＩＰソケットを介して行うことができる。）
【００３８】
次いで、ステップ４５０において、ＥＫＭ１１６はコマンドをパースする。次に、ステップ４５２において、ＥＫＭは暗号化コマンドをプロキシ１２２に発行する。次いで、ステップ４５４において、プロキシはコマンドをドライブ１１２に発行する。ステップ４５６において、ドライブはコマンドを処理し、次いでプロキシに応答する。ステップ４５８において、プロキシ１２２はドライブ応答をＥＫＭ１１６に転送する。ステップ４６０において、ＥＫＭ１１６は応答を分析して、更に暗号化ステップが必要であるか否か（すなわち暗号化動作が完了したか否か）を判定する。更に暗号化ステップが必要である場合、ＥＫＭはステップ４５２に戻り、別の暗号化コマンドをプロキシ１２２に発行する。更に暗号化ステップが必要でない場合、ステップ４７０において、ＥＫＭ１１６は最終フロー・ステータス指示を発生して、このステータス指示をプロキシに転送する。プロキシは、ステップ４７２において、この最終フロー・ステータス指示を検出し、ステップ４７４において、エラーが存在するか否かを判定する。エラーが存在する場合（暗号化動作中に問題が発生したことを示す）、ステップ４１０において、プロキシはこのステータス指示をホスト・アプリケーションに転送する。エラーが存在しない場合、プロキシ１２２はステップ４４０で放置されたコマンドを検索し、ステップ４７６においてこのコマンドをドライブ１１２に発行する。次いで、ドライブは、ステップ４１４においてコマンドを受信し、続けてこのコマンドを処理する。暗号化動作が完了したので、テープ・ドライブ１１２はステップ４１６において暗号化関連交換が必要でないことを判定し、コマンドはステップ４２０によって処理される。
【００３９】
ここで図９から図１１を参照すると、図９および図１０はキー・マネージャ・プッシュ方法のためのテープ記憶システムの動作を示すフロー・チャートであり、図１１はキー・マネージャ・プッシュ方法についての代表的なテープ記憶システムおよびフロー経路を示す概略ブロック図である。フロー・チャートのステップとテープ記憶システムのフロー経路との対応関係をより良く示すために、図９および図１０のフロー・チャートの円内に表した番号は、図１１のブロック図の円内の同じ番号に対応する。
【００４０】
この方法は、ステップ６１０においてアプリケーション（例えばアプリケーション１２４）がテープ・コマンド（ＣＭＤ）を発行した場合に開始する。コマンドがアプリケーション１２４によって発行された場合、このコマンドは実際にはテープ・ドライブ・ドライバ１２０に発行される。次に、ステップ６１２において、ドライバ１２０はコマンドをテープ・ドライブに発行する。ステップ６１４において、テープ・ドライブがこのコマンドを検索すると、ステップ６１６において、テープ・ドライブはこのコマンドを調べて、コマンドが暗号化に関連するものでありＥＫＭ１１６と通信を行う必要があるか否か（すなわち、コマンドを実行するために暗号化情報が必要であるか否か）を判定する。
【００４１】
コマンドがＥＫＭ１１６との暗号化関連の交換を必要としない場合、ステップ６２０においてテープ・ドライブ１１２はコマンドを実行し、ステップ６２２においてステータス指示（ＳＴＳ）をデバイス・ドライバ１２０に戻す。ステップ６２４において、デバイス・ドライバ１２０はステータス指示を調べる。ステータス指示が特別でない場合（すなわちコマンドが暗号化関連でなく、完了している場合）、ステップ６２６においてステータスをアプリケーションに転送し、次いでステップ６２８において、ステータス指示を調べて、コマンドが実行されたことを確実とし、次いで、所望の場合には制御をアプリケーションに戻して別のコマンドを発行する。
【００４２】
コマンドがＥＫＭ１１６との暗号化関連の交換を必要とする場合、ステップ６３０において、テープ・ドライブ１１２は特別ステータス指示をデバイス・ドライバ１２０に戻す。（例えば、いくつかの実施形態では、テープ・ドライブ１１１２は、１６進法の値ＥＦを含むステータス指示を戻し、これはベンダーの一意の任意の暗号化指示を表す）。ステップ６２４において、デバイス・ドライバ１２０はステータス指示を調べる。ステータス指示が特別である場合（すなわちコマンドが暗号化関連である場合）、ステップ６４０において、デバイス・ドライバ１２０は、後の処理のためにコマンドを放置し、プロキシ１２２を呼び出す。
【００４３】
ステップ６４２において、プロキシ１２２は、情報を転送するためにテープ・ドライブ１１２に問い合わせる。次いで、ステップ６４４において、ドライブ１１２は暗号化のために必要なコマンドを全て構築し、これらのコマンドを、ドライバ１２０を介してプロキシ１２２に送信する。
【００４４】
次いで、ステップ６４６において、プロキシ１２２はＥＫＭ１１６との接続をオープンし、コマンドをＥＫＭ１１６に送信する。（いくつかの実施形態においては、ドライブ１１２とＥＫＭ１１６との間の接続は、すでに存在するかまたはプロキシ１２２によって確立されるＴＣ／ＩＰソケットを介して行うことができる。）
【００４５】
次いで、ステップ６５０において、ＥＫＭ１１６は暗号化コマンドを処理する。次に、ステップ６７０において、ＥＫＭはフロー・ステータス指示をプロキシ１２２に発行する。プロキシは、ステップ６７２において、このフロー・ステータス指示を検出し、ステップ６７４において、エラーが存在するか否かを判定する。エラーが存在する場合（暗号化動作中に問題が発生したことを示す）、ステップ６２６において、プロキシはこのステータス指示をホスト・アプリケーションに転送する。エラーが存在しない場合、プロキシ１２２はステップ６４０で放置されたコマンドを検索し、ステップ６７６においてこのコマンドをドライブ１１２に発行する。次いで、ドライブは、ステップ６１４においてコマンドを受信し、続けてこのコマンドを処理する。暗号化動作が完了したので、テープ・ドライブ１１２はステップ６１６において暗号化関連交換が必要でないことを判定し、コマンドはステップ６２０によって処理される。
【００４６】
本発明について、その好適な実施形態に関連付けて具体的に図示し説明したが、本発明の精神および範囲から逸脱することなく、形態および詳細において前述および他の変更を行うことができることは、当業者には理解されよう。
【００４７】
本発明は、言及した利点および固有の他の利点を達成するように適切に適合される。本発明の特定の実施形態を参照することによって、本発明を図示し、記載し、定義したが、かかる参照は本発明に対する限定を意味するものではなく、かかる限定は推論されない。本発明は、当業者に想起されるように、形態および機能において、相当の変形、変更、および均等物が可能である。図示し記載した実施形態は例示のためのみのものであり、本発明の範囲を網羅するものではない。
【００４８】
例えば、他の記憶デバイスが、同様のデバイス・ドライバ機構を用いることができる。また、例えば、他のテープ・ドライバ・アーキテクチャが想定される。また、例えば、デバイス・ドライバおよびプロキシを別個のモジュールとして述べたが、デバイス・ドライバおよびプロキシは単一のモジュール内に含むことが可能であることは認められよう。また、例えば、他のタイプの補助モジュールからの他のタイプの動作をデバイス・ドライバを介してプロキシとすることが可能であることは認められよう。更に、例えば、テープ・ドライブ１１２およびテープ・カートリッジ１１４の機能を、一般に仮想テープ・ライブラリと称されるソフトウェアにおいて実施することができる。仮想テープ・ライブラリ・ソフトウェアは、ホスト１１０と通信することができ、テープ・ドライブのテープ媒体に対する読み取りおよび書き込みの機能を含む、物理テープ・ライブラリの機能を模倣することができる。仮想テープ・ライブラリ・ソフトウェアは、ホスト１１０に結合された別個のコンピュータ・システム上に存在することができる。別の例として、テープ・ドライブ１１２およびテープ・カートリッジ１１４は、テープ・ライブラリに含ませることも可能である。
【００４９】
また、例えば、上述の実施形態は、いくつかのタスクを実行するモジュールを含む。本発明において論じたモジュールは、スクリプト、バッチ、または他の実行可能ファイルを含むことができる。モジュールは、ディスク・ドライブ等の機械読み取り可能またはコンピュータ読み取り可能記憶媒体上に記憶することができる。本発明の実施形態に従ってモジュールを記憶するために用いられる記憶デバイスは、磁気テープ、磁気フロッピ・ディスク、ハード・ディスク、またはＣＤ−ＲＯＭもしくはＣＤ−Ｒ等の光ディスクとすれば良い。また、本発明の実施形態に従ってファームウェアまたはハードウェア・モジュールを記憶するために用いられる記憶デバイスは、半導体ベースのメモリを含むことができ、これは、永久的、着脱可能、またはマイクロプロセッサ／メモリ・システムに遠隔結合することができる。このため、モジュールは、コンピュータ・システム・メモリ内に記憶して、モジュールの機能を実行するためのコンピュータ・システムを構成することができる。他の新しい様々なタイプのコンピュータ読み取り可能記憶媒体を用いて、本発明において論じたモジュールを記憶することができる。更に、モジュール内で機能を別個に設けることが例示の目的のためであることは、当業者には認められよう。代替的な実施形態は、多数のモジュールの機能を単一のモジュールに結合することができ、または、モジュールの機能を交互に分解することができる。例えば、サブ・モジュールを呼び出すためのモジュールを分解して、各サブ・モジュールがその機能を実行し、別のサブ・モジュールに直接制御を渡すようにすることができる。
【００５０】
従って、本発明は、特許請求の範囲の精神および範囲によってしか限定されず、全ての点において均等物を想定するものである。
【図面の簡単な説明】
【００５１】
【図１】代表的なテープ記憶システムを示す概略ブロック図を示す。
【図２】テープ・ドライブおよびテープ・カートリッジを示す概略ブロック図である。
【図３】暗号化したアクセスを実行する場合のテープ・システムの動作のフロー・チャートである。
【図４】キー・マネージャ・プル方法のための暗号化アクセスを実行するテープ・システムの動作のフロー・チャートである。
【図５】キー・マネージャ・プル方法のための暗号化アクセスを実行するテープ・システムの動作のフロー・チャートである。
【図６】キー・マネージャ・プル方法のための暗号化アクセスを実行するテープ・システムの動作のフロー・チャートである。
【図７】キー・マネージャ・プル方法のための暗号化アクセスを実行するテープ・システムの動作のフロー・チャートである。
【図８】キー・マネージャ・プル方法のための代表的なテープ記憶システムおよびフロー経路を示す概略ブロック図である。
【図９】キー・マネージャ・プッシュ方法のための暗号化アクセスを実行するテープ・システムの動作のフロー・チャートである。
【図１０】キー・マネージャ・プッシュ方法のための暗号化アクセスを実行するテープ・システムの動作のフロー・チャートである。
【図１１】キー・マネージャ・プッシュ方法のための代表的なテープ記憶システムおよびフロー経路を示す概略ブロック図である。
【図１】
2010503092.tif 000003
【図２】
2010503092.tif 000004
【図３】
2010503092.tif 000005
【図４】
2010503092.tif 000006
【図５】
2010503092.tif 000007
【図６】
2010503092.tif 000008
【図７】
2010503092.tif 000009
【図８】
2010503092.tif 000010
【図９】
2010503092.tif 000011
【図１０】
2010503092.tif 000012
【図１１】
2010503092.tif 000013
【手続補正書】
【提出日】平成21年4月14日(2009.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
記憶システムであって、
ホストと、
前記ホストに結合可能な記憶デバイスであって、記憶媒体と相互作用して前記記憶媒体から情報を記憶すると共に検索し、
記憶媒体に記憶されたデータの暗号化および復号化を可能とするための暗号化モジュールを含む、前記記憶デバイスと、
前記記憶デバイスからの暗号化関連情報をチェックするためのデバイス・ドライバであって、前記暗号化関連情報が前記ホストによって発行されるコマンドに応答して発生され、暗号化関連情報が存在する場合、前記ホストが暗号化可能であるか否かには無関係に暗号化を促進するように動作可能である、前記デバイス・ドライバと、
を含む、前記記憶システム。
【請求項２】
前記デバイス・ドライバを介して前記記憶デバイスにキーを供給するためのキー・マネージャを更に含む、請求項１に記載の記憶システム。
【請求項３】
前記記憶デバイスと前記キー・マネージャとの間の通信経路を確立して前記記憶デバイスに対するキーの供給を促進するためのプロキシを更に含む、請求項２に記載の記憶システム。
【請求項４】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項２に記載の記憶システム。
【請求項５】
前記暗号化関連情報が、前記記憶デバイスによって発行されたステータス指示を含み、前記コマンドが前記記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示す、請求項１に記載の記憶システム。
【請求項６】
記憶媒体と相互作用して前記記憶媒体から情報を記憶すると共に検索するための記憶デバイスであって、
記憶媒体に記憶されたデータの暗号化および復号化を可能とするための暗号化モジュールと、
前記暗号化モジュールに結合可能であり、前記暗号化モジュールと相互作用して前記記憶媒体に対する情報の記憶および前記記憶媒体からの情報の検索を可能とするためのコントローラと、
を含み、前記記憶デバイスが、デバイス・ドライバから情報を受信すると共に前記デバイス・ドライバに情報を送信するように動作可能であり、前記デバイス・ドライバが、前記記憶デバイスからの暗号化関連情報をチェックするように動作可能であり、前記暗号化関連情報が、ホストによって発行されるコマンドに応答して前記記憶デバイスによって発生され、暗号化関連情報が存在する場合、前記ホストが暗号化可能であるか否かには無関係に前記デバイス・ドライバが暗号化を促進するように動作可能である、前記記憶デバイス。
【請求項７】
前記デバイス・ドライバがキー・マネージャと相互作用するように動作可能であり、前記キー・マネージャが前記デバイス・ドライバを介して前記記憶デバイスにキーを供給するように動作可能である、請求項６に記載の記憶デバイス。
【請求項８】
前記デバイス・ドライバがプロキシと相互作用するように動作可能であり、前記プロキシが、前記記憶デバイスと前記キー・マネージャとの間の通信経路を確立して前記記憶デバイスに対するキーの供給を促進するように動作可能である、請求項７に記載の記憶デバイス。
【請求項９】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項６に記載の記憶デバイス。
【請求項１０】
前記暗号化関連情報が、前記記憶デバイスによって発行されたステータス指示を含み、前記コマンドが前記記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示す、請求項６に記載の記憶デバイス。
【請求項１１】
ホスト上で実行し、記憶デバイスと通信を行うためのデバイス・ドライバであって、
前記ホストによって前記記憶デバイスに対して発行されたコマンドを傍受するためのコマンド開始部分と、
前記記憶デバイスからの暗号化関連情報をチェックするための暗号化部分であって、前記暗号化関連情報が、前記ホストによって発行されるコマンドに応答して前記記憶デバイスによって発生され、暗号化関連情報が存在する場合、前記ホストが暗号化可能であるか否かには無関係に前記デバイス・ドライバが暗号化を促進するように動作可能である、前記暗号化部分と、
を含む、前記デバイス・ドライバ。
【請求項１２】
暗号化動作が実行を完了した後に前記コマンドを実行するためのコマンド実行部分を更に含む、請求項１１に記載のデバイス・ドライバ。
【請求項１３】
前記デバイス・ドライバがキー・マネージャと通信を行うように動作可能であり、前記キー・マネージャが前記デバイス・ドライバを介して前記記憶デバイスにキーを供給するように動作可能である、請求項１１に記載のデバイス・ドライバ。
【請求項１４】
前記記憶デバイスと前記キー・マネージャとの間の通信経路を確立して前記記憶デバイスに対するキーの供給を促進するためのプロキシを更に含む、請求項１３に記載のデバイス・ドライバ。
【請求項１５】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項１３に記載のデバイス・ドライバ。
【請求項１６】
前記暗号化関連情報が、前記記憶デバイスによって発行されたステータス指示を含み、前記コマンドが前記記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示す、請求項１１に記載のデバイス・ドライバ。
【請求項１７】
暗号化可能記憶デバイスとホストとの間で暗号化を促進するための方法であって、
前記記憶デバイスに対してコマンドを発行するステップと、
前記コマンドに応答して、前記記憶デバイスよって発生した暗号化関連情報を傍受するステップと、
前記暗号化関連情報が、前記コマンドが前記暗号化可能記憶デバイスによって実行可能となる前に暗号化動作を実行する必要があることを示すか否かを判定するステップと、
前記暗号化動作が必要であることが前記暗号化関連情報によって示される場合、前記ホストが暗号化可能であるか否かには無関係に暗号化動作を実行するステップと、
を含む、前記方法。
【請求項１８】
前記暗号化動作が実行を完了した後に前記コマンドを実行するステップを更に含む、請求項１７に記載の方法。
【請求項１９】
前記傍受が、暗号化可能デバイス・ドライバによって実行され、
前記デバイス・ドライバがキー・マネージャと通信を行い、前記キー・マネージャが前記デバイス・ドライバを介して前記暗号化可能記憶デバイスにキーを供給する、請求項１７に記載の方法。
【請求項２０】
プロキシを介して前記暗号化可能記憶デバイスと前記キー・マネージャとの間で通信経路を確立して前記記憶デバイスに対するキーの供給を促進するステップを更に含む、請求項１９に記載の方法。
【請求項２１】
前記コマンドが、前記ホスト上で実行しているアプリケーションによって発行され、前記アプリケーションが、前記暗号化可能記憶デバイスにデータを転送すると共に前記記憶デバイスからデータを転送するバックアップ・プログラムを含む、請求項１９に記載の方法。
【請求項２２】
前記暗号化関連情報が、前記暗号化可能記憶デバイスによって発行されたステータス指示を含む、請求項１７に記載の方法。
【請求項２３】
コンピュータ上で実行された場合に請求項１７から２２のいずれかに記載のステップを全て実行するように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
【国際調査報告】
2010503092.tif 000014
2010503092.tif 000015
2010503092.tif 000016