(57)【要約】  パケット処理を実行する複数のパケットエンジン（６１〜６４）を含む時限決定論的パケットネットワーク内のエンドツーエンド経路にわたってまたはエンドツーエンド経路のセグメントにわたって安全な通信を提供するために、暗号エンジン（７１〜７４）がパケットエンジンとは別に設けられる。暗号エンジン（７１〜７４）は、少なくとも１つのサイバーセキュリティ機能を実行するように機能する。暗号エンジンキーマネージャ（４４）は、複数の暗号エンジン（７１〜７４）に対して中央制御を提供する。集中型パケットフロー経路マネージャＰＦＰＭ（４２）は、パケットネットワークのエンドツーエンドデータ経路のエンドポイントノードと中間トランジットノードとをセットアップすることができる。
2020510337.tif 000002
【特許請求の範囲】
【請求項１】
パケットネットワーク内のエンドツーエンドデータ経路にわたって安全な通信を提供する方法であって、前記パケットネットワークは、パケット処理を実行する複数のパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）を含む時限決定論的パケットネットワークであり、前記方法は、
複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）が、少なくとも１つのサイバーセキュリティ機能を実行するステップを含み、前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）のうちの各暗号エンジンは、前記複数のパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）のうちの対応するパケットエンジンに関連付けられ、かつ、前記対応するパケットエンジンとは別に設けられ、
前記暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）のうちの少なくともいくつかの暗号エンジンは各々、
前記パケットネットワークのエンドポイントノードに関連付けられた、対応するパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）と、前記エンドポイントノードのネットワーク側ポートとの間に設けられ、または、
前記エンドポイントノードに関連付けられた、前記対応するパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）と、前記エンドポイントノードに接続された第１のトランジットノード（５５〜５８）との間に設けられ、
暗号エンジンキーマネージャＣＥＫＭ（４４）が、前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）を中央制御するステップを含む、方法。
【請求項２】
集中型パケットフロー経路マネージャＰＦＰＭ（４２）が、前記パケットネットワークの前記エンドツーエンドデータ経路のエンドポイントノード（１４０；５３，５４）と中間トランジットノード（１６０；５５〜５８）とをセットアップするステップをさらに含み、任意で、前記ＰＦＰＭ（４２）は、前記パケットネットワークのすべてのエンドポイントノード（１４０；５３，５４）および中間トランジットノード（１６０；５５〜５８）に通信可能に接続される、請求項１に記載の方法。
【請求項３】
前記ＣＥＫＭ（４４）は第１のサーバ上で実行され、前記ＰＦＰＭ（４２）は前記第１のサーバとは異なる第２のサーバ上で実行される、請求項２に記載の方法。
【請求項４】
前記ＣＥＫＭ（４４）から前記ＰＦＰＭ（４２）に与えられる情報を制限するステップをさらに含む、請求項２または３に記載の方法。
【請求項５】
前記ＣＥＫＭ（４４）が前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）のハードウェア定義識別子を発見するステップと、
前記ＣＥＫＭ（４４）が前記ハードウェア定義識別子を前記ＰＦＰＭ（４２）に与えるステップとをさらに含み、
前記ＣＥＫＭ（４４）は、前記ハードウェア定義識別子およびアラームのみを前記ＰＦＰＭ（４２）に与える、請求項３または４に記載の方法。
【請求項６】
前記ＣＥＫＭ（４４）は、前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）を構成するために前記ＰＦＰＭ（４２）からエンドツーエンドデータ経路のデータフロートポロジに関する情報を受け、任意で、前記データフロートポロジに関する情報は、トンネル識別子と、ＭＰＬＳラベルと、方向とを含む、請求項２〜５のいずれか１項に記載の方法。
【請求項７】
前記ＣＥＫＭ（４４）と前記ＰＦＰＭ（４２）とは安全なチャネルを介して通信する、請求項２〜６のいずれか１項に記載の方法。
【請求項８】
前記ＣＥＫＭ（４４）は、前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）のうちの各暗号エンジンと通信可能に接続され、前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）を構成するためおよび／または通知のために、安全なプロトコルを介して前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）のうちの各暗号エンジンと通信する、先行する請求項のいずれか１項に記載の方法。
【請求項９】
前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）のうちの暗号エンジンが、プログラマブルビットウィンドウを用いてデータパケットからビットを選択するステップをさらに含み、前記プログラマブルビットウィンドウに従って選択された前記ビットは、前記暗号エンジンが処理するデータパケットを特定し、
任意で、前記ビットウィンドウは、エンドツーエンドデータ経路の入口ノードと出口ノードとで異なっており、任意で、前記ＣＥＫＭ（４４）と前記ＰＦＰＭ（４２）との間でやり取りされる情報は、前記ビットウィンドウを構成するために使用される、先行する請求項のいずれか１項に記載の方法。
【請求項１０】
パケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）が、暗号エンジンに入るデータパケットを事前シェーピングすることにより、トラフィックフロー内の前記データパケットの位置が、前記暗号エンジンを通過した後も変化しないままであることを保証し、前記データパケットは、前記暗号エンジンに入る前記データパケットのタイムスタンピング情報が、前記データパケットが前記暗号エンジンから出た後も有効となるように、事前シェーピングされる、先行する請求項のいずれか１項に記載の方法。
【請求項１１】
前記複数のパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）および前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）は、共通のグローバル情報アイデンティティを用いることにより、同一のトラフィックフローに属するデータパケットのグローバル識別を保証し、任意で、前記グローバル情報アイデンティは、マルチプロトコルラベルスイッチングＭＰＬＳトンネルを示す、先行する請求項のいずれか１項に記載の方法。
【請求項１２】
データパケットは、関連付けられたパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）から出た直後に、暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）によって暗号化される、または、データパケットは、前記関連付けられたパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）に入る直前に、前記暗号エンジンによって解読される、先行する請求項のいずれか１項に記載の方法。
【請求項１３】
前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）はメッセージ認証を実行する、先行する請求項のいずれか１項に記載の方法。
【請求項１４】
暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）が、トラフィック損失情報を、前記関連付けられたパケットエンジンのインターフェイスに伝搬することにより、トラフィックスイッチオーバをトリガするステップをさらに含み、
前記トラフィック損失情報の伝搬は、ワイドエリアネットワークＷＡＮ側ラインインターフェイスが検出した光データ接続の障害によってトリガされる、先行する請求項のいずれか１項に記載の方法。
【請求項１５】
追加データパケットストリームを送信することを含む、データフローの健全性をモニタリングするステップをさらに含み、
前記追加データパケットストリームは、
前記暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）によって暗号化されたエンドツーエンドモニタリングパケットと、
暗号化されないままのｐｉｎｇおよびトレースルートメッセージとを含む、先行する請求項のいずれか１項に記載の方法。
【請求項１６】
前記パケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）はタイムスタンピングを実行し、前記暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）は非時間認識型でありかつ非トポロジ認識型である、先行する請求項のいずれか１項に記載の方法。
【請求項１７】
前記パケットネットワークは、高電圧線の自動化のためのパケットネットワークである、先行する請求項のいずれか１項に記載の方法。
【請求項１８】
パケット処理を実行するパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）を有する時限決定論的パケットネットワーク内のエンドツーエンドデータ経路にわたって通信を安全にするための、暗号エンジンキーマネージャＣＥＫＭ（４４）であって、前記パケットネットワークは、前記パケットネットワークのトラフィックフローノードを構成するパケットフロー経路マネージャＰＦＰＭを含み、前記ＣＥＫＭ（４４）は、
前記ＰＦＰＭ（４２）からエンドツーエンドデータ経路のデータフロートポロジに関する情報を受けるように機能する第１のインターフェイスと、
複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）に構成情報を与えるように機能する第２のインターフェイスとを備え、前記複数の暗号エンジンは各々、対応するパケットエンジンに関連付けられ、かつ、前記対応するパケットエンジンとは別に設けられ、前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）は少なくとも１つのサイバーセキュリティ機能を実行するように構成され、前記ＣＥＫＭ（４４）はさらに、
前記データフロートポロジに基づいて前記構成情報を生成するように機能する少なくとも１つのプロセッサを備える、暗号エンジンキーマネージャ。
【請求項１９】
前記ＣＥＫＭ（４４）は、前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）のハードウェア定義識別子を発見するように、かつ、前記ハードウェア定義識別子およびアラームのみを前記ＰＦＰＭ（４２）に与えるように、機能する、請求項１８に記載の暗号エンジンキーマネージャ。
【請求項２０】
暗号エンジンであって、
時限決定論的パケットネットワークのパケット処理を実行するパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）に直接接続されるように機能する第１のインターフェイスと、
エンドポイントノードのネットワーク側ポートに、または、前記エンドポイントノードに接続された第１のトランジットノードに接続されるように機能する第２のインターフェイスと、
暗号エンジンキーマネージャＣＥＫＭ（４４）から構成情報を受けるように機能する第３のインターフェイスとを備え、
前記暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）は、前記ＣＥＫＭ（４４）から受けた前記構成情報に基づいて、前記暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）を通るトラフィックフローのデータパケットに対してサイバーセキュリティ機能を実行するように機能する、暗号エンジン。
【請求項２１】
前記暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）は、前記セキュリティ機能を実行する対象である前記エンドツーエンド経路のトポロジに関する情報を有することなく、かつ、前記データパケットのタイムスタンピング情報を用いることなく、前記セキュリティ機能を実行するように機能する、請求項２０に記載の暗号エンジン。
【請求項２３】
ネットワークであって、
時限決定論的パケットネットワークにおいてパケット処理を実行するように機能する複数のパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）と、
前記パケットネットワークのトラフィックフローノードに構成情報を与えるように機能するパケットフロー経路マネージャＰＦＰＭ（４２）と、
請求項１８または１９に記載の複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）とを備え、前記複数の暗号エンジンは各々、関係付けられたパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）からトラフィックフローのデータパケットを受けるように、または、前記関係付けられたパケットエンジン（１２，２２，３２；６１〜６４；１４１，１４２；１６１，１６２；２１１〜２１４）にトラフィックフローのデータパケットを与えるように機能し、前記ネットワークはさらに、
前記ＰＦＰＭ（４２）と前記複数の暗号エンジン（１４，２４，４３；７１〜７４；１４３〜１４６；１６３〜１６６；２２１〜２２４）とに結合された、請求項２０または２１に記載の暗号エンジンキーマネージャＣＥＫＭ（４４）とを備える、ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、パケットネットワークにおけるデータ送信に関する。本発明は特に、保護された時間認識型（time aware）パケットフローネットワークにおけるデータトラフィックのエンドツーエンドおよび／またはセグメント暗号化および／または認証のための方法および装置に関する。
【背景技術】
【０００２】
発明の背景
高電圧線のモニタリング等のミッションクリティカルシステムのネットワーク、またはその他の産業用オートメーション制御システム（ＩＡＣＳ）のネットワークにおいて、多くのアプリケーションは依然として旧来の接続指向型技術に頼っている。アプリケーション設計の高レイヤの場合、送信側と受信側との関係は、直接有線データリンクのようなものであると考えることができる。高速列車の操縦、航空交通の管制、または高電圧線の自動化のようなアプリケーションを調べてみると、動作主体と反応体との直接決定論的関係が、システム設計の高レイヤを実質的に単純化するとともに、現代の高い総合システム信頼度に寄与している。
【０００３】
高い柔軟性等のさまざまな理由から、ミッションクリティカルネットワークの場合も、パケットネットワークを通してデータ送信を実行することが望ましい場合がある。この場合、時分割多重（ＴＤＭ）ネットワークに固有のデータインテグリティはもはや存在しないかもしれない。非劣悪環境の場合など、ある程度は、マルチパスラベルスイッチングトランスポートプロファイル（Multipath Label Switching Transport Profile）（ＭＰＬＳ−ＴＰ）が、接続指向型パラダイムのいくつかの長所を利用することを可能にする。それでもやはり、過負荷状況および機能不全の間は、エンドツーエンドデータ経路またはリンクを直接有線接続とみなすことはできない。パケットの、ストリームからの削除、複製、およびストリームへの追加のような、パケットネットワークの強力な操作能力は、サイバー攻撃に関して極めて重大な危険をもたらす。
【０００４】
セキュリティが強化された、ＭＰＬＳ−ＴＰ等の時限決定論的（timed deterministic）パケットネットワークを通るエンドツーエンド経路を提供することが望ましいであろう。
【発明の概要】
【課題を解決するための手段】
【０００５】
概要
本発明の目的は、強化されたセキュリティをもたらすパケットネットワークにおけるデータ送信のための改善された方法、装置、およびシステムを提供することである。特に、サイバー攻撃に対する高い耐性を示しつつ、時限決定論的パケットネットワークにおける暗号化および／または認証されたデータ送信を提供するように機能する、改善された方法、装置、およびシステムを提供することを目的とする。
【０００６】
例示的な実施形態に従い、複雑なメッシュネットワークトポロジを通して暗号化され認証されたデータパケットを決定論的に送るための、方法および装置が提供される。このような、マルチパスラベルスイッチングトランスポートプロファイル（ＭＰＬＳ−ＴＰ）ネットワーク等のネットワークに対し、保護されたエンドツーエンド経路と、対応するサイバーセキュア冗長データリンクエンドポイントとのコヒーレントな対応付けが、提供される。
【０００７】
セキュリティ上の理由で、２つのサブシステム、すなわち、パケットネットワークを通る経路を担当するパケットスイッチングサブシステムと、サイバーセキュリティ（またはクリプト）サブシステムとを、強力に分離させつつ、同期させることができる。ダイナミックプロトコルを用いて、サイバーセキュリティサブシステムからパケットスイッチングサブシステムへの制限された情報交換をサポートしてもよい。これにより、ネットワーク動作の標準および例外状態すべての間、上記２つのサブシステムの同期を保つことができる。
【０００８】
例示的な実施形態において、パケットの追加は不要であり、暗号化ステップの間、すべてのパケットについて同一の遅延を保つことができる。暗号化／解読および／または認証を実行する暗号エンジンは、暗号エンジンから分離されたパケットエンジンが前に生成したダミーパケットに、制御情報を追加してもよい。また、パケットエンジンは、必要に応じてパケット間ギャップを拡大することにより、そうでなければ暗号エンジン暗号化情報の挿入によりパケットを暗号化する必要が生じた結果起こり得る障害を回避してもよい。これにより、マルチパスラベルスイッチング（ＭＰＬＳ）のようなプロトコルまたは時限決定論的パケット送信のためのその他のプロトコルを、真にサイバーセキュアなものになるよう強化する。
【０００９】
代表的な実施形態において、保護されたＭＰＬＳ−ＴＰエンドツーエンドサービスセットアップを、暗号エンジンとも呼ばれる、対応するサイバーセキュア冗長暗号化エンドポイントに、リンクさせてもよい。サイバーセキュリティ管理を、ＭＰＬＳとサイバーセキュリティサブシステムとの間の情報交換を制限し得る、ハードウェアを介した設計制限およびＭＰＬＳ経路管理から、明確に分離することで、クライアントノードから暗号エンジンへのまたはサイバーセキュリティサブシステムの別のコンポーネントへの侵入を、回避することができる。
【００１０】
本発明のある局面に従い、パケットネットワーク内のエンドツーエンドデータ経路（ＭＰＬＳトンネルによって提供することができる）にわたって安全な通信を提供する方法が提供される。パケットネットワークは、パケット処理を実行する複数のパケットエンジンを含む時限決定論的パケットネットワークである。この方法は、複数の暗号エンジンが、少なくとも１つのサイバーセキュリティ機能を実行することを含み、複数の暗号エンジンのうちの各暗号エンジンは、複数のパケットエンジンのうちの対応するパケットエンジンに関係付けられ、かつこの対応するパケットエンジンとは別に設けられている。暗号エンジンのうちの少なくともいくつかはそれぞれ、パケットネットワークのエンドポイントノードに関連付けられた、対応するパケットエンジンと、このエンドポイントノードのネットワーク側ポートとの間に設けられる、または、エンドポイントノードに関連付けられた、対応するパケットエンジンと、このエンドポイントノードに接続された第１のトランジットノードとの間に設けられる。この方法はさらに、暗号エンジンキーマネージャ（cipher engine and key manager）ＣＥＫＭが、複数の暗号エンジンを中央制御することを含む。
【００１１】
この方法は、エンドツーエンド暗号化および／または認証を実行するために使用することができる、または、エンドツーエンドデータ経路の１つまたはいくつかのセグメントに沿う暗号化および／または認証を実行するために使用することができる。
【００１２】
複数の暗号エンジンを制御することは、構成情報を複数の暗号エンジンに与えること、および／またはネットワーク内の複数の暗号エンジンがどのキーを使用するかを調整することを、含み得る。
【００１３】
中央制御を用いてネットワーク内のすべての暗号エンジンの動作を調整し、パケットエンジンから物理的に離された暗号エンジンを用いることにより、高いセキュリティが得られる。
【００１４】
パケットエンジンおよび対応する暗号エンジンは各々、ＭＰＬＳネットワークのラベルエッジルータ（Label Edge Router）（ＬＥＲ）またはラベルスイッチルータ（Label Switch Router）（ＬＳＲ）に設けることができる。
【００１５】
パケットネットワークは複数のＬＥＲを含み得る。各ＬＥＲは、少なくとも２つのパケットエンジンと、少なくとも４つの暗号エンジンとを含み得る。２つのパケットエンジンはそれぞれ、ワーキング経路および保護経路のために与えられる。ワーキング経路と保護経路とは、ＭＰＬＳネットワークを通る異なる経路であってもよい。２つの暗号エンジンを、ＬＥＲの第１のパケットエンジンに接続することにより、ワーキング経路に沿う互いに逆の２つの送信方向について、ＭＰＬＳネットワークを通るワーキング経路に沿う、エンドツーエンドまたはセグメント暗号化および／または認証を提供することができる。さらに他の２つの暗号エンジンをＬＥＲの第２のパケットエンジンに接続することにより、保護経路に沿う、互いに逆の２つの送信経路について、保護経路に沿うエンドツーエンドまたはセグメント暗号化および／または認証を提供することができる。
【００１６】
この方法はさらに、集中型パケットフロー経路マネージャ（packet flow path manager）ＰＦＰＭが、パケットネットワークのエンドツーエンドデータ経路のエンドポイントノードおよび中間トランジットノードをセットアップすることを含み得る。
【００１７】
ＰＦＰＭは、ＭＰＬＳネットワーク内のエンドポイントノードの例であるＬＥＲ内のパケットエンジンをセットアップすることができる。
【００１８】
ＰＦＰＭは、ＭＰＬＳネットワーク内の中間トランジットノードの例であるＬＳＲ内のパケットエンジンをセットアップすることができる。
【００１９】
ＰＦＰＭは、パケットネットワークのすべてのエンドポイントノード（たとえばすべてのＬＥＲ内のパケットエンジン）と、すべての中間トランジットノード（たとえばすべてのＬＳＲ内のパケットエンジン）に、通信可能に接続することができる。
【００２０】
ＣＥＫＭは第１のサーバ上で実行されてもよく、ＰＦＰＭは第１のサーバと異なる第２のサーバ上で実行することができる。経路制御の制御システムとサイバーセキュリティの制御システムを分離することにより、さらにセキュリティ上の利点が得られる。
【００２１】
この方法はさらに、第１のサーバから第２のサーバに与えられる情報を制限することを含み得る。それにより、さらにセキュリティ上の利点が得られる。
【００２２】
この方法はさらに、ＣＥＫＭが、複数の暗号エンジンのハードウェア定義識別子を発見し、ＣＥＫＭが、ハードウェア定義識別子をＰＦＰＭに与えることを含み得る。
【００２３】
ＣＥＫＭは、ハードウェア定義識別子およびアラームのみをＰＦＰＭに与えてもよい。アラームは異常な動作状態を示し得る。
【００２４】
ＣＥＫＭは、複数の暗号エンジンを構成するために、エンドツーエンドデータ経路のデータフロートポロジに関連する情報を、ＰＦＰＭから受けることができる。この情報は、トンネル識別子、ＭＰＬＳラベルまたはラベルスタック、および同様の情報を含み得る。
【００２５】
ＣＥＫＭおよびＰＦＰＭは安全なチャネルを介して通信することができる。
ＣＥＫＭは、複数の暗号エンジン各々に通信可能に接続することができる。
【００２６】
ＣＥＫＭは、暗号エンジンを構成するためおよび／または通知のために安全なプロトコルを介して複数の暗号エンジン各々と通信することができる。
【００２７】
この方法はさらに、複数の暗号エンジンのうちの暗号エンジンが、プログラマブルビットウィンドウを用いてデータパケットからビットを選択することを含み得る。プログラマブルビットウィンドウに従って選択されたビットは、暗号エンジンが処理するデータパケットを特定することができる。
【００２８】
ビットウィンドウは、エンドツーエンドデータ経路の入口ノードと出口ノードとで異なっていてもよい。
【００２９】
ＣＥＫＭとＰＦＰＭとの間でやり取りされる情報は、ビットウィンドウを構成するために使用することができる。
【００３０】
この方法はさらに、ＣＥＫＭが、エンドツーエンドトンネルの第１のエンドポイントノードに関連付けられた第１の暗号エンジンと、第１のエンドポイントノードに関連付けられた第２の暗号エンジンとを、ＰＦＰＭからの情報にそれぞれ基づいて、構成することを含み得る。第１および第２の暗号エンジンはそれぞれ、ＭＰＬＳネットワークを通る保護されたトンネルのワーキング経路および保護経路のための、暗号化または認証等のサイバーセキュリティ機能を実行する。
【００３１】
この方法はさらに、ＣＥＫＭが、エンドツーエンドトンネルの逆の送信方向に対し、第１のエンドポイントに関連付けられた第３の暗号エンジンと、第１のエンドポイントノードに関連付けられた第４の暗号エンジンとを、構成することを含み得る。第３の暗号エンジンおよび第４の暗号エンジンはそれぞれ、逆のフロー方向について、ＭＰＬＳネットワークを通るワーキング経路および保護経路に対する、暗号化または認証等のサイバーセキュリティ機能を実行することができる。
【００３２】
パケットネットワークは、ラベルエッジルータ（ＬＥＲ）を含み得る。ラベルエッジルータは、マルチラベルプロトコルスイッチング（ＭＰＬＳ）トンネルのワーキング経路のための第１の暗号エンジンと、保護されたトンネルに対し保護を提供する保護経路のための第２の暗号エンジンとを含み得る。
【００３３】
ＬＥＲは、ワーキング経路上の逆の送信方向のための第３の暗号エンジンと、保護経路上の逆の送信方向のための第４の暗号エンジンとを含み得る。
【００３４】
ＬＥＲは少なくとも２つのパケットエンジンを含み得る。
パケットネットワークはラベルスイッチルータ（ＬＳＲ）を含み得る。ＬＳＲは、少なくとも２つのパケットエンジンを含み得る。ＬＳＲは、少なくとも２つの暗号エンジンまたは少なくとも４つの暗号エンジンを含み得る。暗号エンジンは、セクション暗号化に必要であってもよく、１つのノードがハイブリッドＬＥＲ・ＬＳＲモードで機能することができる。
【００３５】
この方法は、パケットエンジンが、暗号エンジンに入るデータパケットのフローを事前シェーピングすることにより、トラフィックフロー内の当該データパケットの位置が変化しないままでありかつすべてのパケットが暗号エンジン通過後に同一の遅延を示すことを保証することをさらに含み得る。
【００３６】
データパケットのフローを、暗号エンジンに入るデータパケットのタイムスタンピング情報が、データパケットが暗号エンジンから出た後も有効となるように、事前シェーピングしてもよい。
【００３７】
データパケットのフローを事前シェーピングすることは、パケットエンジンが、データパケットのフローが暗号エンジンに入る前に、パケット間ギャップを拡大することを含み得る。
【００３８】
データパケットのフローを事前シェーピングすることは、パケットエンジンが、データパケットのフローに、当該データパケットのフローが暗号エンジンに入る前に、ダミーパケットを挿入することを含み得る。暗号エンジンは、制御情報を挿入するためにダミーパケットを用いてもよい。
【００３９】
複数のパケットエンジンおよび複数の暗号エンジンは、共通のグローバル情報エンティティを用いることにより、同一のトラフィックフローに属するデータパケットのグローバル識別を保証することができる。
【００４０】
グローバル情報エンティティは、マルチプロトコルラベルスイッチングＭＰＬＳ経路を示し得る。
【００４１】
データパケットは、関連付けられたパケットエンジンから出た直後に暗号エンジンによって暗号化されてもよい。データパケットは、関連付けられたパケットエンジンに入る直前に暗号エンジンによって解読されてもよい。
【００４２】
データパケットは、標準化されたプロトコル、特に、ＡＥＳ、ＤＥＳ、トリプルＤＥＳからなる群より選択された標準化されたプロトコル、または、オープンプロトコル、特に、Ｂｌｏｗｆｉｓｈ、Ｔｗｏｆｉｓｈ、ＭＡＲＳ、ＲＣ６、Ｒｉｊｎｄａｅｌ、およびＳｅｒｐｅｎｔからなる群より選択されたオープンプロトコルを用いて、暗号化または解読することができる。
【００４３】
この方法は、ＣＥＫＭが、データパケットを暗号化および解読するためのキーを配布することをさらに含み得る。
【００４４】
複数の暗号エンジンはメッセージ認証を実行することができる。
メッセージ認証は、ハッシュ関数に基づく標準化されたプロトコル、特に、ＭＤ５、ＳＨＡ−１、ＳＨＡ−２、およびＳＨＡ−３からなる群より選択された標準化されたプロトコル、または、オープンソースプロトコルを用いて実行することができる。
【００４５】
この方法は、暗号エンジンが、トラフィック損失情報を、関連付けられたパケットエンジンのインターフェイスに伝搬することにより、トラフィックスイッチオーバをトリガすることをさらに含み得る。
【００４６】
トラフィック損失情報の伝搬は、ワイドエリアネットワークＷＡＮ側ラインインターフェイスによって検出された光データ接続の障害によってトリガされてもよい。
【００４７】
この方法は、データフローの健全性をモニタリングすることをさらに含み得る。
データフローの健全性をモニタリングすることは、パケットエンジンが追加データパケットストリームを送信することを含み得る。
【００４８】
追加データパケットストリームは、暗号エンジンによって暗号化されたパケット、および／または暗号化されないままのｐｉｎｇおよびトレースルートメッセージをモニタリングすることを含み得る。
【００４９】
各暗号エンジンはそれぞれ、パケットを追加することなく、かつ、暗号エンジンが実行するパケット間ギャップ拡大なしで、暗号化および／または認証等のサイバーセキュリティ機能を実行することができる。
【００５０】
複数のパケットエンジンは、たとえばパケットエンジンのポートで、タイムスタンピングを実行することができる。
【００５１】
複数のパケットエンジンは、タイムスタンピングコンテキストの内側で機能し得るものであり、複数の暗号エンジンは、パケットネットワークのタイムスタンピングコンテキストの外側で機能し得る。タイムスタンピングプロトコルを認識しない暗号エンジンを使用することにより、複雑さを減じることができる。
【００５２】
暗号エンジンは、データパケットのタイムスタンピングから独立して動作することができる。
【００５３】
暗号エンジンは、非時間認識型かつ非トポロジ認識型の暗号エンジンであってもよい。
パケットネットワークは、産業用オートメーション制御ネットワークであってもよい。
【００５４】
パケットネットワークは、高電圧線の自動化、高速列車の操縦、または航空交通の管制のためのパケットネットワークであってもよい。
【００５５】
ＣＥＫＭは、暗号エンジンおよびキー管理機能を果たす第１のサーバであってもよい。
ＰＦＰＭは、パケットフロー経路管理機能を果たす第２のサーバであってもよい。
【００５６】
本発明の別の局面に従い、パケット処理を実行するパケットエンジンを有する時限決定論的パケットネットワーク内のエンドツーエンドデータ経路にわたって通信を安全にするための、暗号エンジンキーマネージャＣＥＫＭが提供される。パケットネットワークは、パケットネットワークのトラフィックフローノードを構成するパケットフロー経路マネージャＰＦＰＭを含む。ＣＥＫＭは、ＰＦＰＭからエンドツーエンドデータ経路のデータフロートポロジに関する情報を受ける第１のインターフェイスと、各々が、対応するパケットエンジンに関連付けられかつ当該対応するパケットエンジンとは別に設けられた複数の暗号エンジンに構成情報を与える第２のインターフェイスとを含む。複数の暗号エンジンは、少なくとも１つのサイバーセキュリティ機能を実行するように構成されている。上記ＣＥＫＭはさらに、データフロートポロジに基づいて構成情報を生成するように構成された少なくとも１つのプロセッサを含む。
【００５７】
ＣＥＫＭは、複数の暗号エンジンのハードウェア定義識別子を発見するように、かつ、ハードウェア定義識別子をＰＦＰＭに与えるように、構成されてもよい。
【００５８】
ＣＥＫＭは、ＰＦＰＭに対する、ハードウェア定義識別子およびアラーム以外の情報の送信を、遮断するように、構成されてもよい。
【００５９】
ＣＥＫＭは、ＰＦＰＭが実行される第２のサーバとは異なる第１のサーバ上で実行されてもよい。
【００６０】
ＣＥＫＭは、安全なチャネルを介してＰＦＰＭと通信するように機能し得る。
ＣＥＫＭは、複数の暗号エンジンを構成するために、ＰＦＰＭから、エンドツーエンドデータ経路のデータフロートポロジに関する情報を受けるように機能し得る。
【００６１】
ＣＥＫＭは、第２のインターフェイスを介して、複数の暗号エンジン各々に、通信可能に接続されてもよい。
【００６２】
ＣＥＫＭは、暗号エンジンを構成するためおよび／または通知のために、安全なプロトコルを介して複数の暗号エンジン各々と通信するように機能し得る。
【００６３】
ＣＥＫＭとＰＦＰＭとの間でやり取りされる情報を用いてビットウィンドウを構成してもよい。
【００６４】
ＣＥＫＭは、暗号エンジンごとにビットウィンドウを構成するように機能し得る。暗号エンジンは、プログラマブルビットウィンドウに従ってデータパケットのビットを選択することにより、当該データパケットを暗号エンジンによって処理するか否かを判断する。
【００６５】
ＣＥＫＭは、異なる暗号エンジンに対し、ビットウィンドウを異なるように構成するように機能し得る。例として、ビットウィンドウは、暗号化されたエンドツーエンド経路の２つのエンドポイントに対して異なるように構成されてもよい。
【００６６】
ＣＥＫＭは、ＰＦＰＭから受けた情報に基づいて複数の暗号エンジンそれぞれのためのビットウィンドウを構成するように機能し得る。
【００６７】
ＣＥＫＭは、ＰＦＰＭから受けた情報に基づいて、エンドツーエンドトンネルの第１のエンドポイントノードに関連付けられた第１の暗号エンジンと、第１のエンドポイントノードに関連付けられた第２の暗号エンジンとをそれぞれ構成するように機能し得る。第１および第２の暗号エンジンはそれぞれ、ＭＰＬＳネットワークを通るワーキング経路および保護経路に対し、暗号化または認証等のサイバーセキュリティ機能を実行し得る。
【００６８】
ＣＥＫＭは、エンドツーエンドトンネル上の逆の送信方向について、第１のエンドポイントノードに関連付けられた第３の暗号エンジンと、第１のエンドポイントノードに関連付けられた第４の暗号エンジンとを構成するように機能し得る。第３の暗号エンジンおよび第４の暗号エンジンはそれぞれ、第１および第２の暗号エンジンとは逆のフロー方向について、ＭＰＬＳネットワークを通るワーキング経路および保護経路に対し、暗号化または認証等のサイバーセキュリティ機能を実行し得る。
【００６９】
ＣＥＫＭは、エンドツーエンドトンネルの第２のエンドポイントノードに関連付けられた２つまたは４つの暗号エンジンを構成するように機能し得る。
【００７０】
ＣＥＫＭは、データパケットを暗号化および解読するためのキーを複数の暗号エンジンに配布するように機能し得る。
【００７１】
ＣＥＫＭは、暗号エンジンおよびキー管理機能を果たす第１のサーバであってもよい。
別の実施形態に従い、暗号エンジンが提供される。暗号エンジンは、時限決定論的パケットネットワークのパケット処理を実行するパケットエンジンに直接接続されるように構成された第１のインターフェイスを含む。暗号エンジンは、エンドポイントノードのネットワーク側ポートまたはエンドポイントノードに接続されたトランジットノードに接続されるように構成された第２のインターフェイスを含む。暗号エンジンは、暗号エンジンキーマネージャＣＥＫＭから構成情報を受けるように構成された第３のインターフェイスを含む。暗号エンジンは、トラフィックフロー内のデータパケットの順序を変えることなく、暗号エンジンを通るトラフィックフローのデータパケットに対して暗号化／解読および／または認証といったサイバーセキュリティ機能を実行するように機能し得る。
【００７２】
暗号エンジンは、パケットの追加なく、すべてのパケットに対して同一の遅延を保つことにより、サイバーセキュリティ機能を実行するように機能し得る。
【００７３】
暗号エンジンは、データネットワークのトポロジに関する情報を有することなく（すなわち非トポロジ認識型）、かつ、データパケットのタイムスタンピング情報を使用することなく（すなわち非時間認識型）、セキュリティ機能を実行するように機能し得る。
【００７４】
暗号エンジンは、データパケットが、関連付けられたパケットエンジンから出た直後に当該データパケットを暗号化する、または、関連付けられたパケットエンジンに入る直前に当該データパケットを解読するように、機能し得る。
【００７５】
暗号エンジンは、標準化されたプロトコル、特に、ＡＥＳ、ＤＥＳ、トリプルＤＥＳからなる群より選択された標準化されたプロトコル、または、オープンプロトコル、特に、Ｂｌｏｗｆｉｓｈ、Ｔｗｏｆｉｓｈ、ＭＡＲＳ、ＲＣ６、Ｒｉｊｎｄａｅｌ、およびＳｅｒｐｅｎｔからなる群より選択されたオープンプロトコルを用いて、暗号化および／または解読を実行するように機能し得る。
【００７６】
暗号エンジンはメッセージ認証を実行するように機能し得る。メッセージ認証は、ハッシュ関数に基づく標準化されたプロトコル、特に、ＭＤ５、ＳＨＡ−１、ＳＨＡ−２、およびＳＨＡ−３からなる群より選択された標準化されたプロトコル、または、オープンソースプロトコルを用いて実行することができる。
【００７７】
暗号エンジンは、トラフィック損失情報を、関連付けられたパケットエンジンのインターフェイスに伝搬することにより、トラフィックスイッチオーバをトリガするように機能し得る。
【００７８】
暗号エンジンは、ワイドエリアネットワークＷＡＮ側ラインインターフェイスが検出した光データ接続の障害に応じて、トラフィック損失情報を伝搬するように機能し得る。
【００７９】
暗号エンジンの第１のインターフェイスは、少なくとも１つの光ケーブルまたは少なくとも１つのイーサネット（登録商標）ケーブルを介してパケットエンジンに直接接続されてもよい。
【００８０】
本発明のある局面に係るネットワークは、時限決定論的パケットネットワークにおいてパケット処理を実行する複数のパケットエンジンと、パケットネットワークのトラフィックフローノードに構成情報を与えるように機能するパケットフロー経路マネージャＰＦＰＭと、ある実施形態に係る複数の暗号エンジンとを含む。暗号エンジンは各々、関係付けられたパケットエンジンからトラフィックフローのデータパケットを受けるように、または、関係付けられたパケットエンジンにトラフィックフローのデータパケットを与えるように機能する。当該ネットワークはさらに、ＰＦＰＭサーバと複数の暗号エンジンとに結合された、ある実施形態に係る暗号エンジンキーマネージャＣＥＫＭを含む。
【００８１】
ネットワークは、産業用オートメーション制御システム（ＩＡＣＳ）のネットワークであってもよい。
【００８２】
ＰＦＰＭは、パケットネットワークのエンドツーエンドデータ経路のエンドポイントノードおよび中間トランジットノードをセットアップするように機能し得る。
【００８３】
ＰＦＰＭは、ＭＰＬＳネットワーク内のエンドポイントノードの例であるＬＥＲ内のパケットエンジンをセットアップするように機能し得る。
【００８４】
ＰＦＰＭは、ＭＰＬＳネットワーク内の中間トランジットノードの例であるＬＳＲ内のパケットエンジンをセットアップするように機能し得る。
【００８５】
ＰＦＰＭは、パケットネットワークのすべてのエンドポイントノード（たとえばすべてのＬＥＲ内のパケットエンジン）およびすべての中間トランジットノード（たとえばすべてのＬＳＲ内のパケットエンジン）に通信可能に接続されてもよい。
【００８６】
ＰＦＰＭは、パケットフロー経路管理機能を果たす第２のサーバであってもよい。
ＣＥＫＭは、ＰＦＰＭに与えられる情報を、複数の暗号エンジンのハードウェア識別子とアラームとに制限するように機能し得る。
【００８７】
各暗号エンジンは、プログラマブルビットウィンドウを用いてデータパケットからビットを選択するように機能し得る。プログラマブルウィンドウに従って選択されたビットは、暗号エンジンが処理するデータパケットを特定する。
【００８８】
ＣＥＫＭは、プログラマブルビットウィンドウを構成するように機能し得る。
プログラマブルビットウィンドウは、エンドツーエンドデータ経路の入口ノードと出口ノードとで異なっていてもよい。
【００８９】
ネットワークはラベルエッジルータ（ＬＥＲ）を含み得る。ラベルエッジルータは、マルチラベルプロトコルスイッチング（ＭＰＬＳ）トンネルのワーキング経路のための第１の暗号エンジンと、ワーキング経路に対して保護を与える保護経路のための第２の暗号エンジンとを含み得る。
【００９０】
ＬＥＲは、ワーキング経路上の逆の送信方向のための第３の暗号エンジンと、保護経路上の逆の送信方向のための第４の暗号エンジンとを含み得る。
【００９１】
ＬＥＲは少なくとも２つのパケットエンジンを含み得る。
パケットネットワークはラベルスイッチルータ（ＬＳＲ）を含み得る。ＬＳＲは、少なくとも２つのパケットエンジンと、少なくとも４つの暗号エンジンとを含み得る。
【００９２】
複数のパケットエンジンはそれぞれ、暗号エンジンに入るデータパケットのフローを事前シェーピングすることにより、トラフィックフロー内の当該データパケットの位置が、暗号エンジンを通過した後も変化しないままであることを保証する。
【００９３】
パケットエンジンは、データパケットのフローを、暗号エンジンに入るデータパケットのタイムスタンピング情報が、当該データパケットが暗号エンジンから出た後も有効となるように、事前シェーピングするように、機能し得る。
【００９４】
パケットエンジンは、データパケットのフローが暗号エンジンに入る前にパケット間ギャップを拡大するように機能し得る。
【００９５】
パケットエンジンは、データパケットのフローに、当該データパケットのフローが暗号エンジンに入る前に、ダミーパケットを挿入するように機能し得る。
【００９６】
暗号エンジンは、制御情報を挿入するためにダミーパケットを使用するように機能し得る。
【００９７】
複数のパケットエンジンおよび複数の暗号エンジンは、共通のグローバル情報エンティティを用いることにより、同一のトラフィックフローに属するデータパケットのグローバル識別を保証するように機能し得る。
【００９８】
グローバル情報は、マルチプロトコルラベルスイッチングＭＰＬＳ経路を示し得る。
ネットワークは、データフローの健全性モニタリングを実行するように機能し得る。データフローの健全性をモニタリングすることは、追加データパケットストリームを送信することを含み得る。追加データパケットストリームは、暗号エンジンによって暗号化されたモニタリングパケットおよび／または暗号化されないままのｐｉｎｇおよびトレースメッセージを含み得る。
【００９９】
各暗号エンジンはそれぞれ、パケットを追加することなく、暗号エンジンによってすべてのパケットについて同一の遅延を維持することにより、暗号化および／または認証等のサイバーセキュリティ機能を実行するように機能し得る。
【０１００】
複数のパケットエンジンはそれぞれ、たとえばパケットエンジンのポートで、タイムスタンピングを実行するように機能し得る。
【０１０１】
複数のパケットエンジンはそれぞれ、タイムスタンピングコンテキストの内側で機能し得るものであり、複数の暗号エンジンは、パケットネットワークのタイムスタンピングコンテキストの外側で機能し得る。タイムスタンピングプロトコルを認識しない暗号エンジンを使用することにより、複雑さを減じることができる。
【０１０２】
暗号エンジンは、データパケットのタイムスタンピングから独立して機能し得る。
暗号エンジンは、非時間認識型かつ非トポロジ認識型の暗号エンジンであってもよい。
【０１０３】
パケットネットワークはＩＡＣＳのネットワークであってもよい。
パケットネットワークは、高電圧線の自動化、高速列車の操縦、または航空交通の管制のためのパケットネットワークであってもよい。
【０１０４】
別の実施形態に従い、上記ネットワークに関連して説明したように機能するＰＦＰＭが提供される。
【０１０５】
暗号化および／または認証されたデータを複雑なメッシュパケットネットワークトポロジを通して送信するための方法、装置、およびシステムは、時限ネットワークの強化されたセキュリティを提供する。
【０１０６】
本発明の実施形態は、高電圧線の自動化等のミッションクリティカルパケットネットワークに採用することができるが、それに限定される訳ではない。
【０１０７】
本発明の主題を、添付の図面に示される好ましい例示的な実施形態を参照しながらより詳細に説明する。
【図面の簡単な説明】
【０１０８】
【図１】ある実施形態に係るパケットエンジンと暗号エンジンとを含むネットワークの概略図である。
【図２】ある実施形態に係るパケットエンジンと暗号エンジンとを含むネットワークの概略図である。
【図３】ある実施形態に係るネットワークのコンポーネントのブロック図である。
【図４】暗号化動作の前後のデータパケットを示す図である。
【図５】暗号化および認証動作の前後のデータパケットを示す図である。
【図６】実施形態に係るパケットエンジンと暗号エンジンとを含むラベルスイッチルータ（ＬＳＲ）のブロック図である。
【図７】実施形態に係るパケットエンジンと暗号エンジンとを含むラベルエッジルータ（ＬＥＲ）のブロック図である。
【図８】データパケットまたはデータパケットフローを処理すべきか否かを判断するために使用し得るラベルスタック符号化を示す図である。
【図９】ある実施形態に係るパケットエンジンと暗号エンジンとを含むネットワークの概略図である。
【図１０】ある実施形態に係る暗号エンジンのブロック図である。
【図１１】ある実施形態に係る方法のフローチャートである。
【図１２】ある実施形態に係る方法のフローチャートである。
【発明を実施するための形態】
【０１０９】
実施形態の詳細な説明
本発明の例示的な実施形態を図面を参照しながら説明する。図面において、同一または同様の参照符号は同一または同様の要素を示す。いくつかの実施形態を、マルチプロトコルラベルスイッチング（ＭＰＬＳ）ネットワークまたはＭＰＬＳ−トランスポートプロファイル（ＭＰＬＳ−ＴＰ）ネットワーク等の例示的なネットワークの文脈で説明するが、以下で詳細に説明する方法および装置は一般的に、メッシュ状の複雑なパケットネットワークトポロジを通して暗号化され認証されたデータを送信するために使用することができる。
【０１１０】
エンドツーエンド暗号化および／または認証が実行される実施形態を説明するが、本明細書に開示される技術は、エンドツーエンド経路のセグメントに沿った暗号化および／または認証に使用することもできる。
【０１１１】
本明細書に開示される実施形態において、ワーキング経路と保護経路との両方を構築することにより、保護された双方向トンネルを形成してもよい。「MPLS-TP Rosetta Stone」と題されたＲＦＣ７０８７（２０１３年１２月）、セクション３．４２．１および３．４２．２、ならびに「MPLS-TP Survivability Framework」と題されたＲＦＣ６７３２（２０１１年９月）に従うと、本明細書で使用される「ワーキング経路」という用語は、特に、通常のネットワーク動作中にトラフィックを搬送する経路を意味し得るものであり、「保護経路」という用語は、特に、ワーキング経路に障害が生じたときにトラフィックを保護および輸送するために使用される経路を意味し得る。ワーキング経路に沿うパケットエンジンまたは暗号エンジン等のエンティティは、「MPLS-TP Rosetta Stone」と題されたＲＦＣ７０８７（２０１３年１２月）、セクション３．４２．１に従う作動エンティティである。保護経路に沿うパケットエンジンまたは暗号エンジン等のエンティティは、「MPLS-TP Rosetta Stone」と題されたＲＦＣ７０８７（２０１３年１２月）、セクション３．４２．２に従う保護エンティティである。
【０１１２】
本明細書で使用される「パケット」という用語は、パケット化されたデータ構造体を意味する。本明細書で使用される「パケット」という用語は、データフレームを含み得る。パケットは、データフレームであってもよく、またはデータフレームを含んでいてもよい。
【０１１３】
本明細書に記載の「暗号エンジン」は、暗号エンジンインスタンスとして実現し得る。暗号エンジンの、あるハードウェア実装例は、複数の暗号エンジンインスタンス、たとえば１ポートおよび方向当たり１つのインスタンスを、提供し得る。しかしながら、暗号エンジンハードウェアは、いずれの場合でも、対応するパケットエンジンから分離し得る。
【０１１４】
実施形態の特徴は、特に指定されない限り、互いに組み合わせることができる。
図１は、ネットワーク１０の概略図である。ネットワーク１０は、時限決定論的パケットネットワークを含み得る。このパケットネットワークは複数のノード１１、２１、３１を有し得る。複数のノード１１、２１、３１はそれぞれ、ＭＰＬＳ−ＴＰネットワーク１６、１７、１８を介して通信可能に結合することができる。複数のノード１１、２１、３１は、送信経路のエンドポイントノードおよび中間ノード（またはホップ）を含み得る。ＭＰＬＳ−ＴＰネットワークの場合、エンドポイントノードはラベルエッジルータ（ＬＥＲ）であってもよく、中間ノードはラベルスイッチルータ（ＬＥＲ）であってもよい。パケットネットワークは、ノード１１、２１、３１のパケットエンジンがタイムスタンピングを実行する、時限ネットワークであってもよい。
【０１１５】
ノード１１、２１、３１はそれぞれ、パケットエンジン１２、２２、３２と、対応するパケットエンジン１２、２２、３２とは物理的に分離している暗号エンジン１４、２４、３４とを含み得る。各暗号エンジン１４、２４、３４は、たとえばイーサネット（登録商標）ケーブルを介してまたは光ケーブルを介して、対応するパケットエンジン１２、２２、３２に直接結合されてもよい。イーサネットケーブルまたは光ケーブルの両端は、パケットエンジン１２、２２、３２および暗号エンジン１４、２４、３４に直接装着されてもよい。
【０１１６】
本明細書で使用される「暗号エンジン」という用語は、暗号化／解読および／または認証動作を実行するように機能する装置を意味する。暗号エンジンは、任意で、暗号化／解読および／または認証動作を実行するための物理乱数生成器等の専用コンポーネントを有し得る。
【０１１７】
各暗号エンジンハードウェア１４、２４、３４は、異なるポートに、または、対応するノードにおける異なるポートおよびパケットフロー方向に対応し得る複数の暗号エンジンインスタンスを有し得ることが理解されるであろう。
【０１１８】
本明細書で使用される「パケットエンジン」という用語は、パケット処理を実行するように機能する装置を意味する。パケットエンジンは、パケットスイッチを含み得る。パケットエンジンは、ダミーパケットをデータパケットのフローに挿入することができる。パケットエンジンは、時間認識型であり、たとえばパケットエンジンの出口ポートまたは入口ポートでタイムスタンピングを実行するように機能し得る。
【０１１９】
本明細書で使用される、あるエンティティが他の２つのエンティティの「間に」配置される（たとえば暗号エンジンがパケットエンジンと第１のトランジットノードとの間に配置される等）という記述は、データフロー経路に沿う配置を、すなわち、パケットがエンティティを通過するシーケンスを説明している。
【０１２０】
各パケットエンジン１２、２２、３２はそれぞれ、複数のポート１３、２３、３３を有し得る。各暗号エンジン１４、２４、３４はそれぞれ、複数のポート１５、２５、３５を有し得る。暗号エンジン１４、２４、３４の入口ポートは、対応付けられたパケットエンジン１２、２２、３２の出口ポートにそれぞれ接続されてもよい。暗号エンジン１４、２４、３４の出口ポートはそれぞれ対応付けられたパケットエンジン１２、２２、３２の入口ポートに接続することができる。各暗号エンジン１４、２４、３４は、その対応付けられたパケットエンジン１２、２２、３２に、暗号化されていないリンクを介して結合されてもよい。
【０１２１】
異なる暗号エンジン１４、２４、３４は、たとえばＭＰＬＳ−ＴＰネットワークを通る、暗号化された経路を介して、データトラフィックを送信することができる。
【０１２２】
パケットエンジン１２、２２、３２はそれぞれパケット処理を担当する。パケットエンジン１２、２２、３２は、パケット転送、それぞれのスイッチングを担当することができる。パケット処理、フィルタリング、およびキューイングはすべて、パケットエンジン１２、２２、３２内で行われる。
【０１２３】
暗号エンジン１４、２４、３４は、暗号化および／または認証動作を実行する。本明細書で使用される「暗号化動作」という用語は一般的に、暗号化された送信に関連する動作を含み、したがって安全なエンドツーエンド経路の受信エンドポイントにおける解読を含み得ることが理解されるであろう。
【０１２４】
暗号エンジン１４、２４、３４はそれぞれ、暗号化／解読および／または認証動作を実行するための物理乱数生成器等の専用ハードウェアを有し得る。
【０１２５】
以下でより詳細に説明するように、パケットエンジン１２、２２、３２および暗号エンジン１４、２４、３４は、複雑なメッシュ状のパケットネットワークトポロジを通して暗号化および／または認証されたデータを送信する一方でエンドツーエンドまたはセグメント暗号化および／または認証を提供するように機能する。
【０１２６】
パケットエンジン１２、２２、３２は、中央制御装置によって、たとえばパケットフロー経路マネージャ（packet flow path manager）（ＰＦＰＭ）４２によって制御することができる。暗号エンジン１４、２４、３４は、暗号エンジンキーマネージャ（cipher engine and key manager）（ＣＥＫＭ）４４によって制御することができる。ＰＦＰＭ４２およびＣＥＫＭ４４の機能は、セキュリティ強化のために別々のサーバ上で実行することができる。ＰＦＰＭ４２は、ＭＰＬＳ経路をセットアップするようにパケットエンジンを構成することができる。ＣＥＫＭ４４は、ＰＦＰＭ４２によってセットアップされた経路上の情報を用いて暗号エンジンを構成することができる。暗号エンジン１４、２４、３４はそれぞれ、ネットワークを通る経路のエンドツーエンドまたはセグメント暗号化および／または認証を保証することができる。ＣＥＫＭ４４は、たとえば安全なチャネルを介してすべての暗号エンジン１４、２４、３４に通信可能に結合することができる。
【０１２７】
ＰＦＰＭ４２と複数のパケットエンジン１２、２２、３２とによって形成される第１のサブシステムは、たとえばフロー経路をセットアップすることにより、パケット処理を担当する。ＣＥＫＭ４４と複数の暗号エンジン１４、２４、３４とによって形成される第２のサブシステムは、サイバーセキュリティ機能を担当する。ＰＦＰＭ４２および複数のパケットエンジン１２、２２、３２を接続する、第１のサブシステムの第１の管理ネットワークは、ＣＥＫＭ４４および複数の暗号エンジン１４、２４、３４を接続する、第２のサブシステムの第２の管理ネットワークとは別であってもよい。
【０１２８】
ネットワーク内の複数の暗号エンジン１４、２４、３４の、ネットワーク全体に及ぶ中央調整を利用することにより、エンドツーエンドまたはセグメントトンネルペイロード暗号化および／または認証を実現することができる。
【０１２９】
対応するパケットエンジン１２、２２、３２から分離した装置として与えられた暗号エンジン１４、２４、３４を用いることで、暗号エンジン１４、２４、３４は、タイムスタンピングおよびスイッチングを担当する装置から分離して設けられている。暗号エンジン１４、２４、３４は、ネットワークのトポロジおよび／またはネットワーク内のエンドツーエンド経路セットアップを認識する必要はない。暗号エンジン１４、２４、３４は、どのタイムスタンピングプロトコルも認識する必要はない。認証されていない命令はハードウェアレベルで阻止し得る。
【０１３０】
ＰＦＰＭ４２およびＣＥＫＭ４４は、別々のサーバ上で実行され別々の管理ネットワークを使用するので、セキュリティを強化することができる。
【０１３１】
図２は、ネットワーク１０をブロック図で表したものである。ネットワーク１０は、互いに異なるサーバ上で実行することができるＰＦＰＭ４２とＣＥＫＭ４４とを含む。
【０１３２】
パケットネットワークは、データネットワーク技術としてＭＰＬＳ−ＴＰを使用することができる。パケットネットワークは、それぞれクライアントノード５１、５２に接続されたラベルエッジルータ（ＬＥＲ）５３、５４を含み得る。ＬＥＲ５３、５４は、暗号化されたエンドツーエンドトンネルのエンドポイントである。パケットネットワークは、ラベルスイッチルータ（ＬＳＲ）５５、５６、５７、５８を含み得る。ＬＳＲ５５、５６経由でＬＥＲ５３と５４との間にワーキング経路をセットアップすることができる。ＬＳＲ５７、５８経由でＬＥＲ５３と５４との間に異なる保護経路をセットアップすることができる。保護経路は、「MPLS-TP Survivability Framework」と題されたＲＦＣ６７３２（２０１１年９月）ならびに「MPLS-TP Rosetta Stone」と題されたＲＦＣ７０８７（２０１３年１２月）、セクション３．４２．１および３．４２．２においてより詳細に記載されているように、データ送信に対して冗長性を与えることによりワーキング経路を保護することができる。
【０１３３】
安全にすべきエンドツーエンド経路のエンドポイントノードであるＬＥＲ５３は、少なくとも１つのパケットエンジン（packet engine）（ＰＥ）と、少なくとも１つの暗号エンジン（cipher engine）（ＣＥ）とを含む。示されている通り、ＬＥＲ５３は、少なくとも２つのパケットエンジン６１、６２を含み得る。ＬＥＲ５３は、２つの暗号エンジン７１、７２、または３つ以上の暗号エンジンを含み得る。図２には２つの暗号エンジン７１、７２のみが示されているが、ＬＥＲ５３は、図７を参照しながらより詳細に説明するように、少なくとも４つの暗号エンジンを含み得る。
【０１３４】
安全にすべきエンドツーエンド経路のもう１つのエンドポイントノードであるＬＥＲ５４は、少なくとも１つのパケットエンジン（ＰＥ）と、少なくとも１つの暗号エンジン（ＣＥ）とを含む。示されている通り、ＬＥＲ５４は、少なくとも２つのパケットエンジン６３、６４を含み得る。ＬＥＲ５３は、２つの暗号エンジン７３、７４、または３つ以上の暗号エンジンを含み得る。図２には２つの暗号エンジン７３、７４のみが示されているが、ＬＥＲ５４は、図７を参照しながらより詳細に説明するように、少なくとも４つの暗号エンジン（そのうちの少なくともいくつかは暗号エンジンインスタンスであってもよい）を含み得る。
【０１３５】
各ＬＳＲ５５、５６、５７、５８はそれぞれ、少なくとも１つのパケットエンジンと、少なくとも１つの暗号エンジンとを含み得る。各ＬＳＲ５５、５６、５７、５８は、図６を参照しながらより詳細に説明するように、少なくとも２つのパケットエンジンと、少なくとも４つの暗号エンジンとを含み得る。
【０１３６】
動作時、ＰＦＰＭ４２は、パケットネットワークのエンドポイントノードおよび中間ノードのパケットエンジンをセットアップすることができる。暗号エンジンは実際トポロジを認識する必要はない。正確には、ＣＥＫＭ４４が、すべての暗号エンジンのハードウェア識別子を検出し、このハードウェア識別子をＰＦＰＭ４２に提供することができる。ＰＦＰＭ４２は、セットアップ経路に関する情報をＣＥＫＭ４４に提供することができる。ＣＥＫＭ４４は、暗号エンジンを構成するときにこのセットアップ経路に関する情報を使用することができる。
【０１３７】
エンドポイントノード５３内の暗号エンジン７１、７２は、エンドポイントノード５３の内部において、対応するパケットエンジン６１、６２と、エンドポイントノード５３のネットワーク側インターフェイスとの間に配置される。暗号エンジン７１、７２は一般的に、パケットエンジン６１、６２と、第１の中間ノード（ＭＰＬＳ−ＴＰの第１のホップと呼ばれる）５５、５７との間に設けることができる。同様に、エンドポイントノード５４内の暗号エンジン７３、７４は、エンドポイントノード５４の内部において、対応するパケットエンジン６３、６４と、エンドポイントノード５４のネットワーク側インターフェイスとの間に配置される。暗号エンジン７３、７４は一般的に、パケットエンジン６３、６４と、第１の中間ノード（ＭＰＬＳ−ＴＰの第１のホップと呼ばれる）５６、５８との間に設けることができる。第１の中間ノードまたは第１のホップはそれぞれ、ワーキングまたは保護経路に沿ってエンドポイントノードに最も近いノードである。
【０１３８】
タイムスタンピングはパケットエンジン６１、６２、６３、６４によって実行される。例として、暗号エンジン７１、７２、７３、７４に接続されたパケットエンジン６１、６２、６３、６４のポートが、精密時間プロトコル（Precision Time Protocol）（ＰＴＰ）、ＩＥＥＥ１５８８８に従ってタイムスタンピングを実行してもよい。
【０１３９】
追加の暗号エンジン７１、７２、７３、７４の中央制御およびネットワーク全体に及ぶ調整を利用することで、時限（たとえばＰＴＰを利用する）の保護された決定論的パケットネットワーク（ＭＰＬＳと同様）を、エンドツーエンドトラフィック暗号化および／またはパケット認証のような、サイバーセキュリティ機能で、強化することができる。暗号エンジン７１、７２、７３、７４は、非トポロジ認識型かつ非時間認識型であってもよく、パケットエンジン６１、６２、６３、６４と次のホップとの間におけるタイムスタンピングコンテキストの外側に位置していてもよく、したがって、パケットフローのエンドポイントノード（ＭＰＳＬの場合、たとえばＬＥＲ５４）と、パケットフローの第１のトランジットノード（ＭＰＬＳの場合、たとえばＬＳＲ５６、５８）との間に、または、エンドポイントノード５３、５４の内側においてパケットエンジンとネットワーク側ポートとの間に、位置していてもよい。
【０１４０】
パケットネットワーク内のデータ送信のインテグリティおよび認証を保証するために、暗号エンジン７１、７２、７３、７４によってフレームデータを暗号化および／または認証する。結果として、データストリーム内のパケットの大部分を、それを暗号化および／または認証したものに置き換えることができる。暗号化／認証は、パケット転送、それぞれのスイッチングを担当するパケットエンジン６１、６２、６３、６４から分離された暗号エンジン７１、７２、７３、７４において実行される。パケット処理、フィルタリング、およびキューイングはすべて、最終結果としてすべてのノードで正確な時間／クロックを確立するＰＴＰパケットのタイムスタンピングも実行できるパケットエンジン６１、６２、６３、６４において行うことができる。暗号エンジン７１、７２、７３、７４はそれぞれ、中央カードのネットワーク側ポートに接続することができ、中央カード自身はネットワークに接続される。
【０１４１】
セキュリティを最大にするために、サイバーセキュリティサブシステム４４、７１、７２、７３、７４と、パケットネットワークサブシステム４２、６１、６２、６３、６４との間のやり取りを減じることができる。暗号エンジン７１、７２、７３、７４に関してパケットネットワークサブシステム４２、６１、６２、６３、６４が入手できる唯一の情報を、ハードウェア定義識別子等のユニットインベントリ情報、および、任意で、異常な動作状態を示すアラームに、制限することができる。エンジン、トンネル、および安全なリンクたとえば安全なＳＳＨリンクを通る方向ごとに、ＭＰＬＳラベル、トンネルＩＤ、およびクリプトプロファイルＩＤのみが、ＰＦＰＭ４２からＣＥＫＭ４４に与えられる。
【０１４２】
動作時、最初のＭＰＬＳラベルが、プロバイダエッジルータと呼ぶこともできるＬＥＲ５４によって設定される。このラベル付けされたパケットは、１つのクリプトエンドポイントの役割を果たす暗号エンジン７３、７４に装着されたポートから出ることができる。ＬＳＲからＬＳＲへと、次のホップがパケットを転送する。
【０１４３】
中間トランジットノード、すなわちＬＳＲ５５、５６、５７、５８の暗号エンジンは、ＣＥＫＭ４４によって、エンドツーエンド暗号化が実行されるときには、ＬＥＲ５３、５４の暗号エンジンによって出力された、暗号化されたデータパケットの解読または暗号化を実行しないように、構成される。例として、中間ホップ、すなわちＬＳＲ５５、５６、５７、５８の暗号エンジンは、暗号化／解読を実行する予定の経路を特定するルックアップテーブルを有することができる。中間ホップのルックアップテーブルは、ＣＥＫＭ４４によって、エンドツーエンド暗号化が提供される場合は、単にＬＳＲを通過するにすぎないＭＰＬＳエンドツーエンドトンネルの経路が解読または暗号化を引き起こさないように、構成される。
【０１４４】
以下でより詳細に説明するように、暗号エンジンはそれぞれ、プログラマブルビットウィンドウに従ってデータパケットからビットを選択することにより、データパケットを処理すべきか否かを判断することができる。プログラマブルビットウィンドウは、ＣＥＫＭ４２によって構成することができる。中間ホップ、すなわちＬＳＲ５５、５６、５７、５８の暗号エンジンのルックアップテーブルは、最終ホップに達するまで解読または暗号化が引き起こされないように、設定することができる。
【０１４５】
エンドツーエンド経路のセグメントのみに対して暗号化が実行される場合、ＬＳＲ５５、５６、５７、５８も、セグメントの最後で解読を実行できるようにプログラムすることができる。
【０１４６】
データパケットが最終ホップ、すなわちＬＥＲ５３、５４内の暗号エンジンに到達すると、解読のためのルックアップは成功している。パケットは、解読されてＬＥＲルータのパケットエンジンに送られる。暗号エンジン７１、７２に、特定のトンネルに属するデータパケットを解読させるために、ＣＥＫＭ４４は、エンドポイントノード５３におけるそれぞれのトンネル終了のデータパケットを解読させるルックアップテーブル情報を有するように、暗号エンジン７１、７２を構成することができる。
【０１４７】
中間ノード、すなわちＬＳＲ５５、５６、５７、５８において、暗号エンジンの構成は、ペイロードが手つかずのままであることを保証する。図４および図５を参照しながらより詳細に説明する、Ｌ２−ＭＡＣアドレス、次のホップＭＰＬＳラベル、ＴＴＬフィールドおよびＦＣＳフィールドは、変更された唯一の情報である。
【０１４８】
そのワーキング経路と保護経路とを有する保護されたＭＰＬＳトンネルは、暗号化された２つの接続として扱われる。ＭＰＬＳトンネル対ごとに、安全にされたトンネルのエンドポイントの役割を果たす４つの暗号エンジンがある。これら４つの暗号エンジンは、サイバーセキュリティサブシステム４４、７１、７２、７３、７４と、パケットネットワークサブシステム４２、６１、６２、６３、６４との間で特定され同期が保たれる。
【０１４９】
ＰＦＰＭ４２、ＣＥＫＭ４４、パケットエンジン、および暗号エンジンの動作を、図３〜図１２を参照しながらより詳細に説明する。
【０１５０】
図３はネットワークのコンポーネントの概略ブロック図である。
ＰＦＰＭ４２は、ＭＰＬＳ経路マネージャ（MPLS path manager）（ＭＰＭ）であってもよい。ＰＦＰＭ４２は、第２のサーバ上で実行されるソフトウェアまたはその他のコンピュータ読取可能命令コードによって実現されてもよい。ＰＦＰＭ４２は、トポロジ・経路・暗号プロファイルマネージャ４５を含み得る。ＰＦＰＭ４２は、動作・維持・装置モニタリングモジュール４６を含み得る。
【０１５１】
集中型ＰＦＰＭ４２は、データトラフィックエンドポイント５３、５４を、中間トランジットポイント５５、５６、５７、５８とともに、セットアップする。ＰＦＰＭ４２は、構成および／または通知のために、ネットワーク内のすべてのノードを制御するように接続されてもよい。
【０１５２】
パケット転送を扱うために、ＰＦＰＭ４２は、
―データ転送および終了パラメータ、たとえば、アタッチメント回路を介したＶＬＡＮタグマッピングに対するＭＰＬＳラベル、ネットワークエンドツーエンドトンネルに対する内／外ラベルセットアップ／マッピング、サービス識別子のクラス、および、
―各ネットワーキングトポロジ情報、たとえば、トンネル、疑似ワイヤ、仮想プライベートネットワーク、
についての情報モデルを保持することができる。
【０１５３】
ＣＥＫＭ４４は、構成および／または通知のために、安全なプロトコルを介してすべての暗号エンジンと通信することができる。暗号エンジンの構成に必要である、データフロートポロジに関連する必要情報１１２が、ＰＦＰＭ４２からＣＥＫＭ４４に与えられる。
【０１５４】
ＣＥＫＭ４４は、マスタキー生成器４７と、キーマネージャ４８と、経路エンドポイントマネージャ４９とを含み得る。ＣＥＫＭ４４は、以下の暗号化エンドポイント情報をそれぞれ保持し管理することができる。
―セッションキーを生成するために使用されるマスタキー。
―セッションキーを適用する必要がある場合にパケットを特定するために使用されるラベル情報。
―上記情報を適用する必要がある場合にエンジンを特定するエンジンｉｄ。
【０１５５】
通常の使用の場合、すなわち、ネットワークがセットアップされておりメンテナンスまたはテストは実行されない場合、ユーザはＣＥＫＭ４４にアクセスできない。ＰＦＫＭ４２にアクセスできるユーザは、サイバーセキュリティサブシステムからの保護された情報いずれにもアクセスできず、ソリューションの全体のセキュリティおよびロバストネスが増す。
【０１５６】
ＬＥＲは、複数のパケットエンジン、たとえば、ワーキング（working）（ｗ）経路１１７のための第１のパケットエンジン６３と、保護（protection）（ｐ）経路１１８のための第２のパケットエンジン６４とを含み得る。パケットエンジン６３、６４はそれぞれ、対応する暗号エンジン７３、７４に接続されたポート８３、８７を含み得る。ポート８３、８７は、タイムスタンピングを実行するように機能し得る。ポート８３、８７は、ＰＴＰに従ってタイムスタンピングを実行するためにＩＥＥＥ１５８８を認識していてもよい。
【０１５７】
パケットエンジン６３、６４はそれぞれパケットスイッチ８２、８６を含み得る。パケットスイッチ８２、８６は、データパケットのフローの事前シェーピングを実行するように機能し得る。事前シェーピングは、パケット間ギャップを拡大することを含み得る。そうすることにより、確実に、暗号エンジン７３、７４がデータパケットを増大してパケット間ギャップに入れ、そうすることで、すべてのパケットについて同一の遅延を保ち、暗号エンジン７３、７４によるパケット順序の変更がないように、することができる。事前シェーピングは、暗号エンジン７３、７４に出力されるデータパケットのフローに挿入されるダミーパケットを生成することを含み得る。ダミーパケットは、暗号エンジン７３、７４により制御情報で満たすことができる空のセクションを有し得る。これにより、暗号エンジン７３、７４による追加パケットの生成を要することなく、暗号エンジン７３、７４に管理チャネル情報を送信させることができる。
【０１５８】
パケットエンジンの中央処理ユニット８１は、ダミーパケットコントローラ（dummy packet controller）（ＤＰＣ）として動作するだけでなく、ソフトウェア構成管理（software configuration management）（ＳＣＭ）、動作および維持（Operation and Maintenance）（ＯＡＭ）、ならびに経路コントローラ等の追加機能をそれぞれ実行することができる。
【０１５９】
ＬＥＲの中央制御６０は、ＰＦＰＭ４２から受けたパケットエンジン（ＰＥ）構成情報１１３に基づき、複数のパケットエンジンそれぞれについて制御および／または管理機能を実行することができる。中央制御６０は、パケットエンジン（ＰＥ）通知１１４をＰＦＰＭ４２に与えることができる。中央制御６０は、たとえば経路制御および／またはダミーパケット生成に使用される、ＰＥ構成情報１１３を、ＣＰＵ８１、８５に伝えることができる。
【０１６０】
ワーキング経路および保護経路のための暗号エンジン７３、７４はそれぞれ、パケットエンジンとネットワーク側ノード９７、１０７とに直接接続されたポート９４、１０４を含み得る。暗号エンジン７３、７４はそれぞれ、暗号化のためのコンポーネント９５、１０５、および／または解読のためのコンポーネント９６、１０６、および／または認証のためのコンポーネントを含み得る。暗号エンジン７３、７４はそれぞれ、量子乱数生成器（quantum random number generator）（ＱＲＮＧ）であってもよい、物理乱数生成器９１を含み得る。暗号エンジン７３、７４はそれぞれ、キー記憶素子９２を含み得る。暗号エンジン７３、７４はそれぞれ、各暗号エンジンの、ネットワーク内で固有のボードｉｄ等のハードウェア識別子を記憶するための、識別子記憶素子９３を含み得る。
【０１６１】
暗号エンジン７３、７４は、データパケットからビットを選択する、プログラマブルビットウィンドウを使用することができる。このメカニズムは、暗号エンジンによって処理される予定のトラフィックフローからのデータパケットを特定することができる。暗号エンジンは、ルックアップテーブルを用い、選択されたビットをルックアップテーブル内の情報と比較することにより、データパケットを処理するか否かを判断することができる。
【０１６２】
ネットワークの入口において、同じ識別子を有するパケットは、同一のデータフローに属するために、同一のキーおよび／またはプロセスを介して暗号化／認証される。ＭＰＬＳにおいて、このようなデータフローは、双方向ラベルスイッチ経路ペアと呼ばれる。出口では、同じメカニズムに基づいて、トラフィックが解読／識別される。一般的に、フロー識別子は、すべてのホップにおいて変えることができる。ＭＰＬＳにおいて、ＭＰＬＳラベルは、すべてのホップにおいて変えることができる。したがって、ビットウィンドウおよびウィンドウコンテンツは、入口または出口で異なっていると考える必要がある。ＰＦＰＭ４２およびＣＥＫＭ４４は、これを、適切な入口識別子および出口識別子ならびに任意で補助情報１１２をＣＥＫＭ４４に与えることにより、保証する。
【０１６３】
ＭＰＬＳパケットは、パケットエンジン６３で発生する。データパケットは、データリンク１１７を介して暗号エンジン７３に送られる。パケットの予め定められたセクションを観察しローカルルックアップテーブルにおいてパターンを見出すことにより、暗号エンジン７３は、暗号化および／または認証を実行するのに必要なキーおよび補助情報を得る。もしもルックアップが失敗したら、データパケットは手つかずのままにしておく。リモートエンドにおいて、暗号エンジン（この時点では解読モード）は、パケットを、そのルックアップテーブルと比較して調べることにより、データパケットを解読するための各キーを得る。
【０１６４】
同じエンジンにおいて同じビットベクトル（たとえば同じボード識別子）を有するデータパケットは、同一のキーを用いて暗号化され、したがって同一のデータフローに属する。ＭＰＬＳにおいて、このようなデータフローは、保護されたトンネルに属することができる、双方向ラベルスイッチ経路と呼ばれる。トンネル識別子（トンネルｉｄ）は、ＭＰＬＳトンネルおよびクリプト接続を全体的に特定する。
【０１６５】
暗号化ルックアップのためのビットパターンは、スタックトップラベル（経路識別子）と、追加のビット（スタックトップＴＴＬ値、スタックボトムラベル）とを含み得る。これにより、中間ホップに対応するＯＡＭパケットに対するマッチを防止することができる。このようにして、暗号化してはならない、トレースルート等のＯＡＭパケットが、中間ホップにおいて暗号化されないままであることを保証する。
【０１６６】
解読ルックアップのためのビットパターンは、スタックトップラベル（経路識別子）と、追加のビット（スタックトップＳビット、スタックボトムラベル）とを含むことにより、暗号化されたパケットを、暗号化されていないＯＡＭパケット、たとえばトレースルートから、区別することができる。
【０１６７】
ラベルスタック符号化の一例は、以下で図８を参照しながらより詳細に説明する。
ＣＥＫＭ４４とＰＦＰＭ４２とは、安全なチャネル１１１、１１２を介して情報をやり取りする。この情報を用いることにより、ビットウィンドウを、コンテンツおよび位置についてセットアップすることができる。保護されたあるトンネルに対し、ＰＦＰＭ４２は、入口／暗号化および出口／解読エンジンをそれぞれワーキングおよび保護経路のために構成することができる。これは、トラフィック方向ごとに行う必要がある。同一の暗号エンジンが２方向を扱う場合、双方向トンネルペアごとに、２つの暗号エンジンをエンドポイントノードに構成する必要がある。２つの方向に対して別々の暗号エンジンが設けられる場合は、双方向トンネルペアごとに、４つの暗号エンジンを１つのエンドポイントノードに構成する必要がある。通知インターフェイス１１１は、アラーム、または障害、およびインベントリ情報を、ＣＥＫＭ４４からＰＦＰＭ４２に与える。
【０１６８】
ＰＦＰＭ４２およびＣＥＫＭ４４における２つの情報モデルは、構成インターフェイス１１２およびアラーム／通知インターフェイス１１１を介して、暗号エンジンごとに、最小の構成データをＰＦＰＭ４２からＣＥＫＭ４４に送信することにより、一貫性が保たれる。ＰＦＰＭ４２がＭＰＬＳ経路管理を実行する場合、エンドポイントノードおよび／または中間トランジットノードについての必要な情報すべてとともに、ＭＰＬＳトンネルが準備される。これは、エンドユーザが、エンドポイントを指定するときに、トリガしてもよい。ＣＥＫＭ４４の肯定応答を受けて初めて、ＰＦＰＭ４２は経路をパケットエンジンに適用する。
【０１６９】
アタッチされた暗号エンジンにコヒーレントな動作をセットアップするために、ＰＦＰＭ４２は、以下のステップを実行させることにより、暗号化されたエンドツーエンド経路をセットアップするフローを制御することができる。
―ユーザが、エンドポイントを選択し暗号化プロファイルおよび中間ホップ制約を指定することにより、保護されたトンネルをＰＦＰＭにセットアップするとき、システムは、最初にシミュレートされたワーキングおよび保護経路を中央で自動的にルーティングする。そうすることで、エンドポイントが特定される。
―保護されたトンネルのために、ＰＦＰＭ４２は、ワーキングおよび保護経路のための入口／暗号化および出口／解読エンジンを構成するのに必要な情報を提供する。これはトラフィック方向ごとに行う必要がある。各エンドポイントノードにおいて、２方向各々の２倍である４つのエンジンを構成すればよい。ＭＰＬＳ−ＴＰトンネルの内側ではデータフローが暗号化されるが、暗号化されていない外部ラベルはすべてのホップで変化している。一方ではＰＦＰＭ４２およびパケットエンジンにより、他方ではＣＥＫＭ４４および暗号エンジンにより、両トンネルに対しグローバル識別子としてトンネルｉｄを使用することができる。
【０１７０】
以下のステップを実行することができる。
〇ステップＡ：保護されたトンネルの１つの経路のためのすべての暗号エンジンを構成するために、ＰＦＰＭ４２とＣＥＫＭ４４との間で、タプル、すなわち、グローバルエンジンアドレス（すなわち暗号エンジンのハードウェア定義識別子）、トンネルｉｄ、ＭＰＬＳラベル、方向、およびプロファイルｉｄが、やり取りされる。プロファイルｉｄは、手つかずのままにしておかねばならないトラフィックタイプのような補足情報のセットを特定することができる。
【０１７１】
〇ステップＢ：暗号エンジンの構成の正しい適用を検証した後に、事前シェーピングパラメータ構成をパケットエンジンに適用することにより、パケットフローの適切なタイミングと順序とを保証することができる。
【０１７２】
〇ステップＣ：上記構成が正しく適用されたという肯定応答をＣＥＫＭ４４から受けた後に、ＰＦＰＭ４２は、構成をパケットエンジンに適用することにより、経路をセットアップする。肯定応答を受けなかった場合、ＰＦＰＭ４２におけるシミュレーションをロールバックしてもよく、構成は適用されない。
―ある経路をテイクダウンすることは、同じ確認応答を必要とし、この場合、経路は、ステップＣからステップＡへと逆の順序でテイクダウンされる。
【０１７３】
データフローがエンドツーエンドコンテキストの内部で（トンネルと呼ばれるＭＰＬＳ−ＴＰにおいて）暗号化されると、ラベルはすべてのホップで変化している。特別なグローバル情報エンティティを、ＰＦＰＭおよびそれに接続されたパケットエンジンと、ＣＥＫＭおよび対応する暗号エンジンとのエンドツーエンドまたはセグメントクリプトまたはサイバーセキュア接続との両方に対して用いる。ＭＰＬＳにおいて、安全にされたドメインと動作／ユーザドメインとの両方で使用できるグローバル情報エンティティは、トンネルを特定することができる。これにより、ホップを介したグローバル情報、クリプトまたはサイバーセキュリティトポロジおよびＭＰＬＳトポロジを介した手段を保証する。
【０１７４】
ＰＦＰＭ４２は、データサービス、疑似ワイヤ、およびそのラベルスイッチ経路を有するトンネルに関する情報を保持することができる。ＭＰＬＳサービスを追加および削除して、ネットワーク情報モデル内のアイテムを、変更することができ、パケットエンジンおよび暗号エンジンとの整合性を保つ状態にする必要がある。ネットワーク情報モデルは、データリンク１１３を介して直接パケットエンジンとの整合性を保つ状態にすることができる。ネットワーク情報モデルは、ＣＥＫＭ４４を介して、対応する暗号エンジンに対する整合性を保つ状態にすることができる。
【０１７５】
例として、ＣＥＫＭ４４は、暗号化／解読の両端において、特定されたＭＰＬＳ双方向トンネルに適切なキーが使用されることを保証する。ＣＥＫＭ４４は、ハードウェア定義ボードｉｄを介してすべてのエンジンを発見することができる。これは、ＰＦＰＭ４２およびＣＥＫＭ４４双方が利用できるようにされる、暗号エンジンに関する唯一の情報である。ボードｉｄまたは別のハードウェア定義識別子は、ネットワークを通して固有のものであり、ネットワーク全体の個々の暗号エンジンを特定する。エンドツーエンド双方向トンネルのセットアップ中に確立されるトンネルｉｄは、サイバーセキュリティサブシステム（ＣＥＫＭおよび暗号エンジン）とパケットフローサブシステム（ＰＦＰＭおよびパケットエンジン）との双方について、エンドツーエンド接続のための識別子の役割を果たす。グローバルエンジンアドレス（ボードｉｄ）およびトンネルｉｄ、１方向当たりのＭＰＬＳラベルを、ＣＥＫＭ４４に与えることにより、ＰＦＰＭ４２は、干渉することなく、かつ、場合によってはハードウェア定義識別子以外、暗号エンジンに関する知識を有することなく、暗号化を導くことができる。予め定められたエンジンパラメータのセットから１つを選択するプロファイルｉｄとともに、ボードｉｄ、トンネルｉｄ、ＭＰＬＳラベルおよび方向のやり取りは、サイバーセキュリティサブシステム（すなわちＣＥＫＭおよび暗号エンジン）の挙動を十分に決定することができる。
【０１７６】
キー配布およびその他必要な構成情報１１５を、ＣＥＫＭ４４が、インターフェイス１１１２を介して経路管理機能からトポロジ情報を受けた後に、ワーキングまたは保護経路のための対応する暗号エンジン７３、７４に与えることができる。
【０１７７】
これにより、ＭＰＬＳ−ＴＰおよび暗号エンジン動作の、整合の取れた扱いが可能になる。ＣＥＫＭおよびＰＦＰＭはそれぞれ集中型で動作し、一方、暗号エンジンの管理はパケットエンジンの管理から切り離される。
【０１７８】
高可用性の必要に鑑みて、２つの暗号エンジン７３、７４が与えられてもよく、第１の暗号エンジン７３はワーキング経路のために使用され、第２の暗号エンジン７４は保護されたトンネル対の保護経路のために使用される。２つのインターフェイスが、対応する中央カードに接続されてもよく、２つのインターフェイスはネットワークの集約レイヤに接続されてもよい。専用ロジカルリンク１１５、１１６を介して、暗号エンジン７３、７４は、場合によってはＰＦＰＭ４２と隣り合わせのＣＥＫＭ４４に接続する。加えて、１エンジン当たりのフロントインターフェイスを最初の持ち出しに使用してもよい。
【０１７９】
パケットは、パケットエンジン６３、６４から出た直後に暗号エンジン７３、７４で暗号化されるか、または、パケットエンジン６３、６４に入る直前に暗号エンジン７３、７４で解読される。暗号化および解読は、ＡＥＳ、ＤＥＳもしくはトリプルＤＥＳのような標準化された暗号化／解読プロトコル、または、Ｂｌｏｗｆｉｓｈ、Ｔｗｏｆｉｓｈ、ＭＡＲＳ、ＲＣ６、ＲｉｊｎｄａｅｌおよびＳｅｒｐｅｎｔのようなオープンプロトコルを介して、実行することができる。ハッシュベースのメッセージ認証が、ＭＤ５、ＳＨＡ−１、ＳＨＡ−２、ＳＨＡ−３等の、ハッシュ関数を用いる標準化されたプロトコル、または、オープンソースのものを用いて行われる。
【０１８０】
ワイヤ速度暗号化データ経路を実現するために、入来パケットのタイミングまたは順序を妨害しないワイヤ速度暗号エンジン７３、７４は、たとえば、個々のデータパケットごとにＡＥＳ１２８／２５６ビット暗号化および解読を提供することができる。
【０１８１】
パケット暗号化／解読を実行するために、ＣＥＫＭ４４がインターフェイス１１５を介してキーを暗号エンジン７３、７４に配布してもよい。インベントリ、アラーム、および障害に関する通知が、インターフェイス１１６を介して暗号エンジンからＣＥＫＭ４４に対して行われる。
【０１８２】
ＣＥＫＭ４４は、管理される暗号エンジンのリストを保持することができる。ＣＥＫＭ４４は、構成可能な間隔でマスタキーの更新をスケジュールすることができる。マスタキーはＣＥＫＭ４４が生成してもよい。
【０１８３】
ＣＥＫＭ４４によるキーの生成および／またはキーの配布は、従来のメカニズムを用いて実行することができる。
【０１８４】
暗号エンジンアクティビティ、アラーム、および通知は、ＣＥＫＭ４４によって収集されてもよく、ＰＦＰＭ４２に転送されてもよい。
【０１８５】
ワーキングまたは保護経路のための暗号エンジンのＷＡＮ側ラインインターフェイスが検出した光データ接続の障害は、対応するノード側インターフェイス９４、１０４に伝搬することができる。これは、トラフィック損失情報をパケットエンジン６３、６４のインターフェイス８３、８７に伝搬する。パケットエンジン６３、６４は、リンク損失信号を受けると、トラフィックスイッチオーバをトリガすることができる。
【０１８６】
信号の損失は、ＷＡＮ側ラインインターフェイスを実現するスモールフォームプラガブル（Small Form Pluggable）（ＳＦＰ）デバイスによって検出することができ、物理入力信号を介して暗号エンジン７３、７４に信号で伝えることができる。次に、パケットエンジン６３、６４に向かうマッチング経路１１７、１１８を特定することができ、対応するＳＰＦデバイスに対し、専用物理信号を介して送信信号をスイッチオフするよう指示することができる。
【０１８７】
データフローの健全性をモニタリングするために、パケットの追加ストリームを送信することができる。このパケットの追加ストリームは、データトラフィックと隣り合わせで送信することができる。以下の２つのオプションを使用できる。
―エンドツーエンドモニタリングパケットを他のペイロードのように暗号化し、よって、これらは同一の運命を共有する。特に、暗号化されたこのようなモニタリングパケットは、通常のデータパケットのように処理することができる。
―他方、ｐｉｎｇおよびトレースルートメッセージは、中間ホップにおける問題を示すことができ、よって、これらは暗号化されないままにされる。
【０１８８】
上記２つのオプションは、先に述べたように、暗号エンジンが、適切に構成されたビットウィンドウメカニズムを用いて特定することができる。ＭＰＬＳの場合、疑似ワイヤｉｄを特定することができ、「有効期限（time to live）」（ＴＴＬ）バイトを読出すことができる。このＴＴＬバイトの予め定められた値または範囲を用いて、２つの使用オプション、すなわち、暗号化／解読するエンドツーエンドモニタリングパケットと、暗号化されないままにされるｐｉｎｇおよびトレースルートメッセージとを区別することができる。
【０１８９】
ＭＰＬＳ−ＴＰにおいて、ＯＡＭ／双方向転送検出（Bidirectional Forwarding Detection）（ＢＦＤ）モニタリングパケットの追加ストリームを、等間隔で送信することにより、連続性チェックを行うことができる。これらのパケットは、その他のペイロードと同様に暗号化され、よって、これらは同一の運命を共有する。ｐｉｎｇおよびトレースルートメッセージのようなその他のＯＡＭパケットは、中間ノードの故障の検出機構の役割を果たし、暗号化されないままであり、中間ポイントがその可用性を信号で知らせることができるようにする。
【０１９０】
ＯＡＭメッセージは、先に述べたように、暗号エンジン７３、７４が、適切に構成されたビットウィンドウメカニズムを用いて特定する。ビットウィンドウメカニズムは、ラベル１３（スタックボトムラベル）を探してもよい。特定のＴＴＬ値または範囲を設定することで、「連続性チェック」のモードとそれぞれの「デバッグモード」とを区別することができ、その結果、暗号エンジンは、ＯＡＭパケットが暗号化されるか否かを知る。
【０１９１】
暗号エンジン７３、７４は、非トポロジ認識型かつ非時間認識型であってもよい。暗号エンジン７３、７４は、セットアップされている経路の知識を有する必要はない。暗号エンジン７３、７４は、タイムスタンピング情報の知識および／またはどのタイムスタンピングプロトコルの知識も、有する必要はない。パケットの順序および相対的なタイミングが、暗号エンジン７３、７４が実行するサイバーセキュリティ機能に影響されないことを確実にするために、トラフィックを、パケットエンジン６３、６４から出て暗号エンジン７３、７４に入る前に、事前シェーピングすることができる。それにより、データフローにおけるパケットの位置が、暗号エンジンに入る前の位置と比較して、変わらないことを保証できる。これは、ポート８３、８７におけるパケットのタイムスタンピングが、暗号エンジン７３、７４を通るときにも有効であることを保証する。
【０１９２】
暗号エンジン７３、７４が暗号化を実行するときは、図４を参照しながら説明するように、シーケンス番号を各データパケットに追加して、長さをたとえば８バイト長くする。暗号エンジン７３、７４が認証を実行するときは、図５を参照しながら説明するように、メッセージ認証コードのためにさらに１６バイトが追加される。パケットフローに変化がないことを確実にするために、パケットエンジン６３、６４は、パケット間ギャップにおけるバイト数を十分に大きくする。これは、暗号エンジン７３、７４がパケットにバイトを追加するときに必要なパケット長の増大を補償する。パケットエンジン６３、６４が事前シェーピングを実行することにより、非時間認識型でありネットワークのタイムスタンピングコンテキストの外側に置かれる暗号エンジン７３、７４によってパケットの順序および相対的なタイミングが変更されるリスクを取り除くことができる。
【０１９３】
図４および図５は、暗号エンジン７３、７４が、パケットエンジン６３、６４から受けたデータパケット１２０に対して暗号化および／または認証動作を実行するときの動作を説明している。パケットエンジン６３、６４は既に、パケット間ギャップ１２９を、たとえば３６バイトという値まで拡大している。データパケット１２０は、暗号化されていないＭＰＳＬデータパケットであってもよい。データパケット１２０は、プリアンブルおよびスタートフレームデリミタ（start frame delimiter）（ＳＦＤ）１２１を含み得る。データパケット１２０は、宛先アドレスメディアアクセスコントロール（media access control）（ＭＡＣ）アドレス１２２を含み得る。データパケット１２０は、ソースアドレスメディアアクセスコントロール（ＭＡＣ）アドレス１２３を含み得る。データパケット１２０は、ＭＰＬＳラベルスイッチ経路（Label Switched Path）（ＭＰＬＳ  ＬＳＰ）１２４を含み得る。データパケット１２０は、ＭＰＬＳ疑似ワイヤ（Pseudo-Wire）（ＭＰＬＳ  ＰＷ）１２５を含み得る。データパケット１２０は、暗号化されていない疑似ワイヤペイロード１２６を含み得る。データパケット１２０は、フレームチェックシーケンス（Frame Check Sequence）（ＦＣＳ）１２７を含み得る。
【０１９４】
図４は、データパケット１２０に適用されたときの暗号エンジン７３、７４の暗号化動作の結果生まれた、暗号化されたデータパケット１３０を示す。暗号化コード１３１を、暗号化されたデータパケット１３０に含まれるように追加することができる。暗号化されたデータパケット１３０は、ＭＰＬＳ  ＰＷ１２５およびＰＷペイロード１２６から生成することができる、暗号化されたペイロード１３２を含む。暗号化されたペイロード１３２は、暗号化されたサービスデータを画定することができる。
【０１９５】
暗号化の結果、暗号化されたデータパケット１３０のサイズは、対応する、暗号化されていないデータパケット１２０のサイズよりも大きくなる。しかしながら、パケット間ギャップ１２９は、パケットエンジン６３、６４によって、暗号化されていないデータパケット１２０との比較における暗号化されたデータパケット１３０のサイズの増大分が、拡大されたパケット間ギャップ１２９を超えないように、拡大されている。暗号エンジン６３、６４は、データパケットを、拡大されたパケット間ギャップ１２９を超えないように、増大する。有限のパケット間ギャップ１３８を、連続する暗号化されたデータパケット間に残すことができる。例として、パケット間ギャップ１３８は、暗号化コード１３１が８バイトのときは、２８バイトであってもよい。
【０１９６】
図５は、データパケット１２０に適用されたときの暗号エンジン７３、７４の暗号化動作および認証動作の結果生まれた、認証付きの暗号化されたデータパケット１３５を示す。認証コード１３３を、暗号化されたデータパケット１３５に含めることができる。暗号化されたペイロード１３２および認証コード１３３は、暗号化されたサービスデータを画定することができる。
【０１９７】
暗号化および認証の結果、認証付きの暗号化されたデータパケット１３５のサイズは、対応する、暗号化されていないデータパケット１２０のサイズよりも大きくなる。しかしながら、パケット間ギャップ１２９は、パケットエンジン６３、６４によって、暗号化されていないデータパケット１２０との比較における認証付きの暗号化されたデータパケット１３５のサイズの増大分が、拡大されたパケット間ギャップ１２９を超えないように、拡大されている。暗号エンジン６３、６４は、データパケットを、拡大されたパケット間ギャップ１２９を超えないように、増大する。有限のパケット間ギャップ１３９を、認証付きの連続する暗号化されたデータパケット間に残すことができる。例として、パケット間ギャップ１３９は、認証コード１３３が１６バイトのときは、１２バイトであってもよい。
【０１９８】
パケットエンジン６３、６４は、パケット間ギャップのサイズを増大することに加えて、ダミーパケットを生成し、生成したダミーパケットを、暗号エンジン７３、７４に与えられるデータパケットのフローに挿入することができる。暗号エンジン７３、７４は、制御情報を挿入するためにダミーパケットを用いることができる。これにより、暗号エンジン７３、７４が新たなパケットを生成してトラフィックに挿入する必要はなくなる。むしろ、図１０を参照しながら説明するように、暗号エンジン７３、７４は、パケットエンジン６３によって生成された既存のダミーパケットを制御情報で満たすことができる。
【０１９９】
図１０は、暗号エンジン７３をブロック図で表したものである。対応するパケット柄エンジンは、データフローに挿入するダミーパケット２４１を生成することができる。ダミーパケット２４１は、ペイロードデータを含まないが、たとえば暗号化キーの交換のために、暗号エンジン７３が制御データを挿入するのに使用できる、暗号エンジン７３が受ける事前シェーピングされたデータトラフィックに含まれるパケットを、単に提供するだけであってもよい。パケットエンジン６３は、ダミーパケット２４１をデータフロー（すなわちペイロードデータを含むデータパケットのシーケンス）に挿入する。ダミーパケット２４１はＳＣＣパケットであってもよい。
【０２００】
ストリーム内のダミーパケット２４１の少なくとも一部を、暗号エンジン７３による管理チャネル送信のために充填して使用することができる。
【０２０１】
暗号エンジン７３は、暗号化キー交換等の管理チャネル送信のために制御パケットを暗号エンジン７３が生成する必要があるときに、ダミーパケット２４１をコントローラ２４３またはその他集積半導体回路に与えるデバイス２４２を含み得る。デバイス２４２は、入来する、事前シェーピングされたデータトラフィックからダミーパケットを選択することができる。そのために、暗号エンジン７３は、すべてのパケットヘッダをスキャンし、ペイロードデータを含む通常のデータトラフィックからダミーパケットを区別することができる。
【０２０２】
管理チャネル送信には不要であるダミーパケット２４１は、暗号エンジン７３が、事前シェーピングされたデータトラフィックから取り除くことができる。
【０２０３】
コントローラ２４３は、ダミーパケット２４１の少なくとも一部を、特に暗号化および／または認証に関連する、管理チャネル関連の制御データで満たすことができる。コントローラ６３は、たとえば暗号化キー交換のために、ダミーパケット２４１のうちの少なくともいくつかを用いることができる。ダミーパケット２４１の少なくとも一部をセキュリティ関連管理チャネル制御データで満たすことにより、制御パケット２４４が生成される。デバイス２４２は、再び、事前シェーピングされたデータトラフィックの、ダミーパケット２４１の場所に、制御パケット２４４を挿入することができる。
【０２０４】
図６は、トランジットトラフィックを示す、ＬＳＲ１６０のブロック図である。ネットワーク１０の複数のＬＳＲ５５、５６、５７、５８は各々、図６を参照しながら説明する構成を有し得る。データパケットは、ＬＳＲの場合のＬＳＰ経路の４つの暗号エンジンインスタンスを運ぶことができる。
【０２０５】
ＬＳＲ１４０は、第１のパケットエンジン１４１と第２のパケットエンジン１４２とを含み得る。ＬＳＲ１４０がＭＰＬＳ経路の中間ホップである場合、第１のパケットエンジン１４１および第２のパケットエンジン１４２双方を用いることができる。しかしながら、パケットスイッチ（概ね図３のパケットスイッチ８２、８６について説明したように構成され機能する）は、スタンバイ動作中であってもよく、ポート転送部の役割を果たすだけであってもよい。
【０２０６】
ＬＳＲ１４０は複数の暗号エンジン１６２、１６４、１６５、１６６を含み得る。
第１のパケットエンジン１４１はポートＡ  １５１とポートＢ  １５２とを有し得る。第２のパケットエンジン１４２はポートＡ  １５３とポートＢ  １５４とを有し得る。暗号エンジン１４３はポートＡ  １５５とポートＢ  １５６とを有し得る。暗号エンジン１４６はポートＡ  １５７とポートＢ  １５８とを有し得る。
【０２０７】
暗号エンジン１４６のポートＡ  １５７で受けられた、インターフェイス１０９からのトラフィックは、暗号エンジン１４６を通り、暗号エンジン１４６のポートＢ  １５８を介して第２のパケットエンジン１４２のポートＢ  １５４まで流れることができる。第２のパケットエンジン１４２は、データパケットを第１のパケットエンジン１４１にしか転送しないパケットスイッチを有し得る。第１のパケットエンジン１４１は、データトラフィックを、ポートＡ  １５１を介して第１の暗号エンジン１４３のポートＡ  １５５に出力することができる。このトラフィックフローは、暗号エンジン１４３のポートＢ  １５６を介してインターフェイス１０８に出力することができる。
【０２０８】
１つのノードが、ハイブリッドＬＥＲ・ＬＳＲモードにおいて機能できることが理解されるであろう。したがって、ＬＳＲのパケットエンジン１４１、１４２および暗号エンジン１４３、１４４、１４５、１４６と、ＬＥＲのパケットエンジンおよび暗号エンジンとの間には、１対１の対応関係がある。よって、暗号エンジン１４４、１４５は、たとえばノードがＬＥＲモードで作動するときは暗号エンジン１４３、１４６とは逆のフロー方向で暗号化／解読および／または認証動作を実行することができる。
【０２０９】
ノードがＬＳＲモードで動作するとき、暗号エンジン１４３、１４６は、ビットウィンドウメカニズムを用いることにより、暗号化されたデータパケットを解読するか否かを判断することができる。暗号化されたエンドツーエンド経路に対し、暗号エンジン１４３、１４６が、双方向データ経路の中間ホップで、暗号化されたデータパケットを解読しないように、ＬＳＲ１４０がセットアップされる。解読ルックアップのためのビットパターンは、暗号化されたパケットを、暗号化されていないＯＡＭパケット、たとえばトレースルートから区別するために、スタックトップラベル（経路識別子）と、追加ビット（スタックトップＳビット、スタックボトムラベル）とを含み得る。ｐｉｎｇおよびトレースルートメッセージのようなＯＡＭパケットは、中間ノードの障害の検出メカニズムの役割を果たすことができ、適切に構成されたビットウィンドウによって示されるように、暗号化されないままである。
【０２１０】
図７はＬＥＲ１６０のブロック図である。ネットワーク１０の複数のＬＥＲ５３、５４は各々、図７を参照しながら説明する構成を有し得る。ＭＰＬＳトラフィックも暗号化セッションも、ＬＥＲ１６０で開始することができる。
【０２１１】
ＬＥＲ１６０は、ワーキング（ｗ）経路のための第１のパケットエンジン（ＰＥ）１６１と、保護（ｐ）経路のための第２のパケットエンジン１６２とを含み得る。トンネルスタート１８１が、ワーキング経路のための第１のパケットエンジン１６１に設けられる。図７において点線で示される保護フロー１８２は、第１のパケットエンジン１６１で開始することができる。
【０２１２】
ＬＥＲ１６０は複数の暗号エンジン１６３、１６４、１６５、１６６を含み得る。
ＬＥＲ１６０はラインカード１６８を含み得る。ラインカード１６８はポート１６９を有し得る。
【０２１３】
第１のパケットエンジン１６１は、ポートＡ  １７１とポートＢ  １７２とを有し得る。第２のパケットエンジン１６２は、ポートＡ  １７３とポートＢ  １７４とを有し得る。暗号エンジン１６３は、ポートＡ  １７５とポートＢ  １７６とを有し得る。暗号エンジン１６６は、ポートＡ  １７７とポートＢ  １７８とを有し得る。暗号エンジン１６３および１６６は、双方向トンネルペアの第１の方向の暗号化および／または認証を実行する。暗号エンジン１６３と同一の第１のパケットエンジン１６１に接続し得る、対応付けられた暗号エンジン１６４、および、暗号エンジン１６６と同一の第２のパケットエンジン１６２に接続し得る、対応付けられた暗号エンジン１６５は、第１の方向の逆である双方向トンネルペアの第２の方向の解読および／または認証を実行することができる。
【０２１４】
ラインカード１６８からのトラフィックは、第１のパケットエンジン１６１により、ポートＡ  １７１を介して暗号エンジン１６３のポートＡ  １７５に与えることができる。暗号エンジン１６３は暗号化および／または認証を実行することができる。各データパケットの重要な部分は、それに対応する、暗号化された部分に置き換えることができる。暗号化されたトラフィックは、暗号エンジン１６３のポートＢ  １７６を介してインターフェイス１０８に出力される。
【０２１５】
保護経路は、第２のパケットエンジン１６２を通って延びることができる。トラフィックは、パケットエンジン１６２のポートＢ  １７４を介して暗号エンジン１６６のポートＢ  １７８に出力することができる。暗号エンジン１６６は暗号化および／または認証を実行することができる。保護経路のトラフィックは、暗号エンジン１６６のポートＢを介してインターフェイス１０９に出力することができる。
【０２１６】
暗号エンジン１６３、１６６は、ビットウィンドウメカニズムを用いることにより、どのデータパケットを暗号化するかを判断することができる。暗号化ルックアップのためのビットパターンは、スタックトップラベル（経路識別子）と、追加ビット（スタックトップＴＴＬ値、スタックボトムラベル）とを含み得る。
【０２１７】
暗号エンジン１６４、１６５は、ビットウィンドウメカニズムを用いることにより、どのデータパケットを解読するかを判断することができる。解読ルックアップのためのビットパターンは、暗号化されたパケットを、暗号化されていないＯＡＭパケット、たとえばトレースルートから区別するために、スタックトップラベル（経路識別子）と、追加ビット（スタックトップＳビット、スタックボトムラベル）とを含み得る。
【０２１８】
図８は、たとえばＲＦＣ３０３２に従う、ラベルスタック符号化を表すデータ１９０を示す。この例示されるデータは、ラベル値と、スタックボトムビットと、有効期限（ＴＴＬ）とを含む。暗号エンジンは、データパケットを対応する暗号エンジンによって処理するか否か、または、データパケットを手つかずのままにしておくか否かを判断するために、プログラマブルビットウィンドウを用いて構成することができる。例として、暗号化ルックアップのためのビットパターンは、スタックトップラベル（経路識別子）と、追加ビット（スタックトップＴＴＬ値、スタックボトムラベル）とを含み得る。解読ルックアップのためのビットパターンは、暗号化されたパケットを、暗号化されていないＯＡＭパケット、たとえばトレースルートから区別するために、スタックトップラベル（経路識別子）と、追加ビット（スタックトップＳビット、スタックボトムラベル）とを含み得る。
【０２１９】
トラフィック健全性モニタリング実行のさまざまな選択肢は、暗号エンジンが、ビットウィンドウメカニズムを用いて特定することができる。例として、疑似ワイヤｉｄを特定することができ、「有効期限」（ＴＴＬ）バイトを読出すことができる。それぞれトラフィック健全性モニタリングのために、このＴＴＬバイトの予め定められた値または範囲を用いて、暗号化／解読されるエンドツーエンドモニタリングパケットを、暗号化されないままのｐｉｎｇおよびトレースルートメッセージから、区別することができる。
【０２２０】
図９は、ネットワーク１０の管理機能の階層を示すブロック図である。ＰＦＰＭ４２はパケットフローを制御する。ＣＥＫＭ４４は、暗号化経路を、すなわち、サイバーセキュア経路のエンドポイントノードおよび中間ノードにおける暗号エンジンを、制御し、それぞれのキーを与える。ネットワーク１０は、複数のＬＥＲ２０１、２０２、２０３、２０４を含み得る。各ＬＥＲは、パケットエンジン２１１、２１２、２１３、２１４と、暗号エンジン２２１、２２２、２２３、２２４とを含む。図９には１つのパケットエンジンおよび１つの暗号エンジンのみが示されているが、先に述べたように、各ＬＥＲは複数のパケットエンジンと複数の暗号エンジンとを含み得ることが理解されるであろう。例として、各ＬＥＲ２０１、２０２、２０３、２０４は、ワーキング経路および保護経路のための２つのパケットエンジンと、ワーキング経路および保護経路双方の２方向に対して使用される４つの暗号エンジンとを含み得る。
【０２２１】
ＣＥＫＭ４４は、暗号エンジンからハードウェア定義識別子２３３を受けることができる。ハードウェア定義識別子２３３は、たとえばボード識別子であってもよい。各暗号エンジンは、ネットワークにおいて固有のハードウェア定義識別子を有し得る。ハードウェア定義識別子は、インターフェイス２３２を介してＰＦＰＭ４２に与えることができる。
【０２２２】
以下の制御ステップを実行することができる。
ステップＡ：ＣＥＫＭ４４およびＰＦＰＭ４２は、経路ごとに以下のタプル２３１、２３２をやり取りすることができる。
【０２２３】
ｉ．ハードウェア定義識別子（すなわちグローバルエンジンアドレス）
ｉｉ．トンネルｉｄ
ｉｉｉ．ＭＰＬＳラベル
ｉｖ．方向
ｖ．プロファイルｉｄ
プロファイルｉｄは、手つかずのままにしておかねばならないトラフィックタイプのような補足情報のセットを特定することができる。
【０２２４】
ステップＢ：暗号エンジンの構成の正しい適用を検証した後に、ＰＦＰＭは、事前シェーピングパラメータ構成２３４を適用することにより、パケットフローの適切なタイミングと順序とを保証する。事前シェーピングパラメータ構成２３４は、パケットエンジンのダミーパケットコントローラ２１５、２１６に与えることができる。
【０２２５】
ステップＣ：事前シェーピングパラメータ構成が正しく適用されたという肯定応答を受けた後に、ＰＦＰＭ４２は、経路構成２３５をパケットエンジンに適用する。事前シェーピングパラメータ構成が成功しなかった場合、ＰＦＰＭ４２におけるシミュレーションをロールバックしてもよく、構成は適用されなくてもよい。
【０２２６】
ある経路をテイクダウンすることは、同じ確認応答を必要とする。この経路は、ステップＣからステップＡへと逆の順序でテイクダウンされる。
【０２２７】
図１１は、ある実施形態に係る方法２５０のフローチャートである。
ステップ２５１で、それぞれのパケットエンジンとは別に設けられた複数の暗号エンジンを、中央ＣＥＫＭを用いて制御することができる。複数の暗号エンジンを制御することは、暗号化のためのキーを暗号エンジンに与えることを含み得る。複数の暗号エンジンを制御することは、ＣＥＫＭが、ＰＦＭＰがセットアップした経路に応じてプログラマブルビットウィンドウを構成することを含み得る。
【０２２８】
ステップ２５２で、パケットエンジンとは別に設けられた暗号エンジンは、少なくとも１つのサイバーセキュリティ関連機能を実行することができる。サイバーセキュリティ関連機能は、暗号化／解読を含み得る。サイバーセキュリティ関連機能は認証を含み得る。
【０２２９】
図１２は、ある実施形態に係る方法２６０のフローチャートである。ある実施形態に従うと、方法２６０はＣＥＫＭによって実行されてもよい。
【０２３０】
ステップ２６１で、ＣＥＫＭは、暗号エンジンのハードウェア識別子をＰＦＰＭに与えることができる。ＣＥＫＭは、このインベントリ情報以外、サイバーセキュリティシステムに関する情報は、ＰＦＰＭに与えなくてもよい。
【０２３１】
ステップ２６２で、ＣＥＫＭは、経路またはトポロジ情報をＰＦＰＭから受けることができる。経路に関する情報は、たとえば、トンネルｉｄ、ＭＰＬＳラベルまたはラベルスタック、および方向を含み得る。
【０２３２】
ステップ２６３で、ＣＥＫＭは、暗号エンジンを構成するために安全なプロトコルを介してすべての暗号エンジンと通信することができる。暗号エンジンを構成することは、データパケットが、サイバーセキュリティ機能の対象になるか否かを判断するために、暗号エンジンが使用するプログラマブルビットウィンドウをプログラミングすることを含み得る。
【０２３３】
ステップ２６４で、ＣＥＫＭは、ネットワークの動作中に暗号エンジンから通知を受けることができる。ＣＥＫＭはアラートをＰＦＰＭに与えることができる。
【０２３４】
実施形態に係る方法、装置、およびシステムは、複雑なメッシュネットワークを通して送るときであっても、安全な通信およびワイヤのような決定論性を提供することができる。
【０２３５】
例示としての実施形態について図面を参照しながら説明してきたが、他の実施形態において修正および変形を実施してもよい。これらの方法、装置、およびシステムは、ＭＰＬＳネットワークに使用することができるが、これに限定される訳ではない。
【０２３６】
実施形態に係る方法、装置、およびシステムは、複雑なメッシュネットワークトポロジを通して暗号化され認証されたデータパケットを決定論的に送るために使用することができる。ＭＰＬＳ−ＴＰネットワーク等の、これらのネットワークに対し、保護されたエンドツーエンドトンネルと、対応するサイバーセキュア冗長データリンクエンドポイント、すなわち暗号エンジンとの、コヒーレントな対応付けが、提供される。セキュリティ上の理由で、２つのサブシステムを、強力に分離させつつも同期させてもよい。ダイナミックプロトコルを用いて、厳しく制限された情報交換をサポートしてもよい。これにより、ネットワーク動作の標準および例外状態すべての間、上記２つの冗長システムの同期を保つ。
【０２３７】
エンドツーエンド暗号化および／または認証を実行する実施形態が説明されるが、本明細書に開示される技術は、エンドツーエント経路のセグメントに沿う暗号化および／または認証に使用することもできる。
【０２３８】
方法、装置、およびシステムは、パケット追加を必要とせず、暗号化ステップ中すべてのパケットについて同一の遅延を維持することを可能にする。ストリームにパケットを追加するという暗号エンジンの潜在的な要求は、暗号エンジンから分離されたパケットエンジンがダミーパケットを追加することで、回避される。パケットエンジンにおいてパケット間ギャップを必要に応じて拡大することにより、最終的に暗号エンジン制御パケット交換の必要から生じる障害を回避することができる。
【０２３９】
本発明の実施形態は、ＭＰＬＳのようなプロトコルを真にサイバーセキュアなものになるよう強化するであろう。
【０２４０】
当業者が理解するように、本明細書に開示される実施形態は、より良い理解のために提供され、例示されているにすぎない。当業者は、請求項によって定められる本発明の範囲から逸脱しない各種修正および変形に想到するであろう。
【図１】
2020510337.tif 000003
【図２】
2020510337.tif 000004
【図３】
2020510337.tif 000005
【図４】
2020510337.tif 000006
【図５】
2020510337.tif 000007
【図６】
2020510337.tif 000008
【図７】
2020510337.tif 000009
【図８】
2020510337.tif 000010
【図９】
2020510337.tif 000011
【図１０】
2020510337.tif 000012
【図１１】
2020510337.tif 000013
【図１２】
2020510337.tif 000014
【国際調査報告】
2020510337.tif 000015
2020510337.tif 000016