特許第5965478号(P5965478)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特許5965478ネットワークにおけるコンポーネントを認証するためのシステムおよび方法
<>
  • 特許5965478-ネットワークにおけるコンポーネントを認証するためのシステムおよび方法 図000002
  • 特許5965478-ネットワークにおけるコンポーネントを認証するためのシステムおよび方法 図000003
  • 特許5965478-ネットワークにおけるコンポーネントを認証するためのシステムおよび方法 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5965478
(24)【登録日】2016年7月8日
(45)【発行日】2016年8月3日
(54)【発明の名称】ネットワークにおけるコンポーネントを認証するためのシステムおよび方法
(51)【国際特許分類】
   G06F 21/44 20130101AFI20160721BHJP
   G09C 1/00 20060101ALI20160721BHJP
【FI】
   G06F21/44
   G09C1/00 640D
【請求項の数】20
【全頁数】12
(21)【出願番号】特願2014-513794(P2014-513794)
(86)(22)【出願日】2012年6月4日
(65)【公表番号】特表2014-517406(P2014-517406A)
(43)【公表日】2014年7月17日
(86)【国際出願番号】US2012040775
(87)【国際公開番号】WO2012167268
(87)【国際公開日】20121206
【審査請求日】2015年5月18日
(31)【優先権主張番号】61/493,330
(32)【優先日】2011年6月3日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ヨンセン,ビョルン−ダグ
(72)【発明者】
【氏名】ホドバ,プレドラグ
(72)【発明者】
【氏名】トルドバッケン,オラ
【審査官】 平井 誠
(56)【参考文献】
【文献】 米国特許第07398394(US,B1)
【文献】 特表2004−528609(JP,A)
【文献】 特表2004−527175(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/44
(57)【特許請求の範囲】
【請求項1】
InfiniBand(IB)ファブリックにおけるファブリックコンポーネントの信頼性を検証する方法であって、
IBファブリックにおけるファブリックコンポーネントに第1の暗号化されたメッセージをサブネットマネージャを介して送信するステップを備え、前記第1の暗号化されたメッセージはトークンを含み、前記ファブリックコンポーネントと関連付けられた公開キーを使用して暗号化され、方法はさらに、
前記ファブリックコンポーネントに当該ファブリックコンポーネントと関連付けられた秘密キーを使用して前記第1の暗号化されたメッセージを復号化させ、前記サブネットマネージャへ第2の暗号化されたメッセージを送信させるステップと、
前記第2の暗号化されたメッセージが正しい情報を含む場合にサブネットマネージャを介して前記ファブリックコンポーネントを認証するステップとを備える、方法。
【請求項2】
前記ファブリックコンポーネントをテナントに指定されたホストチャンネルアダプタ(HCA)ファームウェアまたはハイパーバイザ/OSとするステップをさらに備える、請求項1に記載の方法。
【請求項3】
前記第1の暗号化されたメッセージに含まれる前記トークンをランダムバイトストリングとするステップをさらに備える、請求項1または2に記載の方法。
【請求項4】
前記ファブリックコンポーネントに当該ファブリックコンポーネントと関連付けられた前記秘密キーを埋込型ファームウェアに隠させるステップをさらに備える、請求項1から3のいずれかに記載の方法。
【請求項5】
前記ファブリックコンポーネントに当該ファブリックコンポーネントと関連付けられた前記秘密キーをタンパー防止不揮発性キー記憶部に記憶させるステップをさらに備える、請求項1から4のいずれかに記載の方法。
【請求項6】
前記ファブリックコンポーネントと関連付けられた前記公開キーをレポジトリに記憶するステップをさらに備える、請求項1から5のいずれかに記載の方法。
【請求項7】
前記サブネットマネージャと関連付けられた公開キーを前記第1の暗号化されたメッセージと併せて前記ファブリックコンポーネントに対して送信するステップをさらに備える、請求項1から6のいずれかに記載の方法。
【請求項8】
前記ファブリックコンポーネントに前記サブネットマネージャと関連付けられた前記公開キーを使用して前記第2の暗号化されたメッセージを暗号化させるステップをさらに備える、請求項7に記載の方法。
【請求項9】
前記サブネットマネージャと関連付けられた秘密キーを使用して前記第2の暗号化されたメッセージを当該サブネットマネージャを介して復号化するステップをさらに備える、請求項8に記載の方法。
【請求項10】
前記第2の暗号化されたメッセージに関して前記サブネットマネージャに対して前記トークンが返信された場合にのみ前記ファブリックコンポーネントを認証するステップをさらに備える、請求項1から9のいずれかに記載の方法。
【請求項11】
InfiniBand(IB)ファブリックにおけるファブリックコンポーネントの信頼性を検証するためのシステムであって、
前記IBファブリックにおけるファブリックコンポーネントを認証する役割を担うサブネットマネージャを備え、
前記サブネットマネージャは、
前記IBファブリックにおける前記ファブリックコンポーネントに第1の暗号化されたメッセージを送信するように構成され、前記第1の暗号化されたメッセージはトークンを含み、前記ファブリックコンポーネントと関連付けられた公開キーを使用して暗号化され、前記サブネットマネージャはさらに、
前記ファブリックコンポーネントに当該ファブリックコンポーネントと関連付けられた秘密キーを使用して前記第1の暗号化されたメッセージを復号化させ、前記サブネットマネージャへ第2の暗号化されたメッセージを送信させ、
前記第2の暗号化されたメッセージが正しい情報を含む場合に前記ファブリックコンポーネントを認証するように構成される、システム。
【請求項12】
前記ファブリックコンポーネントは、テナントに指定されたホストチャンネルアダプタ(HCA)ファームウェアまたはハイパーバイザ/OSである、請求項11に記載のシステム。
【請求項13】
前記第1の暗号化されたメッセージに含まれる前記トークンは、ランダムバイトストリングである、請求項11または12に記載のシステム。
【請求項14】
前記ファブリックコンポーネントは、当該ファブリックコンポーネントと関連付けられた前記秘密キーを埋込型ファームウェアに隠す、請求項11から13のいずれかに記載のシステム。
【請求項15】
前記ファブリックコンポーネントは、当該ファブリックコンポーネントと関連付けられた前記秘密キーをタンパー防止不揮発性キー記憶部に記憶する、請求項11から14のいずれかに記載のシステム。
【請求項16】
前記ファブリックコンポーネントと関連付けられた前記公開キーをレポジトリに記憶する、請求項11から15のいずれかに記載のシステム。
【請求項17】
前記サブネットマネージャと関連付けられた公開キーが前記暗号化されたメッセージと併せて前記ファブリックコンポーネントに対して送信される、請求項11から16のいずれかに記載のシステム。
【請求項18】
前記ファブリックコンポーネントは、前記サブネットマネージャと関連付けられた前記公開キーを使用して前記第2の暗号化されたメッセージを暗号化するように動作する、請求項17に記載のシステム。
【請求項19】
前記サブネットマネージャは、
前記サブネットマネージャと関連付けられた秘密キーを使用して前記第2の暗号化されたメッセージを復号化し、
前記第2の暗号化されたメッセージにおいて前記サブネットマネージャに前記トークンが返信された場合にのみ前記ファブリックコンポーネントを認証するように動作する、請求項18に記載のシステム。
【請求項20】
請求項1から10のいずれかに記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
著作権についての注意
この特許文献の開示の一部には、著作権の保護対象となる資料が含まれている。著作権者は、特許商標庁の特許ファイルまたは記録に記載されたとおりのものについては、特許文献または特許の開示を他人が複製することに異議を唱えないが、他の点については、全ての著作権を確保している。
【0002】
発明の分野
本発明は、概してコンピュータシステムに関し、特定的にはInfiniBand(IB)ネットワークを支持することに関する。
【背景技術】
【0003】
背景
相互接続ネットワークは、スーパーコンピュータ、クラスタ、およびデータセンタの次世代において有益な役割を担っている。InfiniBand(IB)技術などの高性能ネットワーク技術は、高帯域および低レイテンシが重要な要件となる高性能ドメインにおいて、専用もしくは低性能ソリューションに取って代わるものとなっている。たとえば、IBのインストールは、ロスアラモス国立研究所(Los Alamos National Laboratory)のRoadrunner、テキサス先端算出センター(Texas Advanced Computing Center)のRanger、およびユーリヒ総合研究機構(Forschungszcntrum Juelich)のJuRoPaなどのスーパーコンピュータにおいて使用される。
【0004】
IBは、Future I/OおよびNext Generation I/Oと呼ばれる2つの旧来技術を融合したものとして2000年10月にまず標準化された。その低レイテンシ、高帯域、およびホスト側処理リソースの有効利用により、大きくスケーラブルなコンピュータクラスタを構築するためのソリューションとして高性能コンピューティング(HPC)コミュニティ内で受け入れられている。事実上のIB用システムソフトウェアは、専門家によって開発されてオープン・ファブリックス・アライアンス(OpenFabrics Alliance)によって保全されているオープン・ファブリックス・エンタープライズ・ディストリビューション(OpenFabrics Enterprise Distribution)(OFED)である。OFEDは、オープンソースであり、GNU/Linux(登録商標)およびMicrosoft Windows(登録商標)の両方において使用可能である。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
InfiniBand(IB)ファブリックにおけるファブリックコンポーネントの信頼性を検証することができるシステムおよび方法がここに記載される。サブネットマネージャは、秘密キー/公開キーのペアを使用してファブリックコンポーネントを認証する役割を担う。サブネットマネージャは、IBファブリックにおけるファブリックコンポーネントに第1の暗号化されたメッセージをまず送ることができる。第1の暗号化されたメッセージはトークンを含み、ファブリックコンポーネントと関連付けられた公開キーを使用して暗号化される。そして、ファブリックコンポーネントは、ファブリックコンポーネントと関連付けられた公開キーを使用して第1の暗号化されたメッセージを復号化し、第2の暗号化されたメッセージをサブネットマネージャに返信することができる。最後に、サブネットマネージャは、第2の暗号化されたメッセージが正しい情報を含む場合にファブリックコンポーネントを認証することができる。
【図面の簡単な説明】
【0006】
図1】発明の実施形態に基づくミドルウェア環境におけるファブリックモデルを示す図である。
図2】発明の実施形態に基づくIBファブリックにおいて発見されたコンポーネントを認証するための公開/秘密キーに基づいたスキームの使用を示す図である。
図3】発明の実施形態に基づくIBファブリックにおいて発見されたコンポーネントを認証するための公開/秘密キーに基づいたスキームの使用についての例示的なフローチャートを示す図である。
【発明を実施するための形態】
【0007】
詳細な説明
InfiniBand(IB)ネットワークなどの相互接続ネットワークにおける様々なコンポーネントの信頼性の検証を支持するシステムおよび方法がここに記載される。
【0008】
図1は、発明の実施形態に基づくミドルウェア環境におけるファブリックモデルを示す図である。図1に示されるように、相互接続ネットワークまたはファブリック100は、スイッチ101〜103と、ブリッジおよびルータ104と、ホストチャンネルアダプタ(HCA)105〜106と、指定された管理ホスト107とを含み得る。加えて、ファブリックは、指定された管理ホストではない1つ以上のホスト108を含み得る、またはこのホスト108に接続され得る。
【0009】
指定された管理ホスト107には、ネットワーク管理タスクを実行するために、HCA105〜106、ネットワークソフトウェアスタック、および関連する管理ソフトウェアがインストールされ得る。さらに、ファブリックにおけるトラフィックの流れを方向付けするために、スイッチ101〜103ならびにブリッジおよびルータ104にファームウェアおよび管理ソフトウェアが配置され得る。ここで、指定された管理ホストではないホスト108上のホストHCAドライバ、OS、およびハイパーバイザは、管理の観点から、ファブリックの範囲外にあると考えてもよい。
【0010】
ファブリック100は、たとえばIBのみのファブリックなど、単一のメディアタイプとし、完全に接続することができる。ファブリックにおける物理的な接続性により、劣化のない場合において、すべてのファブリックコンポーネント間の帯域内接続性が確実なものとなる。代替的に、ファブリックは、ゲートウェイ109のゲートウェイ(GW)外部ポート外のイーサネット(登録商標)(Enet)接続性を含むように構成することができる。加えて、より大きなシステムの一部として並行して動作する独立したファブリックを有することもできる。たとえば、異なるファブリックは、異なるHCAもしくはHCAポートを介して間接的にのみ接続することができる。
【0011】
InfiniBand(IB)アーキテクチャ
IBアーキテクチャは、直列ポイントツーポイント技術である。IBネットワークもしくはサブネットの各々は、スイッチおよびポイントツーポイントリンクを使用して相互に接続されるホストのセットを含むことができる。単一のサブネットは、一万を超えるノードに拡張することができ、IBルータを使用して2つ以上のサブネットを相互接続させることができる。サブネット内のホストおよびスイッチは、ローカル識別子(LID)を使用してアドレスが指定される。たとえば、単一のサブネットは、49151個のユニキャストアドレスに限定され得る。
【0012】
IBサブネットは、サブネットにおけるスイッチ、ルータ、およびホストチャンネルアダプタ(HCA)にある全てのIBポートの構成を含むサブネットを初期化して始動させる役割を担う少なくとも1つのサブネットマネージャ(SM)を用いることができる。SMの役割には、ルーティングテーブルの算出および配置も含まれる。ネットワークのルーティングは、全てのソースおよび接続先のペア間において完全な接続性、無デッドロック性、および負荷の均衡を得ることを目的としている。ルーティングテーブルは、ネットワークの初期化時において算出することができ、この処理は、ルーティングテーブルを更新して最適な性能を確実なものとするために、トポロジが変化する時に繰り返し行うことができる。
【0013】
初期化時において、全てのスイッチおよびホストを発見するためにSMがネットワークをスイープする発見段階にSMが始動する。発見段階の間、SMは、存在するすべての他のSMを発見し、どれをマスターSMとするべきかについての交渉を行う。発見段階が完了すると、SMはマスター段階に入ることができる。マスター段階において、SMはLIDの指定、スイッチの構成、ルーティングテーブルの算出および配置、ならびにポートの構成を進める。この時点でサブネットは起動され、使用の準備が整う。
【0014】
サブネットが構成された後、SMはネットワークの変化(たとえば、リンクが切れる、装置が追加される、またはリンクが除去される)をモニタリングすることができる。モニタリング処理中に変化が検知されると、メッセージ(たとえば、トラップ)をSMに転送することができ、SMはネットワークを再構成することができる。再構成処理の一部、または重度のスイープ処理は、完全な接続性および無デッドロック性を保証し、全てのソースおよび接続先のペア間における負荷の適切な均衡化を確実なものとするために行うことのできるネットワークのルートの再指定である。
【0015】
IBネットワークにおけるHCAは、キューペア(QP)を使用して互いに通信することができる。QPは、通信設定時に作成され、QP番号、HCAポート、接続先LID、キューサイズ、および伝達サービスなどの初期属性のセットが与えられる。他方、通信においてHCAと関連付けられたQPは、通信が終了した時に破棄される。HCAは、多くのQPを扱うことができる。各QPは、送信キュー(SQ)と受信キュー(RQ)とのキューのペアからなる。通信に参加する各エンドノードに1つのこのようなペアが存在する。送信キューは、遠隔ノードに伝送される作業要求を保持し、受信キューは、遠隔ノードから受信したデータで何をするかについての情報を保持する。QPに加え、各HCAは、送信キューと受信キューとのセットに関連付けられた1つ以上の完了キュー(CQ)を有することができる。CQは、送信キューおよび受信キューに提示された作業要求についての完了通知を保持する。
【0016】
IBアーキテクチャは柔軟なアーキテクチャである。IBサブネットの構成および保全は、特殊な帯域内サブネット管理パケット(SMP)を介して行うことができる。SMの機能は、原則として、IBサブネット内のすべてのノードから実施することができる。IBサブネットにおける各エンドポートは、対象となるSMPベースの要求パケットを扱う役割を担う関連付けられたサブネット管理エージェント(SMA)を有することができる。IBアーキテクチャにおいて、同じポートは、SMインスタンス、またはSMPベースの通信を使用する他のソフトウェアコンポーネントを示すことができる。したがって、明確に定義されたSMP動作のサブセットのみがSMAによって扱われ得る。
【0017】
SMPは、たとえばフロー制御されていない特殊な仮想レーン(VL15)など、ファブリックにおける専用のパケットバッファリソースを使用する(すなわち、SMPパケットは、バッファがオーバーフローした場合にドロップされてもよい)。また、SMPは、エンドポートローカル識別子(LID)に基づいてSMが設定するルーティングを使用することができる、または、SMPは、ルートが送信者によって完全に定義されてパケットに埋め込まれた直接ルートを使用することができる。直接ルートを使用し、パケットの経路はHCAおよびスイッチのポート番号の順にファブリックを通過する。
【0018】
SMは、各スイッチおよび/または各HCAにおいて示されるSMAを使用してネットワークの変化をモニタ監視することができる。SMAは、新しい接続、切断、ポートの状態変化などの変化をトラップおよび通知を使用してSMに通信する。トラップは、特定のイベントについてエンドノードに警告するために送信されるメッセージである。トラップは、イベントの詳細を記載した通知の属性を含むことができる。異なるイベントについて異なるトラップを定義することができる。トラップの不要な配信を減らすために、IBはイベント転送機構を適用する。このイベント転送機構において、エンドノードは、知らせてほしいトラップについて規則的に受け取ることを明示的に要求する必要がある。
【0019】
サブネットアドミニストレータ(SA)は、サブネットについての異なる情報を格納するためにマスターSMに関連付けられたサブネットデータベースである。SAとの通信は、QP1などの指定されたQPを介してジェネラルサービスマネージメントデータグラム(MAD)を送信することにより、エンドノードによるQPの確立を補助することができる。送信側および受信側の両方が、QPを介した通信を確立するために、ソース/接続先LID、サービスレベル(SL)、最大転送単位(MTU)などの情報を必要とする。この情報は、SAによって提供される経路記録として知られるデータ構造から検索することができる。経路記録を取得するために、エンドノードは、たとえばSubnAdmGet/SubnAdmGetable操作を使用して、経路記録クエリをSAに対して送信することができる。そして、SAは要求された経路記録をエンドノードに対して返信することができる。
【0020】
IBアーキテクチャは、どのIBエンドポートが他のどのIBエンドポートと通信できるようにすべきかを定義する方法として、パーティションを提供する。パーティションは、IBファブリック上の全ての非SMPパケットについて定義される。デフォルトパーティション以外のパーティションは、任意で使用される。パケットのパーティションは、15ビットのパーティション番号と単一ビットのメンバータイプ(フルまたは限定)からなる16ビットのP_Keyによって定義することができる。
【0021】
ホストポートまたはHCAポートのパーティションのメンバーシップは、ホストの現在のパーティションメンバーシップ指針に対応するP_Key値を用いてポートのP_KeyテーブルをSMが設定するという前提に基づき得る。ホストが完全に信用されない可能性を補償するために、IBアーキテクチャは、パーティションを実行するために任意でスイッチポートを設定することができることを定義する。これ故に、ホストポートに接続するスイッチポートのP_Keyテーブルは、ホストポートがメンバーであるはずの同じパーティションを反映するように設定することができる(すなわち、イーサネット(登録商標)LANにおいて実行されるVLAN制御の切り替えと本質的に同等である)。
【0022】
IBアーキテクチャはSMPを介したIBサブネットの完全な帯域内の構成および保守を可能とすることから、SMP自体はパーティションメンバーシップによる制限の対象とはならない。したがって、IBファブリック上において不明確なノードもしくは危殆化されたノードが任意のファブリック構成(パーティションメンバーシップを含む)を定義できないように、他の保護機構が必要となる。
【0023】
SMPへのアクセスのためのIBアーキテクチャにおける基本的な保護/保安機構としてM_Keyを使用することができる。M_Keyは、IBサブネットにおける各個別のノードと個別に関連付けることができる64ビットの値であり、SMPが正しいM_Key値を含むかどうかに応じて、入力されるSMP操作がターゲットノードによって容認もしくは拒絶され得る(すなわち、P_Keysとは異なり、パスワードのような、正しいM_Key値を特定する能力がアクセス制御を示す)。
【0024】
スイッチと関連付けられたM_Keyを定義するための帯域外の方法を使用することにより、ローカルスイッチポートについてのパーティションメンバーシップを含むスイッチ構成をホストノードが設定できないようにすることを確実とすることができる。したがって、M_Key値は、スイッチIBリンクが稼働したときに定義される。これ故に、M_Key値が危殆化されていないもの、もしくは「推測」されないものであり、スイッチ帯域外アクセスが安全であり、認証されたファブリックアドミニストレータのみに限定されている限り、ファブリックは安全である。
【0025】
さらに、M_Key実行の指針は、現在のM_Key値を除いた全てのローカル状態情報についての読み取りのみのSMPアクセスを可能とするように設定することができる。したがって、認証されていない(再)構成からスイッチベースのファブリックを保護することが可能であり、ホストベースのツールが発見操作および診断操作を行うことができる。
【0026】
IBアーキテクチャによってもたらされる柔軟性により、たとえばHPCクラスタなどのIBファブリック/サブネットのアドミニストレータは、ファブリックにおいて1つ以上のスイッチに対して埋込型SMインスタンスを使用するかどうか、および/またはSM機能を実行するためにIBファブリックに対して1つ以上のホストを設定するかどうかを判定することができる。また、SMによって使用されるSMPによって定義されるワイヤープロトコルがAPIを介して入手可能であることから、異なるツールおよびコマンドは、発見および診断のためのこのようなSMPの使用に基づいて実施可能であり、また、現在のサブネットマネージャ操作とは独立して制御される。
【0027】
セキュリティの観点から、IBアーキテクチャの柔軟性は、IBファブリックに接続された様々なホストへのルートアクセスとIBファブリック構成へのアクセスを可能とするルートアクセスとの間に基本的な違いがないことを示す。これは、物理的に安全で安定したシステムに関しては好適である。しかしながら、IBファブリック上の異なるホストが異なるシステムアドミニストレータによって制御され、このようなホストがIBファブリック上で互いに論理的に隔離されるべきであるシステム構成に関しては、これは問題となり得る。
【0028】
全てのコンポーネントの信頼性を常にファブリックに検証させる
本発明の実施形態によれば、IBファブリックはそのコンポーネントの信頼性を常に検証することができる。サイトアドミニストレータは、システムにおける全てのHCAの安全なファームウェアの状態を追跡し続けることができ、全ての関連するHCAがセキュアモードで動作していることを簡単に信用することができる。さらに、信頼された個人によって正しいケーブル配線が確保される物理的に安全なデータセンタは、ファブリックにおける全てのコンポーネントの信頼性を保証することができる。加えて、サイト/ファブリックアドミニストレータは、帯域外管理インターフェイスが適切にパスワードで保護されていることを確実なものとすることができ、信用されるソフトウェアおよびファームウェアを信頼することができる。
【0029】
上記の単純な手法は、適度な大きさの静的な構成には十分であるが、多数のノードもしくはコンポーネントを有する中くらいから大きい/非常に大きいサイズの動的環境には十分でない場合がある。認証処理を自動化するために、ファブリックコンポーネントは、ホストベースのスパイウェアまたは不明確な(不整合な)ホスト管理による影響を受けにくい態様で、コンポーネント自身、およびコンポーネントを制御するファームウェア/ソフトウェアのバージョンを認証することができるのが好ましい。
【0030】
本発明の実施形態によれば、自動的なファブリックコンポーネント認証処理には、ピアが認証される前に秘密パスワードなどを送ることによってピアを含むことなくピア同士を互いに検証させることができる暗号化された要求/応答スキームの使用が伴う。IBスイッチおよびHCAファームウェアに関しては、SMがデータトラフィックのためにポートを有効とする前にSMPベースのプロトコルに伴って実施可能となる。
【0031】
安全なIBファブリックにおいて、スイッチの信頼性は、第一にスイッチへの管理アクセスが安全であって、信頼されたサイト/ファブリックアドミニストレータのみがアクセスを行うことができるという前提の上に成り立っている。HCAの信頼性は、ひとたび物理的ホストが特殊なブート画像によって制御されるとHCAが効果的にファブリックセキュリティドメインの一部となるという仮定に基づいて秘密キーを扱うことができるという特殊なホストブート画像ベースのスキームを使用して安全なものとすることができる。
【0032】
発見されたコンポーネントの固有性を認証するための公開/秘密キーベースのスキーム
発明の実施形態によれば、自動ファブリックコンポーネント認証処理は、秘密/公開キーのペアの使用に基づくことができる。
【0033】
図2は、発明の実施形態に基づくIBファブリックにおいて発見されたコンポーネントを認証するための公開/秘密キーベースのスキームの使用を示す図である。図2に示されるように、IBファブリック200におけるSM201は、ホスト203と関連付けられたHCA202などのファブリックコンポーネントを発見し、発見されたコンポーネントを認証する役割を担うことができる。SM201は、SM公開キー211およびSM秘密キー212を保持し、これらは両方ともがHCA202を検証するための処理に使用される。
【0034】
加えて、SM201は、ターゲットHCA202のためのHCA公開キー214など、認証されるべき各ターゲットコンポーネントのための公開キーを保持することができる。たとえばテナントに指定されたHCAファームウェアバージョン204、ハイパーバイザ206/OS207など、ファブリックにおける各コンポーネントのための公開キーを記憶する中央レポジトリ210を設けてもよい。ある例において、特定のファームウェアバージョンまたはある範囲のファームウェアバージョンは、ファームウェアバージョン(または範囲)がリリース、インストール、または実行された場合に配信される、良好に規定された公開キーを有することができる。
【0035】
さらに、HCA202は、SM201側に記憶されている特定のHCA202のHCA公開キー214と関連付けられたHCA秘密キー213を保持することができる。ファブリックコンポーネントの信頼性は、関連するコンポーネントの秘密キーを注意深く配信することおよび記憶しておくことに依存する。一例としては、HCAの埋込型ファームウェアバイナリ204に隠されたHCA秘密キー213などの秘密キーを有することなどが挙げられる(すなわち、HCAバイナリの「逆アセンブル」で識別が非常に難しくなるような方法で)。追加の向上したスキームでは、タンパー防止不揮発性キー記憶部205など、出荷時の安定した記憶状態をより好適に利用することができる。
【0036】
SM201、またはターゲットHCA202およびそのファームウェア204の完全性を制御する他のコンポーネントは、暗号化されたメッセージ221をHCAファームウェア204に送信するように構成することができる。暗号化されたメッセージ221は、SMインスタンスが所有するSM公開キー211と併せてランダムバイトストリング220などのトークンを含むことができる。
【0037】
暗号化されたメッセージ221を受信した後、要求を受けたHCAファームウェア204は、受信した暗号化されたメッセージ221を復号化し、供給されたSM公開キーを使用して暗号化された応答メッセージ222の形態でSM201にランダムバイトストリング220を返信する。代替的に、受信した暗号化されたメッセージ221を復号化した後、要求を受けたHCAファームウェア204は、SM201が異なるトークンの信頼性に注意を向けている限り、異なるバイトストリングなどの異なるトークンをSM201に返信することができる。
【0038】
そして、SM201は、所有する秘密キー212を使用して、受信したメッセージ222を復号化し、SM201が正しいバイトストリングを受信した場合にHCAファームウェア204を認証することができる。したがって、偽のHCAファームウェアまたはドライバの実装が同じセキュアバージョンIDを示すと主張し得るが、真のファームウェアバージョンの秘密キーが危殆化されていない限り、要求を通過させなくてもよい。
【0039】
図3は、本発明の実施形態にかかるIBファブリックにおいて発見されたコンポーネントを認証するための公開/秘密キーに基づいた例示的なフローチャートを示す図である。図3に示されるように、ステップ301において、サブネットマネージャはまず第1の暗号化されたメッセージをIBファブリックにおけるファブリックコンポーネントに送信することができる。第1の暗号化されたメッセージは、トークンを含み、ファブリックコンポーネントと関連付けられた公開キーを使用して暗号化される。そして、ステップ302において、ファブリックコンポーネントは、ファブリックコンポーネントと関連付けられた秘密キーを使用して第1の暗号化されたメッセージを復号化することができるとともに、第2の暗号化されたメッセージをサブネットマネージャに返信することができる。最後に、ステップ303において、サブネットマネージャは、第2の暗号化されたメッセージが正しい情報を含む場合にファブリックコンポーネントを認証することができる。
【0040】
本開示の教示によってプログラムされた1つ以上のプロセッサ、メモリ、および/またはコンピュータ読み取り可能な記憶媒体を含む1つ以上の従来の汎用もしくは専用デジタルコンピュータ、演算装置、マシン、またはマイクロプロセッサを使用し、本発明は都合よく実施され得る。適切なソフトウェアのコードは、ソフトウェア技術の当業者にとって明らかなように、本開示の教示に基づき、技能を有するプログラマーによって容易に準備され得る。
【0041】
一部の実施形態において、本発明は、本発明の処理を実行するためにコンピュータをプログラミングするために使用することができる指令を記憶する記憶媒体またはコンピュータ読み取り可能な媒体(複数の媒体)であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ装置、磁気もしくは光カード、ナノシステム(分子記憶ICを含む)、または指令および/もしくはデータを記憶するのに適した任意のタイプの媒体もしくは装置を含み得るが、これらに限定されるものではない。
【0042】
本発明の上記の実施形態は、例示および説明を目的として提供された。開示された形態そのものが本発明を網羅するものではなく、発明をこの形態に限定することを意図したものではない。多くの変更および変形が当業者にとって明らかである。実施形態は、発明およびその実施の原則を最良に説明するために選択および記載され、これによって当業者が様々な実施形態および考えられる特定の使用法に適した様々な変更について他の当業者が理解することができる。本発明の範囲が以下の請求項およびその均等物によって定義されることが意図される。
図1
図2
図3