JP2023514826A - コンピューティング環境内での安全な鍵交換 - Google Patents

コンピューティング環境内での安全な鍵交換 Download PDF

Info

Publication number
JP2023514826A
JP2023514826A JP2022548799A JP2022548799A JP2023514826A JP 2023514826 A JP2023514826 A JP 2023514826A JP 2022548799 A JP2022548799 A JP 2022548799A JP 2022548799 A JP2022548799 A JP 2022548799A JP 2023514826 A JP2023514826 A JP 2023514826A
Authority
JP
Japan
Prior art keywords
lkm
node
message
ske
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022548799A
Other languages
English (en)
Other versions
JP7523556B2 (ja
Inventor
ジー、ムーヘン
スクゼプゼンスキー、リチャード、マーク
フラナガン、ジョン
コロッナ、クリストファー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023514826A publication Critical patent/JP2023514826A/ja
Application granted granted Critical
Publication of JP7523556B2 publication Critical patent/JP7523556B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Lock And Its Accessories (AREA)
  • Telephonic Communication Services (AREA)

Abstract

コンピュータ実装方法が、応答ノード上の応答チャネルから、開始ノード上の開始チャネルで認証応答メッセージを受信して、安全な通信を確立することを含み、ローカル鍵マネージャ(LKM)での受信が開始ノード上で実行される。開始ノードおよび応答ノードのセキュリティ・アソシエーションに基づいて状態チェックが実行される。認証応答メッセージの妥当性確認が実行される。選択された暗号化アルゴリズムの識別子が、認証応答メッセージから抽出される。開始チャネルは、状態チェックの成功、妥当性確認の成功、および選択された暗号化アルゴリズムに少なくとも部分的に基づいて、応答チャネルと通信することを要求する。

Description

本発明は、一般に、コンピューティング環境内でセキュリティを提供することに関連しており、特に、コンピューティング環境のノードによる安全な鍵交換(SKE:secure key exchange)認証に関連している。
暗号化は、複数のエンドポイントまたはリンクを介して結合されたソース・ノードおよびターゲット・ノードなどの2つの実体間で送信されているデータまたは他の情報あるいはその両方のためのデータ・セキュリティを提供する。暗号化の態様を標準化するために、さまざまな種類の通信プロトコルに関して、さまざまな規格が提供されている。例えば、ファイバ・チャネルに関して、FC-SP-2およびFC-LS-3規格が提供されている。
一例として、ファイバ・チャネル・リンクを暗号化するために使用されるFC-SP-2規格は、2つのエンドポイント間の相互認証のためのプロトコル、および2つのエンドポイント間の通信セッションにおいて使用される暗号鍵をネゴシエートするためのプロトコルを含んでいる。この規格は、関与している関係者を認証するためのさまざまなメカニズム、および鍵材料が提供または開発されるメカニズムのサポートを提供する。この規格は、複数の認証インフラストラクチャに関して定義され、認証インフラストラクチャの例としては、秘密に基づくもの、証明書に基づくもの、パスワードに基づくもの、および事前共有鍵に基づくものが挙げられる。
一般に、証明書に基づくインフラストラクチャは、エンドポイントの身元が信頼できる認証局によって証明されるため、強力な形態の安全な認証を提供すると考えられている。FC-SP-2規格は、複数の証明された実体が公開鍵と秘密鍵の対を使用でき、証明書が、それらの実体を互いに認証するために公開鍵と秘密鍵の対に結び付ける、メカニズムを定義する。この認証は、ファイバ・チャネル認証プロトコル(FCAP:Fibre Channel Authentication protocol)を使用することによって2つの実体間で直接発生し、この認証プロトコルの設計は、例えば、インターネット鍵交換(IKE:Internet Key Exchange)プロトコルにおいて定義されているように、証明書および署名を使用する認証に基づく。
しかし、証明書のインラインの交換および妥当性確認は、計算負荷が高く、多大な時間を必要とする。FCAPプロトコルは、実体間のすべてのファイバ・チャネル・リンク上でも実行される。FCAPプロトコルは、完全性またはセキュリティあるいはその両方が保護されるリンク上で、クライアントのトラフィック・フローの前に実行されることになるため、リンクの初期化時間、したがって、起動してクライアントのワークロードの実行を開始するのにかかる時間に悪影響を与える(時間を長くする)可能性がある。IKEプロトコルは、中央処理装置によるかなり負荷の高い数学的計算も伴い、多数のストレージ・コントローラのポートに接続された動的スイッチング・ファブリック(dynamic switched fabric)内に多数のファイバ・チャネルの物理ポートを含む大規模な企業のサーバを含んでいる環境では、これらの計算の乗数効果およびIKEプロトコルを完了するための大量のフレーム交換も、システムの初期化に悪影響を与え、重い正常動作において制約を引き起こす。
本発明の実施形態は、コンピューティング環境の応答ノードによる安全な鍵交換(SKE)認証応答に基づくホスト・バス・アダプタ(HBA:host bus adapter)のチャネルの鍵の読み込みを対象にする。本発明の1つの態様によれば、コンピュータ実装方法が、応答ノード上の応答チャネルから、開始ノード上の開始チャネルで認証応答メッセージを受信して、安全な通信を確立することを含み、ローカル鍵マネージャ(LKM:local key manager)での受信が開始ノード上で実行される。開始ノードおよび応答ノードのセキュリティ・アソシエーションに基づいて状態チェックが実行される。認証応答メッセージの妥当性確認が実行される。選択された暗号化アルゴリズムの識別子が、認証応答メッセージから抽出される。開始チャネルは、状態チェックの成功、妥当性確認の成功、および選択された暗号化アルゴリズムに少なくとも部分的に基づいて、応答チャネルと通信することを要求する。
本発明の他の態様は、コンピュータ・システムおよびコンピュータ・プログラム製品において、前述した方法の特徴を実装する。
他の技術的特徴および利点が、本発明の技術によって実現される。本発明の実施形態および態様は、本明細書において詳細に説明され、特許請求される対象の一部と見なされる。さらに良く理解するために、詳細な説明および図面を参照されたい。
本明細書に記載された専有権の詳細は、本明細書の最後にある特許請求の範囲において具体的に指摘され、明確に特許請求される。本発明の各実施形態の前述および他の特徴と長所は、添付の図面と併せて行われる以下の詳細な説明から明らかになる。
本発明の1つまたは複数の実施形態を組み込んで使用するためのコンピューティング環境の例を示す図である。 本発明の1つまたは複数の実施形態を組み込むため、または使用するため、あるいはその両方のための図1のコンピューティング環境のホストの例を示す図である。 本発明の1つまたは複数の実施形態を組み込むため、または使用するため、あるいはその両方のための図1のコンピューティング環境のホストの別の例を示す図である。 本発明の1つまたは複数の実施形態に従って、ローカル鍵マネージャ(LKM)の初期化およびホスト・バス・アダプタ(HBA)のセキュリティ登録のためのコンピューティング環境のブロック図を示す図である。 本発明の1つまたは複数の実施形態に従って、LKMの初期化およびHBAのセキュリティ登録のためのプロセスを示す図である。 本発明の1つまたは複数の実施形態に従って、安全な鍵交換(SKE)初期化要求を生成するためのコンピューティング環境のブロック図を示す図である。 本発明の1つまたは複数の実施形態に従って、SKEセキュリティ・アソシエーション(SA:security association)初期化要求を生成するためのプロセスを示す図である。 本発明の1つまたは複数の実施形態に従って、ターゲット・チャネルのノードでのSKE SAの処理およびメッセージの生成のためのコンピューティング環境のブロック図を示す図である。 本発明の1つまたは複数の実施形態に従って、ターゲット・チャネルのノードでのSKE SAの初期化処理およびメッセージの生成のためのプロセスを示す図である。 本発明の1つまたは複数の実施形態に従って、SKE SA初期化応答に基づいてSKE認証要求を生成するためのコンピューティング環境のブロック図を示す図である。 本発明の1つまたは複数の実施形態に従って、SKE SA初期化応答に基づいてSKE認証要求を生成するためのプロセスを示す図である。 本発明の1つまたは複数の実施形態に従って、SKE認証メッセージの処理のためのコンピューティング環境のブロック図を示す図である。 本発明の1つまたは複数の他の実施形態に従って、SKE認証メッセージの処理のためのプロセスを示す図である。 本発明の1つまたは複数の実施形態に従って、SKE認証に基づくHBAの鍵読み込みのためのコンピューティング環境のブロック図を示す図である。 本発明の1つまたは複数の実施形態に従って、SKE認証に基づくHBAの鍵読み込みのためのプロセスを示す図である。 本発明の1つまたは複数の実施形態に従って、SKEを使用して安全なデータ転送を提供する、コンピューティング環境内で鍵を更新するためのプロセスを示す図である。 本発明の1つまたは複数の態様を組み込んで使用するためのコンピューティング環境の別の例を示す図である。 図16Aのメモリのさらなる詳細を示す図である。 本発明の1つまたは複数の実施形態に従って、クラウド・コンピューティング環境を示す図である。 本発明の1つまたは複数の実施形態に従って、抽象モデル・レイヤを示す図である。
本発明の1つまたは複数の実施形態に従って、データがデータ・センター内を、またはデータ・センターを横断して移動されているときに、データのセキュリティを強化するために、データを交換している身元の認証およびデータの暗号化が使用される。1つの例では、International Business Machines Corporation(ニューヨーク州アーモンク)によって提供されるFibre Channel Endpoint Security(FCES)が、ファイバ・チャネルおよびファイバ接続(FICON:Fibre Channel and Fibre Connection)プロトコルを使用してデータを送信中に暗号化するために使用される。FCESは、データを送信中に暗号化する信頼できるストレージ・ネットワークを作成することによって、許可されたホストとストレージ・デバイスとの間でファイバ・チャネル・リンク上を流れているすべでのデータの完全性および機密性を保証するのに役立つ。本発明の1つまたは複数の実施形態では、安全な鍵交換(SKE)メッセージングを使用して、ホストとストレージ・デバイスとの間で、セキュリティ・レベルがネゴシエートされて確立される。このプロセスの一部では、エンドポイント(すなわち、ホストおよびストレージ・デバイス)によって正しいレベルのセキュリティが使用されることを保証するために、SKE要求メッセージおよびSKE応答メッセージが生成されて処理される。
本明細書において使用されるとき、「安全な鍵交換」または「SKE」という用語は、ネットワーク内の2つのエンドポイントまたはノード間のセキュリティ・アソシエーション(SA)を作成するために使用されるプロトコルのことを指す。本明細書に記載されたSKEプロトコルの1つまたは複数の実施形態は、インターネット鍵交換(IKE)プロトコルの上に構築される。本発明の1つまたは複数の実施形態に従って、各ノード上で実行されているローカル鍵マネージャ(LKM)がセキュリティ鍵ライフサイクル・マネージャに接続し、セキュリティ鍵ライフサイクル・マネージャは、関与する関係者のみがアクセス権限を有する共有秘密メッセージ(shared secret messages)を作成するために使用される。本発明の1つまたは複数の実施形態に従って、LKMは、セキュリティ鍵ライフサイクル・マネージャのクライアントとして機能し、鍵を作成するための鍵管理相互運用プロトコル(KMIP:key management interoperability protocol)要求を発行する。SKEプロトコルの1つまたは複数の実施形態は、4つのメッセージの交換を含む。「SKE SA初期化(Init)要求」(本明細書では、「SKE SA初期化(initialization)要求」とも呼ばれる)および「SKE SA初期化(Init)応答」(本明細書では、「SKE SA初期化(initialization)応答」とも呼ばれる)と呼ばれる最初の2つのメッセージは、暗号鍵のセットを導き出すために使用されるパラメータを交換する暗号化されていないメッセージである。「SKE認証(Auth)要求」(本明細書では、「SKE認証(authentication)要求」とも呼ばれる)および「SKE認証(Auth)応答」(本明細書では、「SKE認証(authentication)応答」とも呼ばれる)と呼ばれる最後の2つのメッセージは、各エンドポイントまたはノードの信頼性を確立し、エンドポイント間の通信を保護するためにどの暗号化アルゴリズムが使用されるかを識別する暗号化されたメッセージである。ファイバ・チャネル環境では、例えば、FC-SP-2規格によって定義された形式でのAUTH拡張リンク・サービス要求(AUTH ELS:AUTH extended link service requests)内で、SKEメッセージがカプセル化されることができる。
本発明の1つまたは複数の実施形態は、コンピューティング環境内のコンピューティング・ノード間(または同じコンピューティング・ノード上のチャネル間)でセキュア・データが送信されることを可能にするために、SKEメッセージの処理のためのLKMへのホスト・バス・アダプタ(HBA)のセキュリティ登録を提供する。本発明の1つまたは複数の実施形態に従って、コンピューティング・ノード上でHBAの秘密セキュリティ鍵を管理するLKMが、コンピューティング・ノード上で初期化される。LKMは、コンピューティング・ノードから遠隔の外部鍵マネージャ(EKM:external key manager)との接続を確立する。加えて、LKMを実行しているコンピューティング・ノード上のHBAは、LKMに登録される。LKMへのHBAの登録は、HBAのチャネルが、コンピューティング・ノードに送信されたか、またはコンピューティング・ノードから受信されたSKEメッセージを適切に処理できるようにする。LKMの初期化が完了した後に、LKMは、HBAのセキュリティ機能を認識する。LKMは、この情報を使用して、コンピューティング環境内のコンピューティング・ノードと他のコンピューティング・ノードとの間のデータ要求のセキュリティを構築して管理する。
本発明の1つまたは複数の実施形態は、コンピューティング環境内のチャネル間のデータ転送にセキュリティをもたらすために、SKE SA初期化(initialization)要求またはSKE SA初期化(Init)要求を生成する。SKE SA初期化要求処理は、SKE SA初期化要求を生成しているコンピューティング・ノード上で、LKMの初期化およびHBAの登録の後に実行される。SKE SA初期化要求は、コンピューティング・ノードのHBA(本明細書では、「チャネル」とも呼ばれる)から、別のチャネルと通信する(例えば、データを送信する)ための要求を受信することに応答して、コンピューティング・ノード上で実行されているLKMによって生成されることができる。ノード上で実行されている2つの異なるパーティション間でデータを安全に渡す能力を提供するために、他のチャネルが同じノード上に位置することができる。異なるコンピューティング・ノード上に位置するチャネル間でデータを安全に渡す能力を提供するために、他のチャネルが異なるコンピューティング・ノード上に位置することもできる。
別のチャネルと通信するための要求を開始しているチャネルを含んでいるノードは、本明細書では、「開始」ノードまたは「ソース」ノードと呼ばれ、要求のターゲットである他のチャネルを含んでいるノードは、本明細書では、「応答」ノードまたは「ターゲット」ノードと呼ばれる。ソース・ノード上のLKMは、ターゲット・ノード上のチャネルと通信するための要求をHBAまたはチャネルから受信したときに、SAを作成し、その後、要求しているチャネルを介して、要求メッセージ(本明細書では、「SKE SA初期化要求メッセージ」と呼ばれる)をターゲット・ノード上のチャネルに送信する。本発明の1つまたは複数の実施形態に従って、SKE SA初期化要求メッセージは、ソース・ノードとターゲット・ノードとの間の安全な通信を提供する共有鍵を識別する(EKMによって提供された)共有鍵識別子を含む。システム・ポリシーに基づいて共有鍵の存続期間を制限するために、LKMによって共有鍵再生成タイマ(shared key rekey timer)が設定されることができる。共有鍵に加えて、SKE SA初期化要求メッセージは、ノード間で送信されたペイロード(例えば、データ)を暗号化および復号するための鍵を導き出すために使用される、ノンスおよび開始チャネルのセキュリティ・パラメータ・インデックス(SPI:security parameter index)を含む。
本明細書において使用されるとき、「ノード」または「コンピューティング・ノード」という用語は、ホスト・コンピュータおよびストレージ・アレイのことを指すが、これらに限定されない。ストレージ・アレイは、例えば、制御ユニットまたはストレージ・コントローラあるいはその両方によって実装されることができる。ホスト・コンピュータまたはホストは、例えば、プロセッサ、コンピュータ・システム、または中央電子回路複合体(CEC:central electronics complex)、あるいはその組み合わせによって実装されることができる。本明細書において使用されるとき、「コンピューティング環境」という用語は、本明細書に記載された処理のすべてまたはサブセットを実行するために一緒に結合されたノードのグループのことを指す。FICONチャネル間(CTC:channel to channel)接続の場合、ポートまたはチャネルの各々は、開始側および応答側の両方であることができる。FICONチャネルとは対照的に、ホスト上のファイバ・チャネル・プロトコル(FCP:Fibre Channel protocol)ストレージ・チャネルは、常にソースまたは開始側であり、制御ユニットまたはストレージ・アレイは、常にターゲットまたは応答側である。
本発明の1つまたは複数の実施形態は、ターゲット・チャネルのノードでのSKE SAの初期化処理およびメッセージの生成を提供する。ターゲット・チャネルがソース・チャネルからSKE SA初期化要求を受信することに応答して、SKE SA初期化応答メッセージの処理および生成が実行される。応答ノードまたはターゲット・ノードでの処理は、LKMが、(必要に応じて)共有鍵を取得することと、LKMによって生成されたノンスおよびターゲット・チャネルを表すSPIを、SKE SA初期化応答メッセージを介して開始ノード上のチャネルに送信することとを含む。SKE SA初期化要求メッセージおよびSKE SA初期化応答メッセージに関連付けられた処理が完了したときに、開始ノードおよび応答ノードは、ノード間で暗号化されたメッセージを送信するため、および受信したメッセージを復号するために必要な共有鍵情報を有している。
本発明の1つまたは複数の実施形態は、ソース・チャネルのノードでのSKE SA初期化応答メッセージの処理およびSKE認証要求メッセージの生成を提供する。ソース・チャネルがターゲット・チャネルからSKE SA初期化応答を受信することに応答して、SKE認証要求メッセージの処理および生成が実行される。開始ノードまたはソース・ノードでの処理は、SKE SA初期化応答メッセージの検証およびSAに基づくデバイス・グループのチェックを含むことができる。ソース・ノードのLKMは、セッション鍵を生成し、SKE認証要求メッセージを構築することができる。ソース・ノードは、SKE認証要求メッセージをターゲット・ノードに送信する。
本発明の1つまたは複数の実施形態は、ターゲット・チャネルのノードでのSKE認証要求メッセージの処理およびSKE認証応答メッセージの生成を提供する。ターゲット・チャネルがソース・チャネルからSKE認証要求を受信することに応答して、SKE認証応答メッセージの処理および生成が実行される。応答ノードまたはターゲット・ノードでの処理は、SKE認証要求メッセージの検証およびSAに基づくデバイス・グループのチェックを含むことができる。ターゲット・ノードのLKMは、SKE認証要求メッセージを復号し、開始側の署名を検証し、応答側の署名を生成し、暗号化アルゴリズムを選択し、SKE認証応答メッセージを構築することができる。ターゲット・ノードは、SKE認証応答メッセージをソース・ノードに送信する。
本発明の1つまたは複数の実施形態は、ターゲット・チャネルのノードでのSKE認証応答メッセージの処理およびHBAの鍵読み込みを提供する。ソース・チャネルがターゲット・チャネルからSKE認証応答を受信することに応答して、処理およびHBAの鍵読み込みが実行される。開始ノードまたはソース・ノードでの処理は、SKE認証応答メッセージの検証およびSAに基づくデバイス・グループのチェックを含むことができる。ソース・ノードのLKMは、SKE認証応答メッセージを復号し、応答側の署名を検証し、暗号化アルゴリズムを選択し、ターゲット・チャネルとの将来の通信において選択された暗号化アルゴリズムを使用してサポートするためにソース・チャネルで1つまたは複数のHBA鍵を読み込むことができる。認証が実行されたことをソース・ノードのLKMに通知したときに、システム・ポリシーに基づいてセッション鍵再生成プロセスを開始するために、セッション鍵再生成タイマが開始されることができる。
本発明の1つまたは複数の実施形態は、共有鍵およびセッション鍵を更新または再生成するためのプロセスを提供する。前述したように、共有鍵が使用されることができる時間の量を制限するために、共有鍵再生成タイマが設定されることができる。共有鍵再生成タイマの期限が切れたときに、新しい共有鍵を生成するためのプロセスが開始される。また、前述したように、セッション鍵が使用されることができる時間の量を制限するために、セッション鍵再生成タイマが設定されることができる。セッション鍵再生成タイマの期限が切れたときに、ソース・ノードとターゲット・ノードとの間の通信において使用するための暗号鍵の新しいセットの導出を開始するために、SKE SA初期化要求メッセージが生成される。
EKMによって、複数のリンクを共有している信頼できるノード間で、認証が、リンクごとの代わりに1回実行される。EKMの信頼できる実体として共有鍵(例えば、対称鍵)を受信するための、および共有鍵を使用して実体間でメッセージを暗号化/復号するための、両方の実体の能力が、相互認証を立証する。さらに、実体を接続するすべてのリンク(または選択されたリンク)にわたる安全な通信が、EKMへの追加のアクセスなしで提供される。代わりに、前に取得された共有鍵が、他のリンクまたはチャネル上の信頼できるノード間の通信において使用され、EKMを介した信頼できるノードの再認証を必要とせずに、リンクの認証を提供するノードを結合する。
本明細書に記載された1つまたは複数の実施形態に従って、信頼できるノードが、HBA間のセキュリティを管理するために、信頼できるノード上でLKMの実行を開始およびアクティブ化する。HBAは、HBA上のチャネルがSKEメッセージを処理できるようにするために、セキュリティ機能およびアドレス情報をLKMに登録する。SKE SAの初期化を要求している信頼できるノード(開始ノード)とターゲット・ノードまたは応答ノードとの間で、その信頼できるノード上のHBAチャネルに基づいて、SKE SA初期化要求メッセージが構築されることができる。LKMは、SKE SA初期化要求を構築するために使用される2つの信頼できるノードのために、デバイス・グループの鍵識別子の識別化またはアクティブ化を管理する。開始ノード上のLKMおよび応答ノード上のLKMは、SKE SA初期化要求メッセージおよびSKE SA初期化応答メッセージを介して情報を交換する。交換された情報は、それぞれのノード上のチャネル間で送信されたデータの暗号化および復号に使用される。SKE SA初期化要求メッセージおよびSKE SA初期化応答メッセージは、暗号化されていない形式で交換されることができ、SKE認証要求メッセージおよびSKE認証応答メッセージは、暗号化された形式で送信されることができる。SKE認証要求メッセージは、ノード間で交換されたデータに使用される暗号化アルゴリズムの提案リストを含むことができ、SKE認証応答メッセージは、どの提案が応答ノードによって選択された暗号化アルゴリズムとして受け入れられたかを確認することができる。応答ノードは、選択された暗号化アルゴリズムを使用してデータ転送をいつ開始するべきかを開始ノードに通知することもでき、この暗号化アルゴリズムは、SKE認証要求メッセージおよびSKE認証応答メッセージを送信するために使用される暗号化とは異なる暗号化形式であることができる。共有鍵およびセッション鍵の両方が、プログラム可能なタイマの期限切れに基づいて、更新されるか、または再生成されることができる。
本発明の1つまたは複数の態様を含むためのコンピューティング環境100の1つの例が、図1を参照して説明される。図1に示された例では、コンピューティング環境は、ストレージ・エリア・ネットワーク(SAN:storage area network)108を介して一緒に結合された、少なくとも1つのノード(例えば、ホスト102)および少なくとも1つの他のノード(例えば、ストレージ・アレイ110)を含んでいる。ホスト102は、中央処理装置およびメモリを含み、International Business Machines Corporationによって提供されるSystem zなどの、ただしこれに限定されないシステムによって実装されることができる。図1に示されたホスト102は、LKM104および1つまたは複数のHBA106を含んでいる。本発明の1つまたは複数の実施形態に従って、LKM104は、HBA106の秘密鍵を管理するコンポーネントであり、HBA106の各々が、データを送信および暗号化する入出力(I/O:input/output)インターフェイスを提供する。ストレージ・アレイ110は、例えば、ストレージ・デバイス、直接アクセス・ストレージ・デバイス(DASD:direct access storage device)、またはテープ・デバイスによって実装されることができる。利用されることができるストレージ・デバイスの1つの例としては、International Business Machines Corporationによって提供されるDS8000が挙げられる。図1に示されたストレージ・アレイ110は、LKM112および1つまたは複数のHBA114を含んでいる。SAN108は、FICONならびにファイバ・チャネル・スイッチおよびダイレクタのネットワークによって実装されることができる。FICONは、ファイバ・チャネル技術を利用しているホストとストレージ・デバイスとの間の、データ用の既知の通信経路である。
図1に示されたコンピューティング環境は、サービス・ネットワーク130を介して1つまたは複数のホスト102に結合された1つまたは複数のサポート要素(SE:support element)128も含んでいる。SE128は、プライベート・ネットワーク126を介してサーバ・ハードウェア管理コンソール(HMC:hardware management console)124にも結合される。各サブシステムまたはホスト102と通信するためにSE128によって使用される内部サーバ・ネットワーク内のサービス・ネットワーク130は、例えば、イーサネット(R)・ネットワークまたは他の既知のローカル・エリア・ネットワーク(LAN:local area network)によって実装されることができる。図1に示された実施形態では、プライベート・ネットワーク126は、SE128とサーバHMC124の間の通信に使用され、例えば、イーサネット(R)・ネットワークまたは他の既知のLANによって実装されることができる。各サーバHMC124は、複数のホスト102を管理し、図1に示されているように、例えばSE証明書を使用して、プライベート・ネットワーク126を経由してSE128と通信することができる。SE128は、サーバによって実装されることができ、サービス・ネットワーク130を介してホスト102内のLKM104と通信するハードウェアを管理するために使用される。実施形態では、各SE128は、1つのホスト102に対応し、SE証明書を使用して対応するホスト102を初期化するための命令を含む。内部ネットワークを介してSE128にホスト102と通信させることによって、追加の保護レベルをSE証明書にもたらす。本発明の1つまたは複数の実施形態に従って、ホスト102は、本明細書に記載されたセキュリティ機能を利用するように顧客によって構成される。
図1に示されているように、サーバHMC124は、ネットワーク120を介してストレージ・アレイHMC118およびEKM122に結合される。各ストレージ・アレイHMC118は、複数のストレージ・アレイ110を管理するために使用されることができ、図1に示されているように、サービス・ネットワーク116を介してストレージ・アレイ110と通信することができる。サービス・ネットワーク116は、例えば、イーサネット(R)・ネットワークまたは他の既知のLANによって実装されることができる。ネットワーク120は、広域ネットワーク(WAN:wide area network)およびLANなどの、ただしこれらに限定されない、従来技術において知られた任意のネットワークによって実装されることができる。本発明の1つまたは複数の実施形態に従って、EKM122は、共有鍵をホスト102およびストレージ・アレイ110に提供するために使用される。EKM122は、例えば、セットアップでホスト102、ストレージ・アレイ110、およびEKM122にインストールされ認証局(図示されていない)によって署名されている証明書を介して、ホスト102およびストレージ・アレイ110によって信頼される。
図1に示されたホスト102内のHBA106およびストレージ・アレイ110内のHBA114は、SAN108を介して通信する。SAN108は、光トランシーバを使用してデータが交換される光ケーブルを介して接続された、ファイバ・チャネル・ノードを含むことができる。物理リンクの仕様は、例えば、FC-PIによって定義されることができる。ファイバ・チャネル通信は、FC-SB2によって定義されたFICON、およびFCP-4によって定義されたSCSI用のファイバ・チャネル・プロトコルなどの、複数のより高いレベルのプロトコルをカプセル化することができる。
図1のブロック図は、コンピューティング環境100が図1に示されたコンポーネントのすべてを含むことになるということを示すよう意図されていないということが、理解されるべきである。むしろ、コンピューティング環境100は、図1に示された一部のコンポーネントが結合されるか、または1つまたは複数のコンポーネントによって実行される機能が、異なるコンポーネントまたは複数のコンポーネントによって実行されて、任意の適切なより少ないコンポーネントまたは図1に示されていない追加のコンポーネントを含むことができる。さらに、コンピューティング環境100に関して本明細書に記載された実施形態は、任意の適切な論理を使用して実装されてよく、論理は、本明細書で参照されるとき、さまざまな実施形態において、任意の適切なハードウェア(例えば、特に、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、特に、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
本明細書では、プロトコル、通信経路、および技術の例が提供されるが、1つまたは複数の態様は、他の種類のプロトコル、通信経路、または技術、あるいはその組み合わせに適用可能である。さらに、他の種類のノードが、本発明の1つまたは複数の態様を採用してよい。さらにノードは、より少ないコンポーネント、より多いコンポーネント、または異なるコンポーネント、あるいはその組み合わせを含んでよい。さらに、互いに結合された2つノードは、両方とも同じ種類のノードまたは異なる種類のノードであってよい。例として、本明細書の例において説明されるように、両方のノードがホストであるか、両方のノードがストレージ・アレイであるか、または1つのノードがホストであり、別のノードがストレージ・アレイである。多くの変形形態が可能である。
一例として、ホストは、プロセッサ、コンピュータ・システム、中央電子回路複合体(CEC)などのコンピューティング・デバイスであってよい。本発明の1つまたは複数の態様を含むか、または使用するか、あるいはその両方であってよいコンピュータ・システムの一例が、図2Aに示されている。
図2Aを参照すると、1つの例では、コンピュータ・システム200が汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム200は、コンピュータ・システムの一部であるか、またはコンピュータ・システムに結合されるか、あるいはその両方であるが、図2Aに明示的に示されていない、LKM104、HBA106、LKM112、HBA114、サービス・ネットワーク130、およびサービス・ネットワーク116を含むが、これらに限定されない、図1に示されたコンポーネントに加えて、または図1に示されたコンポーネントを含む、あるいはその両方である、複数のコンポーネントを含むか、または複数のコンポーネントに結合されるか、あるいはその両方である。1つの例では、コンピュータ・システム200は、1つまたは複数のバスまたは他の接続208あるいはその両方を介して互いに結合された、1つまたは複数のプロセッサまたはプロセッシング・ユニット202(例えば、中央処理装置(CPU:central processing units)、処理回路)、メモリ204(例えば、システム・メモリ、メイン・メモリ、主記憶装置、中央記憶装置、またはストレージとも呼ばれる)、および1つまたは複数の入出力(I/O)インターフェイス206を含むが、これらに限定されない。
引き続き図2Aを参照すると、バス208は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、任意の複数の種類のバス構造のうちの1つまたは複数を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)、MCA(Micro Channel Architecture)、EISA(Enhanced ISA)、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)を含むが、これらに限定されない。
メモリ204は、例えば、プロセッサ202のローカル・キャッシュ212に結合されてよい、共有キャッシュ210などのキャッシュを含んでよい。さらに、メモリ204は、1つまたは複数のプログラムまたはアプリケーション214、オペレーティング・システム216、および1つまたは複数のコンピュータ可読プログラム命令218を含んでよい。コンピュータ可読プログラム命令218は、本発明の態様の実施形態の機能を実行するように構成されてよい。
コンピュータ・システム200は、例えばI/Oインターフェイス206を介して、1つまたは複数の外部デバイス220、1つまたは複数のネットワーク・インターフェイス222、または1つまたは複数のデータ・ストレージ・デバイス224、あるいはその組み合わせと通信してもよい。外部デバイスの例としては、ユーザ端末、テープ・ドライブ、ポインティング・デバイス、ディスプレイなどが挙げられる。ネットワーク・インターフェイス222は、コンピュータ・システム200が、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組み合わせなどの1つまたは複数のネットワークと通信できるようにし、他のコンピューティング・デバイスまたはシステムとの通信を実現する。
データ・ストレージ・デバイス224は、1つまたは複数のプログラム226、1つまたは複数のコンピュータ可読プログラム命令228、またはデータ、あるいはその組み合わせなどを格納してよい。コンピュータ可読プログラム命令は、本発明の態様の実施形態の機能を実行するように構成されてよい。
コンピュータ・システム200は、取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体を含むか、またはそのようなにコンピュータ・システム・ストレージ媒体に結合されるか、あるいはその両方であってよい。例えば、コンピュータ・システム200は、取り外し不可、不揮発性の磁気媒体(通常は、「ハード・ドライブ」と呼ばれる)、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、あるいはCD-ROM、DVD-ROM、または他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブ、あるいはその組み合わせを含むか、またはこれらに結合されるか、あるいはその両方であってよい。他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム200と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
コンピュータ・システム200は、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用されてよい。コンピュータ・システム200での使用に適し得る周知のコンピューティング・システム、環境、または構成、あるいはその組み合わせの例としては、パーソナル・コンピュータ(PC:personal computer)システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
上で示されたように、コンピュータ・システムは、本発明の1つまたは複数の態様を組み込むか、または使用するか、あるいはその両方であってよいホストの1つの例である。本発明の1つまたは複数の態様を組み込むか、または採用するか、あるいはその両方を行うためのホストの別の例は、中央電子回路複合体であり、その例が図2Bに示されている。
図2Bを参照すると、1つの例では、中央電子回路複合体(CEC)250は、中央電子回路複合体の一部であるか、または中央電子回路複合体に結合されるか、あるいはその両方であるが、図2Bに明示的に示されていない、ローカル鍵マネージャ(LKM)104、HBA106、LKM112、HBA114、サービス・ネットワーク130、およびサービス・ネットワーク116を含むが、これらに限定されない、図1に示されたコンポーネントに加えて、または図1に示されたコンポーネントを含む、あるいはその両方である、複数のコンポーネントを含むか、または複数のコンポーネントに結合されるか、あるいはその両方である。1つの例では、CEC250は、1つまたは複数のプロセッサ(中央処理装置(CPU)とも呼ばれる)260と入出力サブシステム262とに結合されたメモリ254(システム・メモリ、メイン・メモリ、主記憶装置、中央記憶装置、ストレージとも呼ばれる)を含むが、これらに限定されない。
1つの例では、中央電子回路複合体250のメモリ254は、例えば、1つまたは複数の論理パーティション264、論理パーティションを管理するハイパーバイザ266、およびプロセッサ・ファームウェア268を含んでいる。ハイパーバイザ266の1つの例は、International Business Machines Corporationによって提供されるプロセッサ・リソース/システム管理機構(PR/SM:Processor Resource/System Manager)である。本明細書において使用されるとき、ファームウェアは、例えば、プロセッサのマイクロコードを含む。ファームウェアは、例えば、上位レベルのマシン・コードの実装において使用される、ハードウェア・レベルの命令またはデータ構造あるいはその両方を含む。一実施形態では、ファームウェアは、例えば、信頼できるソフトウェアを含んでいるマイクロコード、または基盤になるハードウェアに固有のマイクロコードとして通常は提供されシステムのハードウェアへのオペレーティング・システムのアクセスを制御する、独自のコードを含む。
各論理パーティション264は、別個のシステムとして機能することができる。すなわち、各論理パーティションは、独立してリセットされて、International Business Machines Corporationによって提供されるz/OSなどのゲスト・オペレーティング・システム270または別のオペレーティング・システムを実行し、異なるプログラム282と共に動作することができる。論理パーティション内で実行されるオペレーティング・システムまたはアプリケーション・プログラムは、完全なシステム全体にアクセスできるように見えるが、実際は、その一部のみが利用可能である。
メモリ254は、論理パーティションに割り当てられ得る物理プロセッサ・リソースであるプロセッサ(例えば、CPU)260に結合される。例えば、論理パーティション264は、1つまたは複数の論理プロセッサを含み、それらの論理プロセッサの各々は、論理パーティションに動的に割り当てられ得る物理プロセッサ・リソース260の全部または一部を表す。
さらに、メモリ254は、I/Oサブシステム262に結合される。I/Oサブシステム262は、中央電子回路複合体の一部であるか、または中央電子回路複合体から分離してよい。I/Oサブシステム262は、主記憶装置254と、中央電子回路複合体に結合された入出力制御ユニット256および入出力(I/O)デバイス258との間の情報の流れを方向付ける。
本明細書ではホストのさまざまな例が説明されるが、他の例も可能である。さらに、ホストは、例として、本明細書ではソース、サーバ、ノード、またはエンドポイント・ノードと呼ばれることがある。さらに、ストレージ・デバイスは、例として、本明細書ではターゲット、ノード、またはエンドポイント・ノードと呼ばれることがある。ストレージ・デバイスの例としては、ストレージ・コントローラまたは制御ユニットが挙げられる。他の例も可能である。
ここで図3を参照すると、本発明の1つまたは複数の実施形態に従って、LKMの初期化およびHBAのセキュリティ登録のためのコンピューティング環境300のブロック図が一般的に示されている。図3に示されたコンポーネントは、図1に関して前述したように、ホスト102、SAN108、ストレージ・アレイ110、サービス・ネットワーク130、SE128、プライベート・ネットワーク126、サーバHMC124、ネットワーク120、およびEKM122を含んでいる。図3に示されたホスト102は、複数の論理パーティション、すなわち、オペレーティング・システム(O/S:operating systems)302を実行している2つのパーティションおよびLKM104を実行している1つのパーティションを含むパーティションを実行しているサーバによって実装される。図3に示されたホスト102は、パーティションを管理するためのハイパーバイザ304、およびパーティションと入出力(I/O)サブシステム306との間のインターフェイスを含んでいる。図3に示されているようなI/Oサブシステム306は、HBA106へのインターフェイスを提供する。
本発明の1つまたは複数の実施形態に従って、セキュリティがホスト102に適用されることを要求している顧客(例えば、ホスト102の所有者)によって、LKMのアクティブ化および開始がトリガーされる。これは、例えば、購入した機能コードを適用している顧客によって、SE128内の機能コードを有効化し、SE128を再起動することによって発生することができる。再起動時に、SE128は、LKM104を実行するために、ホスト102がパーティションを初期化することをトリガーすることができる。LKMをアクティブ化および開始するためにSE128の再起動は必要とされず、別の例では、SE128を再起動せずにSE128内の機能コードを有効化することによって、LKMがアクティブ化および開始される。LKM104をアクティブ化および初期化するためのトリガー・イベントが、図3に「1」として示されている。LKMがアクティブ化および初期化された後に、LKM104は、初期化が完了したことをI/Oサブシステム306に通知する。この通知イベントが、図3に「2」として示されている。図3に示されているように、LKM104によって通知が開始され、LKM104は、LKMの初期化が完了したことをハイパーバイザ304に通知し、次にハイパーバイザ304が、LKMの初期化が完了したことをI/Oサブシステム306に通知する。1つまたは複数の実施形態に従って、LKM104がホスト102上で実行された後に、LKMの初期化が完了する。
本発明の1つまたは複数の実施形態に従って、LKMの初期化が完了した後に、LKM104がEKM122に接触し、EKM122への安全な接続を要求する。本発明の1つまたは複数の実施形態に従って、LKM104を実行しているホスト102は、信頼できる認証局によって証明された信頼できるノードである。1つまたは複数の実施形態に従って、ホスト102は、信頼できる認証局からのホストの署名済み証明書と共に、EKMのインターネット・プロトコル(IP:Internet Protocol)アドレスまたはホスト名を有している。接続を要求するためのEKM122への接触が、図3に「3」として示されている。図3に示されているように、接続要求は、ハイパーバイザ304、I/Oサブシステム306、サービス・ネットワーク130、サービス要素128、プライベート・ネットワーク126、サーバHMC124、およびネットワーク120という、LKM104をEKM122に接続している複数のコンポーネントに広がる。本発明の1つまたは複数の実施形態に従って、LKM104は、EKM122との接続を確立するための要求をハイパーバイザ304に送信し、ハイパーバイザ304が、この要求をI/Oサブシステム306に送信し、I/Oサブシステム306が、サービス・ネットワーク130を介してこの要求をSE128に送信する。SE128は、ネットワーク120を経由してEKM122へのプロキシ接続(例えば、トランスポート層セキュリティ(TLS:transport layer security)セッション)を開くための要求を、プライベート・ネットワーク126を介してサーバHMC124に送信する。
1つまたは複数の実施形態に従って、EKM122からの接続を要求するために、KMIPが使用される。KMIPメッセージは、信頼できる認証局からの証明書を含むことができ、KMIPメッセージは、接続が確立されたことの指示または接続が確立されなかったことの指示のいずれかと共に、EKM122から返されることができる(図3に「4」として示されている)。1つまたは複数の実施形態に従って、EKM122が、接続要求においてホスト102によって送信された証明書を認識した場合、EKM122への安全な接続が確立されることができる。1つまたは複数の実施形態に従って、例えば、ネットワーク接続性の問題、構成の問題、またはEKM122が証明書を認識しないこと、あるいはその組み合わせに起因して、EKM122への安全な接続が確立されない。他のプロトコルおよび安全な通信が使用されてよいため、TLSおよびKMIPは例にすぎない。
確立されているLKM104とEKM122との間の接続に基づいて、LKM104は、ハイパーバイザ304を介して、接続が確立されたことをI/Oサブシステム306に通知する。これが、図3に「5」として示されている。図3に「6」として示されているように、I/Oサブシステム306は、LKM104がSKEメッセージを処理する準備ができた(すなわち、他のコンピューティング・ノードとの安全なデータ転送を提供する準備ができた)ということをHBA106に通知する。図3に「7」として示されているように、HBA106は、セキュリティ能力およびアドレス情報をLKM104に登録する。セキュリティ能力の例としては、認証またはさまざまな種類の暗号化が挙げられるが、これらに限定されない。アドレス情報は、HBAに割り当てられたファイバ・チャネル・アドレスを含むことができるが、これに限定されない。
図3のブロック図は、コンピューティング環境300が図3に示されたコンポーネントのすべてを含むことになるということを示すよう意図されていないということが、理解されるべきである。むしろ、コンピューティング環境300は、図3に示された一部のコンポーネントが結合されるか、または1つまたは複数のコンポーネントによって実行される機能が、異なるコンポーネントまたは複数のコンポーネントによって実行されて、任意の適切なより少ないコンポーネントまたは図3に示されていない追加のコンポーネントを含むことができる。さらに、コンピューティング環境300に関して本明細書に記載された実施形態は、任意の適切な論理を使用して実装されてよく、論理は、本明細書で参照されるとき、さまざまな実施形態において、任意の適切なハードウェア(例えば、特に、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、特に、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
ここで図4を参照すると、本発明の1つまたは複数の実施形態に従って、LKMの初期化およびHBAのセキュリティ登録のためのプロセス400が一般的に示されている。図4に示されている処理の全部または一部が、例えば、図1のホスト102上で実行されている図1のLKM104によって実施されることができる。ブロック402で、LKMのパーティションが、図1のホスト102などのノード上でアクティブ化されて開始される。ブロック404で処理が続行し、LKMが、LKMの初期化が完了したことを、図3のI/Oサブシステム306などのノード上のI/Oサブシステムに通知する。ブロック406で、LKMが、図1のEKM122などのEKMとの接触を開始し、安全な接続を要求する。前述したように、これは、要求を含んでいるKMIPメッセージおよびTLSセッションを使用して実行されることができる。ブロック408で、EKMとの接続が確立されることができるかどうかが判定される。1つまたは複数の実施形態に従って、この判定は、ブロック406で送信された要求に応答してEKMから返されたメッセージに基づいて行われる。
図4のプロセス400の実施形態に示されているように、EKMとの接続が確立されなかった場合、ブロック406で処理が続行し、別の接続を試みる。ブロック408で、EKMとの接続が確立されたということが決定された場合、ブロック410で処理が続行する。ブロック410で、LKMが、EKMの接続が確立されたということをサブシステムに通知し、ブロック412で、I/Oサブシステムが、LKMがSKEメッセージを処理する準備ができたということを、図1のHBA106などの、LKMを実行しているノード上のHBAに通知する。ブロック414で、LKMの登録を実行しているノード上のHBAが、セキュリティ能力をLKMに登録する。
図4のプロセス・フロー図は、プロセス400の動作がいずれかの特定の順序で実行されるということも、プロセス400の動作のすべてがすべての事例に含まれるということも、示すよう意図されていない。さらに、プロセス400は、任意の適切な数の追加の動作を含むことができる。
ここで図5を参照すると、本発明の1つまたは複数の実施形態に従って、SKE SA初期化(initialization)要求(本明細書ではSKE SA初期化(Init)要求とも呼ばれる)を生成するためのコンピューティング環境500のブロック図が一般的に示されている。図5に示されたコンピューティング環境500は、1つまたは複数の接続508を介してEKMサーバ506(本明細書ではEKMとも呼ばれる)に結合されたホスト502およびストレージ・アレイ504という2つのノードを含んでいる。一例として、1つまたは複数の接続508は、安全なTLS通信を使用して保護されたイーサネット(R)接続である。1つまたは複数の接続508は、図1および図3に示された要素のすべて、サブセット、または上位セットを含むことができる。EKMサーバ506は、本明細書に記載されたEKM処理を実行するためのコンピュータ命令を含む。図5に示された実施形態では、ホスト502、ストレージ・アレイ504、およびEKMサーバ506が、ホスト502、ストレージ・アレイ504、およびEKMサーバ506にインストールされた証明書に署名してそれらの間の信用を確立するために使用される認証局(CA:certification authority)510に結合されている。
図5に示されているように、ホスト502は、例えば、図1のSAN108などのSANネットワークを介してストレージ・アレイ504と通信するために使用されるHBA518(例えば、ファイバ・チャネル・ポート、またはFICONチャネル、あるいは他のリンク)に結合されたLKM520を含んでいる。図5に示されていないが、ホスト502およびストレージ・アレイ504は、接続508を介してEKMサーバ506に結合された1つまたは複数のイーサネット(R)・ポートも含むことができる。FICONは、ホスト502とストレージ・アレイ504との間のデータ転送のための既知の通信経路であり、イーサネット(R)は、既知のローカル・エリア・ネットワーク(LAN)である。同様に、この例では、ストレージ・アレイ504は、ホスト502と通信するために使用されるHBA522(例えば、ファイバ・チャネル・ポートまたはFICONチャネル)に結合されたLKM528を含んでいる。
図5の矢印512で示されているように、LKM520は、ホスト502上のHBA518から要求を受信し、データをストレージ・アレイ504上のHBA522に送信する。HBA518から要求を受信することに応答して、ホスト502上のLKM520は、SAがホスト502(「開始ノード」)上のHBA518とストレージ・アレイ504(「応答ノード」)上のHBA522との間にすでに存在するかどうかを判定する。本発明の1つまたは複数の実施形態に従って、ホスト502上のHBA518とストレージ・アレイ504上のHBA522との間で、一度に1つの通信経路のみが開かれることができる。したがって、SAが現在存在する場合、これらの2つのチャネル間で通信経路がすでに処理中であるか、またはエラーが発生している(例えば、ホスト502上のHBA518からの要求が誤りを含んでおり、間違ったターゲット・ノードまたはターゲット・チャネルあるいはその両方を要求した)。いずれの場合も、要求しているHBA518にエラー・メッセージが返され、要求が拒否される。
SAが存在しない場合、ホスト502上のLKM520が、ホスト502上のHBA518とストレージ・アレイ504上のHBA522との間のSAを作成する状態に移行する。ホスト502上のLKM520は、ホスト502/ストレージ・アレイ504の対の共有鍵および共有鍵識別子を含んでいるかどうかを判定する。共有鍵および共有鍵識別子は、例えば、LKM520によってアクセス可能であるホスト502上に位置する揮発性メモリ(例えば、キャッシュ・メモリ)に格納されてよい。LKM520がホスト502/ストレージ・アレイ504の対の共有鍵を見つけなかった場合、LKM520は、図5の矢印514で示されているように、ホスト502/ストレージ・アレイ504の対の共有鍵を取り出し、EKMサーバ506上で(まだ存在していない場合は)ホスト502/ストレージ・アレイ504の対を含んでいるデバイス・グループを設定するための要求を、EKMサーバ506に送信する。本発明の1つまたは複数の実施形態に従って、これは、複数のステップのプロセスによって実行され、最初にLKM520が、ホスト502/ストレージ・アレイ504の対のデバイス・グループが存在するかどうかを判定するためにEKMサーバ506に問い合わせ、デバイス・グループが存在しないということを決定したときに、デバイス・グループを作成するようにEKMサーバ506に要求する。ホスト502/ストレージ・アレイ504の対のデバイス・グループが存在するということが決定された後に、LKM520は、デバイス・グループに対応する共有鍵を要求する。
ホスト502またはストレージ・アレイ504あるいはその両方は、EKMに対して、それぞれのワールドワイド・ノード・ネーム(WWNN:world-wide node name)によって識別されてよい。LKM520から要求を受信することに応答して、EKMサーバ506は、LKMを認証し、要求された場合、ホスト502/ストレージ・アレイ504の対を含んでいるデバイス・グループを作成する。EKMサーバ506は、ホスト502とストレージ・アレイ504との間で転送されるメッセージおよびデータを暗号化することおよび復号することにおいて使用するために、ホスト502/ストレージ・アレイ504の対に固有の共有鍵(本明細書では「共有秘密鍵」とも呼ばれる)も生成する。図5の矢印524で示されているように、EKMサーバ506は、共有鍵を、ホスト502上の要求しているLKM520に送信する。
LKM520による共有鍵の受信は、複数のステップのプロセスであってよい。本発明の1つまたは複数の実施形態に従って、最初にLKM520は、EKMサーバ506に対して、指定されたデバイス・グループの共有鍵識別子を要求する。共有鍵識別子は、対応する共有鍵を見つける/決定するためにEKMサーバ506によって使用されることができる一意の識別子である。共有鍵識別子を受信することに応答して、LKM520は、共有鍵を要求するために、共有鍵識別子を含んでいる第2の要求をEKMサーバ506に送信する。EKMサーバ506は、共有鍵を返すことによって応答する。本発明の1つまたは複数の実施形態に従って、デバイス・グループ名は、ホスト502およびストレージ・アレイ504のWWNNの連結である。本発明の1つまたは複数の実施形態に従って、共有鍵を受信したときに、LKM520は共有鍵再生成タイマを開始してよく、共有鍵再生成タイマは、鍵再生成または更新が必要とされる前に共有鍵が使用され得る時間の量を制限するために使用される。この時間の量は、交換されているデータの機密の性質、コンピュータ環境内に適切に配置されている他のセキュリティ保護、または許可されていないアクセスの試みの可能性、あるいはその組み合わせなどの、ただしこれらに限定されない、システム・ポリシーに基づいてよい。本発明の1つまたは複数の実施形態に従って、経過した時間の量に加えて、または代替として、共有鍵再生成タイマは、ソース・ノードとターゲット・ノードとの間のデータ交換の数に基づいて期限が切れることができる。図1のサーバHMC124またはストレージ・アレイHMC118などのHMC上のユーザ・インターフェイスを介して、顧客によってポリシーが構成されることができる。共有鍵再生成タイマの期限が切れたときに、LKM520は、下記で図15を参照して説明されているように、EKMサーバ506から新しい共有鍵を取得するためのプロセスを開始する。
LKM520が有効な共有鍵および共有鍵識別子を含んでいるか、または取得することに応答して、LKM520は、チャネル間の安全な通信のために、共有鍵識別子ならびにLKM520によって作成されたノンスおよびセキュリティ・パラメータ・インデックス(SPI)を含んでいるSKE SA初期化要求メッセージを生成する。LKM520は、乱数発生器を使用してノンスおよびSPIを作成する。ノンスは、暗号通信において一度だけ使用されることができる任意の数値である。SPIは、暗号化されたファイバ・チャネル・データ・フレームの平文部分に追加される識別化タグである。フレームの受信側は、このフィールドを使用して、データ・ペイロードを暗号化するために使用される鍵材料の妥当性を確認してよい。SKE SA初期化要求メッセージは、データがストレージ・アレイ504上のHBA522に送信されることを要求したHBA518またはチャネルに送信される。これが、図5の矢印516で示されている。要求している(または開始)HBA518は、図5の矢印526で示されているように、例えばSANネットワークを介して、SKE SA初期化要求メッセージを、ストレージ・アレイ504上のターゲットHBA522に送信する。本発明の1つまたは複数の実施形態に従って、SKE SA初期化要求メッセージが、平文として(すなわち、暗号化されずに)送信される。
図5のブロック図は、コンピューティング環境500が図5に示されたコンポーネントのすべてを含むことになるということを示すよう意図されていないということが、理解されるべきである。むしろ、コンピューティング環境500は、図5に示された一部のコンポーネントが結合されるか、または1つまたは複数のコンポーネントによって実行される機能が、異なるコンポーネントまたは複数のコンポーネントによって実行されて、任意の適切なより少ないコンポーネントまたは図5に示されていない追加のコンポーネントを含むことができる。例えば、1つまたは複数の追加のノード(例えば、ホストまたはストレージ・アレイあるいはその両方)が存在してよい。さらに、コンピューティング環境500に関して本明細書に記載された実施形態は、任意の適切な論理を使用して実装されてよく、論理は、本明細書で参照されるとき、さまざまな実施形態において、任意の適切なハードウェア(例えば、特に、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、特に、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
ここで図6を参照すると、本発明の1つまたは複数の実施形態に従って、SKE SA初期化要求を生成するためのプロセス600が一般的に示されている。プロセス600の全部または一部が、例えば、図5のLKM520などのLKMによって実行されることができる。ブロック602でプロセス600が開始し、LKMが、別のチャネル(応答チャネル)との安全な通信の初期化を要求しているチャネル(開始チャネル)からメッセージを受信する。例えば、開始チャネルは、図1のHBA106であることができ、応答チャネルは、図1のHBA114であることができる。ブロック604で、開始HBAがLKMに登録されたかどうかが判定される。開始HBAがLKMに登録されなかった場合、ブロック608で処理が続行し、(例えば、LKMが開始HBAのセキュリティ能力を決定できないため)要求を拒否する。
ブロック604で、開始HBAがLKMに登録されたということが決定された場合、ブロック606で処理が続行する。ブロック606で、開始チャネルと応答チャネルとの間にSAがすでに存在するかどうかが判定される。SAがすでに存在する場合、ブロック608で処理が続行し、要求を拒否する。
ブロック606で、開始ノードと応答ノードとの間にSAがまだ存在しないということが決定された場合、ブロック610で処理が続行し、SAを作成する。ブロック610で、開始チャネル/応答チャネルの対のためのSA状態が作成された後に、ブロック612で処理が続行し、開始ノード/応答ノードの対のデバイス・グループの鍵または共有鍵が存在するかどうかを判定する。開始ノード/応答ノードの対の共有鍵が存在する場合、ブロック614で処理が続行し、既存の共有鍵を使用する。ブロック616で、LKMによってSKE SA初期化要求メッセージが構築される。1つまたは複数の実施形態に従って、SKE SA初期化要求メッセージは、チャネル間の安全な通信のために、共有鍵の識別子、ならびにLKMによって作成されたノンスおよびSPIを含む。ブロック618で、SKE SA初期化要求メッセージが開始チャネルに送信される。次に、開始チャネルが、SKE SA初期化要求メッセージを応答ノード上の応答チャネルに送信する。
ブロック612で、開始ノード/応答ノードの対の共有鍵が存在しないということが決定された場合、ブロック620で処理が続行する。ブロック620で、開始ノード/応答ノードの対のデバイス・グループが存在するかどうかが判定される。デバイス・グループが存在するかどうかの判定は、LKMが、開始ノード/応答ノードの対のデバイス・グループが存在するかどうかをEKMに問い合わせることと、デバイス・グループが存在する場合、EKMが対応する共有鍵の識別子(共有鍵識別子)で応答するか、またはデバイス・グループが存在しない場合、エラー・メッセージで応答することとを含むことができる。デバイス・グループが存在するということが決定された場合、ブロック622で処理が続行し、開始ノード/応答ノードの対の共有鍵を作成し、ブロック624で、共有鍵が開始ノードに格納される。LKMからの要求に応答して、EKMによって共有鍵が作成されることができる。本発明の1つまたは複数の実施形態に従って、開始ノードが電源を切られるかまたは再起動された場合に共有鍵が保存されないように、共有鍵および共有鍵識別子が揮発性メモリに格納される。本発明の1つまたは複数の実施形態に従って、共有鍵は、例えば、共有鍵が使用されたセキュリティ・アソシエーションの数、または共有鍵が作成されてから経過した時間の量、あるいはその両方に基づくが、これらに限定されない、制限された存続期間を有する。共有鍵が格納された後に、ブロック616で処理が続行し、LKMがSKE SA初期化要求メッセージを構築する。
ブロック620で、開始ノード/応答ノードの対のデバイス・グループが存在しないということが決定された場合、ブロック626が実行され、開始ノード/応答ノードの対のデバイス・グループの対が作成される。LKMからの単一の(または複数の)要求に応答して、EKMによってデバイス・グループおよび共有鍵が作成されることができる。デバイス・グループが作成された後に、ブロック622で処理が続行し、開始ノード/応答ノードの対の共有鍵を作成する。
図6のプロセス・フロー図は、プロセス600の動作がいずれかの特定の順序で実行されるということも、プロセス600の動作のすべてがすべての事例に含まれるということも、示すよう意図されていない。さらに、プロセス600は、任意の適切な数の追加の動作を含むことができる。
ここで図7を参照すると、本発明の1つまたは複数の実施形態に従って、ターゲット・チャネルのノードでのSKE SAの初期化処理およびメッセージの生成のためのコンピューティング環境700のブロック図が一般的に示されている。図7に示されたコンピューティング環境700は、図5に示されたコンピューティング環境500に類似しており、ターゲットHBA522のストレージ・アレイ504でのSKE SA初期化要求メッセージの処理が追加されている。
図7の矢印526で示されているように、ストレージ・アレイ504上のHBA522が、ホスト502上のHBA518からSKE SA初期化要求メッセージを受信する。SKE SA初期化要求メッセージを受信することに応答して、HBA522は、(図7の矢印708で示されているように)SKE SA初期化要求メッセージをストレージ・アレイ504に位置しているLKM528に送信する。メッセージを受信することに応答して、ストレージ・アレイ504上のLKM528は、SAがホスト502上のHBA518とストレージ・アレイ504上のHBA522との間にすでに存在するかどうかを判定する。SAがすでに存在する場合、HBA522にエラー・メッセージが返され、要求が拒否される。
SAが存在しない場合、ストレージ・アレイ504上のLKM528が、ホスト502上のHBA518とストレージ・アレイ504上のHBA522との間のSAを作成する状態に移行する。ストレージ・アレイ504上のLKM528は、SKE SA初期化要求に含まれている共有鍵識別子に対応する共有鍵を含んでいるかどうかを判定する。共有鍵およびそれに対応する共有鍵識別子は、例えば、LKM528によってアクセス可能であるストレージ・アレイ504上に位置する揮発性メモリ(例えば、キャッシュ・メモリ)に格納されてよい。LKM528がホスト502/ストレージ・アレイ504の対の共有鍵を見つけなかった場合、LKM528は、図7の矢印702によって示されているように、SKE SA初期化要求メッセージで受信された共有鍵識別子に対応する共有鍵を取り出すための要求をEKMサーバ506に送信する。LKM528から要求を受信することに応答して、EKMサーバ506は、LKM528を認証し、図7の矢印704で示されているように、共有鍵をストレージ・アレイ504上のLKM528に送信する。本発明の1つまたは複数の実施形態に従って、共有鍵を受信したときに、LKM528は共有鍵再生成タイマを開始してよく、共有鍵再生成タイマは、鍵再生成または更新が必要とされる前に共有鍵が使用され得る時間の量を制限するために使用される。この時間の量は、システム・ポリシーに基づいてよい。異なるノードが異なるポリシーを有してよいため、LKM528上の共有鍵再生成タイマによって示される時間の量は、LKM520上の共有鍵再生成タイマによって示される時間の量と異なってよい。本発明の1つまたは複数の実施形態に従って、時間の量に加えて、または代替として、共有鍵再生成タイマは、ソース・ノードとターゲット・ノードとの間のデータ交換の数に基づいて期限が切れることができる。共有鍵再生成タイマの期限が切れたときに、LKM528は、図15を参照して下記で説明されているように、EKMサーバ506から新しい共有鍵を取得するためのプロセスを開始する。
LKM528が有効な共有鍵を含んでいるか、または取得することに応答して、LKM528は、チャネル間の安全な通信のために、LKM528によって作成されたノンスおよびセキュリティ・パラメータ・インデックス(SPI)を含んでいるSKE SA初期化応答メッセージを生成する。図7の矢印710で示されているように、SKE SA初期化応答メッセージがHBA522に送信される。応答(またはターゲット)HBA522は、図7の矢印706で示されているように、SKE SA初期化応答メッセージを、ホスト502上の開始HBA518に送信する。本発明の1つまたは複数の実施形態に従って、SKE SA初期化応答メッセージが、平文として(すなわち、暗号化されずに)送信される。
図7のブロック図は、コンピューティング環境700が図7に示されたコンポーネントのすべてを含むことになるということを示すよう意図されていないということが、理解されるべきである。むしろ、コンピューティング環境700は、図7に示された一部のコンポーネントが結合されるか、または1つまたは複数のコンポーネントによって実行される機能が、異なるコンポーネントまたは複数のコンポーネントによって実行されて、任意の適切なより少ないコンポーネントまたは図7に示されていない追加のコンポーネントを含むことができる。例えば、1つまたは複数の追加のノード(例えば、ホストまたはストレージ・アレイあるいはその両方)が存在してよい。さらに、コンピューティング環境700に関して本明細書に記載された実施形態は、任意の適切な論理を使用して実装されてよく、論理は、本明細書で参照されるとき、さまざまな実施形態において、任意の適切なハードウェア(例えば、特に、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、特に、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
ここで図8を参照すると、本発明の1つまたは複数の実施形態に従って、ターゲット・チャネルのノードでのSKE SAの初期化処理およびメッセージの生成のためのプロセス800が一般的に示されている。プロセス800の全部または一部が、例えば、図7のLKM528などのLKMによって実行されることができる。ブロック802でプロセス800が開始し、LKMが、開始チャネルと応答チャネルとの間の安全な通信の初期化を要求しているSKE SA初期化要求メッセージを受信する。例えば、開始チャネルは、図1のHBA106であることができ、応答チャネルは、図1のHBA114であることができる。ブロック804で、応答HBAが応答ノード上のLKMに登録されたかどうかが判定される。応答HBAがLKMに登録されなかった場合、ブロック808で処理が続行し、(例えば、LKMが応答HBAのセキュリティ能力を決定できないため)要求を拒否する。
ブロック804で、応答HBAがLKMに登録されたということが決定された場合、ブロック806で処理が続行する。ブロック806で、開始チャネルが位置しているノード(開始ノード)と応答チャネルが位置しているノード(応答ノード)との間にSAがすでに存在するかどうかが判定される。SAがすでに存在する場合、ブロック808で処理が続行し、要求を拒否する。
ブロック806で、開始ノードと応答ノードとの間にSAがまだ存在しないということが決定された場合、ブロック810で処理が続行し、SAを作成する。ブロック810で、開始ノード/応答ノードの対のためのSA状態が作成された後に、ブロック812で処理が続行し、開始ノード/応答ノードの対の共有鍵が応答LKMに存在するかどうかを判定する。開始ノード/応答ノードの対の共有鍵が応答LKMに存在することができる場合、ブロック820で処理が続行する。ブロック820で、応答チャネルのためのノンスおよびSPIが生成され、ブロック822で、開始チャネルと応答チャネルとの間の暗号化および復号に使用される鍵が、応答ノードで導出される。この鍵は、応答側のノンスおよびSPI、開始側のノンスおよびSPI、ならびに共有鍵を使用して生成されることができる。
鍵の導出は、開始側と応答側との間で確立されたSKE SE初期化メッセージ交換のSAペイロードにおいてネゴシエートされる疑似ランダム関数(PRF:pseudo random function)パラメータに基づくことができる。「PRF+」は、認証および暗号化モードにおいて使用する鍵を生成するための基本的演算子であることができる。鍵の生成は、複数のステップにわたって発生することができる。例えば、第1のステップとして、「SKEYSEED」と呼ばれるシーディング鍵(seeding key)が生成され、SKEYSEED = prf(Ni | Nr, Secret_Key)のように定義されることができ、ここで、NiおよびNrはノンスであり、Secret_Keyは、EKMサーバ506などのEKMから取得された共有秘密鍵である。第2のステップとして、一連の7つの鍵が生成されることができる。SKEの場合、例えば、ソルトを必要とする方法によってそのSKE SAが保護されると仮定して、5つの鍵および2つのソルトが存在することができる。ソルトは、データ、パスワード、またはパスフレーズをハッシュする一方向性関数への追加入力として使用されることができるランダムなデータである。ソルトは、鍵材料の一部として生成されることができる。例えば、複数バイトのソルトが、ハッシュベース・メッセージ認証コード(HMAC:hash-based message authentication code)に入力される初期化ベクトル(IV:initialization vector)の一部として使用されることができる。さらなる例として、32バイトの鍵および4バイトのソルトが、以下を使用して生成されることができる。
{SK_d | SK_ei | Salt_ei | SK_er | Salt_er | SK_pi | SK_pr} =
prf+ (SKEYSEED, Ni | Nr | SPIi | SPIr)
ここで、
入力
・Ni、Nrは、それぞれのSKE_SA_Initメッセージからの16バイトのノンスであることができる。
・SPIiおよびSPIrは、それぞれのSKE_SA_InitメッセージのSKEヘッダーからの8バイトの親SA SPI値であることができ、認証に使用されることができる。
出力
・SK_dは、第3のステップで(子SAの)データ転送鍵を生成するために使用される別のシーディング鍵である。
・SK_ei、Salt_ei、SK_er、およびSalt_erは、SKE_Authメッセージおよび親SAの下のその後のすべてのメッセージを暗号化するために使用される鍵およびソルトである。
・SK_piおよびSK_prは、SKE_Authメッセージ内のAUTHペイロードの認証データを生成するために使用される鍵である。
認証のみの場合、これらは、必要とされることがある鍵のすべてである。ユーザ・データの暗号化の場合、第3のステップがデータ転送鍵およびソルトを生成する。第3のステップは、PRFの新しい再帰呼び出しから開始して、子SAの鍵およびソルトを導出することができる。
ブロック824で、チャネル間の安全な通信のために、共有鍵の識別子、ならびに応答ノードでLKMによって作成されたノンスおよびSPIを含んでいるSKE SA初期化応答メッセージが、応答ノードでLKMによって構築される。ブロック826で、SKE SA初期化応答メッセージが応答チャネルに送信され、応答チャネルが、SKE SA初期化応答メッセージを、例えばSANネットワークを介して開始ノード上の開始チャネルに送信する。
ブロック812で、開始ノード/応答ノードの対の共有鍵が存在しないということが決定された場合、ブロック816で処理が続行する。ブロック816で、開始ノード/応答ノードの対のデバイス・グループが存在するかどうかが判定される。デバイス・グループが存在するかどうかの判定は、LKMが、開始ノード/応答ノードの対のデバイス・グループが存在するかどうかをEKMに問い合わせることと、デバイス・グループが存在する場合、EKMが対応する共有鍵の識別子で応答するか、またはデバイス・グループが存在しない場合、エラー・メッセージで応答することとを含むことができる。デバイス・グループが存在するということが決定された場合、ブロック818で処理が続行し、EKMから開始ノード/応答ノードの対の共有鍵を取得し、ブロック820で処理が続行し、応答側のSPIおよびノンスを生成する。本発明の1つまたは複数の実施形態に従って、応答ノードが電源を切られるか、または再起動された場合に共有鍵が保存されないように、応答ノードで共有鍵および共有鍵識別子が揮発性メモリに格納される。
ブロック816で、開始ノード/応答ノードの対のデバイス・グループが応答LKMに存在しないということが決定された場合、ブロック814が実行され、開始ノード/応答ノードの対がデバイス・グループに参加する。ブロック818で処理が続行する。
図8のプロセス・フロー図は、プロセス800の動作がいずれかの特定の順序で実行されるということも、プロセス800の動作のすべてがすべての事例に含まれるということも、示すよう意図されていない。さらに、プロセス800は、任意の適切な数の追加の動作を含むことができる。
図9は、本発明の1つまたは複数の実施形態に従って、SKE SA初期化応答に基づいてSKE認証(authentication)要求(本明細書では「SKE認証(Auth)要求」とも呼ばれる)を生成するためのコンピューティング環境900のブロック図を示している。図9に示されたコンピューティング環境900は、図5および7に示されたコンピューティング環境500、700に類似しており、ストレージ・アレイ504のためのホスト502でのSKE認証要求メッセージの構築が追加されている。
図9の矢印526で示されているように、ホスト502上のHBA518が、SKE SA初期化要求メッセージをストレージ・アレイ504上のHBA522に送信する。図9の矢印706で示されているように、ストレージ・アレイ504上のHBA522が、ホスト502上のHBA518によって受信されたSKE SA初期化応答メッセージを送信する。SKE SA初期化応答メッセージを受信することに応答して、HBA518は、(図9の矢印902で示されているように)SKE SA初期化応答メッセージをホスト502に位置しているLKM520に送信する。メッセージを受信することに応答して、ホスト502上のLKM520は、SKE SA初期化応答メッセージを検証し、開始ノードおよび応答ノードのデバイス・グループが有効なSAの対を形成していることを確認する。ホスト502上のLKM520は、暗号鍵のセットを導出し、SKE認証要求メッセージを構築する。暗号鍵のセットは、例えば、前述したようなプロセスを使用して導出されることができる。SKE認証要求メッセージは、ストレージ・アレイ504上のHBA522によってもサポートされている暗号化アルゴリズムを選択するのを支援するために、HBA518によってサポートされるセキュリティ能力に基づく提案リストを含むことができる。SKE認証要求メッセージのペイロードは、提案リストに基づいて選択された暗号化アルゴリズムと同じである必要はない、異なる暗号化規格を使用して暗号化されることができる。暗号化がHBA518またはHBA522によって直接サポートされない一部の実施形態では、提案リストの選択肢が、暗号化なし、認証のみであってよい。SKE認証要求メッセージは、データがストレージ・アレイ504上のHBA522に送信されることを要求したHBA518またはチャネルに送信される。これが、図9の矢印904で示されている。要求している(または開始)HBA518は、図9の矢印906で示されているように、例えばSANネットワークを介して、SKE認証要求メッセージを、ストレージ・アレイ504上のターゲットHBA522に送信する。
図9のブロック図は、コンピューティング環境900が図9に示されたコンポーネントのすべてを含むことになるということを示すよう意図されていないということが、理解されるべきである。むしろ、コンピューティング環境900は、図9に示された一部のコンポーネントが結合されるか、または1つまたは複数のコンポーネントによって実行される機能が、異なるコンポーネントまたは複数のコンポーネントによって実行されて、任意の適切なより少ないコンポーネントまたは図9に示されていない追加のコンポーネントを含むことができる。例えば、1つまたは複数の追加のノード(例えば、ホストまたはストレージ・アレイあるいはその両方)が存在してよい。さらに、コンピューティング環境900に関して本明細書に記載された実施形態は、任意の適切な論理を使用して実装されてよく、論理は、本明細書で参照されるとき、さまざまな実施形態において、任意の適切なハードウェア(例えば、特に、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、特に、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
ここで図10を参照すると、本発明の1つまたは複数の実施形態に従って、SKE認証要求を生成するためのプロセス1000が一般的に示されている。プロセス1000の全部または一部が、例えば、図9のLKM520などのLKMによって実行されることができる。プロセス1000は、ブロック1002で開始し、LKMがSKE SA初期化メッセージを受信する。ブロック1004で、LKMが、SKE SA初期化メッセージがSKE SA初期化応答メッセージであるかどうかを判定することができ、SKE SA初期化応答メッセージである場合、プロセス1000がブロック1006に進む。ブロック1006で、LKMがSA状態をチェックし、チャネルが開始側であるかどうかを判定することができる。一部の実施形態では、HBA518などのチャネルは、開始ノードが応答ノードでもあるループバック動作モードで、自分自身と通信してよい。ループバック・モードは、SAモードが開始側および応答側の両方に設定されて、テストのために、または特殊なFICON動作モードとして、あるいはその両方に使用されることができる。SA状態が開始側である場合、ブロック1008で、LKMがメッセージ・シーケンスのチェックを実行し、開始ノードおよび応答ノードの対に関連付けられたSA状態マシン(SA state machine)で受信された最後のメッセージがLKM開始メッセージだったことを検証することができる。ブロック1010で、受信された最後のメッセージがLKM開始メッセージだったこと、したがって、予期しないメッセージ・シーケンスではないということを確認することに基づいて、LKMは、SKE SA初期化応答メッセージのペイロード・タイプをチェックし、SKE SA初期化応答メッセージのペイロード・タイプが通知メッセージ・タイプであるかどうかを判定することができる。通知メッセージ・タイプは、認証シーケンスにおけるさらなる進行を妨げる、応答ノードでの故障または他の条件を示すことができる。例えば、LKM528などの応答ノードのLKMは、通信エラー、鍵アクセス・エラー、シーケンス・エラー、または他のそのような条件を有することがある。
ブロック1004での検証結果として、SKE SA初期化メッセージがSKE SA初期化応答メッセージでない場合、エラー・ハンドラ1012が呼び出されることができる。ブロック1006でSA状態が不適合なSA状態である場合、ブロック1008で予期しないメッセージ・シーケンスが検出された場合、またはブロック1010でペイロード・タイプが通知メッセージ・タイプである場合にも、エラー・ハンドラ1012が呼び出されることができる。エラー・ハンドラ1012は、エラー条件が一時的条件だった場合、ブロック1002で受信されたSKE SA初期化メッセージを拒否し、回復プロセスの一部として再試行シーケンスをサポートしてよい。共有鍵エラーまたはセキュリティ・アソシエーション・エラーなどの一部の条件下で、エラー・ハンドラ1012は、例えば、EKMサーバ506に対して、開始ノードと応答ノードとの間の共有鍵の新しい要求を行うことによって通信シーケンスを再初期化する回復プロセスを実行してよい。再試行が失敗した場合、または再試行が実行されない条件下で、通信シーケンスをサポートするために確保されているリソースが解放される。
ブロック1010で、SKE SA初期化応答メッセージが通知メッセージ・タイプでないということを確認した後に、プロセス1000がブロック1014に進む。ブロック1014で、LKMが、SKE SA初期化応答メッセージのSAペイロードに基づいて暗号鍵のセットを導出することができる。鍵の導出は、例えば、図8のプロセス800を参照して前述したようなステップを使用して実行されることができる。ブロック1016で、LKMが、SKE SA初期化応答メッセージから抽出された1つまたは複数のパラメータに少なくとも部分的に基づいて、開始側の署名を計算することができる。例えば、開始側の署名は、応答側のノンス、共有鍵、開始側の識別子、および暗号鍵のセットからの少なくとも1つの鍵に基づくことができる。例えば、SKE SA初期化応答メッセージは、前述したように、SPIおよびノンスの値を含んでよい。LKMは、入力に基づいてHMACを計算することができ、応答ノードは、開始ノードのさらなる認証として、開始側の署名を独立して計算してもよい。
HBA518などの開始チャネルは、セキュリティ能力をホストのLKMに報告することができ、これらのセキュリティ能力は、ブロック1018で、開始チャネルによってサポートされる1つまたは複数のセキュリティ能力に基づいて提案リストを構築するために、LKMによって使用される。例えば、この能力は、開始ノードによってサポートされる暗号化アルゴリズムのリストを含むことができる。暗号化アルゴリズムは、例えば、計算複雑度または優先性を定めるために使用される別の指標に基づいて優先性を定義する、優先度リストとして格納されてよい。優先度リストは、ある期間にわたって異なる暗号化アルゴリズムが選択されることを保証し、セキュリティをさらに強化するために、時間と共に変化してよい。例えば、提案リスト内の優先度を定めるために、PRFが使用されることができる。
ブロック1020で、LKMが、暗号鍵のセットおよび提案リストに少なくとも部分的に基づいてSKE認証要求メッセージを構築し、暗号鍵のうちの1つまたは複数が、提案リストと共にSKE認証要求メッセージに含まれる開始側の署名を計算するために使用される。開始ノードは、既定の暗号化アルゴリズムを使用してSKE認証要求メッセージのペイロードを暗号化することができる。ブロック1022で、LKMが、暗号化されたペイロードを含むSKE認証要求メッセージを開始チャネルに送信し、開始チャネルが、SKE認証要求メッセージを応答ノードの応答チャネルに送信する。
図10のプロセス・フロー図は、プロセス1000の動作がいずれかの特定の順序で実行されるということも、プロセス1000の動作のすべてがすべての事例に含まれるということも、示すよう意図されていない。さらに、プロセス1000は、任意の適切な数の追加の動作を含むことができる。
図11は、本発明の1つまたは複数の実施形態に従って、SKE認証要求に基づいてSKE認証(authentication)応答(本明細書では「SKE認証(Auth)応答」とも呼ばれる)を生成するためのコンピューティング環境1100のブロック図を示している。図11に示されたコンピューティング環境1100は、図5、図7、および図9に示されたコンピューティング環境500、700、900に類似しており、ホスト502のためのストレージ・アレイ504でのSKE認証応答メッセージの構築が追加されている。
図11の矢印526で示されているように、ホスト502上のHBA518が、SKE SA初期化要求メッセージをストレージ・アレイ504上のHBA522に送信する。図11の矢印706で示されているように、ストレージ・アレイ504上のHBA522が、ホスト502上のHBA518によって受信されたSKE SA初期化応答メッセージを送信する。SKE SA初期化応答メッセージを受信することに応答して、ホスト502は、SKE認証要求メッセージ(矢印906)をストレージ・アレイ504に送信する。SKE認証要求メッセージを受信することに応答して、HBA522は、(図11の矢印1102で示されているように)SKE認証要求メッセージをストレージ・アレイ504に位置しているLKM528に送信する。メッセージを受信することに応答して、ストレージ・アレイ504上のLKM528は、SKE認証要求メッセージを検証し、他の期待される状態およびシーケンス値と共に、開始ノードおよび応答ノードのデバイス・グループが有効なSAの対を形成していることを確認する。LKM528は、SKE認証要求メッセージのペイロードを復号し、妥当性確認チェックを実行する。LKM528は、署名チェックを実行し、開始ノードをさらに認証することができる。SKE認証要求メッセージは、ストレージ・アレイ504上のHBA522によってもサポートされている暗号化アルゴリズムを選択するのを支援するために、HBA518によってサポートされるセキュリティ能力に基づく提案リストを含むことができる。SKE認証要求メッセージのペイロードは、提案リストに基づいて選択された暗号化アルゴリズムと同じである必要はない、異なる暗号化規格を使用して暗号化されることができる。提案リストから、HBA522と互換性がある暗号化アルゴリズムが選択された後に、LKM528は、選択された暗号化アルゴリズムを識別し、例えば、SKE認証要求メッセージのペイロードを暗号化するために使用された暗号化アルゴリズムと同じ暗号化アルゴリズムを使用してペイロードを暗号化する、SKE認証応答メッセージを構築することができる。
SKE認証応答メッセージが、HBA522またはチャネルに送信される。これが、図11の矢印1104で示されている。ストレージ・アレイ504上の応答HBA522は、図11の矢印1106で示されているように、例えばSANネットワークを介して、SKE認証応答メッセージを、ホスト502上の開始HBA518に送信する。
図11のブロック図は、コンピューティング環境1100が図11に示されたコンポーネントのすべてを含むことになるということを示すよう意図されていないということが、理解されるべきである。むしろ、コンピューティング環境1100は、図11に示された一部のコンポーネントが結合されるか、または1つまたは複数のコンポーネントによって実行される機能が、異なるコンポーネントまたは複数のコンポーネントによって実行されて、任意の適切なより少ないコンポーネントまたは図11に示されていない追加のコンポーネントを含むことができる。例えば、1つまたは複数の追加のノード(例えば、ホストまたはストレージ・アレイあるいはその両方)が存在してよい。さらに、コンピューティング環境1100に関して本明細書に記載された実施形態は、任意の適切な論理を使用して実装されてよく、論理は、本明細書で参照されるとき、さまざまな実施形態において、任意の適切なハードウェア(例えば、特に、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、特に、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
図12は、本発明の1つまたは複数の他の実施形態に従って、SKE認証メッセージの処理のためのプロセス1200を示している。プロセス1200の全部または一部が、例えば、図11のLKM528などのLKMによって実行されることができる。プロセス1200は、ブロック1202で開始し、LKMがSKE認証メッセージを受信する。LKMは、妥当性確認チェックとして、SKE認証メッセージがSKE認証要求メッセージであるかどうかを判定することができ、LKMは、SKE認証要求メッセージ・タイプおよびSKE認証応答メッセージ・タイプの両方をサポートしてよい。
ブロック1204で、開始ノードおよび応答ノードのSAに基づいて、状態チェックが実行されることができる。状態チェックの例としては、共有鍵を使用して開始ノードおよび応答ノードの対のSAが存在することを確認することが挙げられる。SAモードのチェックは、SAのモードが応答側に設定されたことを確認することができる。ブロック1204での状態チェックは、LKM528の最後に受信されたメッセージの状態および最後に送信されたメッセージの状態が期待値に一致することを検証することを含んでもよい。例えば、応答ノードから送信された最後のメッセージがSKE SA初期化応答メッセージであり、受信された最後のメッセージがSKE SA初期化要求メッセージであったことを確認するために、メッセージ・シーケンス状態マシン(message sequence state machine)がチェックされることができる。
ブロック1204で、状態に問題がない(例えば、すべての期待値が検証された)場合、ブロック1206で、メッセージが通知メッセージ・タイプであるかどうかを判定するために、SKE認証要求メッセージのペイロード・タイプがチェックされることができる。通知メッセージ・タイプは、認証シーケンスにおけるさらなる進行を妨げる、開始ノードでの故障または他の条件を示すことができる。例えば、LKM520などの開始ノードのLKMは、通信エラー、鍵アクセス・エラー、シーケンス・エラー、または他のそのような条件を有することがある。通知メッセージ・タイプ・インジケータは、SKE認証要求メッセージのペイロード内で暗号化されずに出現することができる。
ブロック1206で、メッセージのペイロードが通知メッセージ・タイプでない場合、ブロック1208で、メッセージのペイロードが復号されることができる。復号後に、ブロック1210で、妥当性確認チェックがさらに実行されることができる。SKE認証要求メッセージの妥当性確認チェックは、例えば、ペイロードを復号することに基づいて、ペイロードの1つまたは複数のメッセージ・ヘッダー・パラメータおよび識別子をチェックすることを含むことができる。メッセージ・ヘッダー内でチェックされることができるパラメータは、バージョンおよびペイロード長を含んでよい。SKE SA初期化要求メッセージに基づいて、メッセージ内で識別されたワールドワイド・ノード・ネームまたはワールドワイド・ポート・ネームが期待値に一致するということを確認するために、SKE認証要求メッセージの復号されたペイロードがチェックされることができる。
ブロック1212で、LKM528が開始側の署名を計算することができ、ブロック1214で、開始側の署名がチェックされることができる。開始側の署名は、以前に決定された値またはSKE SA初期化要求メッセージなどの以前のメッセージから抽出された値に基づいて計算されることができる。例えば、開始側の署名は、応答側のノンス、共有鍵、開始側の識別子、および暗号鍵のセットからの少なくとも1つの鍵に基づいて、LKM528で計算されることができる。計算された開始側の署名は、SKE認証要求メッセージで受信された開始側の署名と比較されることができ、開始側の署名は、さらなる妥当性確認として、復号後にSKE認証要求メッセージのペイロードから抽出されてよい。
ブロック1214で、開始側の署名のチェックが合格した場合、ブロック1216で、応答側の署名が計算されることができる。応答側の署名は、開始側のノンス、共有鍵、応答側の識別子、および暗号鍵のセットからの少なくとも1つの鍵に基づいて計算されることができる。応答側の署名を計算することにおいて使用される1つまたは複数の値は、SKE SA初期化要求メッセージなどの以前のメッセージから抽出された値に基づいてよい。
ブロック1218で、SKE認証要求メッセージで受信された提案リスト、および応答ノードによってサポートされている最高の優先度の暗号化アルゴリズムの能力に基づいて、開始チャネルと応答チャネルとの間のデータを暗号化するための暗号化アルゴリズムが選択される。開始ノードおよび応答ノードによってサポートされる暗号化アルゴリズムを提案リストから選択することにおいてLKM528を支援するために、HBA522の能力がLKM528に報告されることができる。ブロック1220で、アルゴリズムの選択が可能ではないということが決定され、応答ノードが提案リストからの暗号化アルゴリズムをどれもサポートしない場合、ブロック1222で、SKE認証要求メッセージが拒否される。ブロック1204での予期しない状態、ブロック1206で検出された通知メッセージ・タイプ、ブロック1210での妥当性確認チェックの失敗、またはブロック1214での署名チェックの失敗に基づいて、ブロック1222で、SKE認証要求メッセージが拒否されることもできる。SKE認証要求メッセージの拒否は再試行の選択肢をサポートすることができ、その場合、応答ノードは、代替のSKE認証要求メッセージを受け入れる準備ができている。通信セッションがキャンセルされ、関連する値が消去される前にサポートされる再試行の既定の数が存在してよい。
ブロック1220で、暗号化アルゴリズムの選択が可能である場合、ブロック1224で、LKM528がSKE認証応答メッセージを構築する。SKE認証応答メッセージの構築は、状態チェックの成功、妥当性確認の成功、および提案リストから暗号化アルゴリズムのうちの1つを選択することに、少なくとも部分的に基づくことができる。SKE認証応答メッセージのペイロードは、ブロック1216で計算された応答側の署名、およびブロック1218での選択に基づいて選択された暗号化アルゴリズムのインジケータを含むことができる。SKE認証応答メッセージのペイロードは、例えば、SKE認証要求メッセージのペイロードを暗号化するために使用された暗号化アルゴリズムと同じ暗号化アルゴリズムを使用して暗号化される。SKE認証応答メッセージは、提案リストとは無関係に暗号化される。
ブロック1226で、LKM完了メッセージが構築される。LKM完了メッセージは、選択された暗号化アルゴリズムを使用して開始チャネルと応答チャネルとの間の暗号化された通信を可能にするために、1つまたは複数のセッション鍵、開始側のSPI、および応答側のSPIを含むことができる。データ転送鍵とも呼ばれるセッション鍵は、選択された暗号化アルゴリズムおよびシーディング鍵として以前に導出された暗号鍵のセットのうちの1つまたは複数に基づいて計算されることができる。セッション鍵は、開始ノードおよび応答ノードの両方によって選択された暗号化アルゴリズムの知識と組み合わせて、開始チャネルと応答チャネルとの間のデータ転送の暗号化および復号をサポートすることができる。LKM完了メッセージは、SA状態を完了に設定してもよく、認証プロセスに関連付けられた除去動作をさらにトリガーしてよい。加えて、セッション鍵再生成タイマが再開されてよい。セッション鍵再生成タイマは、図15に関して下で説明されるように、鍵再生成プロセスをトリガーすることができる。セッション鍵再生成タイマは、期限切れになる時間の量およびターゲット・ノードとソース・ノードとの間に発生する交換の数のうちの1つまたは両方に基づいて、期限が切れることができる。
ブロック1228で、SKE認証応答メッセージおよびLKM完了メッセージが、LKM528からHBA522に送信される。HBA522がSKE認証応答メッセージをHBA518に送信した後に、選択された暗号化アルゴリズムを使用してHBA518と通信するために、LKM完了メッセージがHBA522の再構成をトリガーすることができる。
図12のプロセス・フロー図は、プロセス1200の動作がいずれかの特定の順序で実行されるということも、プロセス1200の動作のすべてがすべての事例に含まれるということも、示すよう意図されていない。さらに、プロセス1200は、任意の適切な数の追加の動作を含むことができる。
図13は、本発明の1つまたは複数の実施形態に従って、SKE認証応答に基づくHBAの鍵読み込みのためのコンピューティング環境1300のブロック図を示している。図13に示されたコンピューティング環境1300は、図5、図7、図9、および図11に示されたコンピューティング環境500、700、900、1100に類似しており、暗号化されたリンク経路の確立を終了するためのホスト502でのSKE認証応答メッセージの処理が追加されている。
図13の矢印526で示されているように、ホスト502上のHBA518が、SKE SA初期化要求メッセージをストレージ・アレイ504上のHBA522に送信する。図13の矢印706で示されているように、ストレージ・アレイ504上のHBA522が、ホスト502上のHBA518によって受信されたSKE SA初期化応答メッセージを送信する。SKE SA初期化応答メッセージを受信することに応答して、ホスト502は、SKE認証要求メッセージ(矢印906)をストレージ・アレイ504に送信する。SKE認証要求メッセージを受信することに応答して、HBA522は、SKE認証応答メッセージ(矢印1106)でHBA518に応答する。
SKE認証応答メッセージを受信することに応答して、HBA518は、(図13の矢印1302で示されているように)SKE認証応答メッセージをホスト502に位置しているLKM520に送信する。メッセージを受信することに応答して、ホスト502上のLKM520は、SKE認証応答が受信されたことを検証し、他の期待される状態およびシーケンス値と共に、開始ノードおよび応答ノードのデバイス・グループが有効なSAの対を形成していることを確認する。LKM520は、SKE認証応答メッセージペイロードを復号し、妥当性確認チェックを実行する。LKM520は、署名チェックを実行し、応答ノードをさらに認証することができる。SKE認証応答メッセージは、SKE認証要求メッセージの提案リストで以前に送信された暗号化アルゴリズムのうちの1つに対応する選択された暗号化アルゴリズムを含むことができる。一部の実施形態では、選択された暗号化アルゴリズムは、暗号化なし、認証のみであってよい。SKE認証応答メッセージのペイロードは、提案リストに基づいて選択された暗号化アルゴリズムと同じである必要はない、異なる暗号化規格を使用して暗号化されることができる。提案リストからHBA518およびHBA522と互換性がある暗号化アルゴリズム選択された後に、LKM520は、この選択を揮発性メモリにローカルに格納することができる。LKM520は、HBA522との通信の暗号化および復号においてHBA518を支援するために、選択された暗号化アルゴリズム、セッション鍵、およびSPIを識別するLKM完了メッセージを構築することができる。LKM完了メッセージは、矢印1304で示されているように、HBA518に送信されることができる。
HBA518は、矢印1306で示されているように、LKM完了メッセージからの情報を使用してHBA522と通信し、HBA518とHBA522との間で選択された暗号化アルゴリズムを使用する暗号化されたリンク経路の確立を終了するように構成されることができる。
図13のブロック図は、コンピューティング環境1300が図13に示されたコンポーネントのすべてを含むことになるということを示すよう意図されていないということが、理解されるべきである。むしろ、コンピューティング環境1300は、図13に示された一部のコンポーネントが結合されるか、または1つまたは複数のコンポーネントによって実行される機能が、異なるコンポーネントまたは複数のコンポーネントによって実行されて、任意の適切なより少ないコンポーネントまたは図13に示されていない追加のコンポーネントを含むことができる。例えば、1つまたは複数の追加のノード(例えば、ホストまたはストレージ・アレイあるいはその両方)が存在してよい。さらに、コンピューティング環境1300に関して本明細書に記載された実施形態は、任意の適切な論理を使用して実装されてよく、論理は、本明細書で参照されるとき、さまざまな実施形態において、任意の適切なハードウェア(例えば、特に、プロセッサ、組み込みコントローラ、または特定用途向け集積回路)、ソフトウェア(例えば、特に、アプリケーション)、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの任意の適切な組み合わせを含むことができる。
図14は、本発明の1つまたは複数の実施形態に従って、SKE認証応答に基づくHBAのチャネルの鍵読み込みのためのプロセス1400を示している。プロセス1400の全部または一部が、例えば、図13のLKM520などのLKMによって実行されることができる。プロセス1400は、ブロック1402で開始し、LKMがSKE認証メッセージを受信する。ブロック1404で、LKMは、妥当性確認チェックとして、SKE認証メッセージがSKE認証応答メッセージであるかどうかを判定することができ、LKMは、SKE認証要求メッセージ・タイプおよびSKE認証応答メッセージ・タイプの両方をサポートしてよい。
ブロック1404で、SKE認証応答メッセージが受信されたということを確認した後に、プロセス1400がブロック1406に進む。ブロック1406で、開始ノードおよび応答ノードのSAに基づいて、状態チェックが実行されることができる。状態チェックの例としては、共有鍵を使用して開始ノードおよび応答ノードの対のSAが存在することを確認することが挙げられる。SAモードのチェックは、SAのモードが開始側に設定されたことを確認することができる。ブロック1406での状態チェックは、LKM520の最後に受信されたメッセージの状態および最後に送信されたメッセージの状態が期待値に一致することを検証することを含んでもよい。例えば、開始ノードから送信された最後のメッセージがSKE認証要求メッセージであり、受信された最後のメッセージがSKE SA初期化応答メッセージであったことを確認するために、メッセージ・シーケンス状態マシンがチェックされることができる。
ブロック1406で、状態に問題がない(例えば、すべての期待値が検証された)場合、ブロック1408で、メッセージが通知メッセージ・タイプであるかどうかを判定するために、SKE認証応答メッセージのペイロード・タイプがチェックされることができる。通知メッセージ・タイプは、認証シーケンスにおけるさらなる進行を妨げる、開始ノードでの故障または他の条件を示すことができる。例えば、LKM528などの応答ノードのLKMは、通信エラー、鍵アクセス・エラー、シーケンス・エラー、または他のそのような条件を有することがある。通知メッセージ・タイプ・インジケータは、SKE認証応答メッセージのペイロード内で暗号化されずに出現することができる。
ブロック1408で、メッセージのペイロードが通知メッセージ・タイプでない場合、ブロック1410で、メッセージのペイロードが復号されることができる。復号後に、ブロック1412で、妥当性確認チェックがさらに実行されることができる。SKE認証応答メッセージの妥当性確認チェックは、例えば、ペイロードを復号することに基づいて、ペイロードの1つまたは複数のメッセージ・ヘッダー・パラメータおよび識別子をチェックすることを含むことができる。メッセージ・ヘッダー内でチェックされることができるパラメータは、バージョンおよびペイロード長を含んでよい。LKM開始メッセージに基づいて、メッセージ内で識別されたワールドワイド・ノード・ネームまたはワールドワイド・ポート・ネームが期待値に一致するということを確認するために、SKE認証応答メッセージの復号されたペイロードがチェックされることができる。
ブロック1414で、LKM520が応答側の署名を計算することができ、ブロック1416で、応答側の署名がチェックされることができる。応答側の署名は、開始側のノンス、共有鍵、応答側の識別子、および暗号鍵のセットからの少なくとも1つの鍵に基づいて計算されることができる。応答側の署名を計算することにおいて使用される1つまたは複数の値は、SKE SA初期化応答メッセージなどの以前のメッセージから抽出された値に基づいてよい。計算された応答側の署名は、SKE認証応答メッセージで受信された応答側の署名と比較されることができ、応答側の署名は、さらなる妥当性確認として、復号後にSKE認証応答メッセージのペイロードから抽出されてよい。ブロック1416で、署名の妥当性確認チェックが失敗した場合、ブロック1418で、SKE認証応答メッセージが拒否される。ブロック1404での予期しないメッセージ、ブロック1406での予期しない状態、ブロック1408で検出された通知メッセージ・タイプ、またはブロック1412での妥当性確認チェックの失敗(例えば、失敗した妥当性確認結果)に基づいて、ブロック1418で、SKE認証応答メッセージが拒否されることもできる。SKE認証応答メッセージの拒否は再試行の選択肢をサポートすることができ、その場合、開始ノードは、代替のSKE認証応答メッセージを受け入れる準備ができている。通信セッションがキャンセルされ、関連する値が消去される前にサポートされる再試行の既定の数が存在してよい。ブロック1416で、応答側の署名のチェックが合格した場合、ブロック1420で、SKE認証応答メッセージからの選択された暗号化アルゴリズムが識別されて保存される。
ブロック1422で、LKM完了メッセージが構築される。LKM完了メッセージは、選択された暗号化アルゴリズムを使用して開始チャネルと応答チャネルとの間の暗号化された通信を可能にするために、1つまたは複数のセッション鍵、開始側のSPI、および応答側のSPIを含むことができる。データ転送鍵とも呼ばれるセッション鍵は、選択された暗号化アルゴリズムおよびシーディング鍵として以前に導出された暗号鍵のセットのうちの1つまたは複数に基づいて計算されることができる。セッション鍵は、開始ノードおよび応答ノードの両方によって選択された暗号化アルゴリズムの知識と組み合わせて、開始チャネルと応答チャネルとの間のデータ転送の暗号化および復号をサポートすることができる。LKM完了メッセージは、SA状態を完了に設定してもよく、認証プロセスに関連付けられた除去動作をさらにトリガーしてよい。
ブロック1424で、セッション鍵再生成タイマが開始される。セッション鍵再生成タイマは、図15に関して下で説明されるように、鍵再生成プロセスをトリガーすることができる。セッション鍵再生成タイマは、期限切れになる時間の量およびターゲット・ノードとソース・ノードとの間に発生する交換の数のうちの1つまたは両方に基づいて、期限が切れることができる。対応するノードが異なるポリシーを有することがあるため、開始チャネルでのセッション鍵再生成タイマは、応答チャネルでのセッション鍵再生成タイマとは異なる時間に期限が切れてよい。ブロック1426で、セッション鍵再生成タイマの開始後に、LKM完了メッセージが開始チャネルに送信されることができる。LKM完了メッセージの受信時に、HBA518は、選択された暗号化アルゴリズムに基づいてHBA522との暗号化された通信をサポートするために、鍵を読み込むことができる。その後、セッションの完了または鍵の再生成まで、選択された暗号化アルゴリズムおよびセッション鍵を使用してHBA518とHBA522との間のデータ転送が実行される。
図14のプロセス・フロー図は、プロセス1400の動作がいずれかの特定の順序で実行されるということも、プロセス1400の動作のすべてがすべての事例に含まれるということも、示すよう意図されていない。さらに、プロセス1400は、任意の適切な数の追加の動作を含むことができる。本発明の一部の実施形態に従って、開始側(例えば、開始ノードまたはソース・ノード)のみによって鍵再生成プロセスが制御される。
ここで図15を参照すると、本発明の1つまたは複数の実施形態に従って、SKEを使用して安全なデータ転送を提供するコンピューティング環境内で鍵を更新するためのプロセス1500が一般的に示されている。プロセス1500の全部または一部が、例えば、図5のLKM520またはLKM528などのLKMによって実行されることができる。前述したように、本発明の1つまたは複数の実施形態に従って、システム・ポリシーに基づいて、共有鍵再生成タイマおよびセッション鍵再生成タイマが設定される。本発明の1つまたは複数の実施形態に従って、ノードの各々で、LKMによって鍵再生成タイマが開始され、追跡される。
ブロック1502でプロセス1500が開始し、鍵再生成タイマの期限が切れる。ブロック1504で、鍵再生成タイマが共有鍵再生成タイマまたはセッション鍵再生成タイマのいずれであるかが判定される。ブロック1504で、共有鍵再生成タイマの期限が切れたということが決定された場合、ブロック1506で処理が続行する。前述したように、共有鍵再生成タイマは、図5のEKM506などのEKMから取得された共有鍵が図5のホスト502およびストレージ・アレイ504などの2つのノード間の通信に有効なままである、時間の量に関連している。本発明の1つまたは複数の実施形態に従って、コンピューティング環境内の各ノードでのLKMは、コンピューティング環境内のノードと他のノードとの間に存在する共有鍵ごとに別々の共有鍵再生成タイマを制御する(例えば、開始して監視する)。各共有鍵再生成タイマは、ノードの対を含んでいるデバイス・グループに関連付けられる(各対は、LKMが実行されているノードを含んでいる)。加えて、LKMは、安全な通信のために共有鍵の現在の値およびノードと他のノードとの間に存在する共有鍵ごとの共有鍵識別子を格納する。
ブロック1506で、共有鍵再生成タイマに関連付けられたノードの対間にデバイス・グループが存在するかどうかが決定される。デバイス・グループ存在しないということが決定された場合、ブロック1508で処理が続行し、図5および図6に関して前述した方法などの方法で、ノードの対間にデバイス・グループを作成する。デバイス・グループが作成された後に、ブロック1510で処理が続行する。
ブロック1506で、ノードの対間にデバイス・グループが存在するということが決定された場合、ブロック1510で処理が続行する。ブロック1510で、新しい共有鍵が作成される。本発明の1つまたは複数の実施形態に従って、LKMが、ノードの対を含んでいるデバイス・グループの新しい共有鍵に対する要求を、図5のEKMサーバ506などのEKMに送信する。この要求を受信することに応答して、EKMは、デバイス・グループの新しい鍵を作成し、この新しい鍵をデバイス・グループの共有鍵識別子に関連付ける。EKMは、新しい鍵を、要求しているLKMに送信する。LKMによる共有鍵の受信は、EKMに対して更新された鍵を要求することに続いて(または代替として、新しい鍵が作成されたという通知をEKMから受信することに応答して)、LKMが、現在の鍵(すなわち、更新された鍵)を要求するために、共有鍵識別子を含んでいる第2の要求をEKMに送信するという、複数のステップのプロセスであってよい。EKMは、共有鍵識別子に対応する共有鍵の値を、要求しているLKMに返すことによって応答する。ブロック1512で、更新された鍵が、LKMによって現在の共有鍵として格納される。本発明の1つまたは複数の実施形態に従って、LKMは、LKMが実行されているノード上のチャネルと他のノード上の他のチャネルとの間の現在の通信セッションまたはSAを追跡する。現在の通信セッションの各々は、セッションが終了するか、またはセッション鍵再生成タイマの期限が切れるまで、前の共有鍵(すなわち、新しい共有鍵が作成される前に使用されていた共有鍵)を使用し続ける。LKMが、現在の通信セッションが前の共有鍵をもはや使用していないということを決定した後に、ブロック1514で、前の共有鍵が取り消される。本発明の1つまたは複数の実施形態に従って、LKMは、SAを使用している現在の通信セッションの状態に関する情報を格納した。
ブロック1504で、セッション鍵再生成タイマの期限が切れたということが決定された場合、ブロック1516で処理が続行する。前述したように、セッション鍵再生成タイマは、セッション鍵(複数の鍵を含んでよい)が図5のHBA518およびHBA522などの2つのチャネル間の通信セッションに有効なままである、時間の量に関連している。本発明の1つまたは複数の実施形態に従って、コンピューティング環境内の各ノードでのLKMは、コンピューティング環境内のノード上のチャネルと他のノード上のチャネルとの間の処理中である通信セッションごとに別々のセッション鍵再生成タイマを制御する(例えば、開始して監視する)。各セッション鍵再生成タイマは、チャネルの対に関連付けられる(各対は、LKMが実行されているノード上のチャネルを含んでいる)。
ブロック1516で、LKMが、期限が切れたセッション鍵再生成タイマに関連付けられたチャネルの対が位置しているノードに関連付けられた現在の共有鍵にアクセスする。ブロック1518で、LKMが、図5および図6に関して前述した方法などの方法で、SKE SA初期化要求メッセージを構築する。ブロック1520で、SKE SA初期化要求メッセージが、セッション鍵の再ネゴシエーションを開始するために、他のノード上のチャネルに送信される。本発明の1つまたは複数の実施形態に従って、再ネゴシエーションは、チャネルの対間でSKE SA初期化要求メッセージ、SKE SA初期化応答メッセージ、SKE認証要求メッセージ、およびSKE認証応答メッセージを交換することを含む。
鍵を更新または再生する能力を提供することは、セキュリティの別の層をシステムにもたらす。本発明の一部の実施形態に従って、共有鍵は、セッション鍵より少ない頻度で更新される。
図15のプロセス・フロー図は、プロセス1500の動作がいずれかの特定の順序で実行されるということも、プロセス1500の動作のすべてがすべての事例に含まれるということも、示すよう意図されていない。さらに、プロセス1500は、任意の適切な数の追加の動作を含むことができる。
本明細書ではさまざまな実施形態が説明されたが、他の変形形態および実施形態が可能である。
本発明の1つまたは複数の態様は、コンピュータ技術に密接に関係しており、コンピュータ内の処理を容易にし、その性能を改善する。1つの例では、ノード間のリンクを認証することにおいて性能強化が実現される。これらのリンクは、リンクによって結合されたノード間でメッセージを安全に送信するために使用される。1つまたは複数の態様は、リンクの初期化時間を短縮するか、コンピュータ環境内の生産性を向上させるか、コンピュータ環境内のセキュリティを強化するか、またはシステム性能を向上させるか、あるいはその組み合わせを行う。
エミュレーション環境を含むが、これに限定されない、さらに他の種類のコンピューティング環境が、本発明の1つまたは複数の態様を組み込んで使用してもよく、その例が、図16Aを参照して説明される。この例では、コンピューティング環境35は、例えば、1つまたは複数のバス43または他の接続あるいはその両方を介して互いに結合された、ネイティブ中央処理装置(CPU)37、メモリ39、および1つまたは複数の入出力デバイスまたはインターフェイスあるいはその両方41を含む。例として、コンピューティング環境35は、International Business Machines Corporation(ニューヨーク州アーモンク)によって提供されるPowerPCプロセッサ、あるいはInternational Business Machines Corporation、Intel、または他の企業によって提供されるアーキテクチャに基づく他のマシン、あるいはその組み合わせを含んでよい。
ネイティブ中央処理装置37は、環境内で処理中に使用される1つまたは複数の汎用レジスタまたは1つまたは複数の専用レジスタあるいはその両方などの、1つまたは複数のネイティブ・レジスタ45を含む。これらのレジスタは、いずれかの特定の時点での環境の状態を表す情報を含む。
さらに、ネイティブ中央処理装置37は、メモリ39に格納された命令およびコードを実行する。1つの特定の例では、中央処理装置は、メモリ39に格納されたエミュレータ・コード47を実行する。このコードは、あるアーキテクチャで構成されたコンピューティング環境が、別のアーキテクチャをエミュレートできるようにする。例えば、エミュレータ・コード47は、z/Architecture以外のアーキテクチャに基づくマシン(PowerPCプロセッサ、あるいは他のサーバまたはプロセッサなど)が、z/Architectureをエミュレートし、z/Architectureに基づいて開発されたソフトウェアおよび命令を実行できるようにする。
エミュレータ・コード47に関連する詳細が、図16Bを参照してさらに説明される。メモリ39に格納されたゲスト命令49は、ネイティブCPU37のアーキテクチャ以外のアーキテクチャにおいて実行されるように開発された(例えば、マシン命令と相互関係がある)ソフトウェア命令を含む。例えば、ゲスト命令49は、z/Architectureプロセッサ上で実行するように設計されてよいが、代わりに、例えばインテル・プロセッサであってよい、ネイティブCPU37上でエミュレートされる。1つの例では、エミュレータ・コード47は、メモリ39から1つまたは複数のゲスト命令49を取得するため、および取得された命令のローカル・バッファリングを任意選択的に提供するための命令フェッチ・ルーチン51を含む。エミュレータ・コード47は、取得されたゲスト命令の種類を決定するため、およびゲスト命令を、1つまたは複数の対応するネイティブ命令55に変換するための命令変換ルーチン53も含む。この変換は、例えば、ゲスト命令によって実行される機能を識別すること、およびこの機能を実行するためのネイティブ命令を選択することを含む。
さらに、エミュレータ・コード47は、ネイティブ命令の実行を引き起こすためのエミュレーション制御ルーチン57を含む。エミュレーション制御ルーチン57は、ネイティブCPU37に、1つまたは複数のすでに取得されたゲスト命令をエミュレートするネイティブ命令のルーチンを実行させ、そのような実行の終了時に、次のゲスト命令またはゲスト命令のグループの取得をエミュレートするために、制御を命令フェッチ・ルーチンに返してよい。ネイティブ命令55の実行は、データをメモリ39からレジスタに読み込むこと、データをレジスタからメモリに再び格納すること、あるいは変換ルーチンによって決定された何らかの種類の算術演算または論理演算を実行することを含んでよい。
例えば、各ルーチンは、メモリに格納されてネイティブ中央処理装置37によって実行されるソフトウェアにおいて実装される。他の例では、ルーチンまたは動作のうちの1つまたは複数は、ファームウェア、ハードウェア、ソフトウェア、またはこれらの何らかの組み合わせにおいて実装される。エミュレートされたプロセッサのレジスタは、ネイティブCPUのレジスタ45を使用して、またはメモリ39内の位置を使用することによって、エミュレートされてよい。実施形態では、ゲスト命令49、ネイティブ命令55、およびエミュレータ・コード37は、同じメモリ内に存在してよく、または異なるメモリ・デバイス間で分配されてよい。
1つまたは複数の態様がクラウド・コンピューティングに関連してよい。
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と組み合わせて実装できる。
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を特定できる場合がある。
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用状況は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷分散を調整するためのクラウド・バースト)によって固有の実体を維持したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合体である。
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
ここで図17を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード52を含んでいる。ノード52は、互いに通信してよい。ノード52は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせをサービスとして提供できる。図17に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード52およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス指定可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ化したデバイスと通信することができると理解される。
ここで図18を参照すると、クラウド・コンピューティング環境50(図17)によって提供される機能的抽象レイヤのセットが示されている。図18に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供してよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよび他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書またはインボイスの送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、および認証処理96が挙げられる。
本発明の態様は、任意の可能な技術的詳細統合レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用して電子回路をカスタマイズすることによって、コンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、また、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施するように、コンピュータ実装プロセスを作出するべく、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれて、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行させてもよい。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、モジュール、セグメント、または命令の部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、関与する機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、指定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも留意されたい。
上に加えて、顧客の環境の管理を提供するサービス・プロバイダによって、1つまたは複数の態様が提供されること、提示されること、デプロイされること、管理されること、サービス提供されることなどが行われてよい。例えば、サービス・プロバイダは、1人または複数の顧客のために1つまたは複数の態様を実行するコンピュータ・コードまたはコンピュータ・インフラストラクチャあるいはその両方を作成すること、維持すること、サポートすることなどを行うことができる。その見返りとして、サービス・プロバイダは、例えばサブスクリプションまたは料金契約あるいはその両方の下で、顧客から支払いを受け取ってよい。追加または代替として、サービス・プロバイダは、1つまたは複数のサード・パーティへの広告コンテンツの販売から支払いを受け取ってよい。
1つの態様では、1つまたは複数の実施形態を実行するために、アプリケーションがデプロイされてよい。1つの例として、アプリケーションのデプロイは、1つまたは複数の実施形態を実行するように動作可能なコンピュータ・インフラストラクチャを提供することを含む。
さらに別の態様として、コンピュータ可読コードをコンピューティング・システムに統合することを含むコンピューティング・インフラストラクチャがデプロイされてよく、このコンピューティング・インフラストラクチャでは、コンピューティング・システムと組み合わせたコードが、1つまたは複数の実施形態を実行できる。
さらに別の態様として、コンピュータ可読コードをコンピュータ・システムに統合することを含んでいる、コンピューティング・インフラストラクチャを統合するためのプロセスが提供されてよい。コンピュータ・システムは、コンピュータ可読媒体を備え、このコンピュータ可読媒体では、コンピュータ媒体が1つまたは複数の実施形態を含む。コンピュータ・システムと組み合わせたコードは、1つまたは複数の実施形態を実行できる。
上ではさまざまな実施形態が説明されたが、それらは単なる例である。例えば、1つまたは複数の実施形態を組み込んで使用するために、他のアーキテクチャのコンピューティング環境が使用されることができる。さらに、さまざまな命令、コマンド、または動作が使用されてよい。さらに、他のセキュリティ・プロトコル、送信プロトコル、または規格、あるいはその組み合わせが採用されてよい。多くの変形形態が可能である。
さらに、他の種類のコンピューティング環境が、恩恵を受けることができ、使用されることができる。一例として、プログラム・コードの格納または実行あるいはその両方を行うのに適した、システム・バスを介して直接的または間接的にメモリ素子に結合された少なくとも2つのプロセッサを含んでいる、データ処理システムを使用できる。これらのメモリ素子は、例えば、プログラム・コードの実際の実行時に使用されるローカル・メモリ、バルク・ストレージ、および実行時にバルク・ストレージからコードが取得されなければならない回数を減らすために少なくとも一部のプログラム・コードを一時的に格納するキャッシュ・メモリを含む。
入出力デバイスまたはI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイス、DASD、テープ、CD、DVD、サム・ドライブ、および他の記憶媒体などを含むが、これらに限定されない)は、直接的に、または介在するI/Oコントローラを通じて、システムに結合できる。ネットワーク・アダプタがシステムに結合され、介在するプライベート・ネットワークまたはパブリック・ネットワークを通じて、データ処理システムを、他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに結合できるようにしてもよい。モデム、ケーブル・モデム、およびイーサネット(R)・カードは、使用可能なネットワーク・アダプタのうちの、ごくわずかの種類にすぎない。
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、制限することを意図していない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、特に明示的に示されない限り、複数形も含むことが意図されている。「備える(comprise)」または「備えている(comprising)」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示すが、1つまたは複数の他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外していないということが、さらに理解されるであろう。
以下の特許請求の範囲内のすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および等価なものは、もしあれば、具体的に請求されるとき、他の請求される要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図されている。1つまたは複数の実施形態の説明は、例示および説明の目的で提示されているが、網羅的であることは意図されておらず、開示された形態に限定されない。多くの変更および変形形態が、当業者にとって明らかであろう。さまざまな態様および実際的な適用を最も適切に説明するため、および他の当業者が、企図されている特定の用途に適しているようなさまざまな変更を伴う多様な実施形態を理解できるようにするために、実施形態が選択されて説明された。

Claims (20)

  1. コンピューティング環境内の処理を容易にするためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、
    1つまたは複数の処理回路によって読み取り可能な、動作を実行するための命令を格納しているコンピュータ可読ストレージ媒体を備え、前記動作が、
    応答ノード上の応答チャネルから、開始ノード上の開始チャネルで認証応答メッセージを受信して、安全な通信を確立することであって、ローカル鍵マネージャ(LKM)での前記受信が前記開始ノード上で実行される、前記確立することと、
    前記開始ノードおよび前記応答ノードのセキュリティ・アソシエーションに基づいて状態チェックを実行することと、
    前記認証応答メッセージの妥当性確認を実行することと、
    選択された暗号化アルゴリズムの識別子を、前記認証応答メッセージから抽出することと、
    前記開始チャネルに対して、状態チェックの成功、妥当性確認の成功、および前記選択された暗号化アルゴリズムに少なくとも部分的に基づいて、前記応答チャネルと通信するよう要求することとを含む、コンピュータ・プログラム製品。
  2. 前記応答チャネルと前記開始チャネルとの間の通信がストレージ・エリア・ネットワーク(SAN)を介する、請求項1に記載のコンピュータ・プログラム製品。
  3. 前記動作が、
    以前に受信された初期化メッセージから抽出された1つまたは複数のパラメータに少なくとも部分的に基づいて応答側の署名を計算することと、
    さらなる妥当性確認として、前記応答側の署名を、前記認証応答メッセージから抽出された署名と比較することとをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
  4. 前記応答側の署名が、開始側のノンス、共有鍵、応答側の識別子、および暗号鍵のセットからの少なくとも1つの鍵に基づいて計算される、請求項3に記載のコンピュータ・プログラム製品。
  5. 前記動作が、前記認証応答メッセージのペイロードを復号することをさらに含み、前記認証応答メッセージの妥当性確認が、前記ペイロードを復号することに基づいて1つまたは複数のメッセージ・ヘッダー・パラメータおよび前記ペイロードの識別子をチェックすることを含む、請求項1に記載のコンピュータ・プログラム製品。
  6. 前記状態チェックが、前記開始ノードのセキュリティ・アソシエーション状態を検証することをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
  7. 前記状態チェックが、前記LKMの最後に受信されたメッセージの状態および最後に送信されたメッセージの状態を検証することをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
  8. 前記動作が、失敗した妥当性確認結果に基づいて、または前記認証応答メッセージが、前記応答ノードでのエラー条件を示す通知タイプ・メッセージを含むということの決定に基づいて、前記認証応答メッセージを拒否することをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
  9. 前記LKMがコンピュータ・システムの論理パーティションを実行する、請求項1に記載のコンピュータ・プログラム製品。
  10. 前記応答ノードがホスト・コンピュータまたはストレージ・アレイである、請求項1に記載のコンピュータ・プログラム製品。
  11. 前記動作が、前記選択された暗号化アルゴリズムを使用して前記開始チャネルと応答チャネルとの間の暗号化された通信を可能にするために、1つまたは複数のセッション鍵、開始側のセキュリティ・パラメータ・インデックス(SPI)、および応答側のSPIを含んでいるLKM完了メッセージを構築することをさらに含む、請求項1に記載のコンピュータ・プログラム製品。
  12. 前記動作が、外部鍵マネージャに対して鍵再生成プロセスをトリガーする鍵再生成タイマを開始することをさらに含む、請求項11に記載のコンピュータ・プログラム製品。
  13. 前記動作が、セキュリティ・アソシエーション状態を完了に設定することと、前記鍵再生成タイマの開始後に、前記LKM完了メッセージを前記開始チャネルに送信することとをさらに含む、請求項12に記載のコンピュータ・プログラム製品。
  14. コンピューティング環境内の処理を容易にするコンピュータ実装方法であって、前記コンピュータ実装方法が、
    応答ノード上の応答チャネルから、開始ノード上の開始チャネルで認証応答メッセージを受信して、安全な通信を確立することであって、ローカル鍵マネージャ(LKM)での前記受信が前記開始ノード上で実行される、前記確立することと、
    前記開始ノードおよび前記応答ノードのセキュリティ・アソシエーションに基づいて状態チェックを実行することと、
    前記認証応答メッセージの妥当性確認を実行することと、
    選択された暗号化アルゴリズムの識別子を、前記認証応答メッセージから抽出することと、
    前記開始チャネルに対して、状態チェックの成功、妥当性確認の成功、および前記選択された暗号化アルゴリズムに少なくとも部分的に基づいて、前記応答チャネルと通信するよう要求することとを含む、コンピュータ実装方法。
  15. 以前に受信された初期化メッセージから抽出された1つまたは複数のパラメータに少なくとも部分的に基づいて応答側の署名を計算することであって、前記応答側の署名が、開始側のノンス、共有鍵、応答側の識別子、および暗号鍵のセットからの少なくとも1つの鍵に基づいて計算される、前記計算することと、
    さらなる妥当性確認として、前記応答側の署名を、前記認証応答メッセージから抽出された署名と比較することとをさらに含む、請求項14に記載のコンピュータ実装方法。
  16. 前記認証応答メッセージのペイロードを復号することをさらに含み、前記認証応答メッセージの妥当性確認が、前記ペイロードを復号することに基づいて1つまたは複数のメッセージ・ヘッダー・パラメータおよび前記ペイロードの識別子をチェックすることを含む、請求項14に記載のコンピュータ実装方法。
  17. 前記状態チェックが、前記開始ノードのセキュリティ・アソシエーション状態を検証することをさらに含み、前記状態チェックが、前記LKMの最後に受信されたメッセージの状態および最後に送信されたメッセージの状態を検証することをさらに含む、請求項14に記載のコンピュータ実装方法。
  18. 前記選択された暗号化アルゴリズムを使用して前記開始チャネルと応答チャネルとの間の暗号化された通信を可能にするために、1つまたは複数のセッション鍵、開始側のセキュリティ・パラメータ・インデックス(SPI)、および応答側のSPIを含んでいるLKM完了メッセージを構築することと、
    外部鍵マネージャに対して鍵再生成プロセスをトリガーする鍵再生成タイマを開始することとをさらに含む、請求項14に記載のコンピュータ実装方法。
  19. コンピューティング環境内の処理を容易にするためのコンピュータ・システムであって、前記コンピュータ・システムが、
    開始ノードと、
    前記開始ノードに結合された複数のチャネルとを備えており、前記コンピュータ・システムが動作を実行するように構成されており、前記動作が、
    応答ノード上の応答チャネルから、前記開始ノード上の開始チャネルで認証応答メッセージを受信して、安全な通信を確立することであって、ローカル鍵マネージャ(LKM)での前記受信が前記開始ノード上で実行される、前記確立することと、
    前記開始ノードおよび前記応答ノードのセキュリティ・アソシエーションに基づいて状態チェックを実行することと、
    前記認証応答メッセージの妥当性確認を実行することと、
    選択された暗号化アルゴリズムの識別子を、前記認証応答メッセージから抽出することと、
    前記開始チャネルに対して、状態チェックの成功、妥当性確認の成功、および前記選択された暗号化アルゴリズムに少なくとも部分的に基づいて、前記応答チャネルと通信するよう要求することとを含む、コンピュータ・システム。
  20. 前記開始ノードがホスト・コンピュータであり、前記LKMが、前記ホスト・コンピュータの論理パーティション内で実行され、前記応答ノードがストレージ・アレイである、請求項19に記載のコンピュータ・システム。
JP2022548799A 2020-02-26 2021-02-16 コンピューティング環境内での安全な鍵交換 Active JP7523556B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/801,319 2020-02-26
US16/801,319 US11184160B2 (en) 2020-02-26 2020-02-26 Channel key loading in a computing environment
PCT/IB2021/051287 WO2021171134A1 (en) 2020-02-26 2021-02-16 Secure key exchange in a computing environment

Publications (2)

Publication Number Publication Date
JP2023514826A true JP2023514826A (ja) 2023-04-11
JP7523556B2 JP7523556B2 (ja) 2024-07-26

Family

ID=77366403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022548799A Active JP7523556B2 (ja) 2020-02-26 2021-02-16 コンピューティング環境内での安全な鍵交換

Country Status (10)

Country Link
US (2) US11184160B2 (ja)
JP (1) JP7523556B2 (ja)
KR (1) KR20220132557A (ja)
CN (1) CN115039389B (ja)
AU (1) AU2021225416B2 (ja)
CA (1) CA3162797A1 (ja)
DE (1) DE112021001270T5 (ja)
GB (1) GB2608530A (ja)
IL (1) IL294779A (ja)
WO (1) WO2021171134A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11405215B2 (en) * 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11310036B2 (en) 2020-02-26 2022-04-19 International Business Machines Corporation Generation of a secure key exchange authentication request in a computing environment
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
WO2024040146A2 (en) * 2022-08-17 2024-02-22 Board Regents Of The University Nebraska Strainer insert for matrix separation within a centrifuge tube
CN116743413B (zh) * 2022-10-26 2024-04-12 荣耀终端有限公司 一种物联网设备认证方法及电子设备
WO2024136890A1 (en) * 2022-12-19 2024-06-27 Visa International Service Association Method and systems for improving computer network security

Family Cites Families (223)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881263A (en) 1987-09-25 1989-11-14 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US5293029A (en) 1989-01-17 1994-03-08 Kabushiki Kaisha Toshiba System for mutually certifying an IC card and an IC card terminal
GB8916489D0 (en) 1989-07-19 1989-09-06 British Telecomm Data communication method and system
US5235644A (en) 1990-06-29 1993-08-10 Digital Equipment Corporation Probabilistic cryptographic processing method
US6182215B1 (en) 1997-02-28 2001-01-30 Matsushita Electric Industrial Co., Ltd. Information devices which select and use one out of plurality of encryption utilization protocols for protecting copyrights of digital productions
US6490680B1 (en) 1997-12-04 2002-12-03 Tecsec Incorporated Access control and authorization system
US6263437B1 (en) 1998-02-19 2001-07-17 Openware Systems Inc Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
US6178511B1 (en) 1998-04-30 2001-01-23 International Business Machines Corporation Coordinating user target logons in a single sign-on (SSO) environment
US6243816B1 (en) 1998-04-30 2001-06-05 International Business Machines Corporation Single sign-on (SSO) mechanism personal key manager
US6240512B1 (en) 1998-04-30 2001-05-29 International Business Machines Corporation Single sign-on (SSO) mechanism having master key synchronization
US6275944B1 (en) 1998-04-30 2001-08-14 International Business Machines Corporation Method and system for single sign on using configuration directives with respect to target types
US7174457B1 (en) 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
JP2000181803A (ja) 1998-12-18 2000-06-30 Fujitsu Ltd 鍵管理機能付電子データ保管装置および電子データ保管方法
US6661896B1 (en) 1998-12-30 2003-12-09 Howard S. Barnett Computer network security system and method
US6636968B1 (en) 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
US6886095B1 (en) 1999-05-21 2005-04-26 International Business Machines Corporation Method and apparatus for efficiently initializing secure communications among wireless devices
US6263435B1 (en) 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication
US7089211B1 (en) 2000-01-12 2006-08-08 Cisco Technology, Inc. Directory enabled secure multicast group communications
GB2365153A (en) 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
US7362868B2 (en) 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7181762B2 (en) 2001-01-17 2007-02-20 Arcot Systems, Inc. Apparatus for pre-authentication of users using one-time passwords
US7266687B2 (en) 2001-02-16 2007-09-04 Motorola, Inc. Method and apparatus for storing and distributing encryption keys
US7765329B2 (en) 2002-06-05 2010-07-27 Silicon Graphics International Messaging between heterogeneous clients of a storage area network
US7181015B2 (en) 2001-07-31 2007-02-20 Mcafee, Inc. Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique
US7879111B2 (en) 2006-11-02 2011-02-01 Sony Corporation System and method for RFID transfer of MAC, keys
CN1184833C (zh) 2001-12-21 2005-01-12 华为技术有限公司 一种基于移动国家码确定保密通信中加密算法的方法
US7965843B1 (en) 2001-12-27 2011-06-21 Cisco Technology, Inc. Methods and apparatus for security over fibre channel
JP3629237B2 (ja) 2001-12-28 2005-03-16 株式会社東芝 ノード装置及び通信制御方法
US7251635B2 (en) 2002-02-25 2007-07-31 Schlumberger Omnes, Inc. Method and apparatus for managing a key management system
US7362865B2 (en) 2002-04-15 2008-04-22 Hewlett-Packard Development Company, L.P. Wireless network system
US7246232B2 (en) 2002-05-31 2007-07-17 Sri International Methods and apparatus for scalable distributed management of wireless virtual private networks
US7565537B2 (en) 2002-06-10 2009-07-21 Microsoft Corporation Secure key exchange with mutual authentication
US7773754B2 (en) 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US20040103220A1 (en) 2002-10-21 2004-05-27 Bill Bostick Remote management system
EP1416665A2 (en) 2002-10-31 2004-05-06 Matsushita Electric Industrial Co., Ltd. Communication device, communication system, and cryptographic algorithm selection method
US20060005237A1 (en) 2003-01-30 2006-01-05 Hiroshi Kobata Securing computer network communication using a proxy server
TW200421813A (en) 2003-04-03 2004-10-16 Admtek Inc Encryption/decryption device of WLAN and method thereof
US20060129812A1 (en) 2003-07-07 2006-06-15 Mody Sachin S Authentication for admitting parties into a network
US7356587B2 (en) 2003-07-29 2008-04-08 International Business Machines Corporation Automatically detecting malicious computer network reconnaissance by updating state codes in a histogram
US20050135622A1 (en) 2003-12-18 2005-06-23 Fors Chad M. Upper layer security based on lower layer keying
US7548744B2 (en) 2003-12-19 2009-06-16 General Motors Corporation WIFI authentication method
US7697501B2 (en) 2004-02-06 2010-04-13 Qualcomm Incorporated Methods and apparatus for separating home agent functionality
US7624269B2 (en) 2004-07-09 2009-11-24 Voltage Security, Inc. Secure messaging system with derived keys
US20060047601A1 (en) 2004-08-25 2006-03-02 General Instrument Corporation Method and apparatus for providing channel key data
US7899189B2 (en) 2004-12-09 2011-03-01 International Business Machines Corporation Apparatus, system, and method for transparent end-to-end security of storage data in a client-server environment
CN101120569B (zh) 2004-12-28 2011-07-27 意大利电信股份公司 用户从用户终端远程访问终端设备的远程访问系统和方法
CN1838590B (zh) 2005-03-21 2011-01-19 松下电器产业株式会社 在会话起始协议信号过程提供因特网密钥交换的方法及系统
JP2006270363A (ja) * 2005-03-23 2006-10-05 Matsushita Electric Ind Co Ltd 秘密通信設定方法、および秘密通信設定システム
KR100749846B1 (ko) 2005-06-22 2007-08-16 한국전자통신연구원 무선 휴대 인터넷 시스템의 mac 계층에서 보안 기능을 구현하기 위한 장치 및 이를 이용한 인증 방법
US20070038679A1 (en) 2005-08-15 2007-02-15 Mcdata Corporation Dynamic configuration updating in a storage area network
JP4647479B2 (ja) 2005-12-14 2011-03-09 日本電信電話株式会社 IPsec回路及びIPsec処理方法
WO2007091002A1 (en) 2006-02-07 2007-08-16 Nextenders (India) Private Limited Document security management system
US7809354B2 (en) 2006-03-16 2010-10-05 Cisco Technology, Inc. Detecting address spoofing in wireless network environments
US9002018B2 (en) 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
JP2008011512A (ja) 2006-06-01 2008-01-17 Canon Inc データ処理装置、データ記憶装置およびそれらのデータ処理方法
US20080063209A1 (en) 2006-09-07 2008-03-13 International Business Machines Corporation Distributed key store
KR20090067178A (ko) 2006-09-21 2009-06-24 인터디지탈 테크날러지 코포레이션 그룹 단위 비밀키 발생
US20080095114A1 (en) 2006-10-21 2008-04-24 Toshiba America Research, Inc. Key Caching, QoS and Multicast Extensions to Media-Independent Pre-Authentication
CN101212293B (zh) 2006-12-31 2010-04-14 普天信息技术研究院 一种身份认证方法及系统
US20080165973A1 (en) 2007-01-09 2008-07-10 Miranda Gavillan Jose G Retrieval and Display of Encryption Labels From an Encryption Key Manager
US7805566B2 (en) 2007-03-29 2010-09-28 Hewlett-Packard Development Company, L.P. Replication in storage systems using a target port mimicking a host initiator port
US8635461B2 (en) 2007-05-22 2014-01-21 International Business Machines Corporation Retrieval and display of encryption labels from an encryption key manager certificate ID attached to key certificate
JP5288087B2 (ja) 2007-06-11 2013-09-11 日本電気株式会社 秘匿通信ネットワークにおける暗号鍵管理方法および装置
EP2037652A3 (en) * 2007-06-19 2009-05-27 Panasonic Corporation Methods and apparatuses for detecting whether user equipment resides in a trusted or a non-trusted access network
US9384777B2 (en) 2007-08-17 2016-07-05 International Business Machines Corporation Efficient elimination of access to data on a writable storage media
US9299385B2 (en) 2007-08-17 2016-03-29 International Business Machines Corporation Efficient elimination of access to data on a writable storage media
US9111568B2 (en) 2007-08-20 2015-08-18 International Business Machines Corporation Bulk data erase utilizing an encryption technique
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
US8645715B2 (en) 2007-09-11 2014-02-04 International Business Machines Corporation Configuring host settings to specify an encryption setting and a key label referencing a key encryption key to use to encrypt an encryption key provided to a storage drive to use to encrypt data from the host
US8249256B2 (en) 2007-11-06 2012-08-21 Motorola Solutions, Inc. Method for providing fast secure handoff in a wireless mesh network
CN101436930A (zh) 2007-11-16 2009-05-20 华为技术有限公司 一种密钥分发的方法、系统和设备
US8498417B1 (en) 2007-12-27 2013-07-30 Emc Corporation Automation of coordination of encryption keys in a SAN based environment where an encryption engine, device management, and key management are not co-located
US9495561B2 (en) 2008-01-08 2016-11-15 International Business Machines Corporation Target of opportunity recognition during an encryption related process
US9830278B1 (en) 2008-03-06 2017-11-28 EMC IP Holding Company LLC Tracking replica data using key management
EP2272235B1 (en) 2008-03-25 2018-05-30 Alcatel Lucent Methods and entities using ipsec esp to support security functionality for udp-based oma enablers
US8855318B1 (en) 2008-04-02 2014-10-07 Cisco Technology, Inc. Master key generation and distribution for storage area network devices
US20100031045A1 (en) 2008-07-30 2010-02-04 Lakshmi Narasimham Gade Methods and system and computer medium for loading a set of keys
CN101662360B (zh) 2008-08-29 2011-09-14 公安部第三研究所 一种基于短信消息服务的可认证对称密钥协商方法
US8401195B2 (en) 2008-09-22 2013-03-19 Motorola Solutions, Inc. Method of automatically populating a list of managed secure communications group members
US20100154053A1 (en) 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
CN101409619B (zh) 2008-11-25 2011-06-01 普天信息技术研究院有限公司 闪存卡及虚拟专用网密钥交换的实现方法
US20100157889A1 (en) 2008-12-18 2010-06-24 Motorola, Inc. System and method for improving efficiency of broadcast communications in a multi-hop wireless mesh network
US8391494B1 (en) 2009-02-26 2013-03-05 Symantec Corporation Systems and methods for protecting enterprise rights management keys
JP2012520027A (ja) * 2009-03-06 2012-08-30 インターデイジタル パテント ホールディングス インコーポレイテッド 無線装置のプラットフォームの検証と管理
US20110320706A1 (en) 2009-03-12 2011-12-29 Hitachi, Ltd. Storage apparatus and method for controlling the same
US9355267B2 (en) 2009-03-26 2016-05-31 The University Of Houston System Integrated file level cryptographical access control
US8798034B2 (en) 2009-03-31 2014-08-05 Motorola Solutions, Inc. System and method for selecting a route based on link metrics incorporating channel bandwidth, spatial streams and/or guard interval in a multiple-input multiple-output (MIMO) network
US8266433B1 (en) 2009-04-30 2012-09-11 Netapp, Inc. Method and system for automatically migrating encryption keys between key managers in a network storage system
WO2010141375A2 (en) 2009-06-01 2010-12-09 Phatak Dhananjay S System, method, and apparata for secure communications using an electrical grid network
US8296567B2 (en) 2009-07-15 2012-10-23 Research In Motion Limited System and method for exchanging key generation parameters for secure communications
US8195956B2 (en) 2009-08-17 2012-06-05 Brocade Communications Systems, Inc. Re-keying data in place
CN102014381B (zh) 2009-09-08 2012-12-12 华为技术有限公司 加密算法协商方法、网元及移动台
US8630416B2 (en) 2009-12-21 2014-01-14 Intel Corporation Wireless device and method for rekeying with reduced packet loss for high-throughput wireless communications
KR101706117B1 (ko) 2010-01-15 2017-02-14 삼성전자주식회사 휴대용 단말기에서 다른 휴대용 단말기를 인증하는 장치 및 방법
CN102236939B (zh) 2010-05-05 2012-12-26 国民技术股份有限公司 一种带低频磁通信的射频通信接入方法
US9350708B2 (en) 2010-06-01 2016-05-24 Good Technology Corporation System and method for providing secured access to services
US9147081B2 (en) 2010-07-27 2015-09-29 Infinidat Ltd. Method of access control to stored information and system thereof
CN101917272B (zh) 2010-08-12 2012-07-18 西安西电捷通无线网络通信股份有限公司 一种邻居用户终端间保密通信方法及系统
CN102006294B (zh) 2010-11-25 2014-08-20 中兴通讯股份有限公司 Ims多媒体通信方法和系统、终端及ims核心网
US8200868B1 (en) 2010-12-30 2012-06-12 Google Inc. Peripheral device detection with short-range communication
US8701169B2 (en) 2011-02-11 2014-04-15 Certicom Corp. Using a single certificate request to generate credentials with multiple ECQV certificates
US8838550B1 (en) 2011-06-27 2014-09-16 Amazon Technologies, Inc. Readable text-based compression of resource identifiers
US8943318B2 (en) 2012-05-11 2015-01-27 Verizon Patent And Licensing Inc. Secure messaging by key generation information transfer
EP2733885A4 (en) 2011-07-15 2015-06-17 Hitachi Ltd METHOD FOR DETERMINING AN ENCRYPTION ALGORITHM USED FOR A SIGNATURE AND VERIFICATION SERVER AND PROGRAM THEREFOR
US8798273B2 (en) 2011-08-19 2014-08-05 International Business Machines Corporation Extending credential type to group Key Management Interoperability Protocol (KMIP) clients
JP5624526B2 (ja) 2011-08-26 2014-11-12 株式会社東芝 鍵共有装置、鍵共有方法および鍵共有プログラム
US8769310B2 (en) 2011-10-21 2014-07-01 International Business Machines Corporation Encrypting data objects to back-up
US9390228B2 (en) 2011-10-31 2016-07-12 Reid Consulting Group, Inc. System and method for securely storing and sharing information
KR101388724B1 (ko) 2011-11-11 2014-04-25 닛본 덴끼 가부시끼가이샤 데이터베이스 암호화 시스템과 방법 및 컴퓨터 판독가능 기록 매체
US9553725B2 (en) 2011-11-21 2017-01-24 Combined Conditional Access Development And Support, Llc System and method for authenticating data
CN103166931A (zh) 2011-12-15 2013-06-19 华为技术有限公司 一种安全传输数据方法,装置和系统
CN102546154B (zh) 2011-12-19 2015-09-16 上海顶竹通讯技术有限公司 移动通信网络中终端的切换方法
CN102572314B (zh) 2011-12-22 2015-01-14 格科微电子(上海)有限公司 图像传感器以及支付认证方法
US9065637B2 (en) 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US9449183B2 (en) 2012-01-28 2016-09-20 Jianqing Wu Secure file drawer and safe
CN102821096B (zh) 2012-07-17 2014-10-29 华中科技大学 一种分布式存储系统及其文件共享方法
US9501646B2 (en) 2012-09-26 2016-11-22 Mitsubishi Electric Corporation Program verification apparatus, program verification method, and computer readable medium
US20190335551A1 (en) 2012-11-08 2019-10-31 Applied Biophotonics Ltd. Distributed Photobiomodulation Therapy Devices And Methods, Biofeedback, And Communication Protocols Therefor
US20140185805A1 (en) 2013-01-03 2014-07-03 Neuropace, Inc. Securely Exchanging Cipher Keys
US9882713B1 (en) 2013-01-30 2018-01-30 vIPtela Inc. Method and system for key generation, distribution and management
US9608813B1 (en) 2013-06-13 2017-03-28 Amazon Technologies, Inc. Key rotation techniques
US9185088B1 (en) 2013-02-19 2015-11-10 Amazon Technologies, Inc. Secure and efficient communication through an intermediary
US9152578B1 (en) 2013-03-12 2015-10-06 Emc Corporation Securing data replication, backup and mobility in cloud storage
US9467283B2 (en) 2013-06-24 2016-10-11 Blackberry Limited Securing method for lawful interception
US9558358B2 (en) 2013-06-27 2017-01-31 Visa International Service Association Random number generator in a virtualized environment
KR102124413B1 (ko) 2013-12-30 2020-06-19 삼성에스디에스 주식회사 아이디 기반 키 관리 시스템 및 방법
US9432838B2 (en) 2013-08-09 2016-08-30 Paypal, Inc. System and methods for account creation using a feature phone
US9124564B2 (en) 2013-08-22 2015-09-01 Cisco Technology, Inc. Context awareness during first negotiation of secure key exchange
RU2663476C2 (ru) 2013-09-20 2018-08-06 Виза Интернэшнл Сервис Ассосиэйшн Защищенная обработка удаленных платежных транзакций, включающая в себя аутентификацию потребителей
US20150117639A1 (en) 2013-10-25 2015-04-30 IdentaChip, LLC Secure and privacy friendly data encryption
KR101447554B1 (ko) 2013-11-08 2014-10-08 한국전자통신연구원 암호화된 파일을 복호화하는 장치 및 그 방법
US9519696B1 (en) 2014-01-07 2016-12-13 Amazon Technologies, Inc. Data transformation policies
US10331895B1 (en) 2014-01-07 2019-06-25 Amazon Technologies, Inc. Forced data transformation policy
US20150281185A1 (en) 2014-03-26 2015-10-01 Cisco Technology, Inc. Cloud Collaboration System With External Cryptographic Key Management
US10043029B2 (en) 2014-04-04 2018-08-07 Zettaset, Inc. Cloud storage encryption
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
US10318754B2 (en) 2014-06-02 2019-06-11 Robert Bosch Gmbh System and method for secure review of audit logs
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US20190018968A1 (en) 2014-07-17 2019-01-17 Venafi, Inc. Security reliance scoring for cryptographic material and processes
GB2528874A (en) 2014-08-01 2016-02-10 Bae Systems Plc Improvements in and relating to secret communications
CN106797311B (zh) 2014-08-29 2020-07-14 维萨国际服务协会 用于安全密码生成的系统、方法和存储介质
EP3189618B1 (en) 2014-09-04 2020-06-17 Koninklijke Philips N.V. Cryptographic system arranged for key sharing
US9331989B2 (en) 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
WO2016131056A1 (en) 2015-02-13 2016-08-18 Visa International Service Association Confidential communication management
US9531536B2 (en) 2015-03-04 2016-12-27 Ssh Communications Oyj Shared keys in a computerized system
TWI566121B (zh) 2015-03-05 2017-01-11 Intelligent components to achieve a logical dual - channel system and its methods
KR101675088B1 (ko) 2015-04-30 2016-11-10 성균관대학교산학협력단 Mtc에서의 네트워크와의 상호 인증 방법 및 시스템
US20200204991A1 (en) 2018-12-21 2020-06-25 Micron Technology, Inc. Memory device and managed memory system with wireless debug communication port and methods for operating the same
US10708236B2 (en) 2015-10-26 2020-07-07 Secturion Systems, Inc. Multi-independent level secure (MILS) storage encryption
US10382409B2 (en) 2015-11-25 2019-08-13 Visa International Service Association Secure multi-party protocol
US10412098B2 (en) 2015-12-11 2019-09-10 Amazon Technologies, Inc. Signed envelope encryption
BR112018012417A2 (pt) 2015-12-21 2018-12-18 Koninklijke Philips N.V. dispositivo de registrando, método de registrando, método de configurador, dispositivo de configurador, e produto de programa de computador
WO2017132136A1 (en) 2016-01-26 2017-08-03 Google Inc. Secure connections for low-power devices
US10382206B2 (en) 2016-03-10 2019-08-13 Futurewei Technologies, Inc. Authentication mechanism for 5G technologies
RU2018137847A (ru) 2016-03-29 2020-04-29 Конинклейке Филипс Н.В. Система и способ для распространения основанного на идентификационной информации ключевого материала и сертификата
US10255201B2 (en) 2016-05-18 2019-04-09 Dell Products, L.P. Local key management for storage devices
US10129219B1 (en) 2016-05-31 2018-11-13 Cavium, Llc Methods and systems for securing data stored at a storage area network
US10097544B2 (en) 2016-06-01 2018-10-09 International Business Machines Corporation Protection and verification of user authentication credentials against server compromise
CN107682891B (zh) 2016-08-02 2019-08-23 电信科学技术研究院 一种确定资源占用状态的方法和装置
WO2018027059A1 (en) 2016-08-03 2018-02-08 KryptCo, Inc. Systems and methods for delegated cryptography
US10742628B2 (en) 2016-08-11 2020-08-11 Unisys Corporation Secured cloud storage broker with enhanced security
US20180063141A1 (en) 2016-08-30 2018-03-01 Verisign, Inc. Integrated dns service provider services using token-based authentication
US20180083958A1 (en) 2016-09-18 2018-03-22 Dmitriy Avilov System and method for network user's authentication and registration by way of third party computing device
US10505729B2 (en) 2016-11-09 2019-12-10 Sap Se Secure database featuring separate operating system user
WO2018096449A1 (en) 2016-11-23 2018-05-31 Telefonaktiebolaget Lm Ericsson (Publ) User identity privacy protection in public wireless local access network, wlan, access
US11140547B2 (en) 2016-11-26 2021-10-05 Huawei Technologies Co., Ltd. Method for securely controlling smart home, and terminal device
US10972265B2 (en) 2017-01-26 2021-04-06 Microsoft Technology Licensing, Llc Addressing a trusted execution environment
US11082418B2 (en) 2017-02-13 2021-08-03 Avalanche Cloud Corporation Privacy ensured brokered identity federation
US10594481B2 (en) 2017-02-21 2020-03-17 International Business Machines Corporation Replicated encrypted data management
US10546130B1 (en) 2017-02-24 2020-01-28 United States Of America As Represented By The Secretary Of The Air Force Timed attestation process
US10503427B2 (en) 2017-03-10 2019-12-10 Pure Storage, Inc. Synchronously replicating datasets and other managed objects to cloud-based storage systems
JP2018182665A (ja) 2017-04-20 2018-11-15 富士通株式会社 通信装置、通信システム及び暗号化通信制御方法
CN109246053B (zh) 2017-05-26 2022-05-24 阿里巴巴集团控股有限公司 一种数据通信方法、装置、设备和存储介质
US11604879B2 (en) 2017-07-12 2023-03-14 Nec Corporation Attestation system, attestation method, and attestation program
US11196711B2 (en) 2017-07-21 2021-12-07 Fisher-Rosemount Systems, Inc. Firewall for encrypted traffic in a process control system
US10841089B2 (en) 2017-08-25 2020-11-17 Nutanix, Inc. Key managers for distributed computing systems
CN109429232A (zh) 2017-09-04 2019-03-05 华为技术有限公司 网络接入和接入控制方法、装置
US10361859B2 (en) 2017-10-06 2019-07-23 Stealthpath, Inc. Methods for internet communication security
US11108751B2 (en) 2017-10-27 2021-08-31 Nicira, Inc. Segmentation of encrypted segments in networks
US10785199B1 (en) 2017-11-27 2020-09-22 Amazon Technologies, Inc. Distribution of derived authentication keys to authentication servers based on trust level
KR102456579B1 (ko) 2017-12-07 2022-10-20 삼성전자주식회사 암호화 관련 취약점 공격에 강인한 전자 장치 및 그 방법
US11095638B2 (en) 2017-12-11 2021-08-17 Ssh Communications Security Oyj Access security in computer networks
US10749667B2 (en) 2017-12-29 2020-08-18 Hughes Network Systems, Llc System and method for providing satellite GTP acceleration for secure cellular backhaul over satellite
EP3732599A4 (en) 2017-12-29 2021-09-01 Idee Limited SINGLE SIGN-ON (SSO) USING CONTINUOUS AUTHENTICATION
US20190238323A1 (en) 2018-01-31 2019-08-01 Nutanix, Inc. Key managers for distributed computing systems using key sharing techniques
US10637858B2 (en) 2018-02-23 2020-04-28 T-Mobile Usa, Inc. Key-derivation verification in telecommunications network
US10678938B2 (en) 2018-03-30 2020-06-09 Intel Corporation Trustworthy peripheral transfer of ownership
US11347868B2 (en) 2018-04-17 2022-05-31 Domo, Inc Systems and methods for securely managing data in distributed systems
US10715511B2 (en) * 2018-05-03 2020-07-14 Honeywell International Inc. Systems and methods for a secure subscription based vehicle data service
US10820197B2 (en) 2018-05-08 2020-10-27 At&T Intellectual Property I, L.P. Selective disablement of SIP encryption for lawful intercept
KR102626319B1 (ko) 2018-05-23 2024-01-17 삼성전자주식회사 디지털 키를 저장하기 위한 방법 및 전자 디바이스
CN112513857A (zh) 2018-07-27 2021-03-16 百可德罗德公司 可信执行环境中的个性化密码安全访问控制
US11057366B2 (en) 2018-08-21 2021-07-06 HYPR Corp. Federated identity management with decentralized computing platforms
US10833860B2 (en) 2018-09-04 2020-11-10 International Business Machines Corporation Shared key processing by a host to secure links
US11991273B2 (en) 2018-09-04 2024-05-21 International Business Machines Corporation Storage device key management for encrypted host data
US10756887B2 (en) 2018-10-12 2020-08-25 EMC IP Holding Company LLC Method and system for securely replicating encrypted deduplicated storages
US11153085B2 (en) 2018-10-30 2021-10-19 EMC IP Holding Company LLC Secure distributed storage of encryption keys
US11233790B2 (en) 2019-02-22 2022-01-25 Crowd Strike, Inc. Network-based NT LAN manager (NTLM) relay attack detection and prevention
KR20200104043A (ko) 2019-02-26 2020-09-03 삼성전자주식회사 사용자 식별 정보를 저장하기 위한 전자 장치 및 그에 관한 방법
US11196726B2 (en) 2019-03-01 2021-12-07 Cisco Technology, Inc. Scalable IPSec services
US11228434B2 (en) 2019-03-20 2022-01-18 Zettaset, Inc. Data-at-rest encryption and key management in unreliably connected environments
WO2019120326A2 (en) 2019-03-29 2019-06-27 Alibaba Group Holding Limited Managing sensitive data elements in a blockchain network
US11212264B1 (en) 2019-05-30 2021-12-28 Wells Fargo Bank, N.A. Systems and methods for third party data protection
CN110690960B (zh) 2019-09-01 2022-02-22 成都量安区块链科技有限公司 一种中继节点的路由服务方法与装置
US11206144B2 (en) * 2019-09-11 2021-12-21 International Business Machines Corporation Establishing a security association and authentication to secure communication between an initiator and a responder
US11201749B2 (en) * 2019-09-11 2021-12-14 International Business Machines Corporation Establishing a security association and authentication to secure communication between an initiator and a responder
US11245521B2 (en) * 2019-09-25 2022-02-08 International Business Machines Corporation Reverting from a new security association to a previous security association in response to an error during a rekey operation
US11303441B2 (en) * 2019-09-25 2022-04-12 International Business Machines Corporation Reverting from a new security association to a previous security association in response to an error during a rekey operation
US11245697B2 (en) 2019-11-29 2022-02-08 Juniper Networks, Inc. Application-based network security
US11500969B2 (en) 2020-01-03 2022-11-15 Microsoft Technology Licensing, Llc Protecting commercial off-the-shelf program binaries from piracy using hardware enclaves
US11469885B2 (en) 2020-01-09 2022-10-11 Western Digital Technologies, Inc. Remote grant of access to locked data storage device
US11502834B2 (en) 2020-02-26 2022-11-15 International Business Machines Corporation Refreshing keys in a computing environment that provides secure data transfer
US11489821B2 (en) 2020-02-26 2022-11-01 International Business Machines Corporation Processing a request to initiate a secure data transfer in a computing environment
US11652616B2 (en) 2020-02-26 2023-05-16 International Business Machines Corporation Initializing a local key manager for providing secure data transfer in a computing environment
US11184160B2 (en) 2020-02-26 2021-11-23 International Business Machines Corporation Channel key loading in a computing environment
US11405215B2 (en) 2020-02-26 2022-08-02 International Business Machines Corporation Generation of a secure key exchange authentication response in a computing environment
US11546137B2 (en) 2020-02-26 2023-01-03 International Business Machines Corporation Generation of a request to initiate a secure data transfer in a computing environment
US11310036B2 (en) 2020-02-26 2022-04-19 International Business Machines Corporation Generation of a secure key exchange authentication request in a computing environment
US11658984B2 (en) 2020-04-24 2023-05-23 Citrix Systems, Inc. Authenticating access to computing resources
US11277381B2 (en) 2020-04-30 2022-03-15 Kyndryl, Inc. Multi-channel based just-in-time firewall control
US11356418B2 (en) 2020-05-07 2022-06-07 Citrix Systems, Inc. Systems and methods for using unencrypted communication tunnels
LT6793B (lt) 2020-05-18 2020-12-28 Timofey Mochalov Duomenų perdavimo apsaugos būdas naudojant dirbtinį neuroninį tinklą

Also Published As

Publication number Publication date
AU2021225416B2 (en) 2023-02-09
US20220006626A1 (en) 2022-01-06
GB2608530A (en) 2023-01-04
KR20220132557A (ko) 2022-09-30
JP7523556B2 (ja) 2024-07-26
CN115039389B (zh) 2024-02-06
DE112021001270T5 (de) 2023-02-09
US20210266156A1 (en) 2021-08-26
US11184160B2 (en) 2021-11-23
IL294779A (en) 2022-09-01
GB202213463D0 (en) 2022-10-26
CA3162797A1 (en) 2021-09-02
WO2021171134A1 (en) 2021-09-02
CN115039389A (zh) 2022-09-09
US11824974B2 (en) 2023-11-21
AU2021225416A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
JP7523556B2 (ja) コンピューティング環境内での安全な鍵交換
US10764291B2 (en) Controlling access between nodes by a key server
US11405215B2 (en) Generation of a secure key exchange authentication response in a computing environment
US11310036B2 (en) Generation of a secure key exchange authentication request in a computing environment
US11652616B2 (en) Initializing a local key manager for providing secure data transfer in a computing environment
US11502834B2 (en) Refreshing keys in a computing environment that provides secure data transfer
US11563588B2 (en) Securing a path at a selected node
US11489821B2 (en) Processing a request to initiate a secure data transfer in a computing environment
US11546137B2 (en) Generation of a request to initiate a secure data transfer in a computing environment
US10833860B2 (en) Shared key processing by a host to secure links
US11991273B2 (en) Storage device key management for encrypted host data
US10833856B2 (en) Automatic re-authentication of links using a key server
US11025413B2 (en) Securing a storage network using key server authentication
US11522681B2 (en) Securing a path at a node
US9509692B2 (en) Secured access to resources using a proxy
US11038671B2 (en) Shared key processing by a storage device to secure links

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240619

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240716

R150 Certificate of patent or registration of utility model

Ref document number: 7523556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150