(57)【要約】【課題】要求側から、データにアクセスするための要求が受信される、データ暗号化方法を提供すること。【解決手段】要求側がデータへのアクセスを許可されているかどうかに関する判別が行われる。要求側がデータへのアクセスを許可されている旨の決定に応答して、データが暗号化されているかどうかに関する判別が行われる。データが暗号化されていない旨の決定に応答して、要求側に暗号鍵が要求される。【選択図】  図１
2009534727.tif 000002
【特許請求の範囲】
【請求項１】
要求側から、データにアクセスするための要求を受信するステップと、
前記要求側が前記データへのアクセスを許可されているかどうかを判別するステップと、
前記要求側が前記データへのアクセスを許可されている旨の決定に応答して、前記データが暗号化されているかどうかを判別するステップと、
前記データが暗号化されていない旨の決定に応答して、前記要求側に暗号鍵を要求するステップと、
を有する方法。
【請求項２】
前記要求側から前記暗号鍵を受信するステップと、
前記暗号鍵を使用して前記データを暗号化するステップと、
前記要求側の前記データへのアクセスを可能にするステップと、
をさらに有する、請求項１に記載の方法。
【請求項３】
前記データにアクセスするための後続の要求に応答して、復号鍵を要求するステップをさらに有する、請求項２に記載の方法。
【請求項４】
論理ユニット、ファイル、バイト、レコード、ブロック、ボリューム、または前記データを含むサブシステム全体をアドレス指定することによって、前記データにアクセスするための前記要求が行われる、請求項１に記載の方法。
【請求項５】
前記データはストレージ・ユニットに格納されたレガシ・データであり、前記レガシ・データは、少なくとも前記レガシ・データへのアクセスが試行される時点まで暗号化されない状態で維持され、前記レガシ・データでないデータは、前記ストレージ・ユニット内で暗号化された状態で維持される、請求項１に記載の方法。
【請求項６】
メモリと、
前記メモリに結合されたプロセッサであって、請求項１から５に記載の任意のステップを実行するように動作可能である、プロセッサと、
を備えるシステム。
【請求項７】
ホストと、
前記ホストからデータにアクセスするための要求を受信し、前記ホストが前記データへのアクセスを許可されているかどうかを判別し、前記ホストが前記データへのアクセスを許可されている旨の決定に応答して、前記データが暗号化されているかどうかを判別し、前記データが暗号化されていない旨の決定に応答して暗号鍵を要求する、ストレージ・サブシステムと、
を備えるシステム。
【請求項８】
コンピュータであって、自身の上で実行された場合に請求項１から５のいずれかに記載のステップを実行するコンピュータ読み取り可能コードを備える、コンピュータ。
【請求項９】
コンピュータ読み取り可能コードをコントローラ内に統合するステップを有し、前記コードが前記コントローラと組み合わせて請求項１から５のいずれかに記載のステップを実行可能な、コンピューティング・インフラストラクチャを展開するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ストレージ・システムにおけるデータの暗号化に関する。
【背景技術】
【０００２】
多くの計算環境において、データは、ホストおよび他の計算デバイスによって１つまたは複数のネットワークを介してアクセス可能な、１つまたは複数のデータ・センタに格納される。ホストは、データ・センタに格納されたデータに関する読み取り、書き込み、および他の動作を実行することができる。
【０００３】
データ・セキュリティは、データ・センタの内部および外部の両方で必要な可能性があり、多くの状況において、データ・セキュリティはデータの暗号化によって提供することができる。たとえば、データ・センタに含まれるストレージ・サブシステムに格納されたデータを暗号化することができる。加えて、データ・センタに含まれるストレージ・サブシステムは、データ・センタからホストへとネットワークを介してデータを伝送する際に、データを暗号化することができる。さらに、ホストからデータ・センタへと伝送されたデータは、ホストがデータ・センタに含まれるストレージ・サブシステムと通信する際に、ホスト上のソフトウェアによって暗号化することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
要求側から、データにアクセスするための要求が受信される、方法、システム、およびコンピュータ・プログラム製品を提供することである。
【課題を解決するための手段】
【０００５】
要求側がデータへのアクセスを許可されているかどうかに関する判別が行われる。要求側がデータへのアクセスを許可されている旨の決定に応答して、データが暗号化されているかどうかに関する判別が行われる。データが暗号化されていない旨の決定に応答して、要求側に暗号鍵が要求される。
【０００６】
特定の実施形態では、要求側からの暗号鍵が受信される。データはこの暗号鍵を使用して暗号化される。要求側はデータへのアクセスが可能になる。
【０００７】
特定の追加の実施形態では、データにアクセスするための後続の要求に応答して、復号鍵が要求される。
【０００８】
他の実施形態では、論理ユニット、ファイル、バイト、レコード、ブロック、ボリューム、またはデータを含むサブシステム全体をアドレス指定することによって、データにアクセスするための要求が行われる。
【０００９】
さらに他の実施形態では、データはストレージ・ユニットに格納されたレガシ（legacy）・データであり、このレガシ・データは、少なくともレガシ・データへのアクセスが試行される時点まで暗号化されない状態で維持され、レガシ・データでないデータは、ストレージ・ユニット内で暗号化された状態で維持される。
【００１０】
次に本発明の諸実施形態について、単なる例として、添付の図面を参照しながら説明する。
【発明を実施するための最良の形態】
【００１１】
以下の説明では、本明細書の一部を形成し、いくつかの実施形態を示す、添付の図面を参照する。他の実施形態が使用可能であること、ならびに構造および動作の変更が可能であることを理解されよう。
【００１２】
多くの状況では、データ・センタに含まれるストレージ・サブシステムがすでに使用されており、そのストレージ・サブシステムが暗号化されていないデータを格納している、コンピューティング環境において、データに対するセキュリティを提供することが必要な場合がある。たとえば、ディスク、テープ、ＣＤ−ＲＯＭ、およびストレージ・サブシステム上の他のストレージ媒体上に暗号化されずにすでに格納された、何万ペタバイトものデータに、セキュリティの問題が存在する可能性がある。データ・センタのストレージ・サブシステム内に暗号化されずに格納された既存のデータは、レガシ・データと呼ばれる場合がある。
【００１３】
データ・センタのストレージ・サブシステムに暗号化されずに格納されているすべてのレガシ・データの暗号化および書き換えを行うには、かなりの時間（数日、数週間、数ヶ月、数年）がかかる可能性がある。特定の状況では、暗号化されていないすべてのレガシ・データを暗号化するための動作が完了するまで、セキュリティの問題が無防備なままとなる可能性がある。
【００１４】
特定の実施形態は、たとえ既存の暗号化されていないレガシ・データが、ストレージ・サブシステム内の暗号化されたデータに変換されていない場合であっても、ストレージ・サブシステム内に格納された暗号化されていないレガシ・データに「即時暗号化」を提供する。即時暗号化は、データへのアクセスを試行しているアプリケーションと、データを提供しているストレージ・サブシステムとの間に、論理暗号化層を提供することによって、そのストレージ・サブシステムの背後に構成されたすべてのデータに関してストレージ・サブシステムに提供される。データがストレージ・サブシステムからアクセスされた場合、即時に、暗号化の特典の多くを提供する一方で、即時暗号化は、ストレージ・サブシステムが、暗号化されていないすべてのデータを長期間にわたって暗号化できるようにすることによって、ストレージ・サブシステム内に格納された暗号化されていないデータを伴う顧客のためのマイグレーション・ステップを可能にする。
【００１５】
図１は、特定の実施形態に従った、コンピューティング環境１００を示すブロック図である。少なくとも１つのストレージ・システム１０２が、ネットワーク１０４を介して１つまたは複数のホスト１０６に結合され、ホスト１０６は計算デバイスを備えることができる。
【００１６】
ストレージ・システム１０２は、ストレージ・コントローラ、コントローラ、ストレージ・デバイス、ストレージ・サブシステム、ストレージ・ユニット、ストレージを含むかまたは制御する計算デバイスなどの、当分野で現在知られているものを含む任意のストレージ・システムを含むことができる。データは、ディスク、テープ、ＣＤ−ＲＯＭ、または、当分野で現在知られているものを含む任意の他のストレージ媒体内の、ストレージ・システム１０２に格納することができる。
【００１７】
ホスト１０６およびストレージ・システム１０２は、パーソナル・コンピュータ、ワークステーション、メインフレーム、ミッドレンジ・コンピュータ、ネットワーク機器、パーム・トップ・コンピュータ、電話デバイス、ブレード・コンピュータ、ラップトップ・コンピュータなどの、当分野で現在知られているものを含む任意の好適な計算プラットフォームを、さらに備えることができる。諸実施形態は、クライアント・サーバ・パラダイムに基づくコンピューティング環境１００で実装可能である。代替の実施形態は、ピア・ツー・ピアのネットワーク化環境で実装可能である。ホスト１０６をストレージ・システム１０２に結合することは、直接とするか、または、ストレージ・エリア・ネットワーク（ＳＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネットなどの、当分野で知られた任意のネットワーク１０４を介するものとすることができる。
【００１８】
ストレージ・システム１０２は、暗号化されていないデータ１０８、暗号化されたデータ１１０、および暗号化管理アプリケーション１１２を含む。暗号化されていないデータ１０８は、レガシ・データと呼ばれる場合もある。暗号化されていないデータ１０８は、コンピューティング環境１００にデータ・セキュリティを提供するために諸実施形態の実装が使用される前から、ストレージ・システム１０２に格納されている可能性がある。暗号化されたデータ１１０は、非レガシ・データと呼ばれる場合もあり、暗号化されたデータ１１０は、暗号化されていないデータ１０８から暗号化管理アプリケーション１１２によって生成することができる。単一の暗号化管理アプリケーション１１２が示されているが、代替実施形態では、暗号化管理アプリケーション１１２によって実行される動作は、複数のアプリケーションによって実行されることが可能である。
【００１９】
ホスト１０６は、ネットワーク１０４を介してストレージ・システム１０２と対話可能な少なくとも１つのホスト・アプリケーション１１４を含む。ホスト・アプリケーション１１４は、ストレージ・システム１０２に格納された、暗号化されていないデータ１０８または暗号化されたデータ１１０へのアクセスを試行することができる。ホスト・アプリケーション１１４は、ストレージ・システム１０２へのデータの書き込みまたは更新を試行することもできる。ホスト・アプリケーション１１４は、他の動作を実行するために、ストレージ・システム１０２と対話することもできる。ホスト・アプリケーション１１４には、暗号鍵１１６および復号鍵１１８を関連付けることが可能であり、暗号鍵１１６を使用して、ストレージ・システム１０２内に格納された暗号化されていないデータ１０８を暗号化することが可能であり、復号鍵１１８を使用して、ストレージ・システム１０２内に格納された暗号化されたデータ１１０を復号することが可能である。代替実施形態では、暗号鍵１１６および復号鍵１１８をホスト１０６外部に格納することができる。
【００２０】
図１に示された特定の実施形態では、暗号化管理アプリケーション１１２は、少なくとも暗号化管理アプリケーション１１２が暗号化されていないレガシ・データ１０８にアクセスするための要求を受信する時点まで、暗号化されていないレガシ・データ１０８の暗号化を避ける。
【００２１】
図２は、特定の実施形態に従った、ストレージ・システム１０２に格納されたデータを表すデータ構造を示す図である。代替の実施形態では、他のデータ構造を使用してストレージ・システム１０２に格納されたデータを表すことができる。
【００２２】
暗号化されていないデータ１０８は、複数のアドレス指定可能データ・ユニット２００ａ．．．２００ｎに格納することが可能であり、アドレス指定可能データ・ユニット２００ａ．．．２００ｎは、論理ユニット、ファイル、ボリューム、または任意の他のアドレス指定可能ユニットとすることが可能であり、アドレス指定可能ユニットは、アプリケーションによってアドレス指定可能な任意のデータ・ユニットである。アドレス指定可能データ・ユニット２００ａ．．．２００ｎは、暗号化されていないデータ２０２ａ．．．２０２ｎおよび暗号化インジケータ２０４ａ．．．２０４ｎを含むことが可能であり、暗号化インジケータ２０４ａ．．．２０４ｎは、アドレス指定可能データ・ユニット２００ａ．．．２００ｎが暗号化されていないデータを格納することを示すために、偽（false）に設定することができる。たとえば、アドレス指定可能データ・ユニット２００ａは暗号化されていないデータ２０２ａを含むことが可能であり、偽に設定された対応する暗号化インジケータ２０４ａは、アドレス指定可能データ・ユニット２００ａ内に格納されたデータが暗号化されていないことを示す。
【００２３】
暗号化されたデータ１１０は、複数のアドレス指定可能データ・ユニット２０６ａ．．．２０６ｍに格納することが可能であり、アドレス指定可能データ・ユニット２０６ａ．．．２０６ｍは、論理ユニット、ファイル、ボリューム、または任意の他のアドレス指定可能データ・ユニットとすることができる。たとえば、特定の実施形態では、複数のアドレス指定可能データ・ユニット２００ａ．．．２００ｎ、２０６ａ．．．２０６ｍは論理ボリュームであり、この論理ボリュームは、ストレージ・システム１０２に結合された物理ストレージに対応する物理ボリュームの論理表現である。データは物理的に、物理ストレージを備える物理ボリュームに格納されるが、ストレージ・システム１０２上で実行するアプリケーションおよびホスト１０６は、この論理ボリュームをアドレス指定することができる。
【００２４】
アドレス指定可能データ・ユニット２０６ａ．．．２０６ｍは、暗号化されたデータ２０８ａ．．．２０８ｍおよび暗号化インジケータ２１０ａ．．．２１０ｍを含むことが可能であり、暗号化インジケータ２１０ａ．．．２１０ｍは、アドレス指定可能データ・ユニット２０６ａ．．．２０６ｍが暗号化されたデータを格納することを示すために、真（true）に設定することができる。たとえば、アドレス指定可能データ・ユニット２０６ａは暗号化されたデータ２０８ａを含むことが可能であり、真に設定された対応する暗号化インジケータ２１０ａは、アドレス指定可能データ・ユニット２０６ａ内に格納されたデータが暗号化されていることを示す。
【００２５】
図２では、暗号化インジケータ２０４ａ．．．２０４ｎ、２１０ａ．．．２１０ｍは、暗号化されていないデータ１０８および暗号化されたデータ１１０に含まれるように示されているが、他の実施形態では、暗号化インジケータ２０４ａ．．．２０４ｎ、２１０ａ．．．２１０ｍは、暗号化されていないデータ１０８および暗号化されたデータ１１０とは別に格納することができる。特定の実施形態では、暗号化インジケータ２０４ａ．．．２０４ｎ、２１０ａ．．．２１０ｍは、アドレス指定可能データ・ユニット２００ａ．．．２００ｎ、２０６ａ．．．２０６ｍのいずれが暗号化されていないデータを格納しているか、および、アドレス指定可能データ・ユニット２００ａ．．．２００ｎ、２０６ａ．．．２０６ｍのいずれが暗号化されたデータを格納しているかを示す、ビットマップに格納することができる。
【００２６】
図２に示された特定の実施形態では、暗号化管理アプリケーション１１２は、暗号化されていないデータ２０２ａ．．．２０２ｎを暗号化されていない状態から暗号化された状態に変更すること、および、関連付けられた暗号化インジケータ２０４ａ．．．２０４ｎを更新することによって、アドレス指定可能データ・ユニット２００ａ．．．２００ｎのうちのいずれかの状態を変更することができる。たとえば特定の実施形態では、ホスト・アプリケーション１１４が、アドレス指定可能データ・ユニット２００ａをアドレス指定することによって暗号化されていないデータ２０２ａへのアクセスを試行した場合、暗号化管理アプリケーション１１２は、暗号化されていないデータ２０２ａを暗号化し、関連付けられた暗号化インジケータ２０４ａを真に変更することができる。
【００２７】
図３は、特定の実施形態に従った、データにアクセスするための要求に応答した、暗号化されていないレガシ・データ１０８の暗号化を示す流れ図である。図３に示された動作は、ストレージ・システム１０２の暗号化管理アプリケーション１１２によって実装することができる。
【００２８】
制御はブロック３００で開始され、ストレージ・システム１０２の暗号化管理アプリケーション１１２は、ストレージ・システム１０２に格納されたデータにアクセスするための要求をホスト・アプリケーション１１４から受信する。ホスト・アプリケーション１１４からの要求は、読み取り、書き込み、更新、またはその他の方法で、ストレージ・システム１０２に格納されたデータにアクセスするための要求とすることが可能であり、ストレージ・システム１０２に格納されたデータは、暗号化されたデータ１１０または暗号化されていないレガシ・データ１０８のいずれかである。
【００２９】
暗号化管理アプリケーション１１２は（ブロック３０２で）、要求側、すなわちホスト・アプリケーション１１４が要求されているデータへのアクセスを許可されているかどうかを判別する。たとえば、暗号化管理アプリケーション１１２は、ホスト・アプリケーション１１４によってアドレス指定されたアドレス指定可能データ・ユニット２００ａ．．．２００ｎ、２０６ａ．．．２０６ｍの暗号化インジケータ２０４ａ．．．２０４ｎ、２１０ａ．．．２１０ｍから、アドレス指定可能データ・ユニット２００ａ．．．２００ｎ、２０６ａ．．．２０６ｍに格納されたデータが暗号化されているか否かを判別することができる。
【００３０】
暗号化管理アプリケーション１１２が（ブロック３０２で）、要求側、すなわちホスト・アプリケーション１１４が要求されているデータへのアクセスを許可されていない旨を決定した場合、暗号化管理アプリケーション１１２は（ブロック３０４で）、要求されたデータがホスト・アプリケーション１１４によってアクセスされるのを防ぐ。
【００３１】
暗号化管理アプリケーション１１２が（ブロック３０２で）、要求側、すなわちホスト・アプリケーション１１４が要求されているデータへのアクセスを許可されている旨を決定した場合、暗号化管理アプリケーション１１２は（ブロック３０６で）、要求されたデータに対応する暗号化インジケータ２０４ａ．．．２０４ｎ、２１０ａ．．．２１０ｍの値を読み取ることによって、要求されたデータが暗号化されているかどうかを判別する。
【００３２】
暗号化管理アプリケーション１１２が（ブロック３０６で）、要求されたデータが暗号化されていない旨を決定した場合、特定の実施形態では、暗号化管理アプリケーション１１２は、ホスト・アプリケーション１１４によって要求された暗号化されていないデータ２０２ａ．．．２０２ｎを暗号化するための暗号鍵１１６を要求する。
【００３３】
暗号化管理アプリケーション１１２は（ブロック３１０で）、暗号鍵１１６をホスト・アプリケーション１１４から受信し、（ブロック３１２で）この暗号鍵１１６を使用して暗号化されていないデータを暗号化し、現在は暗号化されている、以前は暗号化されていなかったデータに対応する暗号化インジケータを、真に更新する。その後、暗号化管理アプリケーション１１２は（ブロック３１４で）、要求されたデータへのホスト・アプリケーション１１４によるアクセスを可能にする。したがって、本発明の特定の実施形態では、暗号化されていないレガシ・データがホスト・アプリケーション１１４によって要求された場合、暗号化管理アプリケーション１１２は、要求されたデータへのアクセス権をホスト・アプリケーション１１４に提供する前に、要求された暗号化されていないレガシ・データを暗号化する。特定の代替実施形態では、暗号鍵１１６を、ホスト・アプリケーション１１４とは異なるアプリケーションから取得することができる。
【００３４】
暗号化管理アプリケーション１１２が（ブロック３０６で）、要求されたデータが暗号化されている旨を決定した場合、特定の実施形態では、暗号化管理アプリケーション１１２は（ブロック３１６で）、ホスト・アプリケーション１１４によって要求された暗号化されたデータ２０２ａ．．．２０２ｎを復号するために、復号鍵１１８を要求する。ホスト・アプリケーション１１４からの復号鍵１１８に関する要求への応答を受信すると、暗号化管理アプリケーション１１２は（ブロック３１８で）、正しい復号鍵１１７が提供されたかどうかを判別する。正しい復号鍵１１８が提供された場合、暗号化管理アプリケーション１１２は（ブロック３１４で）、提供された復号鍵１１８を使用して暗号化されたデータを復号することにより、要求されたデータへのホスト・アプリケーション１１４によるアクセスを可能にする。暗号化管理アプリケーション１１２が（ブロック３１８で）、正しい復号鍵１１８が提供されていない旨を決定した場合、暗号化管理アプリケーションは（ブロック３０４で）、要求されたデータがアクセスされるのを防ぐ。
【００３５】
したがって、図３は、ストレージ・システム１０２がストレージ・システム１０２内で暗号化されていないレガシ・データを維持する、特定の実施形態を示す。暗号化されていないレガシ・データに関する要求が、許可されたエンティティからストレージ・システム１０２に着信した場合、暗号化管理アプリケーション１１２は、要求されたデータへのアクセスを可能にする前に、暗号化されていないデータを暗号化する。諸実施形態では、たとえ暗号化されていないレガシ・データ１０８が依然としてストレージ・システム１０２内で維持されている場合であっても、データの即時暗号化が実装される。
【００３６】
図４は、特定の実施形態に従った、ストレージ・システム１０２内のデータの暗号化を示す流れ図である。図４に示された動作は、ストレージ・システム１０２の暗号化管理アプリケーション１１２によって実装することができる。
【００３７】
制御はブロック４００で開始され、暗号化管理アプリケーション１１２は、ストレージ・システム１０２に格納されたデータにアクセスするための要求を要求側１１４から受信する。暗号化管理アプリケーション１１２は（ブロック４０２で）、要求側１１４が要求されたデータへのアクセスを許可されているかどうかを判別する。暗号化管理アプリケーション１１２は（ブロック４０４で）、要求側１１４が要求されたデータへのアクセスを許可されている旨の決定に応答して、要求されたデータが暗号化されているかどうかを判別する。
【００３８】
ブロック４０６で、暗号化管理アプリケーション１１２は、要求されたデータが暗号化されていない旨の決定に応答して、要求側１１４に暗号鍵１１６を要求する。暗号化管理アプリケーション１１２は（ブロック４０８で）、要求側１１４から暗号鍵１１６を受信し、（ブロック４１０で）受信した暗号鍵１１６を使用して要求されたデータを暗号化する。暗号化管理アプリケーション１１２は（ブロック４１２で）、現在は暗号化されている要求されたデータへの要求側１１４のアクセスを可能にし、現在は暗号化されているこのデータは暗号化されたデータ１１０と呼ばれる。
【００３９】
暗号化されたデータ１１０にアクセスするための後続の要求に応答して、暗号化管理アプリケーション１１２は（ブロック４１４で）復号鍵を要求し、正しい復号鍵１１８が提供された場合、現在暗号化されたデータ１１０へのアクセスを可能にする。
【００４０】
したがって図４は、少なくとも暗号化されていないレガシ・データのアドレス指定可能ユニットにアクセスするための要求がストレージ・システム１０２で受信される時点まで、暗号化されていないレガシ・データのアドレス指定可能ユニットが引き続きストレージ・システム１０２上で維持されることになる、特定の実施形態を示す。暗号化されていないレガシ・データのアドレス指定可能ユニットにアクセスするための要求が受信されると、暗号化されていないレガシ・データのアドレス指定可能ユニットが暗号化される。
【００４１】
特定の実施形態では、即時データ暗号化をデータ・レベルへの共通アクセス・ポイントで提供することができる。特定の実施形態では、こうした即時データ暗号化を、複数レベルの細分化（たとえば、サブシステム全体、論理システム、ボリューム、エクステント（extent）、レコード／ブロック、またはバイト・レベル）で、そのストレージ・サブシステム内に常駐するすべてのデータに関して、ストレージ・サブシステム内に提供することができる。特定の実施形態では、ストレージ・サブシステム内のデータへのすべてのアクセスは、ストレージ・サブシステム暗号化メカニズムの上位インターフェースを通過することができる。その後、経時的にそのサブシステム内のすべてのデータが書き換えられる。特定の実施形態では、ストレージ・サブシステムによって表された共通アクセス・ポイントが、特定の顧客構成内に構成可能な他の「共通」アクセス・ポイント内に常駐することもできる。たとえば、ＳＡＮに配置されたスイッチまたは機器、仮想化層、チャネル／ファイバ、または論理ボリューム・マネージャなどを使用して、即時データ暗号化を実装することができる。
【００４２】
特定の代替実施形態では、様々な層（サブシステム全体、ＬＳＳ、ボリューム、レコード／ブロック、または偶数バイト）で、ストレージ保守コンソールなどの、ストレージ・サブシステム１０２へのセキュアなインターフェースを介して、暗号鍵１１６をセットアップすることができる。異なる暗号「アクセス」鍵を備えた複数の暗号化層も、このようにセットアップすることができる。こうした実施形態は、特定のストレージ・サブシステムの背後、次に特定の論理ストレージ・サブシステム内、次に特定のボリュームまたは論理ユニット内、さらには次に特定のトラック／セクタ、レコード／ブロック、またはデータの偶数バイト内にある、データへの複数層のセキュリティ・アクセスを提供することができる。その後、既存のソフトウェア・セキュリティ・パッケージを、外部ユーザのセキュリティ・プロファイルに基づいて暗号鍵を提供するように修正することができる。ソフトウェア・セキュリティ・パッケージは、適切な暗号鍵を提供するように既存のセキュリティ・プログラミング・インターフェースを拡張して、それらのインターフェースを使用することができる。
【００４３】
追加の実施形態の詳細
説明された技法は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア、あるいはそれらの任意の組み合わせ、またはそれらすべてを含む、方法、装置、または製品として実装可能である。本明細書で使用される「製品」という用語は、媒体内に実装されるコードまたは論理を言い表し、こうした媒体は、ハードウェア論理（たとえば集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）など）、あるいは、磁気ストレージ媒体（たとえばハード・ディスク・ドライブ、フロッピィ・ディスク、テープなど）、光ストレージ（ＣＤ−ＲＯＭ、光ディスクなど）、揮発性および不揮発性メモリ・デバイス（たとえば、電気的消去再書き込み可能読み取り専用メモリ（ＥＥＰＲＯＭ）、読み取り専用メモリ（ＲＯＭ）、再書き込み可能読み取り専用メモリ（ＰＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、動的ランダム・アクセス・メモリ（ＤＲＡＭ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、フラッシュ、ファームウェア、再書き込み可能論理など）などの、コンピュータ読み取り可能媒体を備えることができる。コンピュータ読み取り可能媒体内のコードは、プロセッサによってアクセスおよび実行される。コードまたは論理が内部で符号化された媒体は、空間、または光ファイバ、銅線などの伝送媒体を介して伝播される、伝送信号を含むこともできる。コードまたは論理が内部で符号化された伝送信号は、無線信号、衛星伝送、電波、赤外線信号、ブルートゥースなどをさらに含むことができる。コードまたは論理が内部で符号化された伝送信号は、送信局による送信および受信局による受信が可能であり、伝送信号内部で符号化されたコードまたは論理は、受信側および送信側の局または装置にあるハードウェアまたはコンピュータ読み取り可能媒体内に復号および格納することができる。加えて「製品」は、内部でコードが具体化、処理、および実行される、ハードウェアおよびソフトウェアの構成要素の組み合わせを含むこともできる。もちろん、当業者であれば、諸実施形態の範囲を逸脱することなく多くの修正が実行可能であること、および製品が任意の情報担持媒体を含むことが可能であることを、理解されよう。たとえば製品は、マシンによって実行された場合に結果として動作が実行される、内部に命令を格納したストレージ媒体を含む。
【００４４】
特定の実施形態は、全体としてハードウェアの実施形態、全体としてソフトウェアの実施形態、またはハードウェアおよびソフトウェアの両方の要素を含む実施形態の形を取ることができる。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されることのない、ソフトウェア内で実装される。
【００４５】
さらに特定の実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれらに関連して使用するための、プログラム・コードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能の媒体からアクセス可能な、コンピュータ・プログラム製品の形を取ることができる。この説明では、コンピュータ使用可能またはコンピュータ読み取り可能の媒体は、命令実行システム、装置、またはデバイスによって、あるいはそれらに関連して使用するための、プログラムの包含、格納、通信、伝播、または移送が可能な、任意の装置とすることができる。媒体は、電子、磁気、光、電磁、赤外線、または半導体のシステム（あるいは装置またはデバイス）、あるいは伝播媒体とすることができる。コンピュータ読み取り可能媒体の例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛性磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読み取り／書き込み（ＣＤ−Ｒ／Ｗ）、およびＤＶＤが含まれる。
【００４６】
「特定の実施形態」、「ある実施形態」、「実施形態」、「諸実施形態」、「その実施形態」、「その諸実施形態」、「１つまたは複数の実施形態」、「何らかの実施形態」、および「一実施形態」という用語は、特に明示されていない限り、１つまたは複数の（しかし、全てではない）実施形態を意味する。「含む」、「備える」、「有する」、およびそれらの変形の用語は、特に明示されていない限り、「含むが、それらのみを含むとの限定はされない」ことを意味する。列挙されたアイテムのリストは、特に明示されていない限り、任意またはすべてのアイテムが相互に排他的であることを示唆するものではない。
【００４７】
互いに通信しているデバイスは、特に明示されていない限り、互いに連続して通信しているとは限らない。加えて、互いに通信しているデバイスは、直接、あるいは１つまたは複数の中継を介して間接的に、通信することができる。さらに、互いに通信しているいくつかの構成要素を備えた実施形態の説明は、こうした構成要素のすべてが必要であることを示唆するものではない。これに対して、多種多様な可能な実施形態を例示するために、多様なオプションの構成要素について説明している。
【００４８】
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどは、一連の順序で説明されている場合があるが、こうしたプロセス、方法、およびアルゴリズムは、代替の順序で動作するように構成することができる。言い換えれば、説明されている場合のあるステップのいかなるシーケンスまたは順序も、必ずしもステップがその順序で実行される旨の要件を示すものではない。本明細書で説明されたプロセスのステップは、任意の実際の順序で実行可能である。さらにいくつかのステップは、同時に、並行して、または一斉に実行可能である。
【００４９】
本明細書で単一のデバイスまたは製品について説明されている場合、単一のデバイス／製品の代わりに、複数のデバイス／製品が（それらが協働するか否かにかかわらず）使用可能であることが明らかとなろう。同様に、本明細書で複数のデバイスまたは製品（それらが協働するか否かにかかわらず）について説明されている場合、複数のデバイスまたは製品の代わりに、単一のデバイス／製品が使用可能であることが明らかとなろう。デバイスの機能あるいは機構は、別の方法として、こうした機能／機構を有するものとして明示的に説明されていない１つまたは複数の他のデバイスによって具体化することが可能である。したがって他の諸実施形態は、必ずしもデバイス自体を含むとは限らない。
【００５０】
図５は、特定の実施形態が実装可能なシステム５００のアーキテクチャを示すブロック図である。特定の実施形態では、システム５００に従って、図１に示されたストレージ・システム１０２およびホスト１０６を実装することができる。システム５００は、特定の実施形態ではプロセッサ５０４を含むことが可能な回路５０２を含むことが可能である。システム５００は、メモリ５０６（たとえば揮発性メモリ・デバイス）およびストレージ５０８も含むことができる。システム５００の特定の要素は、ストレージ・システム１０２およびホスト１０６内に見られる場合または見られない場合がある。ストレージ５０８は、不揮発性メモリ・デバイス（たとえばＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、ファームウェア、再書き込み可能論理など）、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどを含むことができる。ストレージ５０８は、内部ストレージ・デバイス、取り付け型ストレージ・デバイス、あるいはネットワーク・アクセス可能ストレージ・デバイス、またはそれらすべてを備えることができる。システム５００は、メモリ５０６内にロード可能であり、プロセッサ５０４または回路５０２によって実行可能な、コード５１２を含む、プログラム論理５１０を含むことができる。特定の実施形態では、コード５１２を含むプログラム論理５１０はストレージ５０８に格納することができる。特定の他の実施形態では、プログラム論理５１０は回路５０２内に実装可能である。したがって、図５ではプログラム論理５１０を他の要素と別に示しているが、プログラム論理５１０はメモリ５０６あるいは回路５０２またはそれら両方の内部に実装可能である。
【００５１】
特定の実施形態は、コンピュータ読み取り可能コードをコンピューティング・システムに統合する、人または自動化された処理によって、コンピューティング命令を展開するための方法を対象とすることが可能であり、コードとコンピューティング・システムとがあいまって、説明された実施形態の動作を実行することが可能となる。
【００５２】
図３および図４に示された少なくとも特定の動作は、並行して、ならびに順次、実行することができる。代替の実施形態では、特定の動作は、異なる順序での実行、修正、または除去が可能である。
【００５３】
さらに、ソフトウェアおよびハードウェア構成要素の多くは、例示の目的で別々のモジュール内に記載されている。こうした構成要素は、より少数の構成要素に統合するか、またはより多数の構成要素に分割することができる。加えて、特定構成要素によって実行されるように記載された特定の動作は、他の構成要素による実行が可能である。
【００５４】
図１〜図５で図示または言及されたデータ構造および構成要素は、特定タイプの情報を有するように記載されている。代替の実施形態では、このデータ構造および構成要素を異なるように構造化すること、ならびに、図面で図示または言及されたものよりも少ない、多い、または異なるフィールド、あるいは異なる機能を有することが可能である。
【００５５】
したがって、諸実施形態の前述の記載は、例示および説明の目的で提示されたものである。諸実施形態を網羅すること、または開示された精密な形に限定することは意図されていない。上記教示に照らして、多くの修正および変形が可能である。
【図面の簡単な説明】
【００５６】
【図１】特定の実施形態に従った、暗号化されたレガシ・データおよび暗号化されていない非レガシ・データを備えたストレージ・システムを含む、コンピューティング環境を示すブロック図である。
【図２】特定の実施形態に従った、ストレージ・システムに格納されたデータを表すデータ構造を示す図である。
【図３】特定の実施形態に従った、データにアクセスするための要求に応答した、暗号化されていないレガシ・データの暗号化を示す流れ図である。
【図４】特定の実施形態に従った、ストレージ・システム内のデータの暗号化を示す流れ図である。
【図５】特定の実施形態において、図１のコンピューティング環境のストレージ・システムまたは計算デバイスが、コンピューティング・システムのアーキテクチャに従って実装可能な、コンピューティング・システムのアーキテクチャを示す図である。
【図１】
2009534727.tif 000003
【図２】
2009534727.tif 000004
【図３】
2009534727.tif 000005
【図４】
2009534727.tif 000006
【図５】
2009534727.tif 000007
【国際調査報告】
2009534727.tif 000008
2009534727.tif 000009