(57)【特許請求の範囲】
【請求項１】
仮想ネットワーク機能をブートストラップする仮想ネットワーク機能（ＶＮＦ）ブートストラップサービス（ＶＢＳ）エージェントを含むＶＮＦインスタンスを有するネットワーク機能仮想化（ＮＦＶ）ネットワークシステムであって、
一以上のハードウェアプロセッサと、
複数の命令を記憶した一以上のデータ記憶デバイスであって、前記複数の命令は、前記一以上のハードウェアプロセッサにより実行されると、前記ＶＢＳエージェントに、
前記ＮＦＶネットワークシステムのＶＢＳに開始メッセージを送信し、ここで前記ＶＢＳは前記ＶＢＳエージェントに通信可能に結合され、前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されるとの情報を提供し、
前記開始メッセージの送信に応答して前記ＶＢＳから開始応答メッセージを受信し、
トラステッド実行環境（ＴＥＥ）により前記ＴＥＥの秘密鍵を用いて署名されたセキュリティクォートを読み出し、前記ＴＥＥは前記ＶＮＦインスタンスがインスタンス化されるプラットフォームにあり、
前記開始応答メッセージの受信に応答して前記ＶＢＳに登録要求メッセージを送信し、ここで前記登録要求メッセージは前記ＶＢＳエージェントを前記登録要求メッセージの送信者として認証するのに使用し得る前記セキュリティクォートと、前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とを含み、
前記ＶＢＳから登録応答メッセージを受信し、ここで前記登録応答メッセージは前記セキュリティクォートと前記セキュリティ証明要求とが前記ＶＢＳにより検証されたことを示すセキュリティ証明を含む、ＮＶＦネットワークシステム。
【請求項２】
前記開始メッセージは第１ノンスを含み、
前記開始応答メッセージは前記ＶＢＳの秘密鍵を用いて前記ＶＢＳにより署名され、前記第１ノンスと、前記ＶＢＳにより生成された第２ノンスとを含み、
前記セキュリティ証明要求は前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含み、
前記登録応答メッセージは、前記ＶＢＳにより前記ＶＢＳの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理するＮＦＶネットワークシステムのＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＭＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとをさらに含み、
前記１つ以上のポリシーは前記ＶＢＳエージェントが機能を実行するのに使用できる命令を含む、
請求項１に記載のＮＦＶネットワークシステム。
【請求項３】
前記複数の命令は、前記一以上のハードウェアプロセッサにより実行されると、前記ＶＢＳエージェントに、（ｉ）前記ＮＦＶネットワークシステムのＮＦＶオーケストレータからインスタンス化トリガーを受け取り、（ｉｉ）前記インスタンス化トリガーの受信に応答して前記ＶＢＳエージェントを初期化し、ここで前記開始メッセージの送信は前記インスタンス化トリガーの受信に応答した前記開始メッセージの送信を含む、請求項１に記載のＮＦＶネットワークシステム。
【請求項４】
前記ＶＢＳエージェントの初期化は、前記ＶＮＦインスタンスの公開／秘密鍵ペアの生成を含む、
請求項３に記載のＮＦＶネットワークシステム。
【請求項５】
前記複数の命令は、前記一以上のハードウェアプロセッサにより実行されると、前記ＶＢＳエージェントに、（ｉ）前記セキュリティ証明要求を生成し、（ｉｉ）前記ＶＢＳからの前記開始応答メッセージの受信に応答して前記ＶＮＦインスタンスの前記秘密鍵を用いて前記セキュリティ証明要求に署名させる、
請求項４に記載のＮＦＶネットワークシステム。
【請求項６】
前記複数の命令は、前記一以上のハードウェアプロセッサにより実行されると、前記ＶＢＳエージェントに、前記セキュリティ証明の受信に応答して、前記ＶＮＦインスタンスを起動し、前記ＶＮＦインスタンスにより受け取られるネットワークトラフィックをアクティブに処理させる、
請求項１に記載のＮＦＶネットワークシステム。
【請求項７】
前記複数の命令は、前記一以上のハードウェアプロセッサにより実行されると、前記ＶＢＳエージェントに、前記ＮＦＶネットワークシステムのＶＮＦマネージャに情報を送信し、前記情報は前記ＶＮＦマネージャに、（ｉ）前記ＶＮＦインスタンスがアクティブであること、及び（ｉｉ）前記ＶＮＦインスタンスの構成は前記ＶＮＦマネージャにより管理されることを示し、ここで前記情報は、前記ＶＮＦインスタンスにユニークであり、前記ＶＮＦマネージャにおいて認証されたＶＮＦインスタンスのホワイトリストに前記ＶＮＦインスタンスを追加するのに使用できるＶＮＦインスタンス識別子を含む、請求項６に記載のＮＦＶネットワークシステム。
【請求項８】
前記ＶＢＳからの前記登録応答メッセージの受け取りはさらに、前記ＶＢＳエージェントに通信可能に結合されたＮＦＶネットワークシステムのＶＮＦマネージャの識別子の受け取りを含む、請求項１に記載のＮＦＶネットワークシステム。
【請求項９】
前記ＶＮＦマネージャの識別子の受け取りは、インターネットプロトコル（ＩＰ）アドレス、ドメインネームサーバ（ＤＮＳ）、完全修飾ドメイン名（ＦＱＤＮ）、ユニフォームリソースロケータ（ＵＲＬ）のうち少なくとも１つの受け取りを含む、
請求項８に記載のＮＦＶネットワークシステム。
【請求項１０】
前記複数の命令は、前記一以上のハードウェアプロセッサにより実行されると、前記ＶＢＳエージェントに、前記ＶＮＦマネージャの識別子の受け取りに応答して前記ＶＮＦマネージャの識別子を用いて前記ＶＮＦマネージャに接続させる、請求項８に記載のＮＦＶネットワークシステム。
【請求項１１】
前記複数の命令は、前記一以上のハードウェアプロセッサにより実行されると、前記ＶＢＳエージェントに、前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャにＶＮＦライセンス情報を送信させ、前記ＶＮＦライセンス情報は、前記ＶＮＦインスタンスに関連するライセンスの使用をトラッキングするのに使用できる情報を含む、請求項９に記載のＮＦＶネットワークシステム。
【請求項１２】
ネットワーク機能仮想化（ＮＦＶ）ネットワークシステムにおける複数の仮想ネットワーク機能をブートストラップする方法であって、
前記ＮＦＶネットワークシステムのＶＮＦインスタンスのＶＮＦブートストラップサービス（ＶＢＳ）エージェントが、前記ＶＢＳエージェントに通信可能に結合されたＮＦＶネットワークシステムのＶＢＳに開始メッセージを送信するステップであって、前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されたとの情報を提供する、ステップと、
前記ＶＢＳエージェントが、前記開始メッセージに応答して、前記ＶＢＳから開始応答メッセージを受け取るステップと、
前記ＶＢＳエージェントが、トラステッド実行環境（ＴＥＥ）により前記ＴＥＥの秘密鍵を用いて署名されたセキュリティクォートを読み出し、前記ＴＥＥは前記ＶＮＦインスタンスがインスタンス化されるプラットフォームにあり、
前記ＶＢＳエージェントが、前記開始応答メッセージの受信に応答して前記ＶＢＳに登録要求メッセージを送信するステップであって、前記登録要求メッセージは前記ＶＢＳエージェントを前記登録要求メッセージの送信者として認証するのに使用し得る前記セキュリティクォートと、前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とを含む、ステップと、
前記ＶＢＳエージェントが、前記ＶＢＳから登録応答メッセージを受け取るステップであって、前記登録応答メッセージは前記セキュリティクォートと前記セキュリティ証明要求とがそれぞれ前記ＶＢＳにより検証されたことを示すセキュリティ証明を含む、
方法。
【請求項１３】
前記開始メッセージを送信するステップは第１ノンスを送信するステップを含み、
前記開始応答メッセージを受け取るステップは、前記ＶＢＳの秘密鍵を用いて前記ＶＢＳにより署名され、前記第１ノンスと、前記ＶＢＳにより生成された第２ノンスとを含む前記開始応答メッセージを受け取るステップを含み、
前記セキュリティ証明要求を送信するステップは、前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含む前記セキュリティ証明要求を送信するステップを含み、
前記登録応答メッセージを受け取るステップは、前記ＶＢＳにより前記ＶＢＳの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理するＮＦＶネットワークシステムのＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＭＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとをさらに含む前記登録応答メッセージを受け取るステップを含み、
前記１つ以上のポリシーは前記ＶＢＳエージェントが機能を実行するのに使用できる命令を含む、
請求項１２に記載の方法。
【請求項１４】
前記ＶＢＳエージェントが、前記ＮＦＶネットワークシステムのＮＦＶオーケストレータからインスタンス化トリガーを受け取るステップと、
前記インスタンス化トリガーの受け取りに応答して前記ＶＢＳエージェントを初期化するステップとをさらに含み、
前記開始メッセージを送信するステップは、前記インスタンス化トリガーの受け取りに応答して前記開始メッセージを送信するステップを含む、
請求項１２に記載の方法。
【請求項１５】
前記ＶＢＳエージェントを初期化するステップは、（ｉ）公開／秘密鍵ペアを生成するステップであって、前記ＶＮＦインスタンスの公開／秘密鍵ペアは公開鍵と秘密鍵とを含む、ステップを含む、請求項１４に記載の方法。
【請求項１６】
前記セキュリティ証明要求を生成するステップと、
前記ＶＢＳからの前記開始応答メッセージの受信に応答して前記ＶＮＦインスタンスの前記秘密鍵を用いて前記セキュリティ証明要求に署名するステップとをさらに含む、
請求項１４に記載の方法。
【請求項１７】
前記セキュリティ証明の受け取りに応答して、前記ＶＮＦインスタンスを起動して、前記ＶＮＦインスタンスにより受け取られたネットワークトラフィックをアクティブに処理するステップをさらに含む、請求項１２に記載の方法。
【請求項１８】
前記ＮＦＶネットワークシステムのＶＮＦマネージャに、（ｉ）前記ＶＮＦインスタンスがアクティブであること、及び（ｉｉ）前記ＶＮＦインスタンスの構成が前記ＶＮＦマネージャにより管理されることを前記ＶＮＦマネージャに示す情報を送信するステップであって、前記情報は、前記ＶＮＦインスタンスに対してユニークであり、前記ＶＮＦマネージャにおいて前記ＶＮＦインスタンスを認証されたＶＮＦインスタンスのホワイトリストに追加するのち使用できるＶＮＦインスタンス識別子を含む、ステップをさらに含む、
請求項１７に記載の方法。
【請求項１９】
前記ＶＢＳから前記登録応答メッセージを受け取るステップはさらに、前記ＶＢＳエージェントに通信可能に結合されたＮＦＶネットワークシステムのＶＮＦマネージャの識別子を受け取るステップを含む、請求項１２に記載の方法。
【請求項２０】
前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャの識別子を用いて、前記ＶＮＦマネージャに接続するステップをさらに含む、
請求項１９に記載の方法。
【請求項２１】
前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャにＶＮＦライセンス情報を送信するステップであって、前記ＶＮＦライセンス情報は、前記ＶＮＦインスタンスに関連するライセンスの使用をトラッキングするのに使用できる情報を含む、ステップをさらに含む、請求項１９に記載の方法。
【請求項２２】
計算装置であって、
プロセッサと、
前記プロセッサにより実行されたとき、前記プロセッサに、請求項１２ないし２１いずれか一項に記載の方法を実行させる複数の命令を格納したメモリとを有する、
計算装置。
【請求項２３】
実行されると、計算装置に請求項１２ないし２１いずれか一項に記載の方法を実行させるコンピュータプログラム。
【請求項２４】
請求項２３に記載のコンピュータプログラムを記憶した１つ以上の機械可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は、２０１５年５月１１日出願の米国特許出願第１４／７０９，１７０号（発明の名称「ＴＥＣＨＮＯＬＯＧＩＥＳ  ＦＯＲ  ＳＥＣＵＲＥ  ＢＯＯＴＳＴＲＡＰＰＩＮＧ  ＯＦ  ＶＩＲＴＵＡＬ  ＮＥＴＷＯＲＫ  ＦＵＮＣＴＩＯＮＳ」）の優先権を主張するものである。
【背景技術】
【０００２】
ネットワークオペレータおよびサービスプロバイダは、一般的には、様々なネットワーク仮想化技術に依存して、高性能計算（ＨＰＣ）環境およびクラウド計算環境などの複雑な大規模計算環境を管理する。たとえば、ネットワークオペレータおよびサービスプロバイダーネットワークは、ネットワーク機能仮想化（ＮＦＶ）展開に依存して、ネットワークサービス（例えば、ファイアウォールサービス、ネットワークアドレス変換（ＮＡＴ）サービス、ロードバランシングサービス、ＤＰＩ（Ｄｅｅｐ  Ｐａｃｋｅｔ  Ｉｎｓｐｅｃｔｉｏｎ）サービス、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）最適化サービスなど）を展開する。このようなＮＦＶ展開は、一般的に、ＮＦＶインフラストラクチャを使用して様々な仮想マシン（ＶＭ）及び／又はコンテナ（例えばコモディティサーバにおけるもの）を編成し、ネットワークトラフィック上で一般に仮想ネットワーク機能（ＶＮＦ）と呼ばれる仮想化ネットワークサービスを実行し、さまざまなＶＭ及び／又はコンテナにまたがるネットワークトラフィックを管理する。
【０００３】
従来の非仮想化展開とは異なり、仮想化された展開は、ネットワーク機能を基盤となるハードウェアから切り離すため、ネットワーク機能およびサービスは、高度に動的で汎用プロセッサを備えた市販のサーバで実行できるものとなる。このように、ＶＮＦは、ネットワークトラフィック上で実行される具体的な機能またはネットワークサービスに基づいて、必要に応じてスケールイン／アウトすることができる。さらに、ＶＮＦは、加入者の需要に応じて、地理的エリアに、ホスティングされたインフラストラクチャなどに展開することができる。
【図面の簡単な説明】
【０００４】
ここで説明するコンセプトを、添付した図面において、限定ではなく実施例により説明する。説明を単純かつ明確にするため、図に示した要素は必ずしもスケール通りには描いていない。適当であれば、対応または類似する要素を示すため、複数の図面で同じ参照レベルを用いた。
【０００５】
【図１】ＮＦＶインフラストラクチャの１つ以上の計算ノードを含むネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャにおけるネットワーク通信を処理するシステムの少なくとも１つの実施形態を示す簡略化したブロック図である。
【０００６】
【図２】図１のシステムの計算ノードの１つの少なくとも一実施形態を示す簡略化したブロック図である。
【０００７】
【図３】図１のシステムのエンドポイント装置の少なくとも一実施形態を示す簡略化したブロック図である。
【０００８】
【図４】図１のシステムのＮＦＶネットワークアーキテクチャの少なくとも一実施形態を示す簡略化したブロック図である。
【０００９】
【図５】図１と図４のＮＦＶセキュリティサービスコントローラの環境の少なくとも一実施形態を示す簡略化したブロック図である。
【００１０】
【図６】図４のＮＦＶネットワークアーキテクチャの仮想ネットワーク機能（ＶＮＦ）インスタンスの環境の少なくとも一実施形態を示す簡略化ブロック図である。
【００１１】
【図７】図５のＮＦＶセキュリティサービスにより実行され得るセキュアＶＮＦブートストラップを初期化する方法の少なくとも一実施形態を示す簡略化したフロー図である。
【００１２】
【図８】図４のＮＦＶネットワークアーキテクチャのＶＮＦインスタンスの１つを安全にブートストラップする通信フローの少なくとも一実施形態を示す簡略化したフロー図である。
【００１３】
【図９】図６のＶＮＦインスタンスのＶＮＦブートストラップサービス（ＶＢＳ）により実行し得るセキュアＶＮＦブートストラップキャプチャプロトコルを実行する方法の少なくとも一実施形態を示す簡略化したフロー図である。
【００１４】
【図１０】図４のＮＦＶネットワークアーキテクチャのＶＮＦインスタンスの１つにおいてセキュアＶＮＦブートストラップキャプチャプロトコルを実行する通信フローの少なくとも一実施形態を示す簡略化したフロー図である。
【００１５】
【図１１】図４のＮＦＶネットワークアーキテクチャのプラットフォームの１つのトラステッド実行環境（ＴＥＥ）によって実行され得るＴＥＥ引用動作を実行する方法の少なくとも一実施形態を示す簡略化されたフロー図である。
【図面の詳細な説明】
【００１６】
本開示のコンセプトはいろいろな修正を施したり代替的形式を取ったりすることもできるが、その具体的な実施形態を図面において実施例で示し、ここに詳細に説明する。しかし、言うまでもなく、開示した具体的な形式に本開示を限定する意図ではなく、逆に、本発明は本開示と添付した特許請求の範囲に沿ったすべての修正、等価物及び代替物をカバーするものである。
【００１７】
本明細書において「ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ」、「ａｎ  ｅｍｂｏｄｉｍｅｎｔ」、「ａｎ  ｉｌｌｕｓｔｒａｔｉｖｅ  ｅｍｂｏｄｉｍｅｎｔ」などと言う場合、記載した実施形態が、ある機能、構造、または特徴を含むが、かならずしもすべての実施形態がその機能、構造、または特徴を含んでも含まなくてもよい。さらに、かかる文言は必ずしも同じ実施形態を参照しているとは限らない。さらに、ある機能、構造、または特徴をある実施形態について説明した場合、明示的に記載していようがいまいが、他の実施形態に関するそれらの機能、構造、または特徴に影響が及ぶことは、当業者には自明である。また、言うまでもなく、「少なくとも１つのＡ、Ｂ及びＣ」は、（Ａ）、（Ｂ）、（Ｃ）、（Ａ及びＢ）、（Ａ及びＣ）、（Ｂ及びＣ）又は（Ａ、Ｂ、及びＣ）を意味し得る。同様に、「Ａ、Ｂ又はＣのうちの少なくとも１つ」との形式のリストに含まれるアイテムは、（Ａ）、（Ｂ）、（Ｃ）、（Ａ及びＢ）、（Ａ及びＣ）、（Ｂ及びＣ）又は（Ａ、Ｂ、及びＣ）を意味し得る。
【００１８】
開示した実施形態は、幾つかの場合には、ハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実装できる。開示の実施形態は、一以上の一時的又は非一時的な機械読み取り可能（例えば、コンピュータ読み取り可能）記憶媒体により担われ、又はそれに格納された（一以上のプロセッサにより読み取られ実行され得る）命令として実装することもできる。機械読み取り可能記憶媒体は、機械により読み取り可能な形式で情報を格納又は送信する任意のストレージ装置、メカニズム、又はその他の物理的構造（例えば、揮発性又は不揮発性メモリ、メディアディスク、又はその他のメディア装置）として実施できる。
【００１９】
図中、幾つかの構造的又は方法フィーチャを具体的な構成及び／又は順序で示すかも知れない。しかし、言うまでもなく、かかる具体的な構成及び／又は順序は必須ではない場合がある。むしろ、幾つかの場合には、かかるフィーチャは、例示した図面に示したのとは異なる方法及び／又は順序で構成することもできる。また、ある図面に構造的又は方法フィーチャを含めることは、かかるフィーチャがすべての実施形態において必要であることを意味するのではなく、幾つかの実施形態では、含まれなくてもよいし、他のフィーチャと組み合わされてもよい。
【００２０】
ここで図１を参照するに、例示的な実施形態では、ネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャ１１６でネットワークトラフィックを処理するシステム１００は、ＮＦＶオーケストレータ１０４、仮想インフラストラクチャマネージャ（ＶＩＭ）１０６、およびＮＦＶインフラストラクチャ１０８を含む複数のネットワーク処理コンポーネントを含む。また、ＮＦＶネットワークアーキテクチャ１１６は、ＮＦＶネットワークアーキテクチャ１１６において、セキュリティ監視およびセキュアメッセージ送信を管理および実施（例えば、セキュア通信チャネルの設定、セキュア通信チャネルを介して送信されるメッセージの認証、セキュア通信チャネルのセキュリティの維持など）するＮＦＶセキュリティサービスコントローラ１０２を含む。ＮＦＶネットワークアーキテクチャ１１６の仮想ネットワーク機能（ＶＮＦ）インスタンスの初期化プロセスの一部として、ＮＦＶセキュリティサービスコントローラ１０２は、ＮＦＶインフラストラクチャ１０８の前にインスタンス化されたＶＮＦインスタンスに、セキュアブートストラップを実行するよう指示するセキュアメッセージを提供する。そうするために、ＮＦＶセキュリティサービスコントローラ１０２は、ＶＮＦブートストラップ・サービス（図４参照）を含み、ＶＮＦインスタンスは、ＶＮＦブートストラップサービス（ＶＢＳ）エージェント（図４参照）を含み、セキュアブートストラップの実行、及びメッセージの送受信の役割を果たす。したがって、ＶＮＦインスタンスは、ＶＢＳエージェントを使用して、オペレーショナルＶＮＦインスタンスとしてＮＦＶセキュリティサービスコントローラ１０２に登録し、起動ポリシー、構成情報などのＶＮＦブートストラップ情報を受信し、オペレーショナルＶＮＦインスタンスとして安全に登録することができる。さらに、いくつかの実施形態では、ＶＢＳエージェントは、ＶＮＦインスタンスのライセンスおよび実施を可能にすることができる。
【００２１】
ＮＦＶネットワークアーキテクチャ１１６のネットワーク処理およびセキュリティ監視コンポーネントは、仮想Ｅｖｏｌｖｅｄ  Ｐａｃｋｅｔ  Ｃｏｒｅ（ｖＥＰＣ）インフラストラクチャ、仮想化されたＣｕｓｔｏｍｅｒ  Ｐｒｅｍｉｓｅ  Ｅｑｕｉｐｍｅｎｔ（ｖＣＰＥ）インフラストラクチャ、または他の任意のタイプのオペレータ視覚化インフラストラクチャなどの様々な仮想化ネットワークアーキテクチャで展開できる。言うまでもなく、ＮＦＶネットワークアーキテクチャ１１６が展開されるネットワークアーキテクチャに応じて、ＮＦＶネットワークアーキテクチャ１１６は、１つ以上のＮＦＶセキュリティサービスコントローラ１０２、１つ以上のＮＦＶオーケストレータ１０４、１つ以上のＶＩＭ１０６、及び／又は１つ以上のＮＦＶインフラストラクチャ１０８を含むことができる。言うまでもなく、幾つかの実施形態では、ＮＦＶセキュリティサービスコントローラ１０２は、ＮＦＶ管理・オーケストレーション（ＭＡＮＯ）アーキテクチャフレームワークなどのように、ＮＦＶオーケストレータ１０４及び／又はＶＩＭ１０６と一緒になっていてもよい。
【００２２】
ＮＦＶインフラストラクチャ１０８は、ＶＮＦインスタンスとして実行するように構成された、（例えば、コモディティサーバ中の）いくつかのＶＭ及び／又はコンテナを管理（たとえば、生成、移動、破棄など）することができる１つ以上の計算ノード１１０を含む。各ＶＮＦインスタンスは、一般的に、１つ以上のＶＭに依存する。これは異なるソフトウェア及び／又はプロセスを実行し、ネットワークトラフィック上でネットワークサービス（たとえば、ファイアウォールサービス、ネットワークアドレス変換（ＮＡＴ）サービス、ロードバランシングサービス、ディープパケットインスペクション（ＤＰＩ）サービス、伝送制御プロトコル（ＴＣＰ）最適化サービスなど）を実行する。さらに、ネットワークサービスを提供するために、複数のＶＮＦインスタンスをサービス機能チェーンまたはＶＮＦ転送グラフ（すなわち、所望のネットワークサービスを実装するために順序付けられたシーケンスで実行される一連のＶＮＦインスタンス）として生成することができる。
【００２３】
ＮＦＶセキュリティサービスコントローラ１０２は、本明細書で説明される機能を実行することができる任意のタイプのハードウェア、ソフトウェア、及び／又はファームウェアとして実施されてもよく、またはそれらを含んでもよい。以下でさらに詳細に説明するように、ＮＦＶセキュリティサービスコントローラ１０２は、セキュリティ監視オーケストレータとして機能するように構成される。そうするために、ＮＦＶセキュリティサービスコントローラ１０２は、ＮＦＶネットワークアーキテクチャ１１６全体にわたるコンポーネント（例えば、ＮＦＶネットワークアーキテクチャ１１６内に位置するＶＮＦインスタンスなど）に、安全な通信経路ポリシー、設定パラメータ、および機能記述子を含む様々な監視ルールを含むセキュリティ監視ポリシーを送信するように構成される。さまざまなセキュリティ機能には、ＳＦＣ（サービス機能連鎖）プロビジョニングの保護、ＳＦＣセキュリティ設定及び監視の実施、機密保護されたトークンの提供、保護されたポリシー送信の管理、ＶＮＦ間ＳＦＣパス保護の提供などがあるが、これらに限定されない。
【００２４】
ＮＦＶセキュリティサービスコントローラ１０２は、セキュリティ監視ポリシーを読み出し及び／又は更新するために、１つ以上の外部セキュリティシステム（たとえば、インテル（登録商標）セキュリティコントローラ）、セキュリティデータベース、及び／又はセキュリティポリシーエンジンとインターフェースするように構成されてもよい。外部セキュリティシステムと通信するため、ＮＦＶセキュリティサービスコントローラ１０２は、アプリケーションプログラミングインターフェイス（ＡＰＩ）及び／又はセキュリティポリシーを、外部セキュリティサービスオーケストレーションシステムに配信することができる。いくつかの実施形態では、ＮＦＶセキュリティサービスコントローラ１０２は、ＮＦＶネットワークアーキテクチャ１１６の様々なネットワークおよびセキュリティ監視コンポーネントにわたってメッセージを認証する信頼できる第三者（ｔｒｕｓｔｅｄ  ｔｈｉｒｄ  ｐａｒｔｙ）として機能することができる。言うまでもなく、いくつかの実施形態では、ＮＦＶセキュリティサービスコントローラＮＦＶは、ＮＦＶセキュリティサービスコントローラ１０２のインテグリティ（ｉｎｔｅｇｒｉｔｙ）およびセキュリティを保証するために、ＮＦＶネットワークアーキテクチャ１１６の他のネットワークおよびセキュリティ監視コンポーネントよりも高いセキュリティ特権を有することができる。
【００２５】
ＮＦＶオーケストレータ１０４は、本明細書に記載される機能を実行することができる任意のタイプのハードウェア、ソフトウェア、及び／又はファームウェアとして実施され、又はそれを含むことができる。機能とは、例えば、ＶＮＦマネージャ（図４参照）を介したＶＮＦインスタンスのライフサイクルの管理（例えば、インスタンス化、スケールアウト／イン、性能測定、イベント相関、終了など）、グローバルリソースの管理、ＮＦＶインフラストラクチャ１０８のリソース要求を検証及び許可、新しいＶＮＦインスタンスをオンボーディング（ｏｎ−ｂｏａｒｄｉｎｇ）、及び／又はＶＮＦインスタンスのための様々なポリシーおよびパッケージの管理を含む。例えば、ＮＦＶオーケストレータ１０４は、特定のＶＮＦに影響を及ぼすネットワークオペレータからのリソース要求を受信するように構成することができる。使用時には、ＮＦＶオーケストレータ１０４は、オペレータの要求に基づいて、適用可能な処理、記憶、及び／又はネットワーク構成の調整を管理し、ＶＮＦを動作させるかまたはリソース要求に準拠させる。一旦動作すると、ＮＦＶオーケストレータ１０４は、ＶＮＦの容量および利用をモニタすることができる。これらは、必要に応じて、ＮＦＶオーケストレータ１０４によって調整され得る
【００２６】
ＶＩＭ１０６は、本明細書で説明される機能を実行することができる任意のタイプのハードウェア、ソフトウェア、及び／又はファームウェアとして実施されてもよく、またはそれらを含んでもよい。ＶＩＭ１０６は、１つのオペレータのインフラストラクチャサブドメイン内など、ＮＦＶインフラストラクチャ１０８の計算、ストレージ、およびネットワークリソース（たとえば、物理的および仮想的なもの）を制御および管理するように構成される。さらに、ＶＩＭ１０６は、性能測定値およびイベントなど、ＶＩＭ１０６に関連する様々な情報を収集し転送するように構成される。
【００２７】
ＮＦＶインフラストラクチャ１０８は、仮想化ソフトウェアだけでなく、１つ以上のサーバまたは他の計算ノードなど、任意のタイプの仮想的及び／又は物理的処理および記憶リソースとして実施され得る、またはそれらを含み得る。例えば、例示的なＮＦＶインフラストラクチャ１０８は、１つ以上の計算ノード１１０を含む。例示的な計算ノード１１０は、第１の計算ノード（これは計算ノード（１）１１２として指定される）と、第２の計算ノード（これは計算ノード（Ｎ）１１４として指定される）（すなわち、計算ノード１１０の「Ｎ番目の」計算ノードであり、「Ｎ」は正の整数であり、１つ以上の追加の計算ノード１１０を指定する）とを含む。
【００２８】
計算ノード１１０の各々は、本明細書に記載の機能を実行することができる任意のタイプの計算またはコンピュータ装置として実施することができる。これには、サーバ（例えば、スタンドアローン、ラックマウント、ブレードなど）、ネットワーク機器（例えば、物理または仮想）、高性能計算装置、ウェブ機器、分散計算システム、コンピュータ、プロセッサベースのシステム、マルチプロセッサシステム、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、及び／又はモバイル計算装置が含まれるが、限定ではない。図２に示すように、一実施形態では、各計算ノード１１０は、プロセッサ２０２、入出力（Ｉ／Ｏ）サブシステム２０６、メモリ２０８、データ記憶装置２１４、セキュアクロック２１６、および通信回路２１８を含む。もちろん、計算装置１１０は、他の実施形態では、サーバに一般的に見られるようなその他のコンポーネント又は付加的なコンポーネント（例えば、様々な入出力装置など）を含み得る。また、幾つかの実施形態では、例示したコンポーネントのうち一以上は、他のコンポーネントに組み込まれていても良く、又はその一部を構成していても良い。例えば、メモリ２０８又はその部分は、幾つかの実施形態では、プロセッサ２０２に組み込まれていても良い。
【００２９】
プロセッサ２０２は、ここに説明する機能を実行できる任意のタイプのプロセッサとして実施できる。例えば、このプロセッサ２０２は、シングル又はマルチコアプロセッサ、デジタルシグナルプロセッサ、マイクロコントローラ、又はその他のプロセッサ又は処理／制御回路として実施できる。例示的なプロセッサ２０２は、１つ以上のトラステッド（ｔｒｕｓｔｅｄ）実行環境（ＴＥＥ）サポート２０４、またはセキュアエンクレーブサポートを含む。これは、トラステッド実行環境を確立する際に計算ノード１１０によって利用され得る。言うまでもなく、いくつかの実施形態では、ＴＥＥサポート２０４は、実行コードを測定、検証、または真正なものであると判定することができる、トラステッド実行環境のためのハードウェア強化セキュリティを提供する。例えば、ＴＥＥサポート２０４は、インテル（登録商標）ソフトウェア・ガード・エクステンション（ＳＧＸ）技術として実施することができる。ＴＥＥサポート２０４は、プロセッサ２０２内に例示的に示されているが、いくつかの実施形態では、計算ノード１１０の１つ以上の他のコンポーネントがＴＥＥサポート２０４を含むことができる。さらに、いくつかの実施形態では、計算ノード１１０のプロセッサ２０２は、ＴＥＥサポート２０４を利用してトラステッド実行環境を確立するように構成されたセキュリティエンジン（例えば、以下に説明するセキュリティエンジン２２４）、マネージャビリティ（ｍａｎａｇｅａｂｉｌｉｔｙ）エンジン、またはセキュリティコプロセッサを含むことができる。
【００３０】
メモリ２０８は、ここに説明する機能を実行できる、任意のタイプの揮発性又は不揮発性メモリ又はデータストレージとして実施できる。動作中、メモリ２０８は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ、及びドライバなど、計算ノード１１０の動作中に用いられる様々なデータとソフトウェアを記憶できる。メモリ２０８は、Ｉ／Ｏサブシステム２０６を介してプロセッサ２０２に通信可能に結合している。Ｉ／Ｏサブシステム１１２は、プロセッサ２０２、メモリ２０８、及び計算ノード１１０のその他のコンポーネントとの入出力動作を容易にする回路及び／又はコンポーネントとして実施できる。例えば、Ｉ／Ｏサブシステム２０６は、メモリコントローラハブ、入出力制御ハブ、ファームウェア装置、通信リンク（すなわち、ポイント・ツー・ポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路板トレースなど）及び／又は入出力動作を容易にするその他のコンポーネント及びサブシステムとして、又はこれらを含むものとして実施できる。
【００３１】
例示的なメモリ２０８は、セキュアメモリ２１０を含む。いくつかの実施形態では、セキュアメモリ２１０は、メモリ２０８のセキュアパーティションとして実施されてもよい。一方、他の実施形態では、セキュアメモリ２１０は、計算ノード１１０の別のハードウェアコンポーネントで実施されても、またはそれに含まれてもよい。本明細書で説明するように、セキュアメモリ２１０は計算ノード１１０に供給されるさまざまなデータを格納し得る。例えば、セキュアメモリ２１０は、チップセットの製造者により提供され得る計算ノード１１０の、及び／又はトラステッド実行環境のセキュアキー（例えば、アテステーションキー、プライベートダイレクトアノニマスアテステーション（ＤＡＡ）キー、エンハンストプライバシー識別（ＥＰＩＤ）キー、または任意の他のタイプのセキュア／暗号キー）を格納してもよい。セキュアメモリ２１０は、例えば、計算ノード１１０のＯＥＭ（ｏｒｉｇｉｎａｌ  ｅｑｕｉｐｍｅｎｔ  ｍａｎｕｆａｃｔｕｒｅｒ）によって供給される計算ノード１１０のパスワード、ＰＩＮ、または他の一意の識別子を格納することもできる。もちろん、言うまでもなく、セキュアメモリ２１０は、具体的な実施形態に応じて、様々な他のデータ（例えば、グループ名、装置識別子、ホワイトリスト、予想されるＰＩＮ値など）を格納することができる。いくつかの実施形態では、提供されたデータは、セキュアメモリ２１０の読み出し専用メモリに格納されてもよい。
【００３２】
例示的なメモリ２０８は、基本入出力システム（ＢＩＯＳ）２１２をさらに含む。ＢＩＯＳ２１２は、ブートプロセス中に計算ノード１１０を初期化する命令（例えば、計算ノード１１０のブート中に使用されるＢＩＯＳドライバ）を含む。いくつかの実施形態では、計算ノード１１０は、インテル（登録商標）プラットフォームチップセットのエクステンションなどのメインプラットフォームファームウェア、すなわちプリブートファームウェアにより、またはＵｎｉｆｉｅｄ  Ｅｘｔｅｎｓｉｂｌｅ  Ｆｉｒｍｗａｒｅ  Ｉｎｔｅｒｆａｃｅ（「ＵＥＦＩ」）仕様に基づくプラットフォームＢＩＯＳ２１２により、ＶＮＦインスタンスのオーケストレーションを容易にすることができる。ＵＥＦＩ仕様には、Ｕｎｉｆｉｅｄ  ＥＦＩ  Ｆｏｒｕｍによって発行された、いくつかのバージョンがある。
【００３３】
データストレージ装置２１４は、例えば、メモリ装置と回路、メモリカード、ハードディスクドライブ、固体ドライブ、その他の記憶装置などの、データを短期又は長期にわたり格納するように構成された任意のタイプの装置として実施できる。使用時、以下に説明するように、データ記憶装置２１４及び／又はメモリ２０８は、セキュリティ監視ポリシー、設定ポリシー、または他の同様のデータを格納することができる。
【００３４】
セキュアクロック２１６は、安全な（ｓｅｃｕｒｅ）タイミング信号を提供することができ、さもなければ本明細書で説明する機能を実行することができる任意のハードウェアコンポーネントまたは回路として実施することができる。例えば、例示的な実施形態では、セキュアクロック２１６は、計算ノード１１０の他のクロック源とは別個かつ機能的に独立したタイミング信号を生成することができる。したがって、このような実施形態では、セキュアクロック２１６は、例えば、計算ノード１１０上で実行されるソフトウェアのような他のエンティティによる変更に対して影響を受けない、または抵抗力があり得る。言うまでもなく、いくつかの実施形態では、セキュアクロック２１６は、スタンドアロンコンポーネントまたは回路として実施されてもよく、一方、他の実施形態では、セキュアクロック２１６は、別のコンポーネント（例えば、プロセッサ２０２）のセキュアな部分と一体化するか、またはセキュアな部分を形成することができる。例えば、いくつかの実施形態では、セキュアクロック２１６は、オンチップオシレータを介して実装されてもよく、及び／又はマネージャビリティエンジン（ＭＥ）のセキュアクロックとして実施されてもよい。また、言うまでもなく、セキュアクロック２１６は、他の計算ノード１１０のセキュアクロックに同期していてもよく、粒度（ｇｒａｎｕｌａｒｉｔｙ）は、別個のメッセージタイミングを区別することができるオーダーとすることができる。
【００３５】
計算ノード１１０の通信回路２１８は、計算ノード１１０と、別の計算ノード１１０、ＮＦＶオーケストレータ１０４、ＶＩＭ１０６、エンドポイント装置１１８，１２０、及び／又は他の接続されたネットワーク対応計算ノードとの間の通信を可能にすることができる、任意の通信回路、装置、又はこれらの集まりとして実施することができる。通信回路２１８は、一以上の任意の通信技術（例えば、有線または無線通信）と、かかる通信を行う関連プロトコル（例えば、イーサネット（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ、ＷｉＭＡＸ、ＧＳＭ（登録商標）、ＬＴＥなど）とを用いるように構成されていてもよい。例示的な通信回路２１８は、ネットワークインターフェースカード（ＮＩＣ）２２０およびスイッチ２２２を含む。ＮＩＣ２２０は、１つ以上のアドインボード、ドータカード、ネットワークインターフェースカード、コントローラチップ、チップセット、または計算ノード１１０によって使用され得る他の装置として実施されてもよい。例えば、ＮＩＣ２２０は、ＰＣＩ  Ｅｘｐｒｅｓｓのような拡張バスを介してＩ／Ｏサブシステム２０６に結合された拡張カードとして実施することができる。スイッチ２２２は、イーサネットスイッチチップ、ＰＣＩエクスプレススイッチングチップなど、ネットワークスイッチ操作を実行し、そうでなくても本明細書に記載された機能を実行することができる任意のハードウェアコンポーネントまたは回路として実施することができる。
【００３６】
上述したように、計算ノード１１０は、セキュリティエンジン２２４を含むこともでき、これは計算ノード１１０上にトラステッド実行環境（ＴＥＥ）を確立することができる任意のハードウェアコンポーネントまたは回路として実施してもよい。具体的には、セキュリティエンジン２２４は、計算ノード１１０によって実行される他のコードから独立した、データのアクセス及び／又はコードの実行をサポートすることができる。セキュリティエンジン２２４は、トラステッドプラットフォームモジュール（ＴＰＭ）、マネージャビリティエンジン（ＭＥ）、帯域外プロセッサ、または他のセキュリティエンジン装置、または装置の集まり（例えば、ＡＲＭ（登録商標）のトラステッドゾーン（ＴＺ）など）として実施することができる。いくつかの実施形態では、セキュリティエンジン２２４は、計算ノード１１０のシステムオンチップ（ＳｏＣ）に組み込まれた統合セキュリティ・マネージャビリティエンジン（ＣＳＭＥ）として実施されてもよい。
【００３７】
再び図１を参照して、例示的なＮＦＶネットワークアーキテクチャ１１６は、２つのエンドポイント装置１１８，１２０の間で通信可能に結合される。例示的なシステム１００では、第１のエンドポイント装置はエンドポイント装置（１）１１８として指定され、第２のエンドポイント装置はエンドポイント装置（２）１２０として指定される。しかし、言うまでもなく、任意の数のエンドポイント装置がＮＦＶネットワークアーキテクチャ１１６を介して接続されてもよい。エンドポイント装置１１８，１２０は、有線または無線技術を使用してネットワーク（図示せず）を介してＮＦＶネットワークアーキテクチャ１１６と通信可能に結合され、エンドポイント装置（１）が、エンドポイント装置（２）と、およびその逆に通信できるエンドツーエンド通信システムを構成する。したがって、ＮＦＶネットワークアーキテクチャ１１６は、エンドポイント装置１１８，１２０間で送信されるネットワーク通信トラフィック（すなわち、ネットワークパケット）を監視し、処理することができる。
【００３８】
エンドポイント装置１１８，１２０が通信するネットワークは、任意のタイプの有線または無線通信ネットワークとして実施することができ、ＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）またはＬＴＥ（Ｌｏｎｇ−Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）のようなセルラーネットワーク、テレフォニーネットワーク、デジタル加入者線（ＤＳＬ）ネットワーク、ケーブルネットワーク、ローカルまたはワイドエリアネットワーク、グローバルネットワーク（例えば、インターネット）、またはそれらの任意の組み合わせを含む。例えば、いくつかの実施形態では、ネットワークは、ｖＥＰＣアーキテクチャを有するＮＦＶベースのＬＴＥ（Ｌｏｎｇ−Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）ネットワークとして実施することができる。言うまでもなく、ネットワークは、集中型ネットワークとして機能してもよく、いくつかの実施形態では、別のネットワーク（例えば、インターネット）に通信可能に結合されてもよい。したがって、ネットワークは、エンドポイント装置１１８，１２０と、ＮＦＶネットワークアーキテクチャ１１６との間の通信を容易にするために、必要に応じて、ルータ、スイッチ、ネットワークハブ、サーバ、ストレージ装置、計算装置などの仮想および物理的な様々なネットワーク装置を含むことができる。
【００３９】
エンドポイント装置１１８、１２０は、本明細書に記載の機能を実行することができる任意のタイプの計算またはコンピュータ装置として実施することができる。これには、スマートフォン、モバイル計算装置、タブレットコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、コンピュータ、サーバ（例えば、スタンドアローン、ラックマウント、ブレードなど）、ネットワーク機器（例えば、物理または仮想）、ウェブ機器、分散計算システム、プロセッサベースのシステム、及び／又はマルチプロセッサシステムが含まれるが、限定ではない。図３に示すように、図２の計算ノード１１０と同様に、例示的なエンドポイント装置（例えば、図１のエンドポイント装置１１８，１２０の１つ）は、プロセッサ３０２、入出力（Ｉ／Ｏ）サブシステム３０４、メモリ３０６、データ記憶装置３０８，１つ以上の周辺装置３１０、および通信回路３１２を含む。そのため、同様のコンポーネントのさらなる説明は、計算ノード１１０に関して上述した対応するコンポーネントの説明が、エンドポイント装置１１８，１２０の対応するコンポーネントに等しく適用されるので、説明の明確性のため、ここでは繰り返さない。
【００４０】
もちろん、エンドポイント装置１１８，１２０は、他の実施形態（例えば、様々な入力／出力装置）において通信インフラストラクチャで動作することができるモバイル計算装置に一般的に見られるような、他の又は追加のコンポーネントを含むことができる。また、幾つかの実施形態では、例示したコンポーネントのうち一以上は、他のコンポーネントに組み込まれていても良く、又はその一部を構成していても良い。周辺装置３１０は、入出力装置、インターフェース装置、及び／又はその他のペリフェラル装置をいくつ含んでいてもよい。例えば、幾つかの実施形態では、周辺装置３１０は、ディスプレイ、タッチスクリーン、グラフィックス回路、キーボード、マウス、スピーカシステム、及び／又はその他の入出力装置、インターフェース装置、及び／又は周辺装置を含んでいてもよい。
【００４１】
ここで図４を参照し、ＮＦＶネットワークアーキテクチャ１１６のＶＮＦを安全にブートストラップする図１のＮＦＶネットワークアーキテクチャ１１６の例示的な実施形態は、図１のＮＦＶセキュリティサービスコントローラ１０２、ＮＦＶオーケストレータ１０４、ＶＩＭ１０６、およびＮＦＶインフラストラクチャ１０８、及びＶＮＦマネージャ４１０を含む。前に説明したように、使用時に、ＮＦＶオーケストレータ１０４は、インスタンス化、スケーリングアウト／イン、パフォーマンス測定、相関イベント、終了などを含む、ＮＦＶインフラストラクチャ１０８におけるＶＮＦインスタンスのライフサイクルを管理する。そうするために、ＮＦＶオーケストレータ１０４は、ＮＦＶインフラストラクチャ１０８のリソースに基づいて、ＮＦＶインフラストラクチャ１０８のＶＮＦインスタンスの初期化および構成（すなわち、スケーリングおよび展開）を管理するために（ＶＮＦインスタンス４４０参照）、セキュア通信チャネル４０６を介してＶＮＦマネージャ４１０に命令を提供するように構成される。
【００４２】
ＶＮＦマネージャ４１０はさらに、ＮＦＶインフラストラクチャ１０８の構成およびイベント報告のための全体的な調整および適合を実行するように構成される。また、ＶＮＦマネージャ４１０は、ＶＮＦインスタンスのインテグリティを更新し保証するように構成されている。そうするために、ＶＮＦマネージャ４１０は、セキュア通信チャネル４１４を介してＶＩＭ１０６と通信して、特定のＶＮＦインスタンスをインスタンス化するために利用可能な物理リソースを決定するように構成される。言うまでもなく、ＶＩＭ１０６は、任意の適切な技術、アルゴリズム、及び／又は機構を用いて、かかる決定をしてもよい。また言うまでもなく、いくつかの実施形態では、単一のＶＮＦマネージャ４１０が、１つ以上のＶＮＦインスタンスを管理する役割を果たすことができる。換言すれば、いくつかの実施形態では、ＶＮＦマネージャ４１０は、各ＶＮＦインスタンスに対してインスタンス化されてもよい。
【００４３】
ＮＦＶネットワークアーキテクチャ１１６は、通信チャネル４０４を介してＮＦＶオーケストレータ１０４に通信可能に結合されたオペレーションサポートシステムおよびビジネスサポートシステム（ＯＳＳ／ＢＳＳ）４０２をさらに含む。ＯＳＳ／ＢＳＳ４０２は、電話ネットワーク内の様々なエンドツーエンド電気通信サービスをサポートするなど、本明細書に記載の機能を実行することができる任意のタイプの計算または計算ノードとして実施することができる。いくつかの実施形態では、ＯＳＳ／ＢＳＳ４０２は、ネットワークインベントリ、サービス提供、ネットワーク構成、および障害管理などの管理機能、および製品管理、顧客管理、収益管理、注文管理など、ＯＳＳ／ＢＳＳ４０２によってサポートされるエンドツーエンド通信サービスをサポートする様々なビジネス機能をサポートするように構成されてもよい。
【００４４】
ＮＦＶセキュリティサービスコントローラ１０２は、セキュア通信チャネル４１６を介してＮＦＶオーケストレータ１０４に通信可能に接続される。言うまでもなく、いくつかの実施形態では、ＮＦＶセキュリティサービスコントローラ１０２およびＮＦＶオーケストレータ１０４は、ＭＡＮＯアーキテクチャフレームワーク内など、同じ場所に配置されてもよい。さらに、ＮＦＶセキュリティサービスコントローラ１０２は、セキュア通信チャネル４２８を介してＶＩＭ１０６に通信可能に接続され、ＮＦＶオーケストレータ１０４は、セキュア通信チャネル４０８を介してＶＩＭ１０６に通信可能に接続される。ＮＦＶネットワークアーキテクチャ１１６のセキュア通信チャネル（例えば、セキュア通信チャネル４０６、セキュア通信チャネル４１４など）は、ＮＦＶセキュリティサービスコントローラ１０２が信頼ルート（ｒｏｏｔ  ｏｆ  ｔｒｕｓｔ（ＲｏＴ））を確立して通信チャネルを確立するために使用される安全な鍵（例えば、セッション鍵及び／又は他の暗号鍵）で保護されてもよい。いくつかの実施形態では、セキュア鍵は、定期的にリフレッシュされ得る対のセッション鍵として実施されてもよい。このように、ＮＦＶセキュリティサービスコントローラ１０２は、認証サーバとして動作するように構成することができる。
【００４５】
ＮＦＶセキュリティサービスコントローラ１０２は、ＮＦＶインフラストラクチャ１０８内のＶＮＦインスタンスのＶＢＳエージェント（以下にさらに説明する）を管理するように構成されたＶＮＦブートストラップサービス（ＶＢＳ）４２０を含む。使用時、ＶＢＳ４２０は、トラストアンカーの観点からセキュアブートストラッププロセス（すなわち、図９および図１０のセキュアなＶＮＦブートストラップキャプチャプロトコルの実行）を管理する。したがって、いくつかの実施形態では、ＮＦＶセキュリティサービスコントローラ１０２は、ＶＢＳ４２０が存在するトラステッド実行環境（ＴＥＥ）４２２をさらに含むことができる。しかし、言うまでもなく、いくつかの実施形態では、ＶＢＳ４２０は、専用のＶＢＳサーバ上など、ＮＦＶセキュリティサービスコントローラ１０２の外部にあってもよい。そのような実施形態では、ＶＢＳ４２０は依然としてＴＥＥで実行されてもよい。
【００４６】
追加的に、例示的なＮＦＶセキュリティサービスコントローラ１０２は、セキュリティ監査・フォレンジックデータベース４２６とインターフェースする。セキュリティ監査・フォレンジックデータベース４２６は、ＮＦＶネットワークアーキテクチャ１１６の様々なセキュリティ監視コンポーネントに関連するセキュリティ監査情報を含むセキュアデータベースとして実施される。セキュリティ監査情報は、例えば構成変更ログ、ネットワークトレース、デバッグトレース、アプリケーショントレースなどを含む、ＮＦＶネットワークアーキテクチャ１１６のセキュリティに関連する任意の情報を含むことができる。例示的なＮＦＶネットワークアーキテクチャ１１６では、セキュリティ監査・フォレンジックデータベース４２６は、ＮＦＶネットワークアーキテクチャ１１６の他のネットワークおよびセキュリティ監視コンポーネント、例えば、ＮＦＶにわたって分散された様々なＮＦＶセキュリティサービスエージェントおよびＶＩＭ１０６とインターフェースするようにさらに構成される。これについては、以下でより詳細に説明する。いくつかの実施形態では、セキュリティ監査・フォレンジックデータベース４２６とインターフェースする例示的なＮＦＶネットワークアーキテクチャ１１６の様々なセキュリティ監視コンポーネントは、セキュアクロック（たとえば、図２のセキュアクロック２１６）を使用して、セキュリティ監査・フォレンジックデータベース４２６で受信するログにタイムスタンプを付す。
【００４７】
前述したように、使用時、ＶＩＭ１０６は、セキュア通信チャネル４７８を介して安全に送信されたメッセージを通してＮＦＶインフラストラクチャ１０８の仮想的および物理的（すなわち、ハードウェアによる）計算、記憶およびネットワークリソースの割り当てを制御および管理する。さらに、いくつかの実施形態では、ＶＩＭ１０６は、ＮＦＶインフラストラクチャ１０８の計算、記憶、及びネットワークリソース（例えば、物理的及び仮想的なもの）の性能測定値およびイベントを、収集し、セキュリティ監査・フォレンジックデータベース４２６に転送するように構成されてもよい。例示的なＶＩＭ１０６は、ＶＩＭコントローラ４３０を含む。ＶＩＭコントローラ４３０は、クラウドオペレーティングシステムＶＮＦインストールおよびアクティブ化サービスとして機能するように構成される。例えば、いくつかの実施形態では、ＶＩＭコントローラは、ネットワークポリシーコントローラ、またはネットワーキングサービスコントローラ（例えば、ＳＤＮ（ｓｏｆｔｗａｒｅ  ｄｅｆｉｎｅｄ  ｎｅｔｗｏｒｋｉｎｇ）コントローラまたはＯｐｅｎＳｔａｃｋニュートロン）として、または計算サービスコントローラ（例えば、Ｏｐｅｎｓｔａｃｋ  Ｎｏｖａ）として実施されてもよい。追加的または代替的に、いくつかの実施形態では、ＶＩＭコントローラ４３０は、イメージサービスコントローラ、アイデンティティサービスコントローラなどとして実施されてもよい。
【００４８】
ＮＦＶインフラストラクチャ１０８は、ＶＮＦインスタンスが展開される計算ノード１１０のすべてのハードウェアおよびソフトウェアコンポーネント（すなわち、仮想計算、ストレージ、およびネットワークリソース、仮想化ソフトウェア、ハードウェア計算、ストレージおよびネットワークリソースなど）を含む。言うまでもなく、ＮＦＶインフラストラクチャ１０８の物理的コンポーネント及び／又は仮想的コンポーネントは、さまざまな場所、データセンター、地理、プロバイダなどにまたがっていてもよい。また、言うまでもなく、ＮＦＶインフラストラクチャ１０８のコンポーネントが通信し、それを介してインターフェースするために使用するネットワークは、ＮＦＶインフラストラクチャ１０８に含まれると考えてもよい。
【００４９】
例示的なＮＦＶインフラストラクチャ１０８は、いくつかのＶＮＦインスタンス４４０およびオペレータインフラストラクチャ４６０を含む。オペレータインフラストラクチャ４６０は、１つ以上のプラットフォーム４７０、図２のＢＩＯＳ２１２、およびハイパーバイザ４６２を含む。オペレータインフラストラクチャ４６０は、ＶＮＦインスタンス４４０を展開するための複数の異なるネットワークインフラストラクチャを含むことができる。したがって、オペレータは、複数の異なるネットワークインフラストラクチャを使用して、ＮＦＶインフラストラクチャ１０８（すなわち、物理インフラストラクチャ）上に、または他のオペレータの物理的インフラストラクチャ上に、ならびに第三者のクラウドホスティングインフラストラクチャ上に、及び／又は顧客の敷地内のカスタマー機器上に展開することができる。例えば、展開シナリオには、プライベートクラウドモデルで動作するモノリシックオペレータ、ハイブリッドクラウド内の仮想ネットワークオペレータをホストするネットワークオペレータ、ホスティングされたネットワークオペレータ、パブリッククラウドモデルのホステッド通信およびアプリケーションプロバイダ、顧客の管理されたネットワークサービス構内機器などを含み得る。
【００５０】
例示的なプラットフォーム４７０は、プラットフォーム（１）４７２として指定される第１のプラットフォームと、プラットフォーム（Ｎ）４７４（すなわち、「Ｎ番目の」プラットフォームであり、「Ｎ」は正の整数であり、１つ以上の追加プラットフォームを指定する）として指定される第２のプラットフォームを含む。プラットフォーム４７０の各々は、図２のＩ／Ｏサブシステム２０６、ＮＩＣ２２０（またはスイッチ２２２）、およびデータ記憶装置を含む。プラットフォーム４７０の各々は、そのプラットフォームにユニークな識別子（例えば、ＢＩＯＳ２１２（ＵＥＦＩ）識別子）をさらに含み、これは（例えば、セキュアメモリ２１０などの）安全な場所に格納することができる。ユニークなプラットフォーム識別子は、ハードウェア識別子、ＯＥＭ（Ｏｒｉｇｉｎａｌ  Ｅｑｕｉｐｍｅｎｔ  Ｍａｎｕｆａｃｔｕｒｅｒ）基板識別子、ＢＩＯＳ／ＵＥＦＩ在庫保持ユニット（ＳＫＵ）識別子、現場交換可能ユニット（ＦＲＵ）識別子、オペレーティングシステムバージョン識別子などの組み合わせハッシュまたはグローバル一意識別子（ＧＵＩＤ）ＦＲＵ）識別子を含み得る。
【００５１】
例示的なプラットフォーム（１）４７２は、ＴＥＥ４７６をさらに含む。ＴＥＥ４７６は、セキュア環境（例えば、プロセッサ２０２のＴＥＥサポート２０４）のＣＳＭＥ、ＳＧＸ、ＩＥ、ＭＥ、または物理的、仮想的（すなわち、ソフトウェアベース）、またはファームウェアＴＰＭ（例えば、セキュアパーティション、セキュリティコプロセッサ又は別個のプロセッサコア等からなるセキュリティエンジン２２４上のファームウェアＴＰＭ）により確立されてもよい。また、ＴＥＥ４７６は、ＮＦＶセキュリティサービスコントローラ１０２での安全な提供手順を通して、プラットフォーム（１）４７２に安全に提供することができる。いくつかの実施形態では、セキュア提供手順（ｓｅｃｕｒｅ  ｐｒｏｖｉｓｉｏｎｉｎｇ  ｐｒｏｃｅｄｕｒｅ）は、ＮＦＶセキュリティサービスコントローラ１０２によるブートストラップを介して実行され得る。追加的または代替的に、いくつかの実施形態では、セキュア提供手順をオフラインで実行することができる。
【００５２】
ハイパーバイザ４６２または仮想マシンモニタ（ＶＭＭ）は、ＮＦＶインフラストラクチャ１０８の様々な仮想化ハードウェアリソース（例えば、仮想メモリ、仮想オペレーティングシステム、仮想ネットワークコンポーネントなど）を確立及び／又は利用するように構成される。さらに、ハイパーバイザ４６２は、ＶＮＦインスタンス４４０にわたる通信を容易にすることができる。例示的なハイパーバイザ４６２は、クラウドサービスディスカバリ、サービスネゴシエーション、及び／又はサービス構成を強化するように構成された１つ以上のクラウドオペレーティングシステムエージェント４６４を含む。いくつかの実施形態では、ハイパーバイザ４６２は、ＴＥＥ４７６と同様に機能するように構成されているが、ＮＦＶインフラストラクチャ１０８の仮想レベルまたはハイパーバイザレベルで機能するように構成されたＴＥＥ４６６をさらに含み得る。
【００５３】
ハイパーバイザ４６２は、使用時、ＶＮＦインスタンス４４０を、一般に、ＶＮＦインスタンス４４０の各々を実行するための１つ以上のＶＭ及び／又はコンテナを介して実行する。いくつかの実施形態では、ＶＮＦインスタンス４４０は、課金機能、仮想スイッチ（ｖＳｗｉｔｃｈ）、仮想ルータ（ｖＲｏｕｔｅｒ）、ファイアウォール、ネットワークアドレス変換（ＮＡＴ）、ＤＰＩ、進化型パケットコア（ＥＰＣ）、モビリティ管理エンティティ（ＭＭＥ）、パケットデータネットワークゲートウェイ（ＰＧＷ）、サービングゲートウェイ（ＳＧＷ）、及び／又は他の仮想ネットワーク機能を含むことができる。いくつかの実施形態では、あるＶＮＦインスタンス４４０は、複数のサブインスタンスを有してもよく、これは単一のプラットフォーム（例えば、プラットフォーム４７２）上で実行でき、または異なる複数のプラットフォーム（例えば、プラットフォーム４７２およびプラットフォーム４７４）にわたって実行することができる。言い換えれば、仮想化されると、あるプラットフォームと同じ場所に配置された物理的ハードウェアによって従来は処理されていたネットワーク機能は、１つ以上のプラットフォーム４８０にわたっていくつかのＶＮＦインスタンス４４０として分散され得る。
【００５４】
ＶＮＦインスタンス４４０の各々は、１つ以上のＶＮＦインスタンスを含むことができる。例えば、いくつかの実施形態では、ＶＮＦインスタンス４４０のいずれかは、サービス機能チェーンの複数のＶＮＦインスタンスをバンドルすることができる。さらに、各ＶＮＦインスタンスは、１つ以上のＶＮＦコンポーネント（ＶＮＦＣｓ）（図示せず）を含むことができる。言うまでもなく、ＶＮＦインスタンス４４０は、任意の適切な仮想ネットワーク機能として実施されてもよい。同様に、ＶＮＦＣは、任意の適切なＶＮＦコンポーネントとして実施されてもよい。ＶＮＦＣは、協力して、１つ以上のＶＮＦインスタンス４４０の機能性を提供するプロセス及び／又はインスタンスである。例えば、いくつかの実施形態では、ＶＮＦＣはＶＮＦインスタンス４４０のサブモジュールであってもよい。言うまでもなく、ＶＮＦインスタンス４４０と同様に、ＶＮＦＣは、１つ以上のプラットフォーム４７０にわたって分散されてもよい。また、言うまでもなく、ＶＮＦインスタンス４４０は、複数のプラットフォーム４７０にわたって分散されてもよく、１つ以上のプラットフォーム４７０上に確立されたＶＮＦインスタンス４４０の一部を形成してもよい。そのような実施形態では、ＶＮＦインスタンス４４０及び／又はＶＮＦＣは、同じプラットフォーム（たとえば、プラットフォーム４７２またはプラットフォーム４７４）上で、または同じデータセンター内であるが異なるプラットフォーム４７０上で実行されてもよい。さらに、いくつかの実施形態では、ＶＮＦインスタンス４４０及び／又はＶＮＦＣは、異なるデータセンターにわたって実行されてもよい。ハイパーバイザ４６２は、ＶＮＦインスタンス４４０にわたる通信を容易にするハイパーバイザ４６２と同様に、ＶＮＦＣにわたる通信をさらに促進することができる。
【００５５】
例示的なＶＮＦインスタンス４４０は、ＶＮＦ（１）４４２として示される第１のＶＮＦインスタンスと、ＶＮＦ（２）４４４として示される第２のＶＮＦインスタンスと、ＶＮＦ（Ｎ）４４６（すなわち、「Ｎ番目」のＶＮＦ、ここで「Ｎ」は正の整数であり、１つ以上の追加のＶＮＦインスタンスを示す）として示される第３のＶＮＦインスタンスとを含む。各ＶＮＦインスタンス４４０は、仮想ネットワーキング装置（例えば、ｖＳｗｉｔｃｈ、ｖＲｏｕｔｅｒ、ファイアウォール、ＮＡＴ、ＤＰＩ、ＥＰＣ、ＭＭＥ、ＰＧＷ、ＳＧＷなど）として実行するように構成される。いくつかの実施形態では、１つ以上のＶＮＦインスタンス４４０は、仮想機能またはサービスを実行することができるサービス機能チェーンを備えることができる。１つ以上のＶＮＦインスタンス４４０は、インテル（登録商標）・データプレーン開発キット（インテル（登録商標）ＤＰＤＫ）などのユーザ・データ・プレーンでネットワークトラフィックを処理するパケット・プロセッサ（図示せず）を含むことができる。
【００５６】
各プラットフォーム４７０にユニークな識別子と同様に、各ＶＮＦインスタンス４４０は、ユニークな識別子を含む。ＶＮＦインスタンス４４０のユニークなＶＮＦインスタンス識別子は、ＶＮＦインスタンス４４０のイメージ、ＶＮＦ記述子識別子、ＶＮＦコマンドライン識別子、ＶＮＦ  ＯＥＭ識別子、ＶＮＦベンダー識別子、及び／又はＶＮＦＣ識別子の組み合わせハッシュまたはＧＵＩＤであってもよい。したがって、ＶＮＦインスタンス識別子は、ＶＮＦインスタンス４４０と安全に通信するとき、ＮＦＶセキュリティサービスコントローラ１０２、ＶＩＭ１０６、及び／又はＶＮＦマネージャ４１０によって使用されてもよい。例えば、ＶＩＭ１０６は、ユニークなＶＮＦインスタンス識別子を使用して、セキュア通信チャネル４７８を介してＮＦＶインフラストラクチャ１０８でＶＮＦインスタンスのスピンアップ（ｓｐｉｎｎｉｎｇ  ｕｐ）を開始することができる。同様に、ＶＮＦマネージャ４１０は、セキュア通信チャネル４１８を介してＶＮＦインスタンス４４０との管理セッションを設定するときに、ユニークなＶＮＦインスタンス識別子を使用することができる。
【００５７】
例示的なＶＮＦインスタンス４４０のそれぞれは、各ＶＮＦインスタンス４４０を安全にブートストラップして、ＶＮＦインスタンス４４０をルート証明書などで安全にプロビジョニングできるようにするＶＢＳエージェント（すなわち、ＶＮＦ（１）４４２のＶＢＳエージェント４４８、ＶＮＦ（２）４４４のＶＢＳエージェント４５０、およびＶＮＦ（Ｎ）４４６のＶＢＳエージェント４５２）を含む。さらに、例示的なＶＮＦインスタンスの各々は、セキュア通信チャネル４２４ならびにオペレータインフラストラクチャ４６０を介して（すなわち、セキュア通信チャネル４５４，４５６，４５８を介して）、ＮＦＶセキュリティサービスコントローラ１０２のＶＢＳ４２０と安全にネットワーク通信する。
【００５８】
以下でさらに詳細に説明するように、各ＶＢＳエージェント４４８，４５０，４５２は、セキュアブートストラッププロセスを実行（すなわち、図９および図１０のセキュアＶＮＦブートストラップキャプチャプロトコルを実行）するように構成される。そうするために、各ＶＢＳエージェント４４８，４５０，４５２は、以前にスピンアップされたＶＮＦインスタンスをインスタンス化し、セキュアブートストラッププロセスを実行するときに、ＮＦＶセキュリティサービスコントローラ１０２と通信する際のセキュリティに使用される公開／秘密鍵ペア（すなわち、公開鍵および秘密鍵）を生成し、セキュアブートストラッププロセスを実行するように構成される。言うまでもなく、いくつかの実施形態では、ＮＦＶインフラストラクチャ１０８は、ＶＢＳエージェントを含まない他のＶＮＦインスタンスをさらに含む。
【００５９】
前述したように、ＶＮＦインスタンス４４０は、サービス機能連鎖において必要とされるような、複数のＶＮＦを束ねることができる。そのような実施形態では、セキュアブートストラッププロセスを使用して、サービス機能チェーン全体をブートストラップすることができる。さらに、ＶＮＦインスタンス４４０が制御プレーンおよびデータプレーンに沿って因数分解される実施形態では、セキュアブートストラッププロセスは、１対１、１対多または多対多の制御プレーンおよびデータプレーンＶＮＦインスタンスで利用することができる。
【００６０】
ここで図５を参照して、使用時、ＮＦＶセキュリティサービスコントローラ１０２は、動作中に環境５００を確立する。ＮＦＶセキュリティサービスコントローラ１０２の例示的な環境５００は、図４のセキュア通信モジュール５１０およびＶＮＦブートストラップサービス４２０を含む。また、ＶＮＦブートストラップサービス４２０は、ＶＢＳエージェント通信モジュール５２０、ＶＢＳエージェント登録モジュール５３０を含む。
【００６１】
環境５００の様々なモジュールは、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせとして実施されてもよい。例えば、環境５００の様々なモジュール、ロジック、その他のコンポーネントは、ＮＦＶセキュリティサービスコントローラ１０２のハードウェアコンポーネントの一部を構成しても、またはそれらハードウェアコンポーネントにより確立されてもよい。そのため、幾つかの実施形態では、環境５００の一以上のモジュールは、電子装置の回路または集まり（例えば、セキュア通信回路、ＶＢＳエージェント通信回路、及びＶＢＳエージェント登録回路など）として実施してもよい。追加的または代替的に、幾つかの実施形態では、例示のモジュールのうち１つ以上は、他のモジュール、及び／又は１つ以上の例示のモジュール及び／又はサブモジュールの一部を構成してもよく、これらはスタンドアロンモジュールとして、又は独立のモジュールとして実施されてもよい。
【００６２】
セキュア通信モジュール５１０は、ＮＦＶセキュリティサービスコントローラ１０２とＮＦＶネットワークアーキテクチャ１１６の様々なネットワーク処理コンポーネントとの間の安全な（ｓｅｃｕｒｅ）通信（すなわち、メッセージ）を容易にするように構成される。そうするために、セキュア通信モジュール５１０は、ＮＦＶセキュリティサービスコントローラ１０２とＮＦＶネットワークアーキテクチャ１１６の様々なネットワーク処理コンポーネント（例えば、ＶＩＭ１０６、ＶＮＦマネージャ４１０など）との間の通信経路を確保（ｓｅｃｕｒｅ）するように構成される。したがって、いくつかの実施形態では、セキュア通信モジュール５１０は、様々な鍵管理機能、暗号機能、セキュア通信チャネル管理、及び／又は他のセキュリティ機能を実行することができる。例えば、セキュア通信モジュール５１０は、ＮＦＶセキュリティサービスコントローラ１０２とＶＮＦマネージャ４１０との間の通信のセキュリティを確実にするために、周期的にリフレッシュされる対のセッション鍵を使用して、図４のＮＦＶセキュリティサービスコントローラ１０２とＶＮＦマネージャ４１０との間の通信チャネルを確保するように構成することができる。
【００６３】
ＶＢＳエージェント通信モジュール５２０は、セキュア通信モジュール５１０と同様に、ＶＢＳ４２０と、ＮＦＶインフラストラクチャ１０８のＶＮＦインスタンス４４０のＶＢＳエージェントとの間のセキュア通信（すなわち、メッセージ）を容易にし、管理するように構成される。ＶＢＳエージェント登録モジュール５３０は、セキュアブートストラッププロセスの実行時にＶＢＳエージェントを登録するように構成される。そうするために、ＶＢＳエージェント登録モジュール５３０は、ＶＢＳエージェント検証モジュール５３２と、ＶＢＳエージェントセキュリティ信用証明モジュール５３４とを含む。
【００６４】
ＶＢＳエージェント検証モジュール５３２は、ＶＢＳエージェントのセキュアブートストラップパラメータ（例えば、値およびハッシュ）を検証するように構成される。そうするために、ＶＢＳエージェント検証モジュール５３２は、ＶＢＳキャプチャプロトコルの実行中にＶＢＳエージェントから受信したセキュリティクォート（ｓｅｃｕｒｉｔｙ  ｑｕｏｔｅ）の真正性を検証するように構成され、以下でさらに詳細に説明する。追加的または代替的に、いくつかの実施形態では、ＶＢＳエージェント検証モジュール５３２は、ＶＢＳ４２０の安全なプロビジョニングの間に、ＶＢＳ４２０またはセキュリティコントローラ１０２によって受信された１つ以上のプロビジョニングパラメータに基づいてＶＢＳ４２０の構成を検証するためのホワイトリストチェックを実行する。いくつかの実施形態では、ＶＢＳエージェント検証モジュール５３２は、追加的または代替的に、ノンスセッションを用いてＶＢＳエージェントとＶＢＳ４２０との間のメッセージの生存性（ｌｉｖｅｎｅｓｓ）（すなわち、リプレイ攻撃などでメッセージが期限切れになっていないこと）を検出するように構成されてもよく、以下でさらに説明する。追加的または代替的に、いくつかの実施形態では、ＶＢＳエージェント検証モジュール５３２は、ＶＢＳキャプチャプロトコルの実行中にＶＢＳエージェントから受信したＶＢＳエージェントのＶＮＦインスタンスの公開鍵の真正性を検証するように構成することができる。
【００６５】
ＶＢＳエージェントセキュリティ証明モジュール５３４は、ＶＢＳキャプチャプロトコルの実行中に登録されるＶＢＳエージェントに対する有効なセキュリティ証明（例えば、証明書、署名されたハッシュ結果など）を提供するように構成される。そうするために、ＶＢＳエージェントセキュリティ証明モジュール５３４は、ＶＢＳエージェント検証モジュール５３２がセキュリティクォートおよびＶＮＦインスタンスの公開鍵の真正性を検証したこと、及びメッセージの生存性（ｌｉｖｅｎｅｓｓ）（すなわち、リプレイ攻撃などにおいてメッセージが死んでいないこと）を確認したことに応じて、有効なセキュリティクレデンシャル（ｓｅｃｕｒｉｔｙ  ｃｒｅｄｅｎｔｉａｌ）を生成または読み出しするように構成されてもよい。
【００６６】
ここで図６を参照し、使用時、各ＶＮＦインスタンス（例えば、図４のＶＮＦインスタンス４４２，４４４，４４６）は、動作中に環境６００を確立する。対応するＶＮＦインスタンスの例示的な環境６００は、セキュア通信モジュール６１０およびＶＢＳエージェント（例えば、図４のＶＢＳエージェント４４８，４５０，４５２のうちの１つ）を含む。例示的なＶＢＳエージェントは、そのＶＢＳエージェントのＶＢＳ通信モジュール６２０と、ＶＢＳキャプチャプロトコル実行モジュール６３０とを含む。環境６００の様々なモジュールは、ハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせとして実施されてもよい。例えば、環境６００の様々なモジュール、ロジック、その他のコンポーネントは、ＮＦＶセキュリティサービスエージェントのハードウェアコンポーネントの一部を構成しても、またはそれらハードウェアコンポーネントにより確立されてもよい。そのため、幾つかの実施形態では、環境６００の一以上のモジュールは、電子装置の回路または集まり（例えば、セキュア通信回路、ＶＢＳ通信回路、及びＶＢＳキャプチャプロトコル実行回路など）として実施してもよい。追加的または代替的に、幾つかの実施形態では、例示のモジュールのうち１つ以上は、他のモジュールの一部を構成してもよく、及び／又は１つ以上の例示のモジュール及び／又はサブモジュールは、スタンドアロンモジュールとして、又は独立のモジュールとして実施されてもよい。
【００６７】
セキュア通信モジュール６１０は、ＶＢＳエージェントとの間でのデータ（すなわち、メッセージ）の安全な送信を容易にするように構成される。ＶＢＳ通信モジュール６２０は、例えばセキュアブートストラッププロセスの間、セキュア通信モジュール６１０と同様に、ＶＢＳエージェントと、ＮＦＶセキュリティサービスコントローラ１０２のＶＢＳ４２０との間のセキュア通信（例えば、登録データ、検証データ、構成データなど）を容易にし、管理するように構成される。ＶＢＳキャプチャプロトコル実行モジュール６３０は、セキュアＶＮＦブートストラップキャプチャプロトコルを実行するように構成されている。これは図９及び図１０を参照して説明する。そうするために、ＶＢＳキャプチャプロトコル実行モジュール６３０は、公開／秘密鍵ペア（すなわち、公開鍵および秘密鍵）を生成し、ＶＮＦインスタンスがインスタンス化されるプラットフォームのＴＥＥ（例えば、図４のプラットフォーム４７２のＴＥＥ４７６）から、セキュリティクォート（例えば、アテステーションクォートまたはＴＥＥが検証または認証されることができるデジタル署名値）を要求するように構成される。したがって、ＴＥＥは、ＶＢＳエージェントのアイデンティティおよび構成を証明することができる（例えば、正しい起動パラメータによって構成された正しいＶＢＳエージェントを実行する、ＶＢＳエージェントが要求された公開鍵を生成する）。さらに、ネットワークパケットの改ざん、ネットワークパケットの破損、ネットワークパケット内の悪意のあるコンテンツなど、可能性のあるセキュリティ脅威を検出するリモートアテステーションを実装することもできる。
【００６８】
ここで図７を参照して、使用時、ＶＮＦインスタンス（例えば、図４のＶＮＦインスタンス４４０の１つ）は、セキュアＶＮＦブートストラップを開始する方法７００を実行することができる。方法７００は、ブロック７０２で開始し、ＶＮＦインスタンスは、図４のＯＳＳ／ＢＳＳ４０２などから、インスタンス化トリガーが受信されたかどうかを判定する。言うまでもなく、いくつかの実施形態では、インスタンス化は、ＶＮＦインスタンスが生成された後に自動的に実行されてもよい。そうでない場合、方法７００はブロック７０２にループバックして、インスタンス化トリガーが受信されるのを待ち続ける。インスタンス化トリガーが受信された場合、方法はブロック７０４に進む。ブロック７０４で、ＶＮＦインスタンスは、起動パラメータのセット（すなわち起動要件）に基づいてインスタンス化する。言うまでもなく、インスタンス化されたＶＮＦインスタンスはアクティブではない（すなわち、ＶＮＦインスタンスはネットワークトラフィックを処理していない）。
【００６９】
ブロック７０６において、ＶＮＦインスタンスは、セキュアＶＮＦブートストラップキャプチャプロトコルを実行する。これについては、図９および図１０を参照してさらに詳細に説明する。ブロック７０８において、ＶＮＦインスタンスは、ＶＮＦインスタンスを起動する（すなわち、ネットワークトラフィックを処理することを開始する）ことを指示する起動信号が、例えばＮＦＶセキュリティサービスコントローラ１０２またはＶＮＦマネージャ４１０などから受信されたかどうかを判断する。そうでない場合、方法７００はブロック７０８にループバックして、起動信号が受信されるのを待ち続ける。起動信号が受信されると、方法７００はブロック７１０に進む。ブロック７１０で、ＶＮＦインスタンスは、ＶＮＦインスタンスによって実行される動作に固有の起動ポリシーおよび構成情報を読み出す。
【００７０】
ブロック７１２において、ＶＮＦインスタンスは、動作可能なＶＮＦインスタンスとして安全に登録される。そうするために、ＶＮＦインスタンスは、登録要求メッセージをＶＢＳ４２０に安全に（ｓｅｃｕｒｅｌｙ）送信する。ブロック７１４において、ＶＮＦインスタンスは、ブロック７１２で送信された登録要求メッセージに応答して登録確認が受信されたかどうかを判定する。受信されていない場合、方法７００はブロック７１４にループバックして、登録確認を待ち続ける。登録確認が受信されると、方法７００はブロック７１６に進む。ブロック７１６において、ＶＮＦインスタンスは、登録確認と一緒に受信したＶＮＦマネージャのＩＰアドレスなどにより、対応するＶＮＦマネージャ（例えば、ＶＮＦマネージャ４１０）を識別する。言うまでもなく、いくつかの実施形態では、複数のＶＮＦマネージャがＮＦＶネットワークアーキテクチャ１１６にあってもよい。したがって、そのような実施形態では、ＶＮＦインスタンスに対応するＶＮＦマネージャは、そのＶＮＦマネージャに関連するユニークな識別子により特定され得る。その識別子は、ＮＦＶセキュリティサービスコントローラ１０２により、ＶＮＦインスタンスに提供され得る。このように、そのような実施形態では、ＶＮＦインスタンスは、進行する前に、ＮＦＶセキュリティサービスコントローラ１０２にそのユニークな識別子を要求することができる。
【００７１】
ブロック７１８において、ＶＮＦインスタンスは、識別されたＶＮＦマネージャに接続する。したがって、識別されたＶＮＦマネージャは、ＶＮＦインスタンスのライフサイクルを管理（例えば、インスタンス化、更新、クエリ、スケーリング、終了など）することができる。いくつかの実施形態では、ブロック７２０において、ＶＮＦインスタンスは、ＶＮＦのライセンス供与および実施を可能にする。したがって、各ＶＮＦインスタンス４４０に割り当てられたライセンスは、（例えば、ＶＮＦインスタンス４４０によって生成された収入に関係するＶＮＦベンダーによって）追跡され実施されることができる。そうするために、いくつかの実施形態では、ＶＮＦライセンス情報（例えば、ライセンス番号、ユニークなＶＮＦインスタンス識別子など）は、ＶＮＦマネージャ、ＮＦＶセキュリティサービスコントローラ１０２、及び／又は専用ライセンス管理サーバに送信され得る。ブロック７２２で、ＶＮＦインスタンスは、そのＶＮＦインスタンスがインスタンス化された動作（すなわち、サービスまたは機能）を実行する。
【００７２】
ここで図８を参照し、ＮＦＶネットワークアーキテクチャ１１６のＶＮＦインスタンス（例えば、図４のＶＮＦインスタンス４４０の１つ）を安全にブートストラップする通信フロー８００の実施形態である。例示的な通信フロー８００は、ＮＦＶオーケストレータ１０４、ＶＩＭ１０６のＶＩＭコントローラ４３０、ハイパーバイザ４６２のクラウドオペレーティングシステムエージェント４６４、ＮＦＶインフラストラクチャ１０８のハイパーバイザ４６２、ＶＮＦインスタンス４４０のうちの１つのＶＢＳエージェントのうちの１つ（例えば、ＶＢＳエージェント４４８、ＶＢＳエージェント４５０、またはＶＢＳエージェント４５２）、プラットフォーム４７２のＴＥＥ４７６、ＮＦＶセキュリティサービスコントローラ１０２のＶＢＳ４２０、およびＶＮＦマネージャ４１０を含む。例示的な通信フロー８００はさらに、実施形態に応じて、一部が別々にまたは一緒に実行され得るいくつかのメッセージフローを含む。
【００７３】
メッセージフロー８０２において、ＮＦＶオーケストレータ１０４は、ＯＳＳ／ＢＳＳ４０２から受信したＶＮＦインスタンス化トリガーをＶＩＭコントローラ４３０に安全に（ｓｅｃｕｒｅｌｙ）送信する。ＶＮＦインスタンス化トリガーは、署名付きＶＮＦ画像および署名付きＶＮＦ記述子の署名を含むことができる。署名されたＶＮＦ記述子は、起動パラメータ（すなわち、起動要件）を含む、ＶＮＦ画像の要件及び／又は必要な要素を記述するデータ構造である。メッセージフロー８０４において、ＴＥＥ４７６はＶＢＳ４２０を安全にプロビジョニングする。そうするために、ＴＥＥ４７６は、プロビジョニングパラメータと、ＶＮＦがインスタンス化されるプラットフォームにユニークな識別子（すなわち、ユニークプラットフォーム識別子）とを、ＶＢＳが常駐するセキュリティコントローラ１０２に提供する。したがって、いくつかの実施形態では、ＴＥＥ４２２を使用して、ＶＢＳ４２０を安全にプロビジョニングすることができる。プロビジョニングパラメータには、ＶＢＳ４２０の公開鍵、およびＩＰアドレス、ＤＮＳなどのＶＢＳ４２０の識別子が含まれる。前述の通り、ユニークなプラットフォーム識別子は、ハードウェア識別子、ＯＥＭボード識別子、ＢＩＯＳ／ＵＥＦＩ  ＳＫＵ識別子、ＦＲＵ識別子、オペレーティングシステムバージョン識別子などの組合せハッシュまたはＧＵＩＤであってもよい。いくつかの実施形態では、ＴＥＥ４７６は、ＶＢＳ４２０の公開鍵およびＶＢＳ４２０識別子、ならびにＶＢＳ４２０を安全にプロビジョニングするために必要な他のプロビジョニング項目を送信するために、帯域外（ＯＯＢ）通信技術を使用してＶＢＳ４２０を安全にプロビジョニングすることができる。
【００７４】
メッセージフロー８０６において、ＶＩＭコントローラ４３０は、署名されたＶＮＦ記述子および署名されたＶＮＦ画像など、ＶＮＦインスタンス化トリガーで受信された情報の署名を検証する。いくつかの実施形態では、署名付きＶＮＦ画像は、２つ以上の署名付きＶＮＦ画像を含むことができる。そのような実施形態では、２つ以上の署名付きＶＮＦ画像を生成して、ＶＮＦ画像のグループとして再度署名するか、または別々の署名付きＶＮＦ画像として配信することができる。したがって、署名されたＶＮＦ画像に関連する各署名は、ＶＩＭコントローラ４３０で検証される。
【００７５】
メッセージフロー８１０において、ＶＩＭコントローラ４３０は、ＶＮＦイメージおよび記述子に基づいてＶＮＦインスタンスをスピンアップするコマンドを安全に送信する。スピンアップコマンドは、さらに、ＶＢＳパラメータのセット（すなわち、ＶＢＳ４２０の詳細）を含む。これには、ＶＢＳ４２０の公開鍵、ＶＢＳ４２０のＩＰアドレス、ＶＢＳ４２０のドメインネームサーバ（ＤＮＳ）、ＶＢＳ４２０の完全修飾ドメイン名（ＦＱＤＮ）、ＶＢＳ４２０のユニフォームリソースロケータ（ＵＲＬ）などを含むことができる。
【００７６】
メッセージフロー８１２において、ハイパーバイザ４６２は、署名されたＶＮＦ画像および署名されたＶＮＦ記述子に基づいて、ＶＮＦインスタンス（例えば、ＶＮＦインスタンス４４０のうちの１つ）をスピンアップする。そうするために、ハイパーバイザ４６２は、メッセージフロー８１４でＶＮＦシグネチャ（例えば、署名されたＶＮＦ画像、署名付きＶＮＦ記述子のシグネチャなど）を検証し、メッセージフロー８１６でＶＮＦインスタンスを生成する。メッセージフロー８１８で、ハイパーバイザ４６２はＴＥＥ４７６に登録する。そうするために、ハイパーバイザ４６２は、生成されたＶＮＦインスタンスにユニークな識別子を安全に送信する。ユニークなＶＮＦインスタンス識別子は、ＶＮＦ画像インスタンス識別子、ＶＮＦ記述子識別子、ＶＮＦＣ識別子の構成、ＶＮＦコマンドライン識別子、およびＶＮＦ  ＯＥＭ識別子、ＶＮＦベンダー識別子などの組み合わせハッシュまたはＧＵＩＤであってもよい。さらに、ハイパーバイザ４６２は、ＶＮＦインスタンスの構成情報を安全に送信することができる。
【００７７】
メッセージフロー８２０において、ＶＢＳエージェントは、ＶＮＦインスタンスに対する公開／秘密鍵ペア（すなわち、公開鍵および秘密鍵）を生成する。メッセージフロー８２２において、ＶＢＳエージェントは、ＴＥＥ４７６からセキュリティクォートを読み出す。したがって、ネットワークパケットの改ざん、ネットワークパケットの破損、ネットワークパケット内の悪意のあるコンテンツなど、可能性のあるセキュリティ脅威を検出するリモートアテステーションを実装することもできる。そのため、ＶＢＳエージェントは、ユニークなプラットフォーム識別子、ユニークなＶＮＦインスタンス識別子などのＶＮＦ識別情報をＴＥＥ４７６に安全に送信することができる。
【００７８】
メッセージフロー８２４において、ＶＢＳ４２０は、ＶＮＦマネージャ４１０とのセキュアホワイトリスト登録を実行する。言い換えれば、ＶＢＳ４２０は、ＶＮＦマネージャ４１０によって管理されるべき認識された（すなわち、特権を有するかまたは別の方法で承認された）ＶＢＳエージェントのリストまたはレジスタにＶＮＦインスタンスを追加する。そうするために、ＶＢＳ４２０は、ＶＮＦ識別情報（例えば、ユニークなＶＮＦインスタンス識別子）をＶＮＦマネージャ４１０および１つ以上のＶＢＳパラメータ（例えば、ＶＢＳ４２０のＩＰアドレス、ＶＢＳ４２０のＤＮＳなど）に安全に送信し得る。
【００７９】
メッセージフロー８２６において、ＶＢＳエージェントは、図９及び図１０に示す、セキュアなＶＮＦブートストラップ取得プロトコルを実行する。メッセージフロー８２８で、ＶＢＳエージェントはＶＮＦインスタンスをアクティブ化する。換言すると、ＶＮＦインスタンスでネットワークトラフィック処理が可能になる。メッセージフロー８３０において、ＶＢＳ４２０は、ユニークなＶＮＦインスタンス識別子を含むＶＮＦ起動メッセージをＶＮＦマネージャ４１０に安全に送信して、ＶＮＦインスタンスが現在アクティブであることを示す。同様に、メッセージフロー８３２において、ＶＢＳエージェントは、ＶＮＦインスタンスが起動されたことを示すＶＮＦ起動メッセージ（ＶＮＦ  ａｃｔｉｖａｔｅｄ  ｍｅｓｓａｇｅ）をＶＮＦマネージャ４１０に安全に送信する。したがって、ＶＮＦ起動メッセージは、ユニークなＶＮＦインスタンス識別子を含む。
【００８０】
ここで図９を参照して、使用時、ＶＢＳエージェント（例えば、図４のＶＢＳエージェント４４８、ＶＢＳエージェント４５０、またはＶＢＳエージェント４５２）は、セキュア（ｓｅｃｕｒｅ）ＶＮＦブートストラップ取得プロトコルを実行する方法９００を実行することができる。方法９００はブロック９０２で開始し、ＶＢＳエージェントは開始メッセージをＶＢＳ４２０に安全に送信する。開始メッセージは、ＶＢＳ４２０にそれぞれのＶＢＳエージェントが開始したことを通知する任意のタイプのメッセージとして実施することができる。ブロック９０４において、ＶＢＳエージェントは、安全な認証（ｓｅｃｕｒｅ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ）のために使用されるＶＢＳエージェントによって生成されたノンス（ｎｏｎｃｅ）（例えば、ＶＢＳ４２０において再生を検出するためにＶＢＳエージェントによって発行されたランダムチャレンジ）で開始メッセージを安全に送信する。ブロック９０６において、ＶＢＳエージェントは、ＶＢＳ４２０から開始応答メッセージを安全に受信する。ブロック９０８において、ＶＢＳエージェントは、開始応答メッセージの一部としてブロック９０４で開始メッセージと共に送信されたノンス（ｎｏｎｃｅ）を受信する。さらに、ブロック９１０において、ＶＢＳエージェントは、開始応答メッセージの一部としてＶＢＳ４２０によって生成されたノンスを受信する。したがって、応答の生存性を証明するために、開始応答メッセージに対して生存性検出を実行することができる。さらに、ブロック９１２において、ＶＢＳエージェントは、ＶＢＳ４２０の秘密鍵を使用して、ＶＢＳ４２０によって署名された開始応答メッセージを受信する。
【００８１】
ブロック９１４において、ＶＢＳエージェントは、ＶＢＳ４２０に、登録要求メッセージを安全に受信する。そうするために、ブロック９１６において、ＶＢＳエージェントは、登録要求メッセージの一部として、ＴＥＥ４７６の秘密鍵を使用して、ＴＥＥ４７６によって署名されたセキュリティクォート（ｓｅｃｕｒｉｔｙ  ｑｕｏｔｅ）を安全に送信する。セキュリティクォートは、その計算は以下でさらに詳細に説明するが、セキュリティクォートの受信者がデジタル署名された値の送信者を認証することができるデジタル署名された値である。したがって、ネットワークパケットの改ざん、ネットワークパケットの破損、ネットワークパケット内の悪意のあるコンテンツなど、可能性のあるセキュリティ脅威を検出するリモートアテステーションを実装することもできる。さらに、ブロック９１８で、ＶＢＳエージェントは、ＶＮＦの秘密鍵を使用してＶＢＳエージェントにより署名されたセキュリティ証明要求（ｓｅｃｕｒｉｔｙ  ｃｒｅｄｅｎｔｉａｌ  ｒｅｑｕｅｓｔ）を送信し、登録要求メッセージの一部としてセキュリティ証明書（例えば、証明書、署名されたハッシュ結果など）を要求することができる。いくつかの実施形態では、セキュリティ証明要求は、ＶＢＳ４２０およびＶＢＳエージェントで生成された各ノンス、およびＶＮＦインスタンスの公開鍵を含むことができる。追加的または代替的に、いくつかの実施形態では、証明要求は、ＴＥＥ４７６の秘密鍵を使用してＴＥＥ４７６によって署名されたクォート（ｑｕｏｔｅ）を含むこともできる。
【００８２】
ブロック９２０において、ＶＢＳエージェントは、ＶＢＳ４２０から開始応答メッセージを安全に受信する。ブロック９２２において、ＶＢＳエージェントによって受信された登録要求メッセージ応答は、有効なセキュリティ証明を含む。さらに、ブロック９２４において、ＶＢＳエージェントによって受信された登録要求メッセージ応答は、対応するＶＮＦマネージャ（例えば、図４のＶＮＦマネージャ４１０）のＩＰアドレスを含む。ブロック９２６において、ＶＢＳエージェントによって受信された登録要求メッセージ応答は、ＶＢＳ４２０の秘密鍵を使用してそのＶＢＳ４２０によって署名される。
【００８３】
ここで図１０を参照して、ＶＢＳエージェント（例えば、図４のＶＢＳエージェント４４８、ＶＢＳエージェント４５０、またはＶＢＳエージェント４５２）により、セキュア（ｓｅｃｕｒｅ）ＶＮＦブートストラップ取得プロトコルを実行する通信フロー１０００の一実施形態を示す。例示的な通信フロー１０００は、ＶＮＦインスタンス４４０（例えば、）の１つのＶＢＳエージェントの１つ、プラットフォーム４７２のＴＥＥ４７６、およびＮＦＶセキュリティサービスコントローラ１０２のＶＢＳ４２０を含む。例示的な通信フロー１０００はさらに、実施形態に応じて、一部が別々にまたは一緒に実行され得るいくつかのメッセージフローを含む。
［００８４］
メッセージフロー１００２において、ＶＢＳエージェントは、ノンス（例えば、認証のための任意の数）を含む開始メッセージをＶＢＳ４２０に安全に送信する。メッセージフロー１００４において、ＶＢＳ４２０は、ＶＢＳエージェントのノンスと、他のノンス（例えば、認証のための別の任意の数）を含む開始応答メッセージを安全にＶＢＳエージェントに送信する。さらに、開始応答メッセージは、ＶＢＳ４２０の秘密鍵を使用してＶＢＳ４２０によって署名される。メッセージフロー１００６において、ＶＢＳエージェントは、ＶＢＳ４２０に、登録要求メッセージを安全に受信する。登録要求メッセージは、ＴＥＥ４７６によって署名された秘密鍵を使用して、ＴＥＥ４７６によって署名されたセキュリティクォート（図１１）を含む。さらに、登録要求メッセージは、ＶＢＳエージェントからのノンスおよびＶＢＳ４２０からのノンスの両方を含むセキュリティ証明要求（ｓｅｃｕｒｉｔｙ  ｃｒｅｄｅｎｔｉａｌ  ｒｅｑｕｅｓｔ）と、ＶＢＳエージェントが開始されるＶＮＦインスタンスの公開鍵とを含む。さらに、セキュリティ保証要求は、ＶＮＦインスタンスの秘密鍵を使用してＶＢＳエージェントによって署名される。ＴＥＥ４７６によって計算され署名されたセキュリティクォートは、ＴＥＥクォートオペレーションの結果であり、これについては、図１１でさらに詳細に説明する。
【００８４】
メッセージフロー１００８において、ＶＢＳ４２０は、ＶＢＳエージェントから受信したＴＥＥ４７６によって署名されたセキュリティクォートを検証する。メッセージフロー１０１０において、ＶＢＳ４２０は、一連のホワイトリストチェックを実行して、ＶＢＳ４２０が正しく構成されていることを検証する。したがって、いくつかの実施形態では、ＶＢＳ４２０は、ＶＢＳ４２０を安全にプロビジョニングするために使用されたＴＥＥ４７６によって送信されたプロビジョニングパラメータを検証することによって、ホワイトリストチェックを実行することができる（メッセージフロー８０４参照）。追加的または代替的に、いくつかの実施形態では、ＶＢＳ４２０は、受信したユニークなプラットフォーム識別子が、ＶＢＳ４２０をプロビジョニングしたＴＥＥがインスタンス化されたプラットフォームのセキュリティポリシー（例えば、セキュアブートポリシー、ＴＰＭポリシー、バージョニングポリシーなど）に関して有効であることを検証することによって、ホワイトリストチェックを実行することができる。さらに、いくつかの実施形態では、ＶＢＳ４２０は、（例えば、ユニークなＶＮＦインスタンス識別子に基づき）ライセンス有効性チェックなどの追加のポリシーの有効性をチェックすることにより、ホワイトリストチェックを実行することができる。さらに、いくつかの実施形態では、ＶＢＳエージェント４２０がＶＢＳ４２０に登録されたことを確認するなどして、ＶＢＳエージェント４２０がホワイトリストチェックの一部としてＶＢＳ４２０と通信することが承認されているかどうかを、追加的または代替的に検証することができる。
【００８５】
メッセージフロー１０１２において、ＶＢＳ４２０は、ＶＢＳエージェントから受信したＶＮＦインスタンスのノンスセッションおよび公開鍵を検証することにより、セキュリティ証明要求を検証する。そうするために、ＶＢＳ４２０は、セッションノンス（すなわち、ＶＢＳエージェントによって生成されたノンスおよびＶＢＳ４２０によって生成されたノンス）を使用して、遅延またはリプレイ攻撃を検出する生存性チェック（ｌｉｖｅｎｅｓｓ  ｃｈｅｃｋ）を実行する。セッションノンスは、攻撃を検出するために使用される乱数であってよく、その値はそれらの間で送信されるメッセージに対応するフローに関連付けられて記憶される。したがって、セッションノンスは、通信されたメッセージの生存性（すなわち、セッションが期限切れではないこと）を検出するため、およびＶＢＳ４２０が実行している複数のフローを区別するために、各フローをチェックすることができる。
【００８６】
メッセージフロー１０１４において、ＶＢＳ４２０は、セキュリティ証明要求の検証時に有効なセキュリティ証明（例えば、セキュリティ証明書、署名済みハッシュ結果など）を生成または読み出しする。言うまでもなく、１００８から１０１４までのメッセージフローは、任意の順序で実行することができるが、いくつかの実施形態では、ＶＢＳ４２０によって、セッションの期限切れのタイムラインを提供するローカルセキュリティポリシーを使用することができる。したがって、メッセージフロー１００８から１０１４の実行の順序は、ＶＢＳ４２０による、現在アクティブな、またはバッファされているセッションの数、ＶＢＳに利用可能な計算リソース、セッション時間満了制約などに基づくことができる。
【００８７】
メッセージフロー１０１６において、ＶＢＳ４２０は、ＶＢＳエージェントに、登録応答メッセージを安全に送信する。登録応答メッセージは、ＶＢＳエージェントによって生成されたノンス、ＶＢＳ４２０によって生成されたノンス、有効なセキュリティ資格、ＶＢＳエージェントの管理をするＶＮＦマネージャ４１０の識別子（例えば、ＩＰアドレス、ＤＮＳ、ＦＱＤＮ、ＵＲＬなど）、ホワイトリスト化されたＶＮＦマネージャのセット、許可されたＶＮＦＣのセット（該当する場合）、ユニークなＶＮＦインスタンス識別子、および１つ以上のポリシーを含む。１つ以上のポリシーは、セキュリティ監視ポリシー、ネットワークポリシー、ネットワークパケット処理ポリシーなど、特定のサービスまたは機能の実行方法に関する方向性または指示をＶＢＳエージェントに提供する任意のタイプのポリシーを含むことができる。さらに、登録要求メッセージ応答は、ＶＢＳ４２０の秘密鍵を使用してＶＢＳによって署名される。言うまでもなく、いくつかの実施形態では、登録応答メッセージは追加及び／又は代替パラメータを含むことができる。
【００８８】
言うまでもなく、いくつかの実施形態では、セキュリティクォートは、例えば、追加及び／又は代替情報を含むように拡張可能であり、ＶＮＦインスタンスがインスタンス化されるプラットフォームの追加のコンポーネントをサポートしてもよい。例えば、追加情報は、プラットフォーム機能マスク、プラットフォームＮＩＣ及び／又はスイッチマスク、プラットフォームのサービス機能連鎖（ＳＦＣ）ポリシー、セキュリティ証明識別子のリストなどを含むことができる。したがって、安全でなく非スケーラブルな環境における静的イメージを用いる従来のオペレータクラウドネットワークとは異なり、セキュアＶＮＦブートストラップキャプチャプロトコルの動的な性質は、仮想化されたオペレータクラウドのより大きな動的スケーリングアウト／インを可能にする静的コンフィギュレーションおよびセキュリティオプションの量を、又は必要性を減らす可能性がある。
【００８９】
ここで図１１を参照し、使用時、信頼できる実行環境（例えば、図４のＴＥＥ４７６）は、ＶＢＳエージェント（例えば、図４のＶＢＳエージェント４４８、ＶＢＳエージェント４５０、またはＶＢＳエージェント４５２）に対するＴＥＥクォーティング動作を実行する方法１１００を実行することができる。方法１１００は、ブロック１１０２で開始し、ＴＥＥは、ＶＢＳエージェントの起動パラメータのセットにハッシュ関数を適用して、ハッシュ結果を生成する。起動パラメータは、ＶＮＦ及び／又はＶＢＳエージェントのインスタンスを起動するために使用され得る任意のパラメータを含むことができる。そうするために、ブロック１１０４において、ＴＥＥは、ＶＮＦインスタンスのイメージ、ＶＮＦインスタンスの記述子、ＶＮＦインスタンスにユニークな識別子（すなわち、ユニークＶＮＦインスタンス識別子）、及び／又はＶＮＦインスタンスがインスタンス化されてハッシュ結果を生成するプラットフォームにユニークな識別子（すなわちユニークプラットフォーム識別子）にハッシュ関数を適用する。したがって、ＴＥＥは、ＶＮＦを起動するためにＶＮＦ起動パラメータのすべてがＴＥＥによって知られているので、ＶＮＦをロードするときに第１のハッシュ関数を適用することができる。言い換えると、ＴＥＥは、ＶＢＳエージェントからの入力を一切受けずに第１のハッシュ関数を適用することができる。
【００９０】
ブロック１１０６において、ＴＥＥは、ＶＢＳ４２０のＶＢＳ識別子のセットおよび１つ以上のＶＢＳエージェント起動パラメータにハッシュ関数を適用して、第２のハッシュ結果を生成する。ＶＢＳ識別子のセットは、ＶＢＳ４２０の公開鍵、ＶＢＳ４２０のＩＰアドレス、ＶＢＳ４２０のＤＮＳ、ＶＢＳ４２０のＦＱＤＮ、ＶＢＳ４２０のＵＲＬなど、ＶＢＳ４２０を識別するために使用され得る任意の情報を含むことができる。そうするために、ブロック１１０８において、ＴＥＥは、ＶＢＳ４２０の公開鍵、ＶＢＳ４２０のＩＰアドレス、ユニークなＶＮＦインスタンス識別子、ユニークなプラットフォーム識別子にハッシュ関数を適用する。いくつかの実施形態では、ブロック１１０６でハッシュ関数を適用する前に、別のハッシュ関数をＶＢＳ４２０のＶＢＳ識別子のセットに適用することができる。追加的または代替的に、いくつかの実施形態では、ブロック１１０２で適用されるハッシュ関数のハッシュ結果は、さらにブロック１１０６で適用されるハッシュ関数の入力として含まれてもよい。
【００９１】
ブロック１１１０において、ＴＥＥは、ＶＮＦインスタンスの公開鍵にハッシュ関数を適用して、ハッシュ結果を生成する。言うまでもなく、いくつかの実施形態では、ブロック１１０６で適用されるハッシュ関数のハッシュ結果は、さらにブロック１１１０で適用されるハッシュ関数の入力として含まれてもよい。第１のハッシュ関数と同様に、ＴＥＥは、ＶＢＳエージェントからの入力を受信することなくブロック１１０６のハッシュ関数を適用することができる。ブロック１１１２で、ＴＥＥは、ブロック１１０２，１１０６、および１１１０のすべてのハッシュ結果にハッシュ関数を適用して、最終的なハッシュ結果を生成する。ブロック１１１４で、ＴＥＥは、ＴＥＥの秘密鍵を使用して最終的なハッシュ結果に署名し、セキュリティグォートを生成する。
例示
【００９２】
本明細書に開示の技術の例を以下に記載する。本技術の実施形態は、以下に記載の一以上の例、及びそれらの組み合わせを含み得る。
【００９３】
例１は、ネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャにおいて複数の仮想ネットワーク機能をブートストラップする仮想ネットワーク機能（ＶＮＦ）インスタンスのＶＮＦブートストラップサービス（ＶＢＳ）エージェントであって、ＶＢＳキャプチャプロトコル実行モジュールを有し、該ＶＢＳキャプチャプロトコル実行モジュールは、（ｉ）前記ＮＦＶネットワークアーキテクチャのＶＢＳに開始メッセージを送信し、ここで前記ＶＢＳは前記ＶＢＳエージェントに通信可能に結合され、前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されるとの情報を提供し、（ｉｉ）前記開始メッセージの送信に応答して前記ＶＢＳから開始応答メッセージを受信し、（ｉｉｉ）前記開始応答メッセージの受信に応答して前記ＶＢＳに登録要求メッセージを送信し、ここで前記登録要求メッセージは前記ＶＢＳエージェントを前記登録要求メッセージの送信者として認証するのに使用し得るセキュリティクォートと、前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とを含み、（ｉｖ）前記ＶＢＳから登録応答メッセージを受信し、ここで前記登録応答メッセージは前記セキュリティクォートと前記セキュリティ証明要求とが前記ＶＢＳにより検証されたことを示すセキュリティ証明を含む。
【００９４】
例２は例１の主題を含み、前記開始メッセージは第１ノンスを含み、前記開始応答メッセージは前記ＶＢＳの秘密鍵を用いて前記ＶＢＳにより署名され、前記第１ノンスと、前記ＶＢＳにより生成された第２ノンスとを含み、前記セキュリティ証明要求は前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含み、前記登録応答メッセージは、前記ＶＢＳにより前記ＶＢＳの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理する役割を有するＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＭＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとをさらに含み、前記ポリシーは前記ＶＢＳエージェントが機能を実行するのに使用できる命令を含む。
【００９５】
例３は例１−２のいずれかの主題を含み、前記ＶＢＳキャプチャプロトコル実行モジュールはさらに、トラステッド実行環境（ＴＥＥ）により前記ＴＥＥの秘密鍵を用いて署名された前記セキュリティクォートを読み出し、前記ＴＥＥは前記ＶＮＦインスタンスがインスタンス化されるプラットフォームにある、
【００９６】
例４は例１−３のいずれかの主題を含み、前記ＶＢＳキャプチャプロトコル実行モジュールはさらに、（ｉ）前記ＮＦＶネットワークアーキテクチャのＮＦＶオーケストレータからインスタンス化トリガーを受け取り、（ｉｉ）前記ＶＢＳエージェントを初期化し、前記開始メッセージの送信は、前記インスタンス化トリガーの受け取りに応答した前記開始メッセージの送信を含む。
【００９７】
例５は例１−４のいずれかの主題を含み、前記ＶＢＳエージェントの初期化は、（ｉ）前記ＶＮＦインスタンスの公開／秘密鍵ペアの生成と、ここで前記ＶＮＦインスタンスの公開／秘密鍵ペアは公開鍵と秘密鍵とを含み、（ｉｉ）前記ＶＮＦインスタンスが生成されたプラットフォームのトラステッド実行環境（ＴＥＥ）からの前記セキュリティクォートの読み出しと、ここで前記セキュリティクォートは前記ＴＥＥの秘密鍵を用いて前記ＴＥＥにより署名される、を含む。
【００９８】
例６は例１−５のいずれかの主題を含み、前記ＶＢＳキャプチャプロトコル実行モジュールはさらに、（ｉ）前記セキュリティ証明要求を生成し、（ｉｉ）前記ＶＢＳからの前記開始応答メッセージの受信に応答して前記ＶＮＦインスタンスの前記秘密鍵を用いて前記セキュリティ証明要求に署名する、
【００９９】
例７は例１−６のいずれかの主題を含み、前記ＶＢＳキャプチャプロトコル実行モジュールはさらに、前記セキュリティ証明の受信に応答して、前記ＶＮＦインスタンスを起動し、前記ＶＮＦインスタンスにより受け取られるネットワークトラフィックをアクティブに処理する。
【０１００】
例８は例１−７のいずれかの主題を含み、前記ＶＢＳキャプチャプロトコル実行モジュールはさらに、前記ＶＦＶネットワークアーキテクチャのＶＮＦマネージャに情報を送信し、前記情報は前記ＶＮＦマネージャに、（ｉ）前記ＶＮＦインスタンスがアクティブであること、及び（ｉｉ）前記ＶＮＦインスタンスの構成は前記ＶＮＦマネージャにより管理されることを示し、ここで前記情報は、前記ＶＮＦインスタンスにユニークであり、前記ＶＮＦマネージャにおいて認証されたＶＮＦインスタンスのホワイトリストに前記ＶＮＦインスタンスを追加するのに使用できるＶＮＦインスタンス識別子を含む。
【０１０１】
例９は例１−８のいずれかの主題を含み、前記ＶＢＳからの前記登録応答メッセージの受け取りはさらに、前記ＶＢＳエージェントに通信可能に結合されたＶＮＦマネージャの識別子の受け取りを含む。
【０１０２】
例１０は例１−９のいずれかの主題を含み、前記ＶＮＦマネージャの識別子の受け取りは、インターネットプロトコル（ＩＰ）アドレス、ドメインネームサーバ（ＤＮＳ）、完全修飾ドメイン名（ＦＱＤＮ）、ユニフォームリソースロケータ（ＵＲＬ）のうち少なくとも１つの受け取りを含む。
【０１０３】
例１１は例１−１０のいずれかの主題を含み、前記ＶＢＳキャプチャプロトコル実行モジュールはさらに、前記ＶＮＦマネージャの識別子の受け取りに応答して前記ＶＮＦマネージャの識別子を用いて前記ＶＮＦマネージャに接続する。
【０１０４】
例１２は例１−１１のいずれかの主題を含み、前記ＶＢＳキャプチャプロトコル実行モジュールはさらに、前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャにＶＮＦライセンス情報を送信し、前記ＶＮＦライセンス情報は、前記ＶＮＦインスタンスに関連するライセンスの使用をトラッキングするのに使用できる情報を含む。
【０１０５】
例１３は、ネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャにおける複数の仮想ネットワーク機能をブートストラップする方法であって、前記ＮＦＶネットワークアーキテクチャのＶＮＦインスタンスのＶＮＦブートストラップサービス（ＶＢＳ）エージェントが、前記ＶＢＳエージェントに通信可能に結合されたＮＦＶネットワークアーキテクチャのＶＢＳに開始メッセージを送信するステップであって、前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されたとの情報を提供する、ステップと、前記ＶＢＳエージェントが、前記開始メッセージに応答して、前記ＶＢＳから開始応答メッセージを受け取るステップと、前記ＶＢＳエージェントが、前記開始応答メッセージの受信に応答して前記ＶＢＳに登録要求メッセージを送信するステップであって、前記登録要求メッセージは前記ＶＢＳエージェントを前記登録要求メッセージの送信者として認証するのに使用し得るセキュリティクォートと、前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とを含む、ステップと、前記ＶＢＳエージェントが、前記ＶＢＳから登録応答メッセージを受け取るステップであって、前記登録応答メッセージは前記セキュリティクォートと前記セキュリティ証明要求とがそれぞれ前記ＶＢＳにより検証されたことを示すセキュリティ証明を含む、ステップを含む。
【０１０６】
例１４は例１３の主題を含み、前記開始メッセージを送信するステップは第１ノンスを送信するステップを含み、前記開始応答メッセージを受け取るステップは、前記ＶＢＳの秘密鍵を用いて前記ＶＢＳにより署名され、前記第１ノンスと、前記ＶＢＳにより生成された第２ノンスとを含む前記開始応答メッセージを受け取るステップを含み、前記セキュリティ証明要求を送信するステップは、前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含む前記セキュリティ証明要求を送信するステップを含み、前記登録応答メッセージを受け取るステップは、前記ＶＢＳにより前記ＶＢＳの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理するＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＭＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとをさらに含む前記登録応答メッセージを受け取るステップを含み、前記ポリシーは前記ＶＢＳエージェントが機能を実行するのに使用できる命令を含む。
【０１０７】
例１５は例１３−１４のいずれかの主題を含み、前記ＶＢＳエージェントが、トラステッド実行環境（ＴＥＥ）により前記ＴＥＥの秘密鍵を用いて署名された前記セキュリティクォートを読み出すステップであって、前記ＴＥＥは前記ＶＮＦインスタンスがインスタンス化されるプラットフォームにある、ステップをさらに含む。
【０１０８】
例１６は例１３−１５のいずれかの主題を含み、さらに前記ＶＢＳエージェントが、前記ＮＦＶネットワークアーキテクチャのＮＦＶオーケストレータからインスタンス化トリガーを受け取るステップと、前記ＶＢＳエージェントを初期化するステップとを含み、前記開始メッセージを送信するステップは、前記インスタンス化トリガーの受け取りに応答して前記開始メッセージを送信するステップを含む。
【０１０９】
例１７は例１３−１６のいずれかの主題を含み、前記ＶＢＳエージェントを初期化するステップは、（ｉ）公開／秘密鍵ペアを生成するステップであって、前記ＶＮＦインスタンスの公開／秘密鍵ペアは公開鍵と秘密鍵とを含む、ステップと、（ｉｉ）前記ＶＮＦインスタンスが生成されたプラットフォームのトラステッド実行環境（ＴＥＥ）からの前記セキュリティクォートの読み出すステップであって、ここで前記セキュリティクォートは前記ＴＥＥの秘密鍵を用いて前記ＴＥＥにより署名される、ステップとを含む、
【０１１０】
例１８は例１３−１７のいずれかの主題を含み、さらに、前記セキュリティ証明要求を生成するステップと、前記ＶＢＳからの前記開始応答メッセージの受信に応答して前記ＶＮＦインスタンスの前記秘密鍵を用いて前記セキュリティ証明要求に署名するステップとをさらに含む。
【０１１１】
例１９は例１３−１８のいずれかの主題を含み、前記セキュリティ証明の受け取りに応答して、前記ＶＮＦインスタンスを起動して、前記ＶＮＦインスタンスにより受け取られたネットワークトラフィックをアクティブに処理するステップをさらに含む。
【０１１２】
例２０は例１３−１９のいずれかの主題を含み、さらに、前記ＮＦＶネットワークアーキテクチャのＶＮＦマネージャに、（ｉ）前記ＶＮＦインスタンスがアクティブであること、及び（ｉｉ）前記ＶＮＦインスタンスの構成が前記ＶＮＦマネージャにより管理されることを前記ＶＮＦマネージャに示す情報を送信するステップであって、前記情報は、前記ＶＮＦインスタンスに対してユニークであり、前記ＶＮＦマネージャにおいて前記ＶＮＦインスタンスを認証されたＶＮＦインスタンスのホワイトリストに追加するのち使用できるＶＮＦインスタンス識別子を含む。
【０１１３】
実施例２１は実施例１３−２０のいずれかの主題を含み、前記ＶＢＳから前記登録応答メッセージを受け取るステップはさらに、前記ＶＢＳエージェントに通信可能に結合されたＶＮＦマネージャの識別子を受け取るステップを含む。
【０１１４】
実施例２２は実施例１３−２１のいずれかの主題を含み、前記ＶＮＦマネージャの識別子を受け取るステップは、インターネットプロトコル（ＩＰ）アドレス、ドメインネームサーバ（ＤＮＳ）、完全修飾ドメイン名（ＦＱＤＮ）、ユニフォームリソースロケータ（ＵＲＬ）のうち少なくとも１つを受け取るステップを含む。
【０１１５】
例２３は例１３−２２のいずれかの主題を含み、前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャの識別子を用いて、前記ＶＮＦマネージャに接続するステップをさらに含む。
【０１１６】
例２４は例１３−２３のいずれかの主題を含み、前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャにＶＮＦライセンス情報を送信するステップであって、前記ＶＮＦライセンス情報は、前記ＶＮＦインスタンスに関連するライセンスの使用をトラッキングするのに使用できる情報を含む、ステップをさらに含む。
【０１１７】
例２５は計算装置を含み、該計算装置は、プロセッサと、前記プロセッサにより実行されたとき、前記プロセッサに、請求項１３ないし２３いずれか一項に記載の方法を実行させる複数の命令を格納したメモリとを有する。
【０１１８】
例２６は、実行されると、計算装置に請求項１３−２４いずれか一項に記載の方法を実行させる複数の命令を格納した一以上の機械読み取り可能記憶媒体を含む。
【０１１９】
例２７は、ネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャにおいて複数の仮想ネットワーク機能をブートストラップする仮想ネットワーク機能（ＶＮＦ）ネットワークアーキテクチャのＶＮＦインスタンスのＶＮＦブートストラップサービス（ＶＢＳ）エージェントであって、前記ＶＢＳエージェントに通信可能に結合された前記ＮＦＶネットワークアーキテクチャのＶＢＳに開始メッセージを送信する手段であって、前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されるとの情報を提供する、手段と、前記開始メッセージに応答して、前記ＶＢＳから開始応答メッセージを受け取る手段と、前記開始応答メッセージの受信に応答して前記ＶＢＳに登録要求メッセージを送信する手段であって、前記登録要求メッセージは前記ＶＢＳエージェントを前記登録要求メッセージの送信者として認証するのに使用し得るセキュリティクォートと、前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とを含む、手段と、前記ＶＢＳから登録応答メッセージを受け取る手段であって、前記登録応答メッセージは前記セキュリティクォートと前記セキュリティ証明要求とが前記ＶＢＳにより検証されたことを示すセキュリティ証明を含む、手段とを有する。
【０１２０】
例２８は例２７の主題を含み、前記開始メッセージを送信する手段は、第１ノンスを送信する手段を有し、前記開始応答メッセージを受け取る手段は、前記ＶＢＳの秘密鍵を用いて前記ＶＢＳにより署名され、前記第１ノンスと、前記ＶＢＳにより生成された第２ノンスとを含む前記開始応答メッセージを受け取る手段を含み、前記セキュリティ証明要求を送信する手段は、前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含む前記セキュリティ証明要求を送信する手段を含み、前記登録応答メッセージを受け取る手段は、前記ＶＢＳにより前記ＶＢＳの秘密鍵を用いて署名され、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理するＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＭＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとをさらに含む前記登録応答メッセージを受け取る手段を含み、前記ポリシーは前記ＶＢＳエージェントが機能を実行するのに使用できる命令を含む。
【０１２１】
例２９は例２７及び２８の主題を含み、前記ＶＢＳから前記登録応答メッセージを受け取る手段はさらに、前記ＶＢＳエージェントに通信可能に結合されたＶＮＦマネージャの識別子を受け取る手段を含む。
【０１２２】
例３０は例２７−２９の主題を含み、前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャの識別子を用いて、前記ＶＮＦマネージャに接続する手段をさらに含む。
【０１２３】
例３１は例２７−３０の主題を含み、前記ＶＮＦマネージャの識別子の受け取りに応答して、前記ＶＮＦマネージャにＶＮＦライセンス情報を送信する手段であって、前記ＶＮＦライセンス情報は、前記ＶＮＦインスタンスに関連するライセンスの使用をトラッキングするのに使用できる情報を含む、手段をさらに含む。
【０１２４】
例３２は、ネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャにおいて複数の仮想ネットワーク機能をブートストラップするネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャ方法のサービスのＶＮＦブートストラップサービス（ＶＢＳ）であって、前記ＶＢＳはＶＢＳエージェント通信モジュールを有し、該ＶＢＳエージェント通信モジュールは、（ｉ）前記ＶＢＳに通信可能に結合された前記ＮＦＶネットワークアーキテクチャのＶＮＦインスタンスのＶＢＳエージェントから開始メッセージを受け取り、ここで前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されたとの情報を提供し、（ｉｉ）前記開始メッセージの受け取りに応答して前記ＶＢＳに開始応答メッセージを送信し、前記開始応答メッセージの送信に応答して前記ＶＢＳから登録要求メッセージを受信し、ここで前記登録要求メッセージは前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とセキュリティクォートとを含み、（ｉｖ）前記登録要求メッセージのセキュリティ証明要求を受信したことに応答して、セキュリティクォートを検証して、登録要求メッセージの送信者であるＶＢＳエージェントを認証し、（ｖ）前記セキュリティクォートの検証に応答して、前記ＶＢＳエージェントに登録応答メッセージを送信し、ここで前記登録応答メッセージは、セキュリティクォートがＶＢＳによって検証されたことを示すセキュリティ証明を含む。
【０１２５】
例３３は例３２の主題を含み、開始メッセージの受信は第１ノンスの受信を含み、前記開始応答メッセージの送信は、前記ＶＢＳの秘密鍵を用いて前記ＶＢＳにより署名された開始応答メッセージの送信を含み、ここで前記開始応答メッセージは前記第１ノンスと、前記ＶＢＳにより生成された第２ノンスとを含み、前記セキュリティ証明要求の受信は、前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名された前記セキュリティ証明要求の受信を含み、前記セキュリティ証明要求は、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含む。
【０１２６】
例３４は例３２及び３３の主題を含み、前記登録応答メッセージの送信は、前記ＶＢＳにより前記ＶＢＳの秘密鍵を用いて署名された登録応答メッセージの送信を含み、前記登録応答メッセージはさらに、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理する役割を果たすＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＭＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとをさらに含み、前記１つ以上のポリシーは前記ＶＢＳエージェントにより機能を実行するため使用できる命令を含む。
【０１２７】
例３５は例３２−３４の主題を含み、前記ＶＢＳエージェント通信モジュールはさらに、前記ＶＮＦインスタンスが生成されたプラットフォームのトラステッド実行環境（ＴＥＥ）からプロビジョニングパラメータのセットを受信し、前記プロビジョニングパラメータは、ＶＢＳをセキュアにプロビジョンするのに使用でき、（ｉ）ＶＮＦインスタンスが生成されたプラットフォームのユニークなプラットフォーム識別子と、（ｉｉ）ＶＢＳの公開鍵と、（ｉｉｉ）ＶＢＳのユニークな識別子とを含み、プロビジョニングパラメータに基づきＶＢＳをプロビジョンする。
【０１２８】
例３６は例３２−３５の主題を含み、さらに、ＶＢＳエージェント検証モジュールは、（ｉ）登録要求メッセージの受信に応答して、ＴＥＥの秘密鍵に基づいてセキュリティクォートの認証を検証し、ここでセキュリティクォートはＴＥＥの秘密鍵を用いて署名され、（ｉｉ）ホワイトリストチェックを実行してＶＢＳの構成を検証し、第１ノンスと第２ノンスとを用いて登録要求メッセージの生存性を検出して、前記第１ノンスと第２ノンスが期限切れとなっていないことを確認し、（ｉｖ）ＶＮＦインスタンスの公開鍵の認証を検証する。
【０１２９】
例３７は例３２−３６の主題を含み、ホワイトリストチェックを実行するステップは、ＶＢＳにより受信されたプロビジョニングパラメータを検証しＶＢＳをセキュアにプロビジョンするステップを含む。
【０１３０】
例３８は例３２−３７の主題を含み、ホワイトリストチェックを実行するステップは、ＶＢＳによりアクセス可能なセキュリティポリシーの有効プラットフォーム識別子に対応するプラットフォーム識別子を検証するステップを含む。
【０１３１】
例３９は例３２−３８の主題を含み、（ｉ）ＶＮＦインスタンスの公開鍵とセキュリティクォートの真正性を検証し、登録要求メッセージが生きていることを検出することに応答して、セキュリティ証明を生成するＶＢＳエージェントセキュリティ証明モジュールをさらに含む。
【０１３２】
例４０は例３２−３９の主題を含み、ＶＢＳエージェント通信モジュールはさらに、（ｉ）公開鍵と秘密鍵を含むＶＢＳ公開／秘密鍵ペアを生成し、（ｉｉ）ＶＢＳ公開／秘密鍵ペアの秘密鍵を用いて開始応答メッセージに署名し、開始応答メッセージを送信するステップは、署名された開始応答メッセージを送信するステップを含む。
【０１３３】
例４１は例３２−４０の主題を含み、ＶＢＳエージェント通信モジュールはさらに、ＶＢＳ公開／秘密鍵ペアの秘密鍵を用いて登録応答メッセージに署名し、開始応答メッセージを送信するステップは、署名された開始応答メッセージを送信するステップを含む。
【０１３４】
例４２は例３２−４１の主題を含み、前記ＶＢＳエージェントに登録応答メッセージを送信するステップは、ＶＢＳエージェントに通信可能に結合されたＶＮＦマネージャの識別子を送信するステップを含み、前記識別子はＶＮＦマネージャを識別し、ＶＮＦマネージャと通信チャネルを確立するために使用できる。
【０１３５】
例４３は例３２−４２の主題を含み、前記ＶＮＦマネージャの識別子を送信するステップは、インターネットプロトコル（ＩＰ）アドレス、ドメインネームサーバ（ＤＮＳ）、完全修飾ドメイン名（ＦＱＤＮ）、ユニフォームリソースロケータ（ＵＲＬ）のうち少なくとも１つを送信するステップを含む。
【０１３６】
例４４は例３２−４３の主題を含み、ＶＢＳエージェント通信モジュールはさらに、ＶＮＦマネージャに、ＶＮＦインスタンスと通信チャネルを設定するのにＶＮＦマネージャが使用できるＶＮＦ起動メッセージを送信する。
【０１３７】
例４５は、ネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャにおける複数の仮想ネットワーク機能をブートストラップする方法であって、ＮＦＶネットワークアーキテクチャのＶＮＦブートストラップサービス（ＶＢＳ）エージェントが、ＶＢＳに通信可能に結合されたＮＦＶネットワークアーキテクチャのＶＮＦインスタンスのＶＢＳエージェントから開始メッセージを受信するステップであって、前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されたとの情報を提供する、ステップと、ＶＢＳが、開始メッセージの受信に応答して、前記ＶＢＳエージェントに開始応答メッセージを送信するステップと、ＶＢＳが、開始応答メッセージの送信に応答して、ＶＢＳエージェントから登録要求メッセージを受信するステップであって、前記登録要求メッセージは前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とセキュリティクォートとを含む、ステップと、ＶＢＳが、登録要求メッセージのセキュリティ証明要求を受信したことに応答して、セキュリティクォートを検証して、ＶＢＳエージェントを登録要求メッセージの送信者として認証するステップと、ＶＢＳが、セキュリティクォートの検証に応答して、前記ＶＢＳエージェントに登録応答メッセージを送信するステップであって、前記登録応答メッセージは、セキュリティクォートがＶＢＳによって検証されたことを示すセキュリティ証明を含む、ステップとを含む。
【０１３８】
例４６は例４５の主題を含み、前記開始メッセージを受信するステップは第１ノンスを受信するステップを含み、前記開始応答メッセージを送信するステップは、前記ＶＢＳの秘密鍵を用いて前記ＶＢＳにより署名された開始応答メッセージを送信するステップを含み、ここで前記開始応答メッセージは前記第１ノンスと、前記ＶＢＳにより生成された第２ノンスとを含み、前記セキュリティ証明要求を受信するステップは、前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名された前記セキュリティ証明要求を受信するステップを含み、前記セキュリティ証明要求は、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含む。
【０１３９】
例４７は例４５及び４６の主題を含み、登録応答メッセージを送信するステップは、ＶＢＳの秘密鍵を用いてＶＢＳにより署名された登録応答メッセージを送信するステップを含み、前記登録応答メッセージはさらに、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理する役割を有するＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＮＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとを含み、前記１つ以上のポリシーは前記ＶＢＳエージェントが機能を実行するのに使用できる命令を含む。
【０１４０】
例４８は例４５−４７の主題を含み、さらに、ＶＢＳが、前記ＶＮＦインスタンスが生成されたプラットフォームのトラステッド実行環境（ＴＥＥ）からプロビジョニングパラメータのセットを受信するステップを含み、ここで、前記プロビジョニングパラメータは、ＶＢＳをセキュアにプロビジョンするのに使用でき、（ｉ）ＶＮＦインスタンスが生成されたプラットフォームのユニークなプラットフォーム識別子と、（ｉｉ）ＶＢＳの公開鍵と、（ｉｉｉ）ＶＢＳのユニークな識別子とを含み、プロビジョニングパラメータに基づきＶＢＳをプロビジョニングするステップを含む。
【０１４１】
例４９は例４５−４８の主題を含み、さらに、ＢＶＳが、登録要求メッセージの受信に応答して、ＴＥＥの秘密鍵に基づいてセキュリティクォートの認証を検証するステップであって、ここでセキュリティクォートはＴＥＥの秘密鍵を用いて署名される、ステップと、ＶＢＳが、ホワイトリストチェックを実行してＶＢＳの構成を検証するステップと、ＶＢＳが、第１ノンスと第２ノンスとを用いて登録要求メッセージの生存性を検出して、前記第１ノンスと第２ノンスが期限切れとなっていないことを確認するステップと、ＶＢＳが、ＶＮＦインスタンスの公開鍵の真正性を検証するステップとを含む。
【０１４２】
例５０は例４５−４９の主題を含み、ホワイトリストチェックを実行するステップは、ＶＢＳにより受信されたプロビジョニングパラメータを検証しＶＢＳをセキュアにプロビジョンするステップを含む。
【０１４３】
例５１は例４５−５０の主題を含み、ホワイトリストチェックを実行するステップは、ＶＢＳによりアクセス可能なセキュリティポリシーの有効プラットフォーム識別子に対応するプラットフォーム識別子を検証するステップを含む。
【０１４４】
例５２は例４５−５１の主題を含み、（ｉ）ＶＮＦインスタンスの公開鍵とセキュリティクォートの真正性を検証し、（ｉｉ）登録要求メッセージが生きていることを検出することに応答して、セキュリティ証明を生成するステップをさらに含む。
【０１４５】
例５３は例４５−５２の主題を含み、さらに、公開鍵と秘密鍵を含むＶＢＳ公開／秘密鍵ペアを生成するステップと、ＶＢＳ公開／秘密鍵ペアの秘密鍵を用いて開始応答メッセージを署名するステップと、開始応答メッセージを送信するステップは、署名された開始応答メッセージを送信するステップを含む。
【０１４６】
例５４は例４５−５３の主題を含み、ＶＢＳ公開／秘密鍵ペアの秘密鍵を用いて登録応答メッセージを署名するステップをさらに含み、開始応答メッセージを送信するステップは、署名された開始応答メッセージを送信するステップを含む。
【０１４７】
例５５は例４５−５４の主題を含み、前記ＶＢＳエージェントに登録応答メッセージを送信するステップは、ＶＢＳエージェントに通信可能に結合されたＶＮＦマネージャの識別子を送信するステップを含み、前記識別子はＶＮＦマネージャを識別し、ＶＮＦマネージャと通信チャネルを確立するために使用できる。
【０１４８】
例５６は例４５−５５の主題を含み、前記ＶＮＦマネージャの識別子を受け取るステップは、インターネットプロトコル（ＩＰ）アドレス、ドメインネームサーバ（ＤＮＳ）、完全修飾ドメイン名（ＦＱＤＮ）、ユニフォームリソースロケータ（ＵＲＬ）のうち少なくとも１つを受け取るステップを含む。
【０１４９】
例５７は例４５−５６の主題を含み、ＶＮＦマネージャに、ＶＮＦインスタンスと通信チャネルを設定するのにＶＮＦマネージャが使用できるＶＮＦ起動メッセージを送信するステップをさらに含む。
【０１５０】
例５８は、計算装置であって、プロセッサと、前記プロセッサにより実行されたとき、前記プロセッサに、請求項４５−５７いずれか一項に記載の方法を実行させる複数の命令を格納したメモリとを有する。
【０１５１】
例５９は、実行されると、計算装置に請求項４５−５７いずれか一項に記載の方法を実行させる複数の命令を格納した一以上の機械読み取り可能記憶媒体を含む。
【０１５２】
例６０は、ネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャにおいて複数の仮想ネットワーク機能をブートストラップするネットワーク機能仮想化（ＮＦＶ）ネットワークアーキテクチャ方法のサービスのＶＮＦブートストラップサービス（ＶＢＳ）であって、前記ＶＢＳは、前記ＶＢＳに通信可能に結合された前記ＮＦＶネットワークアーキテクチャのＶＮＦインスタンスのＶＢＳエージェントから開始メッセージを受信する手段であって、ここで前記開始メッセージは前記ＶＢＳエージェントがインスタンス化されたとの情報を提供する、手段と、前記開始メッセージの受信に応答して、前記ＶＢＳに開始応答メッセージを送信する手段と、開始応答メッセージの送信に応答して、ＶＢＳエージェントから登録要求メッセージを受信する手段であって、前記登録要求メッセージは前記ＶＢＳにセキュリティ証明を要求するセキュリティ証明要求とセキュリティクォートとを含む、手段と、登録要求メッセージのセキュリティ証明要求を受信したことに応答して、セキュリティクォートを検証して、登録要求メッセージの送信者であるＶＢＳエージェントを認証する手段と、前記セキュリティクォートの検証に応答して、前記ＶＢＳエージェントに登録応答メッセージを送信する手段であって、前記登録応答メッセージは、セキュリティクォートがＶＢＳによって検証されたことを示すセキュリティ証明を含む、手段と有する。
【０１５３】
例６１は例６０の主題を含み、前記開始メッセージを受信する手段は、第１ノンスを受信する手段を有し、登録応答メッセージを送信する手段は、ＶＢＳの秘密鍵を用いてＶＢＳにより署名された開始応答メッセージを送信する手段を有し、開始応答メッセージはＶＢＳにより生成された第２ノンスと第１ノンスとを含み、前記セキュリティ証明要求を受信する手段は、前記ＶＮＦインスタンスにより前記ＶＮＦインスタンスの秘密鍵を用いて署名された前記セキュリティ証明要求を受信する手段を含み、前記セキュリティ証明要求は、前記第１ノンスと、前記第２ノンスと、前記ＶＮＦインスタンスの公開鍵とを含む。
【０１５４】
例６２は例６０及び６１の主題を含み、前記登録応答メッセージを送信する手段は、前記ＶＢＳにより前記ＶＢＳの秘密鍵を用いて署名された登録応答メッセージを送信する手段を含み、前記登録応答メッセージはさらに、前記第１ノンスと、前記第２ノンスと、前記ＶＢＳエージェントを管理する役割を果たすＶＮＦマネージャの識別子と、ホワイトリストされたＶＮＦマネージャのセットと、前記ＶＢＳにより認証されたＶＮＦコンポーネント（ＶＭＦＣ）のセットと、ユニークなＶＮＦインスタンス識別子と、１つ以上のポリシーとをさらに含み、前記１つ以上のポリシーは前記ＶＢＳエージェントにより機能を実行するため使用できる命令を含む。
【０１５５】
例６３は例６０−６２の主題を含み、さらに、前記ＶＮＦインスタンスが生成されたプラットフォームのトラステッド実行環境（ＴＥＥ）からプロビジョニングパラメータのセットを受信する手段を含み、ここで、前記プロビジョニングパラメータは、ＶＢＳをセキュアにプロビジョンするのに使用でき、（ｉ）ＶＮＦインスタンスが生成されたプラットフォームのユニークなプラットフォーム識別子と、（ｉｉ）ＶＢＳの公開鍵と、（ｉｉｉ）ＶＢＳのユニークな識別子とを含み、プロビジョニングパラメータに基づきＶＢＳをプロビジョニングする手段を含む。
【０１５６】
例６４は例６０−６３の主題を含み、さらに、登録要求メッセージの受信に応答して、ＴＥＥの秘密鍵に基づいてセキュリティクォートの認証を検証する手段であって、セキュリティクォートはＴＥＥの秘密鍵を用いて署名される手段と、ホワイトリストチェックを実行してＶＢＳの構成を検証する手段と、第１ノンスと第２ノンスとを用いて登録要求メッセージの生存性を検出して、前記第１ノンスと第２ノンスが期限切れとなっていないことを確認する手段と、ＶＮＦインスタンスの公開鍵の認証を検証する手段とを有する。
【図１】
0006720211.tif 000002
【図２】
0006720211.tif 000003
【図３】
0006720211.tif 000004
【図４】
0006720211.tif 000005
【図５】
0006720211.tif 000006
【図６】
0006720211.tif 000007
【図７】
0006720211.tif 000008
【図８】
0006720211.tif 000009
【図９】
0006720211.tif 000010
【図１０】
0006720211.tif 000011
【図１１】
0006720211.tif 000012