(57)【特許請求の範囲】
【請求項１】
第１ネットワーク上の新規スイッチを認証するための方法であって、
前記新規スイッチへの直接接続を介したモバイルデバイスにおいて、前記新規スイッチを識別する識別子を受信する段階と、
前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられているかどうかを前記識別子に基づいて決定する認証サーバに、第２ネットワークを介して前記識別子を送信する段階であって、前記第２ネットワークは公衆回線である、送信する段階と、
前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられていると前記認証サーバが決定するとき、公衆回線である前記第２ネットワークを介して、前記第１ネットワーク上のディスカバリパケット用のプライベートキーを受信する段階であって、前記ディスカバリパケットは、前記第１ネットワーク上でどのようにデータをルーティングするかを知らせる、受信する段階と、
前記直接接続を介して、前記新規スイッチが前記ディスカバリパケットにデジタル方式で署名できるようにすべく前記プライベートキーを使って前記新規スイッチを構成する段階であって、前記新規スイッチは、前記第１ネットワーク上のデジタル方式で署名された前記ディスカバリパケットを別のネットワーク要素に送信し、前記別のネットワーク要素は、デジタル方式の前記署名を用いて前記ディスカバリパケットを認証し、前記別のネットワーク要素が前記ディスカバリパケットを認証するとき、前記別のネットワーク要素は前記新規スイッチにデータをルーティングし始める、構成する段階と、
を備える、
方法。
【請求項２】
前記プライベートキーは対称である、
請求項１に記載の方法。
【請求項３】
構成する前記段階は、前記新規スイッチが前記別のネットワーク要素からのディスカバリパケットを解読できるようにすべく前記プライベートキーを使って前記新規スイッチを構成する段階を有し、前記解読されたディスカバリパケットは、前記第１ネットワーク上でどのようにデータをルーティングするかを前記新規スイッチに示す、
請求項１又は２に記載の方法。
【請求項４】
前記別のネットワーク要素は、前記第１ネットワークを通るデータストリーム用の経路を決定し、前記決定された経路に沿って前記データストリームをルーティングするよう前記第１ネットワーク上の複数のスイッチを構成するコントローラである、
請求項１から３の何れか一項に記載の方法。
【請求項５】
前記ディスカバリパケットは、前記新規スイッチに隣接する追加の複数のスイッチを識別し、前記コントローラは、前記ディスカバリパケットを使用して前記第１ネットワークのトポロジをモデル化し、モデル化された前記トポロジに基づいて前記経路を決定する、
請求項４に記載の方法。
【請求項６】
前記ディスカバリパケットの受信に応答して、前記新規スイッチは、前記コントローラへと経路が形成されるよう要求する、
請求項４又は５に記載の方法。
【請求項７】
前記ディスカバリパケットは前記コントローラから出て、新規プライベートキーを含み、前記新規プライベートキーは、前記新規スイッチが前記コントローラからの追加の複数のディスカバリパケットを解読できるようにする、
請求項４から６の何れか一項に記載の方法。
【請求項８】
前記新規プライベートキーは有効期限を有する、
請求項７に記載の方法。
【請求項９】
前記新規プライベートキーの有効期限前に、前記認証サーバにより、別のプライベートキーを生成する段階と、
前記別のプライベートキーを別のディスカバリパケットに含める段階と、
を更に備える、
請求項８に記載の方法。
【請求項１０】
前記直接接続は、ＵＳＢ接続、ファイヤワイヤ接続、又はブルートゥース（登録商標）接続であるか、
前記識別子は、前記新規スイッチの媒体アクセス制御アドレスであるか、
前記識別子を送信する前記段階は、前記認証サーバに要求を送信する段階を有し、前記認証サーバは、信頼済みユーザからのものとして前記要求を認証するか、
の少なくとも１つである
請求項１から９の何れか一項に記載の方法。
【請求項１１】
第１ネットワークに接続されたデバイスを認証するためのシステムであって、
新規スイッチを識別する識別子を、直接接続を介して送信する第１ネットワーク上の前記新規スイッチと、
前記直接接続を介して前記識別子を受信し、第２ネットワークを介して前記識別子を送信するモバイルデバイスであって、前記第２ネットワークは公衆回線である、モバイルデバイスと、
公衆回線である前記第２ネットワークを介して前記モバイルデバイスから前記識別子を受信する認証サーバと、
を備え、
前記認証サーバは、
前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられているかどうかを、前記識別子に基づいて決定するインベントリモジュールと、
前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられていると前記認証サーバが決定するとき、公衆回線である前記第２ネットワークを介して、前記第１ネットワーク上のディスカバリパケット用のプライベートキーを前記モバイルデバイスに送信するキーモジュールであって、前記ディスカバリパケットは、前記第１ネットワーク上でどのようにデータをルーティングするかを知らせる、キーモジュールと、
を含み、
前記モバイルデバイスは、前記直接接続を介して、前記新規スイッチが前記ディスカバリパケットにデジタル方式で署名できるようにすべく前記プライベートキーを使って前記新規スイッチを構成し、
前記新規スイッチは、デジタル方式で署名された前記第１ネットワーク上の前記ディスカバリパケットを別のネットワーク要素に送信し、前記別のネットワーク要素は、デジタル方式の前記署名を用いて前記ディスカバリパケットを認証し、前記別のネットワーク要素が前記ディスカバリパケットを認証するとき、前記別のネットワーク要素は前記新規スイッチにデータをルーティングし始める、
システム。
【請求項１２】
前記プライベートキーは対称であるか、
前記プライベートキーは、前記新規スイッチが前記別のネットワーク要素からのディスカバリパケットを解読できるようにし、前記解読されたディスカバリパケットは、前記第１ネットワーク上でどのようにデータをルーティングするかを前記新規スイッチに示すか、
の少なくとも１つである
請求項１１に記載のシステム。
【請求項１３】
前記別のネットワーク要素は、前記第１ネットワークを通るデータストリーム用の経路を決定し、前記決定された経路に沿って前記データストリームをルーティングするよう前記第１ネットワーク上の複数のスイッチを構成するコントローラである、
請求項１１又は１２に記載のシステム。
【請求項１４】
前記ディスカバリパケットは、前記新規スイッチに隣接する追加の複数のスイッチを識別し、前記コントローラは、前記ディスカバリパケットを使用して前記第１ネットワークのトポロジをモデル化し、モデル化された前記トポロジに基づいて前記経路を決定する、
請求項１３に記載のシステム。
【請求項１５】
前記ディスカバリパケットの受信に応答して、前記新規スイッチは、前記コントローラへと経路が形成されるよう要求する、
請求項１３又は１４に記載のシステム。
【請求項１６】
前記ディスカバリパケットは前記コントローラから出て、新規プライベートキーを含み、前記新規プライベートキーは、前記新規スイッチが前記コントローラからの追加の複数のディスカバリパケットを解読できるようにする、
請求項１３から１５の何れか一項に記載のシステム。
【請求項１７】
前記新規プライベートキーは有効期限を有し、
任意で、前記認証サーバは更に、
前記新規プライベートキーの有効期限前に別のプライベートキーを生成し、
別のディスカバリパケットに含めるために前記別のプライベートキーを前記コントローラに送信する、
請求項１６に記載のシステム。
【請求項１８】
前記識別子は、前記新規スイッチの媒体アクセス制御アドレスである、
請求項１１から１７の何れか一項に記載のシステム。
【請求項１９】
識別情報を持つ別のスイッチが前記ネットワークにまだ接続されていないかどうかに基づいて、前記インベントリモジュールは、前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられていると決定する、
請求項１１から１８の何れか一項に記載のシステム。
【請求項２０】
前記ネットワークに接続されると予測される複数のスイッチの識別情報と、前記複数のスイッチのそれぞれが前記ネットワークに接続されると予測される対応時間とを格納するインベントリデータベースを更に備え、
前記新規スイッチの前記識別情報が現在有効であることを前記インベントリデータベースが示すかどうかに基づいて、前記インベントリモジュールは、前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられていると決定する、
請求項１１から１９の何れか一項に記載のシステム。
【請求項２１】
前記ネットワークに接続されると予測される複数のスイッチの識別情報と、前記複数のスイッチのそれぞれが前記ネットワークに接続されると予測される対応位置とを格納するインベントリデータベースを更に備え、
前記新規スイッチが予測される前記対応位置に接続されていることを前記インベントリデータベースが示すかどうかに基づいて、前記インベントリモジュールは、前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられていると決定する、
請求項１１から２０の何れか一項に記載のシステム。
【請求項２２】
第１ネットワーク上の新規スイッチを認証するためのプログラムであって、
前記新規スイッチへの直接接続を介したモバイルデバイスにおいて、前記新規スイッチを識別する識別子を受信する手順と、
前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられているかどうかを前記識別子に基づいて決定する認証サーバに、第２ネットワークを介して前記識別子を送信する手順であって、前記第２ネットワークは公衆回線である、送信する手順と、
前記新規スイッチが前記第１ネットワーク上でデータをルーティングする権限を与えられていると前記認証サーバが決定するとき、公衆回線である前記第２ネットワークを介して、前記第１ネットワーク上のディスカバリパケット用のプライベートキーを受信する手順であって、前記ディスカバリパケットは、前記第１ネットワーク上でどのようにデータをルーティングするかを知らせる、受信する手順と、
前記直接接続を介して、前記新規スイッチが前記ディスカバリパケットにデジタル方式で署名できるようにすべく前記プライベートキーを使って前記新規スイッチを構成する手順であって、前記新規スイッチは、前記第１ネットワーク上のデジタル方式で署名された前記ディスカバリパケットを別のネットワーク要素に送信し、前記別のネットワーク要素は、デジタル方式の前記署名を用いて前記ディスカバリパケットを認証し、前記別のネットワーク要素が前記ディスカバリパケットを認証するとき、前記別のネットワーク要素は前記新規スイッチにデータをルーティングし始める、構成する手順と、
をコンピュータに実行させる、
プログラム。
【請求項２３】
構成する前記段階は、前記モバイルデバイスのユーザーが前記新規スイッチの物理的存在内にいる場合、前記直接接続を介して構成する段階を更に備えるか、
前記方法は、前記ディスカバリパケットの情報を用いて、前記ネットワークの専用経路を確立する段階を更に備えるかの
少なくとも１つを備える
請求項１から１０の何れか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この分野は概して、ネットワークセキュリティに関する。
【背景技術】
【０００２】
例えば、ネットワークサービスは、顧客のネットワークから、インターネットなどの別のコンピュータネットワークへの接続性を提供し得る。接続性に対する顧客の要求が増加しているので、ネットワークサービスエリアを拡大する必要性がある。ネットワークサービスエリアを拡大することは、複数の新規ネットワークデバイスを追加することを含み得る。
【０００３】
ネットワークは、新規デバイスをネットワークに不正に追加することを防止すべく、任意の新規デバイスがネットワークに接続されるとき、その身元を検証し得る。例えば、ネットワークサーバは、ネットワークに接続される権限を与えられたデバイスのインベントリを含み得る。このインベントリは、例えば、ネットワーク上で通信する権限を与えられたデバイスの物理アドレスのリストであり得る。
【０００４】
セキュリティを更に高めるには、ネットワーク上の通信を暗号化するデバイスもネットワークは必要とし得る。そのような暗号化は、暗号キーによって生じ得る。したがって、新規デバイスは、有効キーを有しているときだけ、残りのネットワークと通信することができる。しかしながら、ネットワークを介して効率的且つ安全に暗号キーを作成及び配布することが望ましい。キーを取得するための時間のかからない効率的な方法も、ネットワークに接続される、権限を与えられた新規デバイスにとっては望ましい。
【発明の概要】
【０００５】
一実施形態において、第１ネットワーク上で新規スイッチを認証するための方法が開示される。いくつかの実施形態において、本方法は、新規スイッチへの直接接続を介したモバイルデバイスにおいて、新規スイッチを識別する識別子を受信する。本方法は次に、新規スイッチが第１ネットワーク上でデータをルーティングする権限を与えられているかどうかを識別子に基づいて決定する認証サーバに、第２ネットワークを介して識別子を送信する。いくつかの実施形態において、第２ネットワークは公衆回線である。  新規スイッチが第１ネットワーク上でデータをルーティングする権限を与えられていると認証サーバが決定するとき、認証サーバは公衆回線である第２ネットワークを介して、新規スイッチにプライベートキーを送信する。プライベートキーは、第１ネットワーク上でディスカバリパケットを暗号化及び解読するために用いられる。ディスカバリパケットは、第１ネットワーク上でどのようにデータをルーティングするかを知らせる。本方法は、直接接続を介して、新規スイッチがディスカバリパケットにデジタル方式で署名できるようにすべくプライベートキーを使って新規スイッチを構成する。新規スイッチは、デジタル方式で署名されたネットワーク上のディスカバリパケットを別のネットワーク要素に送信する。別のネットワーク要素は、デジタル方式の署名を用いてディスカバリパケットを認証する。別のネットワーク要素がディスカバリパケットを認証するとき、別のネットワーク要素は新規スイッチにデータをルーティングし始める。
【０００６】
システム及びコンピュータプログラム製品の実施形態も開示される。 
【０００７】
本発明の更なる実施形態、特徴、及び利点、並びに、様々な実施形態の構造及び動作が、複数の添付図面を参照して以下に詳細に説明される。
【図面の簡単な説明】
【０００８】
本明細書に組み込まれ、本明細書の一部を形成する複数の添付図面は本開示を図示し、説明と合わせて、本開示の複数の原理を説明し、当業者が本開示を作成及び使用することができるようにするのに更に役立つ。
【０００９】
【図１】ネットワーク内の新規スイッチを認証するためのシステムの図である。
【００１０】
【図２】ネットワーク内の新規スイッチで、複数のディスカバリパケットを暗号化及び解読することの例を示す図である。
【００１１】
【図３】ネットワーク内の新規スイッチの近隣のデバイスで、新規スイッチを認証する方法のフローチャートである。
【００１２】
【図４】認証サーバからネットワーク内の新規スイッチに新規キーを送信する方法のフローチャートである。
【００１３】
ある要素が最初に現れる図面は、概して、対応する参照番号の左端の１又は複数の数字で示される。複数の図面において、同じ参照番号は、同一又は機能的に類似の要素を示し得る。
【発明を実施するための形態】
【００１４】
上述されたように、新規プライベートキーを新規スイッチに送信する前に、新規スイッチは認証される必要があり得る。しかしながら、プライベートキーを時間のかからない効率的な方法で送信することも重要である。複数の実施形態は、ネットワークが新規スイッチを自動的に認証し、ネットワークを介してプライベートキーを新規スイッチに送信できるようにする。プライベートキーが新規スイッチにいったん送信されると、複数の実施形態はプライベートキーを使用して、新規スイッチとその近隣の複数のスイッチとの間で送信される複数のディスカバリパケットを暗号化及び解読、又はデジタル方式で署名する。
【００１５】
図１は、ネットワーク内の新規スイッチを認証するためのシステム１００を示す図である。システム１００は、プライベートネットワーク１０４及び公衆回線１０６という２つのネットワークを含む。システム１００は、モバイルデバイス１１０及び認証サーバ１０２も含む。各構成要素が以下に説明される。
【００１６】
プライベートネットワーク１０４は、スイッチ１３０、１３２、及び１３６などの複数のスイッチを含む。この例において、スイッチ１３４がネットワーク１０４に新たに接続されたスイッチである。新規スイッチ１３４は、通信リンクを介してスイッチ１３２に接続され、新規スイッチ１３４をスイッチ１３２の隣接スイッチにしている。
【００１７】
認証サーバ１０２は、プライベートネットワーク１０４を介して通信する新規スイッチに権限を与えるよう構成される。一実施形態において、認証サーバ１０２は、キーモジュール１１４及びインベントリモジュール１１６を含む。
【００１８】
インベントリモジュール１１６は、新規スイッチの識別子に基づいて、新規スイッチがプライベートネットワーク１０４上でデータをルーティングする権限を与えられているかどうかを決定するよう構成される。新規スイッチの識別子は、例えば、その媒体アクセス制御（ＭＡＣ）アドレスであってよい。
【００１９】
インベントリモジュール１１６は、プライベートネットワーク１０４上で通信する権限を与えられている複数のスイッチの識別子のリストを含むインベントリデータベース１０８に接続されている。例えば、インベントリデータベース１０８は、権限を与えられた複数のネットワークスイッチのＭＡＣアドレスのリストであってよい。その例において、新規スイッチにプライベートネットワーク１０４上で通信する権限を与えるには、新規スイッチのＭＡＣアドレスはインベントリデータベース１０８に追加されなければならない。
【００２０】
インベントリモジュール１１６に加えて、認証サーバ１０２はキーモジュール１１４も含む。新規スイッチ１３４が第１ネットワーク上でデータをルーティングする権限を与えられていると認証サーバ１０２が決定するとき、キーモジュール１１４は、プライベートネットワーク１０４内の複数のスイッチにキーを送信する。いくつかの実施形態において、キーモジュール１１４は、新規プライベートキーを定期的に作成する。キーモジュール１１４により生成されたプライベートキーは、新規スイッチ１３４を含むプライベートネットワーク１０４内の権限を与えられた全てのスイッチに通知される。プライベートキーは、有効期限を有し得る。特に、プライベートキーは、キーモジュール１１４により作成されたときから有効であり、期限が切れるまで有効状態のままであり得る。期限が切れる前に、キーモジュール１１４は新規のもっと遅い有効期限を持つ新規プライベートキーを決定する。新規スイッチが認証されるとき、キーモジュール１１４は、最新のプライベートキーを選択して新規スイッチに送信し得る。代替的に、新規スイッチが認証されるとき、キーモジュール１１４は全ての有効キーを新規スイッチに送信し得る。
【００２１】
いくつかの実施形態において、新規スイッチ１３４にキーを送信すべく、キーモジュール１１４は公衆回線１０６を介してモバイルデバイス１１０にキーを送信する。公衆回線１０６は、プライベートネットワーク１０４と異なる。例えば、公衆回線１０６は公衆インターネットであてよい。複数の実施形態において、新規スイッチ１３４は接続１５２を介してモバイルデバイス１１０に接続される。図１の実施形態の例において、接続１５２は、新規スイッチ１３４上のポート１５０をモバイルデバイス１１０内のキー更新モジュール１１２に直接接続する。
【００２２】
ポート１５０は、ユニバーサルシリアルバス（ＵＳＢ）ポートであってよい。更に、モバイルデバイス１１０内のキー更新モジュール１１２は、ファイヤワイヤ、Ｗｉ−Ｆｉ、及びブルートゥース（登録商標）などの他の短距離通信プロトコルを介して、新規スイッチ１３４に接続され得る。更なるセキュリティのために、通信プロトコルは、モバイルデバイスのユーザが新規スイッチ１３４の物理的存在内にいる必要があるということになり得る。いくつかの実施形態において、技術者１４０は、新規スイッチ１３４をモバイルデバイス１１０に物理的に接続する必要がある。
【００２３】
新規スイッチ１３４に接続した後、キー更新モジュール１１２は新規スイッチ１３４に識別情報を要求する。この要求は、技術者１４０が信頼済みユーザであることを保証する認証情報（技術者１４０からのパスワードなど）を含み得る。上述されたように、識別情報は、新規スイッチ１３４のＭＡＣアドレスであってよい。複数の実施形態において、新規スイッチの識別情報を受信した後に、キー更新モジュール１１２は、公衆回線１０６を介して認証サーバ１０２に接続する。
【００２４】
認証サーバ１０２に接続した後に、キー更新モジュール１１２は、新規スイッチ１３４のために、プライベートキーを認証サーバ１０２に要求する。プライベートキーを要求すべく、キー更新モジュール１１２は、新規スイッチ１３４の識別情報、例えばＭＡＣアドレスも認証サーバ１０２に送信する。
【００２５】
この要求及び新規スイッチ１３４の識別情報をキー更新モジュール１１２から受信した後に、認証サーバ１０２は、新規スイッチ１３４がプライベートネットワーク１０４と通信する権限を与えられているかどうかを検証する。新規スイッチ１３４がプライベートネットワーク１０４と通信する権限を与えられているかどうかを検証すべく、認証サーバ１０２は、新規スイッチ１３４の識別情報がインベントリデータベース１０８にあるかどうかを決定し得る。更に、認証サーバ１０２は、（１）当該識別情報を持つスイッチが、なりすましを回避すべくネットワークにまだ接続されていないこと、（２）当該識別情報を持つ新規スイッチが、近いうちにネットワークに接続されると予測されていること（例えば、インベントリデータベース１０８内のその一覧とともに新規スイッチのための有効期間を有することにより）、又は（３）新規スイッチ１３４が、インベントリデータベース１０８に記載された特定の位置（例えば、特定のスイッチ上の特定のポート）に接続されていること（例えば、新規スイッチ１３４が特定のポート上のスイッチ１３２に接続されていること）も検証し得る。
【００２６】
認証サーバ１０２が新規スイッチ１３４に権限を与える場合、キーモジュール１１４は、有効なプライベートキーをキー更新モジュール１１２に送信する。キー更新モジュール１１２は、接続１５２及びポート１５０を介して、有効なプライベートキーを新規スイッチ１３４に転送する。有効なプライベートキーを用いて、新規スイッチ１３４は、通信ネットワーク１０４上の近隣の複数のスイッチへの複数のディスカバリパケットにデジタル方式で署名することが可能であり、また近隣の複数のスイッチからの複数のパケットを解読することが可能である。これにより、新規スイッチ１３４がプライベートネットワーク１０４内で通信することが可能になる。
【００２７】
１つの実施形態において、プライベートネットワーク１０４内の複数のスイッチのそれぞれは、それ自体のルーティングテーブルを決定し得て、これにより、どのようにデータを転送するかが特定される。特に、ルーティングテーブルは、与えられた宛先アドレスに対して、スイッチがどのポートにデータを転送すべきかを特定する。別の実施形態において、ルーティングテーブルを決定する機能は、スイッチ自体によるのではなく、別個の制御デバイスによりもたらされる。この実施形態は図２に図示される。
【００２８】
図２は、ネットワーク上に複数のスイッチを構成するためのコントローラ２０２を含むシステム２００を図示する。図１のシステム１００と同様に、システム２００も、ネットワーク１０４及び１０６、認証サーバ１０２、及びモバイルデバイス１１０を含む。
【００２９】
コントローラ２０２は、ネットワーク接続を確立するためのインテリジェントなルーティングを提供する。これを行うには、コントローラ２０２は、複数のネットワークリンク及びデバイスに関する、トポロジ及び（場合により）状態を認識する必要がある。広範な認識に基づいて、コントローラ２０２は、ルーティングテーブルを構成すべく、プライベートネットワーク１０４内の様々なスイッチに構成コマンドを提供し得る。ルーティングテーブルは、特定の宛先を有するデータをスイッチ上の特定の物理ポートにルーティングするよう構成され得る。代替的に、ルーティングテーブルは、特定のデータフロー（例えば、特定のプロトコル、送信元／宛先アドレス、及び特定の送信元／宛先ポートを有するデータ）をスイッチ上の特定の物理ポートにルーティングするよう構成され得る。コントローラ２０２がネットワークを認識するためには、コントローラ２０２は、ディスカバリパケット２０４などの複数のディスカバリパケットを複数のスイッチングデバイスにフラッド（ｆｌｏｏｄ）し得る。
【００３０】
ディスカバリパケット２０４は、最初にスイッチ１３０に届く。それは、スイッチ１３０がコントローラ２０２に直接接続されているからである。ディスカバリパケット２０４を受信した後に、スイッチ１３０は、ディスカバリパケットを受信したポート以外の全てのポートに、ディスカバリパケットを転送し得る。スイッチ１３０が制御パケットを受信すると、制御パケットを転送する前に、スイッチ１３０は２つの修正を行い得る。第１に、スイッチ１３０は、それ自体の識別子（ＭＡＣアドレスなど）をディスカバリパケットに追加し得る。このアドレスは、制御パケットが通って行く全ての転送デバイスを記録するために、制御パケットのアドレスフィールドに追加される。第２に、スイッチ１３０は、制御パケット内の性能測定基準を修正し得る。性能測定基準は、例えば、ディスカバリパケットをコントローラ２０２がスイッチ１３０に送信する際の遅延を含み得る。この遅延情報は、例えば、リンク層検出プロトコル（ＬＬＤＰ）パケット交換を用いて収集され得る。スイッチ１３０からは、再転送される複数のパケットが、スイッチ１３０に接続されているスイッチ１３２及び１３６上へ送信され得る。
【００３１】
スイッチ１３２及び１３６は、同様の方式で複数のディスカバリパケットを再度フラッド（ｒｅ−ｆｌｏｏｄ）し得る。このように、各スイッチはコントローラ２０２への経路を決定し得る。更に、各スイッチは、それ自体の複数のディスカバリパケットをコントローラ２０２への決定された経路に沿って送信し得る。これらのディスカバリパケットは、コントローラ２０２にローカルトポロジを通知する。例えば、各スイッチから送信されたこれらのディスカバリパケットは、近隣の複数のスイッチのリストを含み得る。この情報に基づいて、コントローラ２０２はトポロジを再構成し得る。
【００３２】
このように、複数のディスカバリパケットを定期的に送信し、代わりに複数のパケットを受信することで、コントローラ２０２は、複数の新規スイッチがネットワーク上に配置されると、これらを自動的に検出し、それに応じてルーティングを構成し得る。しかしながら、複数の新規スイッチがネットワークに容易に追加され得ると、特に、ネットワークのサービスプロバイダが物理的アクセスを制御するエリア内にスイッチが全て配置されていない場合に、セキュリティリスクがもたらされ得る。
【００３３】
ここに開示される複数の実施形態は、このセキュリティリスクを軽減するメカニズムを提供する。上述されたように、認証サーバ１０２は、生成した任意の新規プライベートキーを、そのキーの有効期限と共にコントローラ２０２に最初に送信する。
【００３４】
複数のディスカバリパケットがプライベートネットワーク１０４内のネットワークの複数のスイッチを通ってフラッドするとき、各スイッチは、各スイッチが入手可能な有効又は期限内の複数のプライベートキーのうちの１つを用いて、複数のディスカバリパケットを解読する。複数の実施形態において、ディスカバリパケットを解読した後に、ネットワークスイッチ１３０は、複数のディスカバリパケット内の情報を用いて、コントローラ２０２との間の経路情報を検出する。スイッチは次に、ディスカバリパケット内の経路情報を更新し、スイッチ内の複数の有効キーの１つを用いてディスカバリパケットにデジタル方式で署名する。スイッチは次に、デジタル方式で署名されたディスカバリパケットを、スイッチがディスカバリパケットを受信したポート以外の複数の出力ポートにフラッドする。
【００３５】
複数のディスカバリパケット内の経路情報を用いて、複数のネットワークスイッチは、コントローラとの間の専用経路を確立する。そのような専用経路を用いて、複数のネットワークスイッチはネットワークトポロジ情報をコントローラに送信する。したがって、コントローラ２０２は、ネットワークのトポロジを集めてモデル化するであろう。このモデル化されたネットワークトポロジを用いて、コントローラ２０２は、ネットワークを介してデータをルーティングするよう複数のネットワークスイッチを構成する。
【００３６】
一例において、新規スイッチがネットワークに接続されるたびに、技術者１４０は、新規スイッチ１３４上のポート１５０を介して、新規スイッチ１３４をモバイルデバイス１１０に接続する。そのような実施形態において、モバイルデバイスは、公衆回線１０６を介して、新規スイッチ１３４を認証サーバ１０２に接続する。図１に関連して説明されたように、認証サーバ１０２は新規スイッチ１３４を認証する。この実施形態において、新規スイッチ１３４が認証された場合、認証サーバ１０２は、公衆回線１０６及びモバイルデバイス１１０を介した接続を用いて、新規スイッチ１３４に有効キーを送信する。
【００３７】
新規スイッチ１３４が有効キーを入手した後に、新規スイッチ１３４は、その近隣の複数のスイッチから受信する複数のディスカバリパケットを解読し得る。また、新規スイッチ１３４の近隣の複数のスイッチは、新規スイッチ１３４が有効キーによりデジタル方式で署名する複数のパケットを解読することが可能であろう。したがって、権限を与えられ、有効キーを受信した後に、新規スイッチ１３４は、複数のディスカバリパケットを介して、認証サーバ１０２により生成される複数の新規キーを継続して受信し得る。
【００３８】
図２の実施形態例に示されるように、コントローラ２０２は、ディスカバリパケット２０４をネットワークスイッチ１３０に送信する。ディスカバリパケット２０４の経路情報を集めた後に、スイッチ１３０は、プライベートキーを用いて、ディスカバリパケットにデジタル方式で署名し、その複数のポート上のディスカバリパケットをスイッチ１３２及び１３６に転送する。対称キーセキュリティ方式において、パケットは、プライベートキーでパケットを暗号化することにより、デジタル方式で署名され得る。スイッチ１３２は、ディスカバリパケット２０６を受信する。次に、対称キー方式において、スイッチ１３２は、同じプライベートキーを用いてパケットを問題なく解読することにより、デジタル方式の署名を検証する。代替的に、非対称キーセキュリティ方式を用いて、パケットがデジタル方式で署名されるとき、プライベートキーに対応する公衆キーを用いてパケットを問題なく解読することにより、デジタル方式の署名は検証される。パケット全体を暗号化及び解読することに加えて、いくつかの実施形態は、パケットから生成されるハッシュ値など、パケットの一部分だけを暗号化及び解読し得る。
【００３９】
ディスカバリパケットを受信し検証した後に、スイッチ１３２は、ディスカバリパケット２０８を新規スイッチ１３４に転送する。ディスカバリパケット２０８は、同様の方式で、スイッチ１３２によりデジタル方式で署名される。
【００４０】
この実施形態例において、新規スイッチ１３４が公衆回線１０６を介して認証サーバから受信するキーを用いて、新規スイッチ１３４はディスカバリパケット２０８を解読する。キーを用いて、新規スイッチ１３４は、その近隣の複数のスイッチに新規スイッチ１３４が送信する複数のパケットにもデジタル方式で署名する。近隣の複数のスイッチは、新規スイッチ１３４からのデジタル方式で署名された複数のパケットの有効性を検証した後に、新規スイッチから制御デバイス２０２への専用経路を確立する。
【００４１】
図２の実施形態例において、スイッチ１３２及び１３０を介したコントローラへの専用経路が新規スイッチ１３４のために確立されている。専用経路を確立した後に、新規スイッチ１３４は、その近隣のトポロジ情報をコントローラ２０２に送信する。
【００４２】
一実施形態において、コントローラ２０２が認証サーバ１０２から受信する新規キーを、コントローラ２０２は複数のネットワークスイッチに専用経路で送信する。したがって、新規スイッチ１３４も、認証サーバ１０２が生成する複数の新規キーをコントローラ２０２から専用経路で受信する。
【００４３】
一実施形態において、コントローラ２０２から送信される各ディスカバリパケットは、最新のプライベートキーとともに送信される。代替的に、ディスカバリパケットは、全ての有効キーとともに送信され得る。このように、ディスカバリパケットは複数のスイッチを介して再度フラッドされるので、複数のスイッチは、期限が切れる前に自らのキーを更新し得る。
【００４４】
図３は、ネットワーク内の新規スイッチの近隣の複数のデバイスにより、新規スイッチを認証するための方法３００を示すフローチャートである。一実施形態において、近隣の複数のスイッチによる認証は、新規スイッチがコントローラへの専用接続を確立する権限を与えられているかどうかを決定することを含む。
【００４５】
段階３０２において、新規スイッチの識別情報がインベントリに追加される。一実施形態において、識別情報はＭＡＣアドレスであり、スイッチのＭＡＣアドレスはインベントリに追加される。
【００４６】
段階３０４において、新規スイッチはネットワークに物理的に接続される。新規スイッチは、少なくとも１つの近隣のスイッチに接続され得る。新規スイッチがネットワークに接続されると、段階３０６において、新規スイッチは、キーを用いてデジタル方式で署名された複数のディスカバリパケットを、少なくとも１つの近隣のスイッチに送信し始めるであろう。
【００４７】
段階３０８において、近隣のスイッチは、新規スイッチにより送信された複数のディスカバリパケットを、近隣のスイッチで入手可能な期限内の複数のキーのいずれかを用いて認証しようと試みる。決定ブロック３１０において、新規スイッチから送信されたディスカバリパケットを近隣のスイッチが認証する場合、段階３１２において近隣のスイッチは、新規スイッチとの間で複数のパケットを転送するよう、そのルーティングテーブルを構成するであろう。
【００４８】
段階３０４において新規スイッチが接続されると、段階３０６において新規スイッチが複数のパケットを送出し始めるだけでなく、段階３２６において、新規スイッチの隣接の複数のスイッチも、複数のディスカバリパケットを新規スイッチに送信し始める。近隣のスイッチにより送信された複数のディスカバリパケットは、デジタル方式で署名される。
【００４９】
段階３２８において新規スイッチは、新規スイッチが近隣のスイッチから受信するディスカバリパケットを認証しようと試みる。新規スイッチにおける認証が決定ブロック３３０において成功した場合、段階３３２において新規スイッチは、近隣のスイッチとの間で複数のパケットを転送するよう、そのルーティングテーブルを構成するであろう。
【００５０】
図４は、認証サーバからネットワーク内の新規スイッチに新規キーを送信するための方法４００を示すフローチャートである。方法４００は、明確にするために図１の複数の構成要素に関連して説明されるが、当業者であれば、これが他の状況でも用いられ得ることを認識するであろう。
【００５１】
段階４０２において、モバイルデバイス１１０はネットワークの新規スイッチに接続する。一実施形態において、技術者は、新規スイッチをモバイルデバイス１１０に接続する。段階４０４において、モバイルデバイス１１０はスイッチの識別情報、例えば、ＭＡＣアドレスを新規スイッチから受信する。
【００５２】
段階４０６において、モバイルデバイス１１０は新規スイッチの識別情報を、新規キーの要求と共に、認証サーバ１０２に送信する。一実施形態において、段階４０６における要求は別の公衆回線を介して送信される。
【００５３】
段階４０８において、認証サーバ１０２は、モバイルデバイス１１０から認証要求を受信する。段階４１０において、認証サーバ１０２は、新規スイッチの識別情報をそのインベントリと照合する。
【００５４】
新規スイッチの識別情報がインベントリにない場合、方法４００は終了する。新規スイッチのＩＤがインベントリにある場合、段階４１４において認証サーバ１０２は、他の公衆回線を介して新規キーを新規スイッチに送信する。
【００５５】
段階４１６において、新規スイッチは、段階４１４における認証サーバからの最新のキーを用いて構成される。
【００５６】
図１又は図２の複数のデバイス及びモジュールのそれぞれは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せで実装され得る。
【００５７】
図１又は図２の複数のデバイス及びモジュールのそれぞれは、同じ又は異なる複数のコンピューティングデバイス上に実装され得る。そのようなコンピューティングデバイスは、限定されないが、パーソナルコンピュータ、携帯電話などのモバイルデバイス、ワークステーション、組み込みシステム、ゲームコンソール、テレビ、セットトップボックス、又は任意の他のコンピューティングデバイスを含み得る。更に、コンピューティングデバイスは、限定されないが、命令を実行し格納するために、プロセッサと、非一時的メモリを含むメモリとを有するデバイスを含み得る。メモリは、データ及びプログラム命令を明確に具体化し得る。ソフトウェアは、１又は複数のアプリケーションとオペレーティングシステムとを含み得る。ハードウェアは、限定されないが、プロセッサ、メモリ、及びグラフィカル・ユーザ・インタフェース・ディスプレイを含み得る。コンピューティングデバイスは、複数のプロセッサ、及び複数の共有又は別個のメモリ構成要素も有し得る。例えば、コンピューティングデバイスは、クラスタ化された又は分散された、コンピューティング環境又はサーバファームの一部又は全体であってよい。
【００５８】
「（ａ）」、「（ｂ）」、「（ｉ）」、「（ｉｉ）」などの識別子は、異なる要素又は段階のために用いられることがある。これらの識別子は明確にするために用いられ、必ずしも要素又は段階の順序を示すものではない。
【００５９】
本発明は、複数の特定機能及びそれらの関係の実装を説明する複数の機能的構成単位を用いて上述された。これらの機能的構成単位の境界は、説明の利便性のために、本明細書で任意に画定された。複数の特定機能及びそれらの関係が適切に実行される限り、代替の境界が画定され得る。
【００６０】
複数の具体的な実施形態についての前述の説明は、本発明の全般的性質を十分に明らかにしているので、当技術分野の技術内の知識を応用することで、過度の実験なしに、本発明の一般的概念から逸脱することなく、その他の人々がそのような複数の具体的な実施形態を容易に修正し得る、及び／又は様々な用途に容易に改作し得る。したがって、そのような改作物及び修正物は、本明細書に提供された教示及び指導に基づいて、開示された複数の実施形態の均等物の趣旨内及び範囲内であるよう意図されている。本明細書の語句又は用語は、説明を目的とするものであって限定するものではなく、これにより本明細書の語句又は用語は、教示及び指導を考慮して当業者により解釈されることになることが理解されるべきである。
【００６１】
本発明の広さ及び範囲は、上述された複数の例示的実施形態のいずれによっても限定されるべきではなく、次の特許請求の範囲及びその均等物のみに基づいて定義されるべきである。
【図１】
0006453351.tif 000002
【図２】
0006453351.tif 000003
【図３】
0006453351.tif 000004
【図４】
0006453351.tif 000005