IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7582753ホスト・ポートのセキュリティのための有効化方法、システム、プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】ホスト・ポートのセキュリティのための有効化方法、システム、プログラム
(51)【国際特許分類】
   G06F 21/60 20130101AFI20241106BHJP
   H04L 9/16 20060101ALI20241106BHJP
   G06F 21/44 20130101ALI20241106BHJP
【FI】
G06F21/60 360
H04L9/16
G06F21/60 320
G06F21/44
【請求項の数】 16
(21)【出願番号】P 2022510866
(86)(22)【出願日】2020-09-02
(65)【公表番号】
(43)【公表日】2022-11-16
(86)【国際出願番号】 IB2020058163
(87)【国際公開番号】W WO2021048701
(87)【国際公開日】2021-03-18
【審査請求日】2023-02-24
(31)【優先権主張番号】16/568,131
(32)【優先日】2019-09-11
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ハソーン、ロジャー
(72)【発明者】
【氏名】ドリーバー、パトリシア
(72)【発明者】
【氏名】コロッナ、クリストファー
(72)【発明者】
【氏名】ジー、ムーヘン
(72)【発明者】
【氏名】フラナガン、ジョン
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2014-041580(JP,A)
【文献】米国特許出願公開第2014/0032867(US,A1)
【文献】特開2008-009777(JP,A)
【文献】米国特許出願公開第2008/0005565(US,A1)
【文献】国際公開第2006/090455(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60-62
H04L 9/16
G06F 21/44
G06F 12/14
(57)【特許請求の範囲】
【請求項1】
ホスト・ポートをセキュリティのために有効化することと、
前記ホスト・ポートとストレージ・ポートとの間の経路上で、前記ホスト・ポートと前記ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合でも監査モード・インジケータは入力/出力(I/O)を許容するように有効化されているとの判断に応答して、平文でのI/Oを前記ホスト・ポートにより実行することと、
前記経路上で平文でのI/Oを実行するのと同時に、前記ホスト・ポートにより、前記経路上でのI/Oのためにデータの暗号化を有効化することと、
を含む、方法。
【請求項2】
データの暗号化の前記同時の有効化は、前記ホスト・ポートと前記ストレージ・ポートとの間でセキュリティ・アソシエーション(SA)管理トランザクションを開始することを含む、請求項1に記載の方法。
【請求項3】
前記ホスト・ポートは、前記経路上での暗号化データの交換と同時に前記経路上で平文データを交換することを許容するように構成された平文許容インジケータと共に、暗号化データの交換のための鍵材料を用いてプログラムされている、請求項2に記載の方法。
【請求項4】
前記経路上での暗号化データの交換と同時に前記経路上で平文データを交換することを許容するように前記平文許容インジケータが構成されていることに応答して、前記ホスト・ポートが、前記鍵材料を用いて、平文と暗号化データとの両方を受信するように構成されることをさらに含む、請求項3に記載の方法。
【請求項5】
セキュリティ・アソシエーションが送信のために活性化された後にタイマが満了したためにすべての平文の受信が完了したと前記ホスト・ポートが判断するのに応答して、もはや平文データを処理しないように前記ホスト・ポートをプログラムすることをさらに含む、請求項4に記載の方法。
【請求項6】
前記タイマは、前記経路上で前記暗号化データの送信が開始した時点で前記経路の送信のために待ち行列に入っていた平文データを消去するのに十分なタイムアウト期間の後で満了する、請求項5に記載の方法。
【請求項7】
平文データと暗号化データとの両方がタイマによって指示される所定の時間期間の間に前記経路において交換されるときには、I/Oエラーが生成されない、請求項1に記載の方法。
【請求項8】
メモリと、
前記メモリに結合され動作を実行するプロセッサであって、前記動作は、
ホスト・ポートをセキュリティのために有効化することと、
前記ホスト・ポートとストレージ・ポートとの間の経路上で、前記ホスト・ポートと前記ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合でも監査モード・インジケータは入力/出力(I/O)を許容するように有効化されているとの判断に応答して、平文でのI/Oを前記ホスト・ポートにより実行することと、
前記経路上で平文でのI/Oを実行するのと同時に、前記ホスト・ポートにより、前記経路上でのI/Oのためにデータの暗号化を有効化することと、
を含む、前記プロセッサと、
を含む、システム。
【請求項9】
データの暗号化の前記同時の有効化は、前記ホスト・ポートと前記ストレージ・ポートとの間でセキュリティ・アソシエーション(SA)管理トランザクションを開始することを含む、請求項8に記載のシステム。
【請求項10】
前記ホスト・ポートは、前記経路上での暗号化データの交換と同時に前記経路上で平文データを交換することを許容するように構成された平文許容インジケータと共に、暗号化データの交換のための鍵材料を用いてプログラムされている、請求項9に記載のシステム。
【請求項11】
前記動作が、
前記経路上での暗号化データの交換と同時に前記経路上で平文データを交換することを許容するように前記平文許容インジケータが構成されていることに応答して、前記ホスト・ポートが、前記鍵材料を用いて、平文と暗号化データとの両方を受信するように構成されることをさらに含む、請求項10に記載のシステム。
【請求項12】
前記動作が、
セキュリティ・アソシエーションが送信のために活性化された後にタイマが満了したためにすべての平文の受信が完了したと前記ホスト・ポートが判断するのに応答して、もはや平文データを処理しないように前記ホスト・ポートをプログラムすることをさらに含む、請求項11に記載のシステム。
【請求項13】
前記タイマは、前記経路上で前記暗号化データの送信が開始した時点で前記経路の送信のために待ち行列に入っていた平文データを消去するのに十分なタイムアウト期間の後で満了する、請求項12に記載のシステム。
【請求項14】
平文データと暗号化データとの両方がタイマによって指示される所定の時間期間の間に前記経路において交換されるときに、I/Oエラーが生成されない、請求項8に記載のシステム。
【請求項15】
請求項1~7の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
【請求項16】
請求項15に記載の前記コンピュータ・プログラムを、コンピュータ可読記憶媒体に記憶した、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ホスト・ポートにおける動作経路上での暗号化の同時有効化に関する。
【背景技術】
【0002】
ファイバ・チャネルとは、米国国家規格協会(ANSI)によって開発された、データ転送のための1組の統合されたアーキテクチャ標準を指す。ファイバ・チャネル・アーキテクチャのためのセキュリティ・ソリューションは、ANSIによって開発されたファイバ・チャネル・セキュリティ・プロトコル(FC-SP)によって提供される。FC-SPは、ファイバ・チャネル環境におけるデバイスの認証、メッセージごとのセキュリティ、ポリシの配信などのための機構を、提供する。FC-SPのさらなる詳細は、2012年6月12日にANSIによって出版された出版物「ファイバ・チャネル・セキュリティ・プロトコル-2(FC-SP-2)」の改訂版2.72において、提供されている。
【0003】
FC-LS-4は、ファイバ・チャネルにおけるリンク・サービスのための機構を提供しており、さらなる詳細は、2019年7月16日にANSIによって出版された出版物「ファイバ・チャネル・リンク・サービス(FC-LS-4)」の改訂版4.04において、提供されている。FC-FS-5は、ファイバ・チャネルにおけるフレーミングおよびシグナリングのための機構を提供しており、さらなる詳細は、2018年4月3日にANSIによって出版された出版物「ファイバ・チャネル・フレーミングおよびシグナリング-5(FC-FS-5)」の改訂版1.0において、提供されている。
【0004】
ファイバ・チャネル環境では、ファブリックにおけるノードの間で安全で暗号化された通信を提供するために、セキュリティ・アソシエーション(SA)管理トランザクションが、セキュリティ確立プロトコルを用いて、SA_イニシエータとSA_レスポンダとの間で生じる。イニシエータとレスポンダとは、ファイバ・チャネル・ネットワークにおけるデバイスのアダプタでのポートを含み得る。ポートにおけるデータ送信とデータ受信とのために、別個のセキュリティ・アソシエーションが確立される。SA確立トランザクションが完了すると、その結果として、確立されたセキュリティ・アソシエーションの下にあるイニシエータとレスポンダとの間でのデータ通信を暗号化/復号化するのに用いられる、セキュリティ・アソシエーションと関連する鍵マテリアルとの組が生じる。セキュリティ・アソシエーション・プロトコルの例は、FC-SP-2におけるセキュリティ・アソシエーション管理プロトコルである。このプロトコルは、ペアレント・アソシエーションを確立するための1対のメッセージであるSA_InitおよびSA_Init応答と、それに続く、エンティティの認証を実行してエンティティの間で転送されるデータを保護するセキュリティ・アソシエーションを確立するための1対のメッセージであるSA_AuthおよびSA_Auth応答とで構成される。
【0005】
ストレージ・コントローラは、そのストレージ・コントローラにファイバ・チャネル・ネットワークを介して接続される1つまたは複数のホスト計算デバイスのためのストレージへのアクセスを、制御し得る。ストレージ・コントローラで実行されるストレージ管理アプリケーションは、そのストレージ・コントローラに結合されているディスク・ドライブ、テープ・ドライブ、フラッシュ・ドライブ、ダイレクト・アクセス・ストレージ・デバイス(DASD)などの、複数のストレージ・デバイスを管理し得る。ホスト計算デバイスは、入力/出力(I/O)コマンドをストレージ・コントローラに送り得るのであって、ストレージ・コントローラは、データをストレージ・デバイスから読み出すために、またはデータをストレージ・デバイスに書き込むために、そのI/Oコマンドを実行し得る。ホストとストレージ・コントローラとの間の通信は、ホストとストレージ・コントローラとのアダプタに配置されているファイバ・チャネル・ポートを介して生じる。
【0006】
米国特許出願公開第2010-0154053号は、暗号スプリッティングを用いるストレージ・セキュリティ機構を論じている。米国特許出願公開第2019-0251282号は、サーバの間でデータを転送するためのサイバ・セキュリティ機構を論じている。米国特許出願公開第2016-0139845号は、データ・グルーピング構造のためのストレージ・レベルでのアクセス制御を論じている。米国特許出願公開第2016-0378691号は、攻撃に対してストレージを保護するための機構を論じている。米国特許第8275950号は、ホスト・コンピュータからのいかなる認証もされていないアクセスの試みもポートごとに阻止することにより強化されたセキュリティを維持するためにログイン・リクエスト制御テーブルを用いて、ホスト・コンピュータとストレージ・コントローラとのポートの1対1対応を管理し得るファイバ・チャネル接続ストレージ・コントローラを、論じている。米国特許第6219771は、改善されたセキュリティ・プロセスと分割配分機能とを備えたデータ・ストレージ装置を論じている。米国特許出願公開第2004-0107342号は、安全なネットワーク・ファイル・アクセス制御システムを論じている。ヨーロッパ特許出願第EP1276034A2号は、ストレージ・サブシステムにおける論理ユニットのためのセキュリティを論じている。米国特許出願公開第2016-0342798号は、保護されたデバイス管理のためのシステムおよび方法を論じている。米国特許第8799436号は、情報技術(IT)設定管理データベースにおける設定項目を監査および確認するためのシステムおよび方法を論じている。
【0007】
米国特許第6832313号には、リンクを介して通信可能な中央コンピュータとリモート・コンピュータとを含むシステムであって、これらのコンピュータが暗号化された通信のために必要な長期鍵を受信してインストールするときに、平文での作業から暗号化された作業に移動されるシステムが、記載されている。米国特許第8250625号には、通信システムの暗号化システムの暗号化動作を有効化するときの、通信システムのダウンタイムを短縮させる方法であって、暗号化システムが、通信システムの通信ネットワークを介して複数の第2の暗号化デバイスに動作的に結合された第1の暗号化デバイスを含む、方法が、記載されている。
【発明の概要】
【0008】
ホスト・ポートがセキュリティのために有効化される方法、システム、コンピュータ・プログラム製品が提供される。ホスト・ポートは、ホスト・ポートとストレージ・ポートとの間の経路上で、ホスト・ポートとストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合でも監査モード・インジケータが入力/出力(I/O)を許容するように有効化されているとの判断に応答して、平文でのI/Oを実行する。ホスト・ポートは、経路上で平文でのI/Oを実行するのと同時に、経路上でのI/Oのためにデータの暗号化を有効化する。その結果として、監査モード・インジケータが有効化されている実施形態において、平文データから暗号化データに移行するための機構が提供される。
【0009】
いくつかの実施形態では、データの暗号化の同時の有効化は、ホスト・ポートとストレージ・ポートとの間でセキュリティ・アソシエーション(SA)管理トランザクションを開始することを含む。その結果として、これらの実施形態が、ファイバ・チャネルのセキュリティ・アソシエーションと共に実装されることを可能にする機構が提供される。
【0010】
さらなる実施形態では、ホスト・ポートは、経路上での暗号化データの交換と同時に経路上で平文データを交換することを許容するように構成された平文許容インジケータと共に、暗号化データの交換のための鍵材料(Key material)を用いて、プログラムされる。その結果として、暗号化データが、ある時点から、許容される。
【0011】
いくつかの実施形態では、平文許容インジケータが、経路上での暗号化データの交換と同時に経路上で平文データを交換することを許容するように構成されていることに応答して、ホスト・ポートが、鍵材料を用いて、平文と暗号化データとの両方を受信するように構成される。その結果として、相互に混合された平文と暗号化データとを許容する新たなインジケータが、用いられる。
【0012】
さらなる実施形態では、セキュリティ・アソシエーションが送信のために活性化された後にタイマが満了したためにすべての平文の受信が完了したとホスト・ポートが判断するのに応答して、ホスト・ポートは、もはや平文データを処理しないようにプログラムされる。その結果として、平文と暗号化データとが混合されたものから暗号化データのみへの移行が生じる。
【0013】
またさらなる実施形態では、タイマは、経路上で暗号化データの送信が開始した時点で経路の送信のために待ち行列に入っていた平文データを消去するのに十分なタイムアウト期間の後で、満了する。その結果として、すべての待ち行列に入っている平文のI/Oが完了するのに十分な時間が、許容される。
【0014】
さらなる実施形態では、平文データと暗号化データとの両方がタイマによって指示される所定の時間期間の間に経路において交換されるときには、I/Oエラーが、生成されない。その結果として、監査モードは、I/Oエラーを生じさせることなく、ファイバ・チャネルの中に一体化される。
【0015】
次に図面を参照するが、図面においては、同様の参照番号は、複数の図面を通じて、対応する部材を表す。
【図面の簡単な説明】
【0016】
図1】いくつかの実施形態による、ファイバ・チャネル・ファブリックを経由して複数のストレージ・コントローラもしくはストレージ・デバイスまたはその両方と通信する複数のホストを含むヘテロジニアス・コンピューティング環境のブロック図の図解である。
図2】いくつかの実施形態による、ヘテロジニアス・コンピューティング環境におけるセキュリティ有効化のために、ホストのためのアクセスを維持するためのシステムのブロック図の図解である。
図3】いくつかの実施形態による、ファイバ・チャネルにおけるログインのためのセキュリティ・ビットと、監査モード・インジケータを介するファイバ・チャネルへの強化とを示すブロック図の図解である。
図4】いくつかの実施形態による、ファイバ・チャネルにおけるログインと応答とを示すブロック図の図解である。
図5】いくつかの実施形態による、監査モード・インジケータの有効化または非有効化を介して「セキュリティ強制」と「セキュリティ有効化」とのための指示を提供するファイバ・チャネルへの強化を示すブロック図の図解である。
図6】いくつかの実施形態による、セキュリティが強制されているストレージ・ポートの動作を示すフローチャートの図解である。
図7】いくつかの実施形態による、セキュリティが有効化されているストレージ・ポートの動作を示すフローチャートの図解である。
図8】いくつかの実施形態による、認証とセキュリティ・アソシエーションとの管理が成功裏に完了されることを阻止する条件を示すブロック図の図解である。
図9】いくつかの実施形態による、単一のストレージ・ポートにログインしている複数のホスト・ポートを示すブロック図の図解である。
図10】いくつかの実施形態による、ストレージ・ポートをセキュリティ強制状態に変更すべきかどうかを判断するためのストレージ・デバイスにおける動作を示すフローチャートの図解である。
図11】いくつかの実施形態による、ホスト・システムにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャートの図解である。
図12】いくつかの実施形態による、ホスト・システムにおけるセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャートの図解である。
図13】いくつかの実施形態による、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャートの図解である。
図14】いくつかの実施形態による、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャートの図解である。
図15】いくつかの実施形態による、監査モードが有効化されている実施形態において認証とセキュリティ・アソシエーションとが成功裏に完了した後で平文I/Oから暗号化されたI/Oへの移行を示すブロック図の図解である。
図16】いくつかの実施形態による、暗号化されたI/Oがある経路上で開始するときに平文I/Oが継続することを許容する猶予期間のためのデータ構造を示すブロック図の図解である。
図17】いくつかの実施形態による、ある経路上での平文I/Oの開始を示すブロック図の図解である。
図18】いくつかの実施形態による、ある経路上における「平文I/O」から「平文I/Oと暗号化I/Oとの混合」へ、さらには「暗号化I/O」へのフローを示すブロック図の図解である。
図19】いくつかの実施形態による、ホスト・ポートにおける動作経路上での暗号化の同時の有効化のための動作を示すフローチャートの図解である。
図20】いくつかの実施形態による、ストレージ・ポートにおける動作経路上での暗号化の同時の有効化のための動作を示すフローチャートの図解である。
図21】いくつかの実施形態による、クラウド・コンピューティング環境のブロック図の図解である。
図22】いくつかの実施形態による、図21のクラウド・コンピューティング環境のさらなる詳細のブロック図の図解である。
図23】いくつかの実施形態による、図1~22に記載されているホスト、ストレージ・コントローラおよびストレージ・デバイスに含まれるいくつかの要素を示す計算システムのブロック図の図解である。
【発明を実施するための形態】
【0017】
以下の説明では、その説明の一部を形成しいくつかの実施形態を図解している添付の図面への参照がなされる。それ以外の実施形態が用いられる場合もあり得ること、そして構造上および動作上の変更がなされる場合もあり得ることを理解されたい。
【0018】
ファイバ・チャネル・リンク(FC-SP-2)を暗号化するための標準は、2つのエンドポイント(すなわち、ポート)の相互認証用のプロトコルと、これら2つのエンドポイントの間での通信セッションで用いられる暗号鍵のネゴシエーション用のプロトコルとを含む。この標準は、関与する当事者を認証するための様々な機構と、鍵の材料がそれによって提供されるまたは開発される機構とに対するサポートを、提供する。
【0019】
FC-SP-2標準では、エンドポイントの内部における認証のためのサポートは、ログイン・セッションの間にピアに送られる共通サービス・パラメータのセキュリティ・ビットの設定によって示される。ログイン・リクエストにおいて1の値に設定されるときには、そのセキュリティ・ビットは、送信側ポートが認証を実行できることを示す。応答側ポートがログイン・リクエストを受け入れるときに、回答において応答側ポートがセキュリティ・ビットを1に設定する場合には、これは、応答側ポートが、ログインの送信者に対し、どのようなさらなるアクセスも付与する前に、その時点で認証を実行することを要求することを示している。
【0020】
FC-SP-2標準は、応答側エンドポイントの行動を、そのリクエストが受信される時点でそのエンドポイントにおいて有効なセキュリティ・ポリシに基づき、ログイン・リクエストの受諾または拒絶とセキュリティ・ビットの設定とによって、特定する。標準は、このポリシがどのようにして応答側エンドポイントで例示されるかに関する規定を有していない。企業のデータセンタでは、データへのアクセスを保護するためのケアと、そのデータに対するセキュリティを提供するためのケアとが与えられることが必要である。セキュリティをサポートしないシステムとストレージ・ポート(例えば、レガシ・ポート)とをいくつか含むヘテロジニアスな環境でセキュリティを有効化させるときには、いくつかの実施形態が、そのような機構が提供されることを許容しない現在の標準とは対照的に、接続が失われないことを保証するための機構を提供する。
【0021】
いくつかの実施形態は、ストレージ・デバイスにおいてセキュリティが有効化されているときにはホストによるデータへのアクセスが失われない「監査モード」として、ホストにおけるセキュリティを有効化させる機構を提供する。セキュリティが有効化された後であればホスト・ポートがストレージ・ポートに継続してアクセスすることを許容するログインの時点での監査モード・インジケータの設定を介して、指示が提供される。いったん認証とセキュリティ機構の有効化とが成功裏に完了されていることが確認されると、セキュリティ有効化が、セキュリティ強制(security enforcement)のポリシに変更され得る。セキュリティ有効化とは、認証とセキュリティ機構の有効化とが成功裏に完了されていない場合であっても、I/Oが実行されることが可能であることを意味し、他方で、セキュリティ強制とは、認証とセキュリティ機構の有効化とが成功裏に完了されていない場合には、I/Oが実行されるのは不可能であることを意味する。監査モードの間であれば、ホストは、ストレージ・デバイスに継続的にアクセスして、接続のセキュリティ状態を監査するためのツールを提供し得る。
【0022】
いくつかの実施形態は、ホストが、ストレージ・デバイスとの間で認証もしくはセキュリティ・アソシエーションまたはその両方を成功裏に完了させるのが不可能であると判断し、監査モード・インジケータを使用して、ストレージ・ポートでセキュリティが強制されていないかどうかをチェックする仕組みを提供する。監査モード・インジケータが設定されている場合には、ホスト・プロセッサは、選択されたポートに沿ってストレージ・デバイスにI/O動作を送ることを継続する。監査モード・インジケータが設定されていない場合には、ホスト・プロセッサは、ストレージ・デバイスへのI/O動作を停止して、ホスト・アプリケーションまたはオペレーティング・システムに対し、I/O動作を完了させる代替的な経路を見つけるように通知する。
【0023】
さらには、ファイバ・チャネルでは、多くのホスト・ポートが、単一のストレージ・ポートに(FC-FS-5に記載があるように)ログインすることがあり得る。これらのホスト・ポートのうち、いくつかはセキュリティをサポートし、いくつかはセキュリティをサポートしていない、という場合があり得る。ポート設定がセキュリティ強制に設定されている場合には、セキュリティをサポートしていないホスト・ポートは、ログインすることが許されていないために、ストレージ・ポートへのアクセスを失うことがあり得る。
【0024】
いくつかの実施形態では、ストレージ・デバイスにより、そのポートのそれぞれへの現時点でのログイン数を示すための情報が提供される。ログイン数に対しては、ストレージ・デバイスが、セキュリティ機能付きログイン数(number of security capable logins)と、成功裏に認証されセキュリティが有効化されているログイン数とを提供する。この情報から、ストレージ・ポートの設定がセキュリティ強制に変更される場合にポートへのアクセスが失われることがあり得るかどうかが判断され得る。いったんすべてのログインが安全であると判断されると、設定は、アクセスが失われることなく変更されるのであるが、その理由は、すべてのホスト・ポートが成功裏にセキュリティを有効化することができるからである。いくつかの実施形態では、設定を、セキュリティが強制されるように変更することが望まれるときには、ストレージ・デバイスは、アクセスの損失が生じる可能性があるかどうか(すなわち、成功裏に認証されないログインが存在するかどうか)を判断するために、ログイン・カウンタをチェックして、セキュリティを強制するように設定が変更されることを阻止する。
【0025】
いくつかの実施形態は、強制することなくセキュリティを有効化するための設定をサポートして、セキュリティを強制に設定することの効果を判断するために監査可能な統計(例えば、ログイン・カウント、セキュリティ機能付きのログイン・カウント(security capable login count)、およびセキュリティが有効化されたログイン・カウント)を提供するストレージ・ポートを提供する。監査モード・インジケータは、ホスト・ポートへのログイン応答で設定され、認証が成功裏に完了されることが不可能である場合であっても、I/Oがこのストレージ・ポートに送られることが可能であることを示す。セキュリティのための有効化または強制の設定は、ストレージ・アレイにおいてまたは個別のストレージ・ポート・ベースで実行され得る。
【0026】
いくつかの実施形態では、アクセスの損失が発生する可能性がある場合に設定変更を阻止するために、ログイン・インジケータの自動化された確認を有するセキュリティ強制のための設定が提供される。ログイン・インジケータを考慮することなく設定をセキュリティ強制に強制的に変更するオプションも、提供される。
【0027】
結果的に、ファイバ・チャネル・ベースの接続環境への強化において、I/Oを実行するために接続を維持するための改善が、デバイスに対してなされることになる。
【0028】
上述した実施形態は、ストレージ・デバイスにおいてセキュリティが有効化されているときにはホストによるデータへのアクセスが失われることがない監査モードにおいて、ホストにおけるセキュリティを有効化する。セキュリティが有効化された後であればホスト・ポートは継続してストレージ・ポートにアクセスすることが許容されるという指示が、ログインの時点で、提供される。暗号化を有効化するセキュリティ・アソシエーションなしでアクセスするということは、ホスト・ポートとストレージ・ポートとがクリアな場所でデータを交換し得ることを意味するが、ここで、クリアな場所でデータを交換するとは、交換されるデータが暗号化されていないことを意味し、クリアな場所で交換されるデータは、「平文」データと称される。
【0029】
暗号化を有効化するセキュリティ・アソシエーションが成功裏に作成されると、ホスト・ポートとストレージ・ポートとは、平文データの交換から、「暗号化」データの交換に移行することができる必要があるが、ここで、暗号化データとは、暗号化されているデータを指す。ホスト・ポートとストレージ・ポートとの間のリンク上を平文データと暗号化データとの両方が流れている移行期間が存在し、いくつかの実施形態によると、セキュリティ・アソシエーションによって設置されるセキュリティ強制規則によって、そのような状態でもエラーが検出されることにはならないことが保証される。
【0030】
いくつかの実施形態は、ホスト・システムが、平文の交換から暗号化データの交換へ移行する機構を、提供する。そのような実施形態は、また、ストレージ・ポートが、平文の交換から暗号化データの交換へ移行する機構も、提供する。その結果として、ファイバ・チャネル・ベースの接続環境への強化として、I/Oを実行するための接続を維持するデバイスに対し、さらなる改善がなされることになる。
【0031】
監査モードを実装する例示的な実施形態
図1は、ヘテロジニアス・コンピューティング環境のブロック図100を図解しており、このヘテロジニアス・コンピューティング環境は、いくつかの実施形態によりファイバ・チャネル・ファブリック106を介して複数のストレージ・コントローラもしくはストレージ・デバイスまたはこれらの両方108、110と通信する複数のホスト102、104を含む。ストレージ・コントローラとストレージ・デバイスとは、共に、参照番号108、110で示されており、ホスト102、104は、ストレージ・デバイスを制御するストレージ・コントローラと通信する場合があり得るし、または、いかなるストレージ・コントローラも関与せずにストレージ・デバイスと通信する場合もあり得る。ストレージ・コントローラは、1つまたは複数のストレージ・デバイスを制御し、1つまたは複数のストレージ・デバイスへのアクセスを許容するため、進歩したタイプのストレージ・デバイスとも見なされ得る。
【0032】
ホスト102、104とストレージ・コントローラ108、110とは、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、ハンド・ヘルド・コンピュータ、パーム・トップ・コンピュータ、テレフォニ・デバイス、ネットワーク機器、ブレード・コンピュータ、処理デバイス、コントローラなど、当該技術分野において現時点で知られているものを含む、いずれかの適切な計算デバイスを含み得る。ストレージ・デバイスは、ハード・ディスク・ドライブ、テープ・ドライブ、ソリッド・ステート・ドライブなど、当該技術分野において現時点で知られているストレージ・デバイスを含み得る。
【0033】
ホスト102、104とストレージ・デバイス108、110とは、ストレージ・エリア・ネットワーク、ワイド・エリア・ネットワーク、インターネット、イントラネットなど、いずれかの適切なネットワークにおける要素であり得る。いくつかの実施形態では、ホスト102、104とストレージ・デバイス108、110とは、クラウド・コンピューティング環境における要素であり得る。ネットワークもしくはクラウド・コンピューティング環境またはその両方におけるホスト102、104とストレージ・デバイス108、110との間の接続は、ファイバ・チャネル・ファブリック106を介し得る。
【0034】
ホストは、1つまたは複数のホスト・ポートを含み得る。例えば、ホスト102は、複数のホスト・ポート112を含み、ホスト104は、複数のホスト・ポート114を含む。ストレージ・デバイスは、複数のストレージ・ポートを含み得る。例えば、ストレージ・デバイス108は、複数のストレージ・ポート116を含み、ストレージ・デバイス110は、複数のストレージ・ポート118を含む。ホスト・ポート112、114とストレージ・ポート116、118とは、ファイバ・チャネル・ファブリック106を介して通信し得る。
【0035】
いくつかの実施形態では、すべてのホストが、ホスト・ポートのためのセキュリティをサポートするとは限らない。例えば、いくつかのレガシ・ホストが、ファイバ・チャネルにおけるホスト・ポートのためのセキュリティをサポートしないことがあり得るし、または、ホストにおけるいくつかのレガシ・アダプタが、ファイバ・チャネルにおけるホスト・ポートのためのセキュリティをサポートしないこともあり得る。例えば、ホスト102は、ホスト・ポートのためのセキュリティをサポートするものとして示されており、ホスト104は、ホスト・ポートのためのセキュリティをサポートしないものとして示されている。
【0036】
いくつかの実施形態では、いくつかのストレージ・デバイスは、1つまたは複数のストレージ・ポートが強制を伴いセキュリティを有効化するものとして構成されることを可能にし得る(すなわち、ホスト・ポートとストレージ・ポートとの間に安全な接続が確立されていることが確認されない限り、ホスト・ポートからストレージ・ポートへのI/Oは、生じ得ない)。いくつかの実施形態では、いくつかのストレージ・デバイスは、1つまたは複数のストレージ・ポートが強制を伴うことなくセキュリティを有効化するものとして構成されることを可能にし得る(すなわち、ホスト・ポートとストレージ・ポートとの間に安全な接続が確立されていることが確認されていない場合でも、ホスト・ポートからストレージ・ポートへのI/Oが、生じ得る)。例えば、ストレージ・デバイス108は、ストレージ・ポート116のうちの少なくとも1つに対して、強制を伴うセキュリティを有効化させ得る(ストレージ・デバイス108における他のストレージ・ポートは、強制を伴わないセキュリティを有効化させ得る)。図1では、ストレージ・デバイス110は、ストレージ・ポート118のうちの少なくとも1つに対して、強制を伴わないセキュリティを有効化させ得る(ストレージ・デバイス110における他のストレージ・ポートは、強制を伴うセキュリティを有効化させ得る)。
【0037】
したがって、図1は、ホスト・ポートとストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合であっても、ホスト・ポートからストレージ・ポートにI/O動作が送られることを許容するいくつかの実施形態を示している。
【0038】
図2は、いくつかの実施形態に従い、ヘテロジニアス・コンピューティング環境におけるセキュリティ有効化のためにホスト202に対するアクセスを維持するためのシステムのブロック図200を図解している。
【0039】
ホスト202は、ファイバ・チャネル・ファブリック208を介して、複数のストレージ・デバイス204、206に、通信可能に結合されている。ストレージ・デバイス204は、ストレージ・デバイス204のストレージ・ポート210に対して、強制を伴うセキュリティを有効化させており、ストレージ・デバイス206は、ストレージ・デバイス206のストレージ・ポート212に対して、強制を伴わずにセキュリティを有効化させている。いくつかの実施形態では、ストレージ・ポートは、強制を伴わないセキュリティの有効化から、強制を伴うセキュリティの有効化へ変更されるのであって、またその逆もあり得る。
【0040】
ホスト202は、ホスト・ポート214を含み、このホスト・ポート214は、ストレージ・ポート210、212と通信する。図2に示されている実施形態では、ホスト・ポート214は、ホスト・ポート214とストレージ・ポート212との間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合であっても、I/Oをストレージ・ポート212に送信することができるのであるが、その理由は、ストレージ・ポート212が強制を伴わずにセキュリティを有効化させているからである。しかし、ホスト・ポート214は、ホスト・ポート214とストレージ・ポート210との間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合には、I/Oをストレージ・ポート210に送信できないのであって、その理由は、ストレージ・ポート210が強制を伴うセキュリティを有効化させているからである。
【0041】
ホスト・ポート214がI/O動作をストレージ・ポートに送信できない場合には、ホスト202のオペレーティング・システム216が、別の機構を介して、I/O動作を送信することを試みる。
【0042】
図3は、いくつかの実施形態による、現在のファイバ・チャネル標準におけるログインのためのセキュリティ・ビット302と、監査モード・インジケータ304を介するファイバ・チャネルへの強化とを示すブロック図300を図解している。監査モード・インジケータ304は、有効化される場合(参照番号306)と、有効化されない場合(参照番号308)とがあり得る。
【0043】
監査モード・インジケータ304は、既存のファイバ・チャネル標準では見つけられない、ということが注意されるべきである。監査モード・インジケータ304を有効化することにより、セキュリティ・ビット302の構成と協調して機能するように、強制を伴わないセキュリティの有効化が可能になる。
【0044】
いくつかの実施形態では、監査モード・インジケータ304は、ファイバ・チャネル・リンク・サービス(FC-LS-4)を実装するプログラムにおける補助パラメータ・データ・ワード0、ビット23における指示を介して、有効化される。他の実施形態では、監査モード・インジケータ304を実装する他の機構が、提供されることがあり得る。監査モード・インジケータ304とセキュリティ・ビット302とは、動作を実行するために用いられる1つまたは複数のデータ構造の一部であり得る。
【0045】
図4は、いくつかの実施形態による、ファイバ・チャネルにおけるログインと応答とを示すブロック図400を図解している。ホスト・ポート402は、ログイン・リクエスト404を、ストレージ・ポート406に送信する。ホスト・ポート402は、「送信ポート」とも称され、ストレージ・ポート406は、「受信ポート」とも称される。
【0046】
ホスト・ポート402からのログイン・リクエスト404において、セキュリティ・ビット302は、送信ポート(すなわち、ホスト・ポート402)が認証を実行できるということを示すために、1に設定される。
【0047】
ログイン・リクエスト404を受け取ると、ストレージ・ポート406は、応答408をホスト・ポート402に送る。ストレージ・ポート406からの応答408は、受信ポート(すなわち、ストレージ・ポート406)が送信ポート(すなわち、ホスト・ポート402)にそれ以上のいかなるアクセスも付与する前に現時点で認証を実行することを要求することを示すために、セキュリティ・ビット302を1に設定し得る。
【0048】
いくつかの実施形態では、セキュリティ・ビット302が応答において1に設定されている場合であっても、強制を伴わないセキュリティ有効化を示すように監査モード・インジケータ304が有効化(設定)されている場合には、それ以上のいかなるアクセスも付与する前に認証を完了させるという要求は、無効にされる。
【0049】
図5は、いくつかの実施形態による、監査モード・インジケータ304の有効化または非有効化を介して「セキュリティ強制」と「セキュリティ有効化」とに対する指示を提供するファイバ・チャネルへの強化を示すブロック図500を図解している。
【0050】
指示は、ホスト・ポートからのログイン・リクエストに応答して、受信ポート(例えば、ストレージ・デバイスにおけるストレージ・ポート)によって提供される(参照番号502によって示されているように)。この指示は、監査モード・インジケータ304の設定を介して、提供され得る。監査モード・インジケータ304を有効化されているように設定すると、結果的に、「セキュリティ有効化」504というストレージ・ポートの状態が生じ得るのであって、これは、強制を伴わずにセキュリティが有効化されていることを意味する。監査モード・インジケータ304が非有効化されているように設定すると、結果的に、「セキュリティ強制」506というストレージ・ポートの状態が生じ得るのであって、これは、強制を伴うセキュリティが有効化されていることを意味する。
【0051】
図6は、いくつかの実施形態による、セキュリティが強制されているストレージ・ポートの動作を示すフローチャート600を図解している。制御はブロック604に進み、ここでは、ホスト・ポートとストレージ・ポートとの間で認証およびセキュリティ・アソシエーションの管理が開始される。制御がブロック606に進むと、ここでは、ホスト・ポートとストレージ・ポートとの間で認証およびセキュリティ・アソシエーションの管理が成功裏に完了したかどうか、に関する判断がなされる。完了した(「はい」の分岐608)場合には、制御はブロック610に進み、ここでは、ホスト・ポートが、ストレージ・ポートを通じてI/Oの実行を開始することが許される(ブロック610において)。完了していない(「いいえ」の分岐612)場合には、制御はブロック614に進み、ここでは、ホスト・ポートは、ストレージ・ポートを通じてI/Oを実行することが阻止される。
【0052】
図7は、いくつかの実施形態による、セキュリティが有効化されているストレージ・ポートの動作を示すフローチャート700を図解している。
【0053】
制御は、ブロック702で始まるが、ここでは、ストレージ・ポートに対するセキュリティが有効化される。制御はブロック704に進み、ここでは、ホスト・ポートとストレージ・ポートとの間での認証およびセキュリティ・アソシエーションの管理が開始される。ホスト・ポートは、認証およびセキュリティ・アソシエーションの管理動作が成功裏に完了したかまたは成功裏には完了していないか(ブロック708において)とは関係なく、ストレージ・ポートを通じてI/Oを実行することを許容される(ブロック706)。I/Oの開始が許容される時刻は、異なる実施形態では、異なり得る。
【0054】
図8は、いくつかの実施形態による、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止する条件を示すブロック図800を図解している。
【0055】
第1の条件802は、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得るセキュリティ・ポリシの不完全な設定である。第2の条件804は、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得る、ストレージ・デバイスにアクセスするための証明書を提供するアクセス不可能な鍵サーバを含む。第3の条件806は、認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得る、認証およびセキュリティ・アソシエーションの管理の交換の失敗である。これらの条件は、すべてが、図6および7に示された動作において認証およびセキュリティ・アソシエーションの管理を成功裏に完了させることを阻止し得る。
【0056】
図9は、いくつかの実施形態に従い、単一のストレージ・ポート908にログインする複数のホスト・ポート902、904、906を示すブロック図900を図解している。単一のストレージ・ポート908は、ストレージ・デバイスまたはストレージ・コントローラ910に含まれるのであって、ストレージ・デバイスまたはストレージ・コントローラ910は、他のストレージ・ポートを有し得る。
【0057】
図9では、ホスト・ポート902および906はセキュリティをサポートしているが、他方で、ホスト・ポート904は、レガシ・アダプタもしくはレガシ・ホストに含まれていることがあり得るために、または管理者による設定を含むそれ以外の理由のために、セキュリティをサポートしていない。
【0058】
ストレージ・デバイスまたはストレージ・コントローラ910は、ログイン・カウンタとログイン・インジケータと称されるログイン特性とに関する統計(参照番号912)を維持する。この統計は、ストレージ・ポートへの現時点におけるログイン数(参照番号914)と、ストレージ・ポートへのセキュリティ機能付きのログイン数(参照番号916)と、ストレージ・ポートへのセキュリティが有効化されているログイン数(参照番号918)とを含む。セキュリティが有効化されているログインとは、成功裏に認証され、セキュリティを有効化しているログインである。
【0059】
いくつかの実施形態では、ログイン・カウンタとログイン特性とに関する統計912は、セキュリティ強制モードが設定されている場合に、ホストによるI/Oアクセスに対する効果を判断するために、ストレージ・デバイスまたはストレージ・コントローラ910によって用いられる。追加的な実施形態では、ログイン・カウンタとログイン特性とに関する統計912は、セキュリティ強制モードへの切換えの際にホストによるI/Oアクセスが失われる場合に、セキュリティ有効化モードからセキュリティ強制モードへの切換えを阻止するために、ストレージ・デバイスまたはストレージ・コントローラによって用いられる。
【0060】
さらなる実施形態では、ストレージ・デバイスまたはストレージ・コントローラ910は、ログイン・カウンタとログイン特性とに関する統計912を考慮することなくセキュリティ強制モードへの切換えを強制するというオプション920を提供する。
【0061】
図10は、いくつかの実施形態に従い、ストレージ・ポートをセキュリティ強制状態に変更すべきかどうかを判断するための、ストレージ・デバイスにおける動作を示すフローチャート1000を図解している。
【0062】
制御はブロック1002で開始するのであるが、ここでは、ストレージ・デバイスが、複数のホスト・ポートがストレージ・デバイスのストレージ・ポートへのログインを実行したと判断する。制御はブロック1004に進み、ここでは、ストレージ・デバイスが、ログイン・カウンタとログイン特性とに関する統計を維持する。ストレージ・デバイスは、ログイン・カウンタとログイン特性とから、ストレージ・ポートの設定がセキュリティ強制に変更される場合に、いずれかのホスト・ポートがストレージ・デバイスへのI/Oへのアクセスを失うかどうかを判断する(ブロック1006において)。失う場合(「はい」の分岐1008)には、すべてのホスト・ポートのログインが安全であるとは限らず(すなわち、すべてのホスト・ポートが成功裏に認証されるとは限らない)、制御はブロック1010に進み、ここでは、ストレージ・ポートの設定がセキュリティ強制に変更されることが阻止される。
【0063】
ブロック1006において、ストレージ・デバイスが、ログイン・カウンタとログイン特性とから、ストレージ・ポートの設定がセキュリティ強制に変更される(「いいえ」の分岐1012)ならば、どのホスト・ポートもストレージ・デバイスへのI/Oへのアクセスを失うことはないと判断する場合には、すべてのホスト・ポートのログインは安全であり(すなわち、すべてのホスト・ポートは成功裏に認証される)、制御は、ブロック1014に進み、ここでは、ストレージ・ポートの設定は、セキュリティ強制に変更されることが許容される。
【0064】
図11は、いくつかの実施形態に従い、ホスト・システムにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャート1100を図解している。
【0065】
制御は、ブロック1102で開始するのであるが、ここでは、ホスト・ポートがセキュリティのために有効化される。ホスト・ポートによって、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのためのネゴシエーションを成功裏に完了させるのは不可能である、と判断される(ブロック1104において)。
【0066】
ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのためのネゴシエーションを成功裏に完了させるのは不可能であるとのホスト・ポートによる判断に応答して、ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかを判断する(ブロック1106において)。ホスト・ポートは、ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されているかどうかの判断に基づき、ストレージ・ポートへの入力/出力(I/O)アクセスを保存する。結果的に、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であっても、ホスト・ポートは、ストレージ・ポートを介してI/Oを実行することが可能であり得る。
【0067】
ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されている(「はい」の分岐1108)との判断に応答して、ホスト・ポートは、(ブロック1110において)ストレージ・ポートへのI/Oを実行する。ストレージ・ポートへのI/Oを実行するということは、データが読み出されるまたは書き込まれるまたはアクセスされるI/O動作を実行するために、I/O動作をストレージ・ポートに送ることを意味する。結果的に、監査モード・インジケータが有効化されるときにストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であっても、ホスト・ポートは、ストレージ・ポートを介してI/Oを実行する。
【0068】
ストレージ・ポートからのログイン応答において監査モード・インジケータが有効化されていない(「いいえ」の分岐1112)との判断に応答して、ホスト・ポートは、ストレージ・ポートへのI/Oの実行を回避する(ブロック1114において)。結果的に、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であり、監査モード・インジケータが有効化されていない場合には、ホスト・ポートは、ストレージ・ポートを介してI/Oを実行することはない。ブロック1114から、制御はブロック1116に進み、ここでは、ホスト・ポートは、I/Oリクエストを、ホスト・コンピューティング・デバイスのオペレーティング・システムに戻す。結果的に、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能であり、監査モード・インジケータが有効化されていない場合には、I/Oを実行するために、代替的な機構が試みられる。
【0069】
図12は、いくつかの実施形態に従い、ホスト・システムにおいてセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャート1200を図解している。
【0070】
ホスト・ポートは、ホスト・ポートがストレージ・ポートとの間で認証を行うための証明書を取得するために鍵サーバにアクセスできない場合には、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのは不可能である、と判断する(ブロック1202において)。結果的に、ホスト・ポートは、I/Oリクエストをストレージ・ポートに送るべきかどうかを判断するのに監査モード・インジケータの状態を判断するために、さらなる動作を行い得る。
【0071】
ブロック1202から、制御はブロック1204に進み、このブロックでは、ホスト・ポートが、ストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションのためのプロセスに失敗が存在する場合にはストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのは不可能である、と判断する。結果的に、ホスト・ポートは、I/Oリクエストをストレージ・ポートに送るべきかどうかを判断するため、監査モード・インジケータの状態を判断するためのさらなる行動を取り得る。
【0072】
図13は、いくつかの実施形態に従い、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための動作を示すフローチャート1300を図解している。
【0073】
制御は、ブロック1302で開始し、このブロックでは、ストレージ・ポートがログイン・リクエストを受け取る。ブロック1302からは、制御は、ブロック1304またはブロック1306に進み得る。
【0074】
ブロック1304では、ストレージ・ポートは、ストレージ・デバイスとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合であっても、入力/出力(I/O)動作がホスト・ポートからストレージ・ポートに送信されるべきであることをホスト・ポートに指示するため、監査モード・インジケータを、セキュリティ有効化モードに入るように、ホスト・ポートへのログイン応答において、有効化状態に設定する。結果的に、安全ではないホストが、ストレージ・デバイスへのI/Oを実行し得る。
【0075】
ブロック1306では、ストレージ・ポートは、ストレージ・デバイスとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させるのが不可能な場合には、I/O動作がホスト・ポートからストレージ・ポートに送信されるべきではないことをホスト・ポートに指示するため、監査モード・インジケータを、セキュリティ強制モードに入るように、ホスト・ポートへのログイン応答において、非有効化状態に設定する。結果的に、安全ではないホストは、ストレージ・デバイスへのI/Oを実行することができない。
【0076】
図14は、ストレージ・デバイスにおけるセキュリティ有効化のためにアクセスを維持するための追加的動作を示すフローチャート1400を図解している。
【0077】
制御はブロック1402で開始し、このブロックでは、ストレージ・ポートを含むストレージ・コントローラが、ログイン・カウンタとログイン特性とに関する統計を維持するのであるが、この統計は、ストレージ・ポートへの現時点でのログイン数と、ストレージ・ポートへのセキュリティ機能付きのログイン数と、ストレージ・ポートへのセキュリティが有効化されているログイン数とを含む。結果的に、いくつかの実施形態では、ログイン・カウンタとログイン特性とに関する統計は、ストレージ・コントローラによって、セキュリティ強制モードが設定されている場合の、ホストによるI/Oアクセスへの効果を判断するために、用いられる。
【0078】
追加的な実施形態では、ログイン・カウンタとログイン特性とに関する統計は、ストレージ・コントローラによって、セキュリティ強制モードへの切換えの際にホストによるI/Oアクセスが失われる場合に、セキュリティ有効化モードからセキュリティ強制モードへの切換えを阻止するために、用いられる(ブロック1404において)。結果的に、セキュリティ強制モードへの切換えは、ホストがI/Oアクセスを失う場合には、阻止される。
【0079】
いくつかの実施形態では、ストレージ・コントローラは、ログイン・カウンタとログイン特性とに関する統計を考慮することなくセキュリティ有効化モードへの切換えを強制ためのオプションを、提供する。
【0080】
いくつかの実施形態では、ストレージ・コントローラは、複数のストレージ・ポートのうちの少なくとも1つのストレージ・ポートを、セキュリティ強制モードに設定する。ストレージ・コントローラは、複数のストレージ・ポートのうちの少なくとも1つの別のストレージ・ポートを、セキュリティ有効化モードに設定する。したがって、監査モード・インジケータの有効化は、ポートごとになされる。
【0081】
さらなる実施形態では、ストレージ・ポートは、第1のストレージ・アレイと第2のストレージ・アレイとを含むストレージ・コントローラに含まれており、その場合に、セキュリティ強制モードは第1のストレージ・アレイに対して設定され、セキュリティ有効化モードは第2のストレージ・アレイに対して設定される。したがって、監査モード・インジケータの有効化は、ストレージ・アレイごとになされる。
【0082】
したがって、図1~14は、ファイバ・チャネルにおけるセキュリティ・ビットの設定に基づいて動作を増加させるために、監査モード・インジケータの設定に基づいてセキュリティを強制するまたは強制しない、いくつかの実施形態を図解している。結果的に、レガシ・デバイスは、セキュリティ・ビットがファイバ・チャネルにおいて有効化されているときであっても、ヘテロジニアス・コンピューティング環境において、I/Oを継続することができる。
【0083】
平文から暗号化データへの移行のための例示的実施形態
ファイバ・チャネルでは、リンク上での暗号化を有効化するために、セキュリティ・アソシエーション(SA)イニシエータとSAレスポンダとの間で、SA確立プロトコルを用いて、SAが確立される。SAイニシエータの一例は、ホスト計算デバイス102、104のホスト・バス・アダプタ(HBA)におけるファイバ・チャネル・イニシエータ(例えば、ホスト・ポート112、114)である。SAレスポンダの一例は、ストレージ・コントローラ108、110におけるファイバ・チャネル・ターゲット・ポート(例えば、ストレージ・ポート116、118)である。ファイバ・チャネルでは、1つのポートにおけるデータ送信とデータ受信とに対して、別々のセキュリティ・アソシエーションが確立される。
【0084】
SA確立プロトコルは、(ファイバ・チャネルSANにおけるホスト・ポートとストレージ・ポートなどの)2つのエンティティの間で送られる一連のメッセージから構成される。そのようなプロトコルの一例は、ファイバ・チャネル・セキュリティ・プロトコル標準FC-SP-2におけるセキュリティ・アソシエーション管理プロトコルである。
【0085】
このプロトコルは、親アソシエーションを確立するためのSA_InitおよびSA_Init Responseという1対のメッセージと、それに続く、エンティティの認証を実行してそれらのエンティティの間で転送されるデータを保護するセキュリティ・アソシエーションを確立するためのSA_AuthおよびSA_Auth Responseという1対のメッセージとを含む。
【0086】
第1の組のセキュリティ・アソシエーション(SA1)は、SA確立プロトコルが経路(例えば、ファイバ・チャネルN_Portログイン)上で実行される第1の時点で、確立される。セキュリティ・アソシエーションの組は、送信鍵材料(K1t)と受信鍵材料(K1r)とを含む。鍵材料は、鍵とSALT(SALTとは、暗号化機構において用いられるデータを「ハッシュする」一方向関数への追加的入力として用いられるランダム・データである)との両方で構成されるが、本開示の全体で、単に鍵と称される。それぞれの側が、他方の「受信鍵材料」(K1r)と均等な1組の「送信鍵材料」(K1t)を有していることに注意されたい。
【0087】
プロトコルの特定の時点で、あるポートが、K1rを用いてのデータ受信の許容と、K1tを用いてのデータ送信とを開始するようにプログラムされる。いくつかの実施形態では、プロトコルにおけるこれらの時点の選択は、受信鍵K1rが、セキュリティ・アソシエーションにおける他方のポートがその鍵を用いてデータの送信を開始し得る前に、プログラムされるようになっている。
【0088】
データ受信のためのポートへの新たな鍵のプログラミングは、SA_Authメッセージの確認の後に、なされる。ターゲット(例えば、ストレージ・ポート)の場合には、これは、SA_Authリクエスト・メッセージを処理した後である。イニシエータ(例えば、ホスト・ポート)の場合には、これは、SA_Auth Responseの受信時である。認証トランザクションが成功裏に終了した後で、データを送信するI/Oリクエストの待ち行列は、新たなSA1を使い始める。ターゲットの場合には、これは、SA_Auth Responseがイニシエータによって受け取られた後でのみ、なされることが可能である。イニシエータにおけるSA_Auth Responseの受信は、ターゲットが、LS_ACC拡張リンク・サービス(ELS)応答を受け取るときに、確認される。イニシエータの場合には、これは、Auth_Doneの受信のときに生じる。
【0089】
SA確立動作が完了した後で、イニシエータ・ポートとターゲット・ポートとの両方が、新たな送信鍵を用いて、送信のために、I/Oを待ち行列に入れることを開始する。しかし、いくつかの実施形態では、待ち行列の中に、または、平文I/Oを用いたSA確立以前の送信のために待ち行列に入っていたSANの中に、依然としてI/Oが存在する場合があり得る。受信におけるエラーを回避するために、これらのポートは、SA1暗号化が強制される前のいくらかの時間期間の間、継続して平文の受信を許容する。この時間期間は、「平文猶予期間タイマ」と称されるタイマによって提供される。このタイマは、予め定義された所定の時間期間(例えば、2秒)の後に満了するように設定される。
【0090】
平文から暗号化へ移行するときには、いくつかの実施形態では、「平文許容インジケータ」が有効化され、データの受信のためのセキュリティ・アソシエーションのプログラミングの際に、データの受信側に提供される。このインジケータは、データの受信側(または、データの受信側を制御するファームウェア)に、暗号化されたデータ・フレームと暗号化されていないデータ・フレームとの混合を許容するように命令する。
【0091】
ある時点で、いったんすべての平文I/Oがシステムから消去されたことが確認されると、データの受信側は、平文許容インジケータをリセットするように再度プログラムされる。この時点で、データの受信側は、暗号化データの受信を許容し、平文データの受信を許容しない。これは、SA1セキュリティ鍵材料がデータ送信のために活性化されたときから、タイマが満了するのを待つことによって、達成され得る。
【0092】
図15は、いくつかの実施形態により、監査モードが有効化されている実施形態において認証とセキュリティ・アソシエーションとが成功裏に完了した後での、平文I/Oから暗号化I/Oへの移行を示すブロック図1500を図解している。
【0093】
図15において、矢印1502は、ホスト・ポートとストレージ・ポートとの間の経路上でI/Oを実行する間の時間経過を示す。換言すると、時間は、矢印が指している方向に、進んでいる。
【0094】
最初は、平文I/O(すなわち、暗号化されていないI/O)1504が、ホスト・ポートとストレージ・ポートとの間で確立された経路上を、送られる。いったん認証とセキュリティ・アソシエーションとが成功裏に完了する(参照番号1506)と、暗号化されたI/O1506が、実行される。しかし、平文I/Oと暗号化されたI/Oとの両方が同時に実行される(すなわち、平文I/Oと暗号化されたI/Oとが散在している)重複する期間(参照番号1508で示されている)が、存在する。いくつかの実施形態では、平文I/Oは、待ち行列の中に入っているが認証とセキュリティ・アソシエーションとが成功裏に完了する前には送信されなかったI/Oを完了させるために、所定の時間期間の間、継続することが許容される。
【0095】
図16は、いくつかの実施形態により、暗号化されたI/Oが経路上で開始するときに平文I/Oが継続する猶予期間を許容するためのデータ構造を示すブロック図1600を図解している。
【0096】
図3に記載されているセキュリティ・ビット302と監査モード・インジケータ304とに加え、平文許容インジケータ1602と、平文猶予期間タイマ1604とが、提供されている。平文許容インジケータ1602は、有効化される(例えば、1の値に設定されることにより)と、認証とセキュリティ・アソシエーションとが成功裏に完了した後でも、経路上に暗号化データと平文データとが散在することを許容する。平文猶予期間タイマ1604は、暗号化データが経路上に許容された後で平文データが経路上に許容される時間期間(例えば、2秒)を示す。この時間期間は、暗号化されたI/Oが経路上で開始したときに既に待ち行列に入っていた平文データを消去するのに十分である。
【0097】
図17は、いくつかの実施形態による、経路上での平文I/Oの開始を示すブロック図1700を図解している。
【0098】
ホスト・ポートなどのSA_イニシエータ(参照番号1702で示されている)は、ポート・ログイン(PLOGI1704)を、ストレージ・ポートなどのSA_Responder(参照番号1706で示されている)に送る。PLOGI1704を受け取ると、ストレージ・ポート1706は、リンク・サービス受諾メッセージ(LS_ACC1708)をホスト・ポート1702に送り、LS_ACC1708はホスト・ポート1702によって受け取られる。ホスト・ポート1702は、ホストに含まれるのであり、ストレージ・ポート1706は、ストレージ・コントローラに含まれ得る。
【0099】
プロセス・ログイン(PRLI1710)が、次に、ホスト・ポート1702からストレージ・ポート1706に送られる。ストレージ・ポート1706は、PRLI1710を受け取り、リンク・サービス受諾メッセージ(LS_ACC1712)をホスト・ポート1702に送り、このLS_ACC1712はホスト・ポート1702によって受け取られる。平文I/Oは、ホスト・ポート1702とストレージ・ポート1706との間の経路上で、参照番号1714によって示されている時点において、開始する。参照番号1716は、経路上で実行されている平文I/Oを示す。
【0100】
図18は、ホスト・ポート1702とストレージ・ポート1706との間で生じる、「平文I/O」から「平文I/Oと暗号化I/Oとの混合」へ、さらに「暗号化I/O」へのフローのための動作の実施形態を示すブロック図1800を図解している。ある実施形態では、ホスト・ポート1702はイニシエータとして作用し、ストレージ・ポート1706はレスポンダとして作用する。監査モードは有効化されている、と理解される。
【0101】
セキュリティ・アソシエーションを確立させる動作を開始するには、ホスト・ポート1702は、ストレージ・ポート1706との間で、暗号鍵を作成するために用いられる鍵材料を含むセキュリティ・アソシエーションを確立させるために、セキュリティ・アソシエーション初期化メッセージ(SA_Init1804)を、ホスト・ポート1702からストレージ・ポート1706に送る。セキュリティ・アソシエーション初期化メッセージを受け取ると、ストレージ・ポート1706は、処理のためのセキュリティ・アソシエーション初期化メッセージの受諾を、ホスト・ポート1702に送る。ファイバ・チャネル・プロトコルの実装では、メッセージを処理するための「受諾」は、リンク・サービス受諾メッセージ(LS_ACC1806)という形式を取り得る。受諾が送られた後で、ストレージ・ポート1706は、暗号化/復号化に用いられる選択された変換方法を含むセキュリティ・アソシエーションを受け入れるために、初期化応答メッセージ(SA_Init Resp1808)を、ホスト・ポート1702に送る。セキュリティ・アソシエーション初期化メッセージは、確立されつつあるセキュリティ・アソシエーションに用いるためにストレージ・ポート1706がそれから選択し得る、複数の異なる暗号化変換方法を含み得る。
【0102】
送られた初期化応答メッセージ(SA_Init Resp1808)を受け取ると、ホスト・ポート1702は、初期化応答メッセージが処理のために受け入れられたという受諾(LS_ACC1810)をストレージ・ポート1706に送り、そして、ストレージ・ポート1706とホスト・ポート1702との間での認証を確立させることをストレージ・ポート1706に要求するため、認証メッセージ(SA_Auth1812)をストレージ・ポート1706に送る。
【0103】
セキュリティ・アソシエーション認証メッセージ(SA_Auth1812)を受け取ると、ストレージ・ポート1706は、認証メッセージが処理のために受け入れられたことを示す受諾メッセージ(LS_ACC1814)をホスト・ポート1702に送り、次に(参照番号1816によって示されているように)平文許容インジケータが1に設定されている鍵K1rを含む、受信用のセキュリティ・アソシエーションSA1をプログラムする。
【0104】
ストレージ・ポート1706のためのセキュリティ・アソシエーションSA1を用いてストレージ・ポート1706をプログラムした後で、ストレージ・ポート1706は、認証を受け入れるために、認証応答メッセージ(SA_Auth Resp1818)を、ホスト・ポート1702に送る。
【0105】
セキュリティ・アソシエーション認証応答メッセージを受け取ると、ホスト・ポート1702は、(参照番号1820によって示されているように)平文許容インジケータが1に設定された鍵K1rを含む受信用セキュリティ・アソシエーションSA1をプログラムする。セキュリティ・アソシエーションSA1をプログラムした後で、ホスト・ポート1702は、認証メッセージが処理のために受け入れられたという受諾(LS_ACC1822)を、ストレージ・ポート1706に送る。
【0106】
受諾1822を受け取ると、ストレージ・ポート1706は、鍵K1tを用いて、送信のためのセキュリティ・アソシエーションSA1を活性化し(参照番号1824で示されているように)、ストレージ・ポート1706からホスト・ポート1702への暗号化データの送信開始を示すために、タイマ1826を始動させる。ストレージ・ポート1706は、この時点で暗号化データの送信を開始し、タイマ1826は、所定の値からのカウントダウンを開始する。タイマ1826は、図16に示されている平文猶予期間タイマ1604の例示である。
【0107】
セキュリティ・アソシエーションSA1を活性化させた後で、ストレージ・ポート1706は、認証終了メッセージ(AUTH Done1828)をホスト・ポート1702に送るが、このメッセージは、セキュリティ・アソシエーションの初期化と認証との両方が完了し、新たに確立されたセキュリティ・アソシエーションSA1のために、今では、送信が暗号化および復号化されることを示す。
【0108】
認証終了メッセージを受け取ると、ホスト・ポート1702は、鍵K1tを用いて、作成されたセキュリティ・アソシエーションSA1を、送信のために、活性化させる(参照番号1830によって示されているように)。セキュリティ・アソシエーションSA1を活性化させた後では、ホスト・ポート1702は、セキュリティ・アソシエーションSA1が活性化されたという受諾(LS_ACC1832)をストレージ・ポート1706に送り、暗号化されたI/Oのストレージ・ポートへの送信を開始し、所定の値からカウントダウンするようにタイマ1834を始動させる。タイマ1834は、図16に示されている平文猶予期間タイマ1604の例示であり、いくつかの実施形態では、タイマ1834とタイマ1836とに対する所定の値は、同一の場合があり得る。
【0109】
図18では、タイマ1826がカウントダウンを開始する時点から、暗号化データがストレージ・ポート1706から送信されている間、待ち行列に入っている平文データも、同様に、送信される。図18では、タイマ1834がカウントダウンを開始する時点から、暗号化データがホスト・ポート1702から送信されている間、待ち行列に入っている平文データも、同様に、ホスト・ポート1702から送信される。
【0110】
いったんタイマ1826が満了すると(すなわち、所定の時間期間が満了すると)、平文のI/Oは、ストレージ・ポート1706によって、もはやサポートされない(参照番号1836で示されているように)。いったんタイマ1834が満了すると(すなわち、所定の時間期間が満了すると)、平文のI/Oは、ホスト・ポート1702によって、もはやサポートされない(参照番号1838で示されているように)。そのような状態では、平文許容インジケータは、0に設定される。
【0111】
タイマ1826、1834が満了する所定の時間期間は、待ち行列の中で保留中であるすべての平文I/Oが時刻1840の時点で消去され、「平文とSA1暗号化されたものとが相互に混合したI/O」1842から「SA1暗号化された」I/O1844への移行が存在するように、十分に長く設定される。
【0112】
したがって、図18は、ホスト・ポート1702とストレージ・ポート1706との間の経路を介しての、平文I/O1716から、平文および暗号化されたものが相互に混合しているI/O1842へ、さらに暗号化されたI/O1844への移行を示している。これにより、すべての保留中の平文I/Oが、認証とセキュリティ・アソシエーションとが成功裏に確立された後で、待ち行列から消去されることが可能になる。図18におけるハッチングとクロス・ハッチングとは、異なるタイプのデータ送信に対応する期間を示している。
【0113】
図19は、いくつかの実施形態による、ホスト・ポートにおける動作経路上での暗号化の同時有効化のための動作を示すフローチャートを図解している。
【0114】
制御は、ホスト・ポートがセキュリティのために有効化されるブロック1902で開始する。ホスト・ポートは、ホスト・ポートとストレージ・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることが不可能な場合でも入力/出力(I/O)を許容するように監査モード・インジケータが有効化されているとの判断に応答して、ホスト・ポートとストレージ・ポートとの間の経路上で、平文でのI/Oを、(ブロック1904で)実行する。
【0115】
ブロック1904から、制御は、ブロック1906に進み、ブロック1906では、経路上で平文でのI/Oを実行するのと同時に、ホスト・ポートが、経路上でのI/Oのためにデータの暗号化を有効化し、いくつかの実施形態では、このデータ暗号化の同時の有効化は、ホスト・ポートとストレージ・ポートとの間でのセキュリティ・アソシエーション(SA)管理トランザクションを開始することを含む。
【0116】
ブロック1906から、制御が、ブロック1908に進むが、ブロック1908では、セキュリティ・アソシエーションが送信のために活性化された後でタイマが満了したためにすべての平文の受信が完了したとホスト・ポートが判断することに応答して、ホスト・ポートは、もはや平文データを処理しないようにプログラムされる。タイマは、暗号化データの送信が経路上で開始した時点で経路の送信のために待ち行列に入っていた平文データを消去するのに十分なタイムアウト期間の後で、満了するということが注意されるべきである。
【0117】
図19に示されている実施形態を実行するというコンテキストでは、ホスト・ポートは、経路上での暗号化データの交換と同時に経路上で平文データを交換することを許容するように構成された平文許容インジケータと共に、暗号化データの交換のための鍵材料を用いてプログラムされている。
【0118】
経路上での暗号化データの交換と同時に経路上で平文データを交換することを許容するように平文許容インジケータが構成されていることに応答して、ホスト・ポートは、鍵材料を用いて、平文と暗号化データとの両方を受信するように構成される。さらに、平文データと暗号化データとの両方がタイマによって示される所定の時間期間の間に経路において交換されるときに、I/Oエラーは生成されない。
【0119】
図20は、いくつかの実施形態による、ストレージ・ポートにおける動作経路上での暗号化の同時有効化のための動作を示すフローチャート2000を図解している。
【0120】
制御は、ストレージ・ポートがセキュリティのために有効化されるブロック2002で開始する。ストレージ・ポートは、ストレージ・ポートとホスト・ポートとの間での認証またはセキュリティ・アソシエーションのネゴシエーションを成功裏に完了させることが不可能な場合でも入力/出力(I/O)を許容するように監査モード・インジケータが有効化されているとの判断に応答して、ストレージ・ポートとホスト・ポートとの間の経路上で、平文でのI/Oを、(ブロック2004で)実行する。
【0121】
ブロック2004から、制御は、ブロック2006に進み、ブロック2006では、経路上で平文でのI/Oを実行するのと同時に、ストレージ・ポートが、経路上でのI/Oのためにデータの暗号化を有効化し、いくつかの実施形態では、このデータ暗号化の同時有効化は、ストレージ・ポートとホスト・ポートとの間でのセキュリティ・アソシエーション(SA)管理トランザクションを開始することを含む。
【0122】
ブロック2006から、制御は、ブロック2008に進むのであるが、ブロック2008では、セキュリティ・アソシエーションが送信のために活性化された後でタイマが満了したためにすべての平文の受信が完了したとストレージ・ポートが判断することに応答して、ストレージ・ポートは、もはや平文データを処理しないようにプログラムされる。タイマは、暗号化データの送信が経路上で開始した時点で経路の送信のために待ち行列に入っていた平文データを消去するのに十分なタイムアウト期間の後で満了する、ということが注意されるべきである。
【0123】
図20に示されている実施形態を実行するというコンテキストでは、ストレージ・ポートは、経路上での暗号化データの交換と同時に経路上で平文データを交換することを許容するように構成された平文許容インジケータと共に、暗号化データの交換のための鍵材料を用いてプログラムされている。経路上での暗号化データの交換と同時に経路上で平文データを交換することを許容するように平文許容インジケータが構成されていることに応答して、ストレージ・ポートは、鍵材料を用いて、平文と暗号化データとの両方を受信するように構成される。さらに、平文データと暗号化データとの両方がタイマによって示される所定の時間期間の間に経路において交換されるときに、I/Oエラーは生成されない。
【0124】
したがって、図1~20は、ホスト・システムが、監査モード・インジケータが有効化されている実施形態において、平文と暗号化データとが相互に混合したものが交換される時間期間を許容することにより、平文の交換から暗号化データの交換へ移行する機構を、提供している。そのような実施形態は、また、ストレージ・ポートが、監査モード・インジケータが有効化されている実施形態において、平文と暗号化データとが相互に混合したものが交換される時間期間を許容することにより、平文の交換から暗号化データの交換へ移行する機構も、提供している。
【0125】
クラウド・コンピューティング環境
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの最小限の対話で迅速なプロビジョニングとリリースとが可能である構成可能なコンピューティング・リソース(例えば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス)の共有プールへの、便利でオンデマンドのネットワーク・アクセスを可能にするためのモデルである。
【0126】
次に図21を参照すると、例示的なクラウド・コンピューティング環境50が示されている。セキュリティの強制または有効化と暗号化への移行とは(参照番号52で示されている)、クラウド・コンピューティング環境50において、実行される。示されているように、クラウド・コンピューティング環境50は、1つまたは複数のクラウド・コンピューティング・ノード10を含んでおり、これらのノードと、例えば、パーソナル・デジタル・アシスタント(PDA)もしくはセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54Cもしくは自動車コンピュータ・システム54Nまたはこれらの組合せなど、クラウド・コンシューマによって用いられるローカル・コンピューティング・デバイスは、通信し得る。ノード10は、相互にも、通信し得る。これらのノードは、本明細書の以上で説明されているプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはこれらの組合せなど、1つまたは複数のネットワークにおいて、物理的にまたは仮想的に、グループ分けされ得る(図示せず)。これにより、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットホームもしくはソフトウェアまたはこれらの組合せをサービスとして提供することが可能になるのであるが、そのために、クラウド・コンシューマは、ローカル・コンピューティング・デバイスにリソースを維持する必要はない。図21に示されているタイプのコンピューティング・デバイス54A~Nは単なる例示であることが意図されており、コンピューティング・ノード10とクラウド・コンピューティング環境50とは、(例えば、ウェブ・ブラウザを用いて)いずれかのタイプのネットワークもしくはアドレス指定可能なネットワーク接続またはその両方を介し、コンピュータ化されたどのタイプのデバイスとも通信可能であるということを理解されたい。
【0127】
次に図22を参照すると、クラウド・コンピューティング環境50(図21)によって提供される1組の機能抽象化層が示されている。図22に示されているコンポーネント、層、および機能は単に例示的であることが意図されており、本発明の実施形態はそれらに限定されない、ということが理解されるべきである。
【0128】
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントと、ソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例は、ある例ではIBM(R)のZSERIES*システムであるメインフレームと、ある例ではIBM(R)のPSERIES*システムであるRISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバと、IBM(R)のXSERIES*システムと、IBM(R)のBLADECENTER*システムと、ストレージ・デバイスと、ネットワークと、ネットワーキング・コンポーネントとを含む。ソフトウェア・コンポーネントの例は、ある例ではIBM(R)のWEBSPHERE*アプリケーション・サーバ・ソフトウェアであるネットワーク・アプリケーション・サーバ・ソフトウェアと、ある例ではIBM(R)のDB2*データベース・ソフトウェアであるデータベース・ソフトウェアとを含む。
【0129】
仮想化層62は、抽象化層を提供しており、この層から、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントなど、仮想的なエンティティの例が提供され得る。
【0130】
ある例では、管理層64が、以下で説明される機能を提供し得る。リソース・プロビジョニングは、クラウド・コンピューティング環境の内部でタスクを実行するのに用いられるコンピューティング・リソースとその他のリソースとの動的な調達を提供する。計量および価格設定は、クラウド・コンピューティング環境の内部でリソースが利用される際の費用追跡と、これらのリソースの消費に対する課金または請求とを提供する。ある例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマとタスクとのための識別子の確認を提供し、また、データとそれ以外のリソースとに対する保護も提供する。ユーザ・ポータルは、コンシューマとシステム管理者とのために、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理は、要求されるサービス・レベルが達成されるように、クラウド・コンピューティング・リソースの分配と管理とを提供する。サービス・レベル合意(SLA)の計画および履行は、SLAに従い将来必要となることが予想されるクラウド・コンピューティング・リソースの事前調整および調達を提供する。
【0131】
ワークロード層66は、そのためにクラウド・コンピューティング環境が利用される機能の例を提供する。この層から提供されるワークロードと機能との例は、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想教室教育配信、データ・アナリティクス処理、トランザクション処理、ならびに図1~21に示されるセキュリティの強制または有効化と暗号化への移行68を含む。
【0132】
追加的実施形態の詳細
説明されている動作は、ソフトウェア、ファームウェア、ハードウェア、またはそれらのいずれかの組合せを生じさせるように、標準的なプログラミング技術もしくはエンジニアリング技術またはその両方を用いて方法、装置またはコンピュータ・プログラム製品として実装され得る。したがって、実施形態の態様は、全体としてハードウェアである実施形態、全体としてソフトウェアである実施形態(ファームウェア、常駐ソフトウェア、マイクロコード、その他を含む)、または本明細書においてすべて一般的に「回路」、「モジュール」もしくは「システム」と称されるソフトウェア態様とハードウェア態様とを組み合わせる実施形態の形態を取り得る。さらに、実施形態の態様は、コンピュータ・プログラム製品の形態を取ることもあり得る。コンピュータ・プログラム製品は、プロセッサに本発明の実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有する1つ(または複数)のコンピュータ可読記憶媒体を含み得る。
【0133】
コンピュータ可読記憶媒体は、命令実行デバイスによって用いられるための命令を保持し記憶することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、ただしこれらに限定されるわけではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上のいずれかの適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、以下の、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能なプログラマブル・リード・オンリ・メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令がその上に記録されている溝の中の隆起構造などの機械的にエンコードされたデバイス、および以上のいずれかの適切な組合せを含む。本明細書で用いられているコンピュータ可読記憶媒体は、無線波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通過して伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または配線を通じて伝送される電気信号など、一過性の信号それ自体として解釈されるべきでない。
【0134】
本明細書で説明されているコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスにダウンロードされることが可能であり、あるいは、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはそれらの組合せなどのネットワークを介して、外部コンピュータまたは外部ストレージ・デバイスにダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバまたはそれらの組合せを含み得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内部のコンピュータ可読記憶媒体に記憶するために転送する。
【0135】
本発明の実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++、もしくは類似のものなどのオブジェクト指向プログラミング言語と「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語とを含む、1つもしくは複数のプログラミング言語のいずれかの組合せで書かれたソース・コードもしくはオブジェクト・コードであり得る。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、一部がユーザのコンピュータ上であって一部がリモート・コンピュータ上で、または全体がリモート・コンピュータもしくはリモート・サーバの上で、実行されることがあり得る。後者の場合には、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む、いずれかのタイプのネットワークを通じてユーザのコンピュータに接続されるし、または、(例えば、インターネット・サービス・プロバイダを用い、インターネットを通じて)外部コンピュータに対して、接続が行われることもあり得る。いくつかの実施形態では、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路構成が、本発明の実施形態の諸態様を実行するために、その電子回路構成を個別に設定する目的で、コンピュータ可読プログラム命令の状態情報を用いることにより、コンピュータ可読プログラム命令を実行することがあり得る。
【0136】
本発明の実施形態の諸態様は、本明細書において、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図解もしくはブロック図またはその両方を参照して、説明されている。フローチャート図解もしくはブロック図またはその両方の各ブロックと、フローチャート図解もしくはブロック図またはその両方における複数のブロックの組合せとが、コンピュータ可読プログラム命令によって実装可能であることは、理解されるだろう。
【0137】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて特定される機能/動作を実装するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供され、マシンを生じさせることができる。また、これらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて特定される機能/動作の態様を実装する命令を含む製品を構成するように、コンピュータ、プログラマブル・データ処理装置もしくは他のデバイスまたはそれらの組合せに特定の様態で機能するように命じることができるコンピュータ可読記憶媒体に記憶されることがあり得る。
【0138】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスの上で実行される命令が、フローチャートもしくはブロック図またはその両方の1つまたは複数のブロックにおいて特定される機能/動作を実装するように、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、一連の動作ステップが、コンピュータ、他のプログラマブル装置、または他のデバイスの上で実行され、コンピュータ実装プロセスを生じさせることができる。
【0139】
図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を図解している。この関係で、フローチャートまたはブロック図における各ブロックは、特定された論理的機能を実装するための1つまたは複数の実行可能な命令を含め、命令のモジュール、セグメント、または部分を表すことがあり得る。いくつかの代替的な実装形態では、ブロックに記載された機能は、図面に記載されている順序とは異なる順序で、発生することがあり得る。例えば、連続して示されている2つのブロックが、実際には、実質的に同時に実行されることがあり得るし、またはそれらのブロックが、関与する機能に応じて、ときには逆の順序で実行されることもあり得る。また、ブロック図もしくはフローチャート図解またはその両方の各ブロックと、ブロック図もしくはフローチャート図解またはその両方における複数のブロックの組合せとは、特定された機能もしくは作用を実行するまたは専用ハードウェアとコンピュータ命令との組合せを実行する専用ハードウェア・ベースのシステムによって実装されることが可能であることも、留意されるべきである。
【0140】
図23は、いくつかの実施形態による、図1~22に示されている計算デバイス、ホスト、ストレージ・コントローラ、ストレージ・デバイスまたはそれ以外のデバイスに含まれるいくつかの要素を示すブロック図を図解している。システム2300は、いくつかの実施形態では少なくともプロセッサ2304を含み得る回路構成2302を含み得る。また、システム2300は、メモリ2306(例えば、揮発性メモリ・デバイス)と、ストレージ2308とを含み得る。ストレージ2308は、不揮発性メモリ・デバイス(例えば、EEPROM、ROM、RPOM、フラッシュ、ファームウェア、プログラマブル・ロジック、その他)、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブ、その他を含み得る。ストレージ2308は、内部ストレージ・デバイス、付加されたストレージ・デバイスもしくはネットワーク・アクセス可能なストレージ・デバイスまたはそれらの組合せを含むことがあり得る。システム2300は、メモリ2306の中にロードされプロセッサ2304または回路構成2302によって実行されるコード2312を含むプログラム・ロジック2310を、含むことがあり得る。いくつかの実施形態では、コード2312を含むプログラム・ロジック2310が、ストレージ2308に記憶されていることがあり得る。いくつかの他の実施形態では、プログラム・ロジック2310が、回路構成2302において実装されることがあり得る。システム2300におけるコンポーネントのうちの1つまたは複数は、バスを介してまたは他の結合もしくは接続2314を介して、通信し得る。したがって、図23は、その他の要素とは別に、プログラム・ロジック2310を示しているが、プログラム・ロジック2310は、メモリ2306もしくは回路構成2302またはその両方において実装されることもあり得る。
【0141】
いくつかの実施形態は、人間によって、またはコンピューティング・システムの中にコンピュータ可読コードを一体化する自動化された処理によって、コンピューティング命令を展開するための方法を対象とすることがあり得るが、この場合、コードは、コンピューティング・システムとの組合せとして、説明されている実施形態の動作を実行することが可能になる。
【0142】
「ある実施形態」、「実施形態」、「いくつかの実施形態」、「その実施形態」、「それらの実施形態」、「1つまたは複数の実施形態」、「一部の実施形態」、および「一実施形態」などの用語は、特に明記されない限り、「本発明の1つまたは複数の(ただし、全部とは限らない)実施形態」を意味する。
【0143】
「含む」、「備える」、「有する」などの用語とその変形とは、特に明記されない限り、「含むが、限定されない」ことを意味する。
【0144】
項目の列挙されているリストは、特に明記されない限り、それらの項目のいずれも、または全部が、相互に排他的であることを意味しない。
【0145】
「ある(a)」、「ある(an)」および「その(the)」という用語は、特に明記されない限り、「1つまたは複数」を意味する。
【0146】
相互に通信状態にあるデバイスは、特に明記されない限り、継続的に相互に通信状態にある必要はない。さらに、相互に通信状態にあるデバイスは、直接的に通信する場合があり得るし、または1つまたは複数の介在物を通じて間接的に通信する場合もあり得る。
【0147】
相互に通信状態にあるいくつかのコンポーネントを有する実施形態について説明することは、そのようなコンポーネントがすべて必要となることを意味しない。逆に、オプションである様々なコンポーネントが、本発明の非常に多様な可能性がある実施形態を例示するために、説明されている。
【0148】
さらに、プロセス・ステップ、方法ステップ、アルゴリズム、またはそれに類するものが、シーケンシャルな順序で説明されていることがあり得るが、そのようなプロセス、方法、およびアルゴリズムが、別の順序で機能するように構成される場合もあり得る。換言すると、説明されるステップのどのシーケンスまたは順序も、それらのステップが、その順序で実行される必要があることを必ずしも示していない。本明細書で説明されているプロセスのステップは、どのような現実的な順序で実行されることもあり得る。さらに、一部のステップが同時に実行されることも、あり得る。
【0149】
本明細書で単一のデバイスまたは製品について説明されているときに、単一のデバイス/製品ではなく、(それらが協働するかどうかとは関係なく)複数のデバイス/製品が用いられる場合もあり得ることは、容易に明白であろう。同様に、(それらが協働するかどうかとは関係なく)本明細書で複数のデバイスまたは製品について説明されている場合に、複数のデバイスまたは製品ではなく単一のデバイス/製品が用いられる場合もあり得ること、または示されている個数のデバイスもしくはプログラムではなく、異なる個数のデバイス/製品が用いられる場合もあり得ることは、容易に明白であろう。デバイスの機能もしくは特徴またはその両方が、その代わりに、そのような機能/特徴を有するものとして明示的には説明されていない他の1つまたは複数のデバイスによって、実現される場合もあり得る。したがって、本発明の他の実施形態が、そのデバイス自体を含むことは必要でない。
【0150】
図に図解されていることがあり得る少なくともいくつかの動作は、いくつかのイベントが特定の順序で生じることを示している。代替的な実施形態では、いくつかの動作が、異なる順序で実行されること、変形されること、または除去されることがあり得る。また、上述された論理にステップが追加されることがあり得るのであって、その場合でも、説明されている実施形態に従っている。さらに、本明細書で説明されている動作は、シーケンシャルに生じる場合があり得るし、またはいくつかの動作が、並列的に処理される場合もあり得る。さらにまた、動作が、単一の処理装置によって実行されることがあり得るし、または分散された複数の処理装置によって実行されることもあり得る。
【0151】
本発明の様々な実施形態に関する以上の説明は、例示および説明の目的で、呈示されたものである。以上の説明は、網羅的であることも、開示されている形態それ自体に本発明を限定することも意図されたものではない。以上の教示に従いながら、多くの修正と変更とが可能である。本発明の範囲は、この詳細な説明によってではなく、本明細書に添付の特許請求の範囲によって限定されることが意図されている。以上の詳細、例およびデータは、本発明の構成の製造および使用に関する完全な説明を提供している。本発明の範囲から逸脱することなく本発明の多くの実施形態が作成されることが可能であるから、本発明は、本明細書に添付の特許請求の範囲に存する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23