(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024137838
(43)【公開日】2024-10-07
(54)【発明の名称】IP/UDPにおける鍵配送
(51)【国際特許分類】
H04L 9/08 20060101AFI20240927BHJP
H04L 9/36 20060101ALI20240927BHJP
【FI】
H04L9/08 C
H04L9/08 E
H04L9/36
【審査請求】有
【請求項の数】23
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024042970
(22)【出願日】2024-03-19
(31)【優先権主張番号】18/188,909
(32)【優先日】2023-03-23
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】513311642
【氏名又は名称】ノキア ソリューションズ アンド ネットワークス オサケユキチュア
(74)【代理人】
【識別番号】100094112
【弁理士】
【氏名又は名称】岡部 讓
(74)【代理人】
【識別番号】100106183
【弁理士】
【氏名又は名称】吉澤 弘司
(74)【代理人】
【識別番号】100114915
【弁理士】
【氏名又は名称】三村 治彦
(74)【代理人】
【識別番号】100125139
【弁理士】
【氏名又は名称】岡部 洋
(74)【代理人】
【識別番号】100209808
【弁理士】
【氏名又は名称】三宅 高志
(72)【発明者】
【氏名】フーマン ビゴリ
(57)【要約】 (修正有)
【課題】インターネットプロトコル(IP)およびユーザデータグラムプロトコル(UDP)を介した暗号鍵を送信する送信ノード、受信ノード及び方法を提供する。
【解決手段】システム100は、通信経路120を介して通信する一対の通信デバイス110-A(送信ノード)及び110-Z(受信ノード)を含む。送信ノード及び受信ノードは、通信経路を介して送信ノード及び受信ノード間で交換される通信のためのセキュリティをサポートする。送信ノード及び受信ノードは、通信セキュリティ要素111-A、111-Zの使用に基づいて通信のためのセキュリティをサポートし、かつ、暗号化機能および認証機能をサポートする。暗号化されるべき各IPフローは、IEEE802.1AEによって使用するためのそれ自体の暗号鍵を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリとを備える送信(TX)ノードであって、
前記少なくとも1つのメモリおよび前記コンピュータプログラムコードは少なくとも1つのプロセッサによって、前記送信ノードに、少なくとも、
レイヤ2ヘッダ、IP(Internet Protocol)ヘッダ、UDP(User Datagram Protocol)ヘッダ、IEEE802.1xヘッダ、及び前記送信ノードから受信(RX)ノードに送信されるパケットフローを暗号化するための暗号鍵を含むMKAペイロードを含むMKA(MACsec(Media Access Control Security) Key Agreement)パケットを生成させ、
レイヤ3トランスポートを介して前記受信ノードに前記MKAパケットを送信させることを特徴とする送信ノード。
【請求項2】
前記暗号鍵は、SAK(Secure Association Key)であることを特徴とする請求項1に記載の送信ノード。
【請求項3】
前記送信ノードは、AES(Advanced Encryption Standard)鍵ラップ(Key Wrap)を使用して鍵サーバから前記SAKを受信するように構成されることを特徴とする請求項1に記載の送信ノード。
【請求項4】
前記送信ノードは、AES鍵ラップを使用して前記MKAパケット内の前記暗号鍵を暗号化するように構成されることを特徴とする請求項1に記載の送信ノード。
【請求項5】
前記IEEE802.1xヘッダは、前記パケットフローおよび前記暗号化する送信ノードを一意に識別するセキュリティチャネル識別(SCI)を含むことを特徴とする請求項1に記載の送信ノード。
【請求項6】
前記SCIは、前記暗号化する送信ノードを識別するための暗号化セグメント識別子(SID)と、前記暗号化する送信ノード上のトンネルの固有識別子とを含むことを特徴とする請求項5に記載の送信ノード。
【請求項7】
前記送信ノードは、
前記固有識別子をローカルに生成し、
MKA over IP/UDPヘッダを使用して前記SCIを前記受信ノードに送信することを特徴とする請求項6に記載の送信ノード。
【請求項8】
前記送信ノードは、前記暗号鍵を使用して、前記パケットフローのパケットを暗号化し、前記暗号化されたパケットを、レイヤ2.5/3トランスポートを介して前記受信ノードに送信することを特徴とする請求項1に記載の送信ノード。
【請求項9】
前記レイヤ2.5/3トランスポートは、レイヤ2.5マルチプロトコルラベルスイッチング(MPLS)トランスポートであることを特徴とする請求項8に記載の送信ノード。
【請求項10】
前記レイヤ2.5/3トランスポートは、レイヤ3インターネットプロトコル(IP)トランスポートであることを特徴とする請求項8に記載の送信ノード。
【請求項11】
前記レイヤ3トランスポートはIPトランスポートであることを特徴とする請求項1に記載の送信ノード。
【請求項12】
少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリとを備える受信(RX)ノードであって、
前記少なくとも1つのメモリおよび前記コンピュータプログラムコードは、少なくとも1つのプロセッサを用いて、前記受信ノードに、少なくとも、
レイヤ3トランスポートを介して送信(TX)ノードから、レイヤ2ヘッダ、IPヘッダ、UDPヘッダ、IEEE802.1xヘッダ、および前記送信ノードから前記受信ノードに送信されるパケットフローを復号するための暗号鍵を含むMKAペイロードを含むMKAパケットを受信させ、
前記MKAパケットを処理して前記SAKを取得させることを特徴とする受信ノード。
【請求項13】
前記暗号鍵はSAKであることを特徴とする請求項12に記載の受信ノード。
【請求項14】
前記暗号鍵は、AES鍵ラップを使用して前記MKAパケット内で暗号化されることを特徴とする請求項12に記載の受信ノード。
【請求項15】
前記IEEE802.1xヘッダは、前記パケットフローおよび前記暗号化する送信ノードを一意に識別する前記SCIを含むことを特徴とする請求項12に記載の受信ノード。
【請求項16】
前記SCIは、前記暗号化する送信ノードを識別するための暗号化SIDと、前記暗号化する送信ノード上のトンネルの固有識別子とを含むことを特徴とする請求項15に記載の受信ノード。
【請求項17】
前記受信ノードは、MKA over IP/UDPヘッダを使用して前記送信ノードから前記SCIを受信するように構成されることを特徴とする請求項16に記載の受信ノード。
【請求項18】
レイヤ2.5/3トランスポートを介して前記送信ノードから前記パケットフローの暗号化されたパケットを受信し、
前記暗号化されたパケットを復号するために前記暗号鍵を使用することを特徴とする請求項12に記載の受信ノード。
【請求項19】
前記レイヤ2.5/3トランスポートは、レイヤ2.5MPLSトランスポートであることを特徴とする請求項18に記載の受信ノード。
【請求項20】
前記レイヤ2.5/3トランスポートは、レイヤ3IPトランスポートであることを特徴とする請求項18に記載の受信ノード。
【請求項21】
前記レイヤ3トランスポートはIPトランスポートであることを特徴とする請求項12に記載の受信ノード。
【請求項22】
送信(TX)ノードによって、レイヤ2ヘッダ、IPヘッダ、UDPヘッダ、IEEE802.1xヘッダ、及び前記送信ノードから受信(RX)ノードに送信されるパケットフローを暗号化するための暗号鍵を含むMKAペイロードを含むMKAパケットを生成するステップと、
前記送信ノードによって、レイヤ3トランスポートを介して前記受信ノードに前記MKAパケットを送信するステップとを含むことを特徴とする方法。
【請求項23】
受信(RX)ノードによって、レイヤ3トランスポートを介して送信(TX)ノードから、レイヤ2ヘッダ、IPヘッダ、UDPヘッダ、IEEE802.1xヘッダ、および前記送信ノードから前記受信ノードに送信されるパケットフローを復号するための暗号鍵を含むMKAペイロードを含むMKAパケットを受信するステップと、
前記受信ノードによって、前記MKAパケットを処理してSAKを取得するステップとを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の参照]
本願は、2021年10月29日に323876-US-NPとして出願された同時係属出願シリアル番号17/514,046(046出願)の一部継続であり、その教示はその全体が参照により本明細書に組み込まれる。
【0002】
[開示の分野]
種々の例示的実施形態は、概して、通信ネットワークに関し、より具体的には、限定ではないが、通信ネットワーク内の通信プロトコルのためのセキュリティに関する。
【背景技術】
【0003】
通信システムでは、通信システムの通信のためのセキュリティをサポートするための通信セキュリティ能力の使用を含む、様々な通信技術が、通信をサポートするために使用され得る。
【発明の概要】
【0004】
少なくともいくつかの例示的な実施形態では、送信(TX)ノードは、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリとを備える。少なくとも1つのメモリおよびコンピュータプログラムコードは、TXノードに、少なくとも(i)レイヤ2ヘッダ、インターネットプロトコル(IP)ヘッダ、ユーザデータグラムプロトコル(UDP)ヘッダ、IEEE 802.1xヘッダ、およびTXノードから受信(RX)ノードに送信されるパケットフローを暗号化するための暗号鍵を含むMKAペイロードを含むMKA(MACsec(Media Access Control Security)Key Agreement)パケットを生成させ、(ii)レイヤ3トランスポートを介してMKAパケットをRXノードに送信させる。
【0005】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、暗号鍵は、SAK(Secure Association Key)であり得る。
【0006】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、TXノードは、AES(Advanced Encryption Standard)鍵ラップを使用して鍵サーバからSAKを受信するように構成される。
【0007】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、TXノードは、AES鍵ラップを使用してMKAパケット内の暗号鍵を暗号化するように構成される。
【0008】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、IEEE802.1xヘッダは、パケットフローおよび暗号化TXノードを一意に識別するセキュリティチャネル識別(SCI)を含む。
【0009】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、SCIは、暗号化TXノードを識別するための暗号化セグメント識別子(SID)と、暗号化TXノード上のトンネルの一意の識別子とを含む。
【0010】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、TXノードは、固有識別子をローカルに生成し、MKA over IP/UDPヘッダを使用してSCIをRXノードに送信するように構成される。
【0011】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、TXノードは、暗号鍵を使用してパケットフローのパケットを暗号化し、暗号化されたパケットをレイヤ2.5/3トランスポートを介してRXノードに送信するように構成される。
【0012】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、レイヤ2.5/3トランスポートは、レイヤ2.5マルチプロトコルラベルスイッチング(MPLS)トランスポートであり得る。
【0013】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、レイヤ2.5/3トランスポートは、レイヤ3インターネットプロトコル(IP)トランスポートであり得る。
【0014】
上記の送信(TX)ノードの実施形態の少なくともいくつかにおいて、レイヤ3トランスポートはIPトランスポートであり得る。
【0015】
少なくともいくつかの例示的な実施形態では、受信(RX)ノードは、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つのメモリとを備える。少なくとも1つのメモリおよびコンピュータプログラムコードは、少なくとも1つのプロセッサを用いて、少なくとも(i)レイヤ3トランスポートを介して送信(TX)ノードから、レイヤ2ヘッダ、IPヘッダ、UDPヘッダ、IEEE 802.1xヘッダ、およびTXノードからRXノードに送信されるパケットフローを復号化するための暗号鍵を含むMKAペイロードを含むMKAパケットを受信し、(ii)SAKを取得するためにMKAパケットを処理する。
【0016】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、暗号鍵はSAKであり得る。
【0017】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、暗号鍵は、AES鍵ラップを使用してMKAパケット内で暗号化される。
【0018】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、IEEE802.1xヘッダは、パケットフローおよび暗号化TXノードを一意に識別するSCIを含む。
【0019】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、SCIは、暗号化TXノードを識別するための暗号化SIDと、暗号化TXノード上のトンネルの固有識別子とを含む。
【0020】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、RXノードは、MKA over IP/UDPヘッダを使用してTXノードからSCIを受信するように構成される。
【0021】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、RXノードは、レイヤ2.5/3トランスポートを介してTXノードからパケットフローの暗号化されたパケットを受信し、暗号化されたパケットを復号するために暗号鍵を使用するように構成される。
【0022】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、レイヤ2.5/3トランスポートは、レイヤ2.5 MPLSトランスポートであり得る。
【0023】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、レイヤ2.5/3トランスポートは、レイヤ3IPトランスポートであり得る。
【0024】
上記の受信(RX)ノードの実施形態の少なくともいくつかにおいて、レイヤ3トランスポートはIPトランスポートであり得る。
【0025】
本明細書の教示は、添付の図面と併せて以下の詳細な説明を考慮することによって容易に理解され得る。
【図面の簡単な説明】
【0026】
【
図1】通信のためのセキュリティをサポートするように構成されたシステムの例示的な実施形態を示す。
【
図2】IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
【
図3A】IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
【
図3B】IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
【
図3C】IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
【
図4A】IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
【
図4B】IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
【
図4C】IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
【
図5】通信のためのセキュリティをサポートするための方法の例示的な実施形態を示す。
【
図6】本明細書で提示される様々な機能を実行する際に使用するのに適したコンピュータの例示的な実施形態を示す。
【
図7】EAPoLを介してトランスポートされる新しいMKAパケットを示すためのパケットフォーマットの例示的な実施形態を示す。
【0027】
理解を容易にするために、様々な図に共通する同一の要素を示すために、可能な限り、同一の参照番号が本明細書で使用されている。
【発明を実施するための形態】
【0028】
通信のためのセキュリティをサポートするための様々な例示的な実施形態が提示される。通信のためのセキュリティをサポートするための様々な例示的な実施形態は、様々な開放型システム間相互接続(OSI)レイヤにおける通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。
【0029】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルを使用してレイヤ2の上で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコル(たとえば、IEEE8021AEまたは他の適切なタイプのレイヤ2ネットワークセキュリティプロトコル)などのIEEE(Institute of Electrical and Electronics Engineers)802プロトコルのいくつかの態様を使用して、レイヤ2.5において動作する通信プロトコル(たとえば、マルチプロトコルラベルスイッチング(MPLS)プロトコルまたは他の適切なレイヤ2.5プロトコル)の通信のためのセキュリティをサポートするように構成され得る。
【0030】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルを使用してレイヤ3(たとえば、IPバージョン4(IPv4)もしくはIPバージョン6(IPv6)などのインターネットプロトコル(IP)、または他の適切なレイヤ3プロトコル)において動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。
【0031】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルのいくつかの態様を使用して、レイヤ2より上で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。
【0032】
通信のセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2以上の通信プロトコルを使用して動作する通信経路上のデバイスが、レイヤ2以上の通信プロトコルのヘッダ上で動作することを可能にする方法で、レイヤ2ネットワークセキュリティプロトコルを使用して、レイヤ2以上で動作する通信プロトコルの通信のセキュリティをサポートすることを可能にすることができる(例えば、レイヤ2.5のMPLS対応ルータがMPLSヘッダに基づいて判断できるように、レイヤ3のIP対応ルータがIPヘッダに基づいて判断できるように、ヘッダを読み込んで修正するなど、ヘッダを操作する)。
【0033】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルのいくつかの態様を使用して、レイヤ2より上で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され、レイヤ2ネットワークセキュリティプロトコルは、暗号化機能および認証機能(たとえば、IEEE802.1AEなどのIEEE(Institute of Electrical and Electronics Engineers)802プロトコルまたは他の適切なタイプのレイヤ2ネットワークセキュリティプロトコル)をサポートするように構成される。
【0034】
パケットのネットワークセキュリティをサポートするこれらのおよび様々な他の例示的な実施形態および利点または潜在的な利点は、以下でさらに説明する様々な図を参照することによってさらに理解され得ることを理解されよう。
【0035】
図1は、通信のためのセキュリティをサポートするように構成されたシステムの例示的な実施形態を示す。
【0036】
システム100は、通信経路120を介して通信することができる一対の通信デバイス110-Aおよび110-Z(集合的に通信デバイス110)を含む。通信デバイス110は、通信経路を介して通信し得る任意のデバイスであり得、通信経路120は、通信デバイスが通信し得る任意の経路であり得、したがって、通信デバイス110および通信経路120は、様々な通信コンテキストに関連付けられ得る。たとえば、通信デバイス110は、エンドユーザデバイス、ルータ、スイッチなどを含み得る。例えば、通信経路120は、単一のリンク、複数のリンク、通信ネットワークの一部、通信ネットワーク、複数の通信ネットワークなどを表し得る。たとえば、通信デバイス110-Aおよび110-Zは、それぞれ、カスタマルータおよびプロバイダルータ、プロバイダルータのペア、通信ネットワーク(例えば、企業ネットワークに関連付けられた顧客ルータ、データセンタネットワークに関連付けられた顧客ルータなど)を介して通信するカスタマルータのペアなどであり得る。前述の例は、例示的な実施形態が通信デバイスの通信のためのセキュリティをサポートするために使用され得る方法のうちのいくつかにすぎないことが理解されよう。
【0037】
通信デバイス110は、通信ネットワーク120を介して通信デバイス110間で交換される通信のためのセキュリティをサポートするように構成される。通信デバイス110は、暗号化機能および認証機能をサポートするネットワークセキュリティプロトコルに基づいて通信のためのセキュリティをサポートするように構成され得る。たとえば、通信デバイス110-Aから通信デバイス110-Zに送信されるパケットについて、通信デバイス110-Aは、ネットワークセキュリティプロトコルに基づいてパケットに暗号化および認証を適用し得、通信デバイス110-Zは、ネットワークセキュリティプロトコルに基づいて認証を検証し復号を実行し得る。同様に、たとえば、通信デバイス110-Zから通信デバイス110-Aに送信されるパケットについて、通信デバイス110-Zは、ネットワークセキュリティプロトコルに基づいてパケットに暗号化および認証を適用し得、通信デバイス110-Aは、認証を検証し、ネットワークセキュリティプロトコルに基づいて復号を実行し得る。
【0038】
通信デバイス110は、レイヤ2ネットワークセキュリティプロトコルを使用してレイヤ2上で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。通信デバイス110は、レイヤ2ネットワークセキュリティプロトコルを使用してレイヤ2.5(例えば、マルチプロトコルラベルスイッチング(MPLS)プロトコルまたは他の適切なレイヤ2.5プロトコル)で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。通信デバイス110は、レイヤ2ネットワークセキュリティプロトコルを使用してレイヤ3(例えば、IPバージョン4(IPv4)もしくはIPバージョン6(IPv6)などのインターネットプロトコル(IP)、または他の適切なレイヤ3プロトコル)で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。
【0039】
通信デバイス110は、レイヤ2ネットワークセキュリティプロトコルを使用して、レイヤ2上で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得、レイヤ2上で動作する通信プロトコルの通信は、レイヤ2(例えば、イーサネット(登録商標)または他の適切なレイヤ2通信プロトコル)で動作する通信プロトコルを使用してトランスポートされる。通信デバイス110は、レイヤ2ネットワークセキュリティプロトコルのいくつかの態様を使用して、レイヤ2上で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得、レイヤ2ネットワークセキュリティプロトコルは、暗号化機能および認証機能(例えば、IEEE802.1AEなどのIEEE(Institute of Electrical and Electronics Engineers)802プロトコルまたは他の適切なタイプのレイヤ2ネットワークセキュリティプロトコル)をサポートするように構成される。通信デバイス110は、通信経路120に沿ったデバイスが、平文で残されたパケットの部分(例えば、パケットがMPLSパケットであるMPLSラベルの切り替え、パケットがIPパケットであるIPアドレスに基づくルーティングなど、ならびにそれらの様々な組合せ)に基づいてパケットを処理することができるように、パケットの部分が平文で残される(すなわち、暗号化されず、認証されない)ことを可能にする方式で、通信のためのセキュリティをサポートするように構成され得る。
【0040】
通信デバイス110は、通信セキュリティ要素111の使用に基づいて通信のためのセキュリティをサポートするように構成され得る。より具体的には、通信デバイス110-Aは、通信セキュリティ要素111-Aに基づいて、通信デバイス110-Zに向けて送信されたパケット(たとえば、暗号化および認証計算機能)と、通信デバイス110-Zから受信されたパケット(たとえば、復号および認証検証機能)とのセキュリティをサポートするように構成されてよく、同様にして、通信デバイス110-Zは、通信セキュリティ要素111-Zに基づいて、通信デバイス110-Aに向けて送信されたパケット(たとえば、暗号化および認証計算機能)と、通信デバイス110-Aから受信されたパケット(たとえば、復号および認証検証機能)とのためのセキュリティをサポートするように構成され得る。通信セキュリティ要素111は、本明細書で提示される様々な例示的な実施形態による、通信のためのセキュリティをサポートするための様々な他の機能をサポートするように構成され得る。
【0041】
システム100は、主に要素の比較的単純な配置の文脈内で提示されるが、本明細書で提示される様々な例示的な実施形態による安全な通信をサポートし得る任意の要素(たとえば、デバイス、ネットワークなど)を含む任意のシステムであり得ることが理解されよう。
【0042】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコル(たとえば、IEEE802.1AE)のいくつかの態様を使用してレイヤ2.5(たとえば、MPLS)において動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。
【0043】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、IEEE 802.1AEなどのレイヤ2ネットワークセキュリティプロトコルのいくつかの態様を使用して、レイヤ2.5通信プロトコルを使用して動作する通信経路上のデバイスがレイヤ2.5通信プロトコルヘッダ上で動作することを可能にする方法で、MPLSなどのレイヤ2.5通信プロトコルの通信のためのセキュリティをサポートし得る(例えば、レイヤ2.5 MPLS対応ルータがMPLSヘッダに基づいて決定を行うことができるように、ヘッダを読み取り、変更することなどによって、ヘッダ上で動作する)。このように、ネットワーク全体にわたって、MPLSヘッダは、平文でかつ認証されないままであり、したがって、任意のLSRルータは、パケットをあるPEから次のPEに転送するために、MPLSヘッダを読み取り、修正することができる。この動作は、非常に動的であり得、ユーザは、構成を介して、どのMPLSトンネルまたはサービスが暗号化されるべきかを指示し得ることが理解されるであろう(しかし、MPLS通信のためのセキュリティをサポートするための実施形態のこのタイプの選択的アプリケーションもまた、種々の方法で自動化され得ることが理解されるであろう)。
【0044】
多くのネットワークはMPLSをトランスポート層として使用し、したがって、移動、セキュリティ、および暗号化は、多くの状況においてMPLSトランスポートにとって重要であると予想される。例えば、サイバー攻撃の数が増えるにつれて、MPLSトランスポート層を保護するための低レイテンシおよび高スループット暗号化の必要性が高まっている。しかしながら、暗号化は、ネットワークにおいてかなりの量のリソースを消費し(例えば、中央処理装置(CPU)電力の使用の増加、暗号化アクションを実行するためのトランスポートに追加されるレイテンシの増加など)、したがって、ネットワークにおいて比較的高価な動作。加えて、MPLS暗号化は、概して、ほとんどの暗号化がレイヤ3IP(すなわち、IPSec)およびレイヤ2イーサネット(登録商標)(すなわち、MACSec)において行われるため、ネットワークでは使用されない。
【0045】
様々な例示的な実施形態は、MPLSデータパスセキュリティをサポートする方式でIEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするように構成され得、比較的低いCPUリソース使用量ならびに暗号化および認証機能のための比較的小さいまたは追加のレイテンシの導入を伴って、トンネルレイヤまたはサービスレイヤにおいてラインレートでMPLSパケットの暗号化および認証をサポートする。MPLS暗号化は、IEEE802.1AE規格(これは、典型的には、レイヤ2イーサネット暗号化(すなわち、MACSec)において使用される)およびアドバンスト暗号化標準ガロア/カウンタモード(AES-GCM)アルゴリズム(例えば、AES-128、AES-256などに基づく)のいくつかの態様を使用して、トンネル層またはサービス層において任意のMPLSパケットを暗号化することができる。
【0046】
様々な例示的な実施形態では、IEEE802.1AEのいくつかの態様を介してMPLSセキュリティを可能にするために、以下の能力が使用され得る。
【0047】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするために、暗号化されるべき所望のトンネルまたはサービスが識別され得る。暗号化されるべき所望のトンネルまたはサービスは、ラベル値に基づいて識別され得る。トンネルが暗号化されている場合、サービスラベルは暗号化されるか、または平文で残され得る。サービスが暗号化されている場合、サービスラベルは平文のテキストである必要がある。例えば、暗号化に使用されるハードウェアは、トンネルのラベルスタックまたはトンネルおよびサービスのラベルスタックにロックし、トンネルまたはサービスを暗号化可能(例えば、暗号化可能トンネルまたは暗号化可能サービス)であるとして識別し、AES-GCM-128/256を介してのみそのトンネルまたはサービスを暗号化するように構成されてもよい。
【0048】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするため、トンネルまたはトンネルおよびサービスのためのMPLSラベルスタックは、802.1AEヘッダの上部に配置され、暗号化または認証されない。これにより、MPLSネットワークは、MPLSヘッダを読み取り、MPLSヘッダ上で動作することができる。
【0049】
例えば、MPLSヘッダを暗号化されず認証されないままにしておくことにより、MPLSネットワークは、MPLSラベルスタックを読み取り、MPLSラベルスタックに基づいて適切な転送決定を行うことができる。MPLSラベルスタックが暗号化されている場合、MPLSネットワークは、ラベル値を読み取り、ラベル値に基づいて適切な転送決定を行うためにMPLSラベルスタックを読み取ることができない。
【0050】
例えば、MPLSヘッダを暗号化されず認証されないままにしておくことで、MPLSネットワークは必要に応じてMPLSラベルスタックを操作することができる。例えば、MPLSラベルスタックからラベルが削除されたり、MPLSラベルスタックにラベルが追加されたりする(例えば、MPLS fast re-route(FRR)やセグメントルーティング(SR)のようなMPLSフォワーディング標準に基づいて、LSPのパス上で特定のラベルがポップされたりプッシュされたりする)。認証がMPLSラベルスタック上で計算され、MPLSラベルスタックがMPLSパケットの経路に沿って変化する場合、宛先で計算されたCRCは失敗する。MPLSラベルスタックの操作を依然として許可しながらこのタイプの認証失敗を回避するために、上述のように、認証はMPLSラベルスタックにわたって計算されない。
【0051】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするために、MPLSパケットがイーサネット(登録商標)技術を介してトランスポートされている場合、イーサネット(登録商標)ヘッダはまた、暗号化されず、認証されないままにされ得、それによって、宛先におけるCRCチェックの失敗を引き起こすことなく、イーサネット(登録商標)ヘッダに対する動作を可能にする。
【0052】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用は、
図2のパケットフォーマットを参照することによってさらに理解され得ることが理解されよう。
【0053】
図2は、IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするための方式でパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図2に示すように、パケット200は、ペイロードと、ペイロードに付加された802.1AEヘッダと、802.1AEヘッダに付加されたMPLSヘッダ(802.1AEヘッダに付加された第1のラベルと、第1のラベルに付加された第2のラベルとを含む)、MPLSヘッダに付加されたイーサネットヘッダ(Second Labelに付加されたEtherType MPLSフィールド、EtherType MPLSフィールドに付加されたSMACフィールド、及びSMACフィールドに付加されたDMACフィールドを含む)、ペイロードに付加されたICV(Integrity Check Value)フィールド、及びICVフィールドに付加されたCRC(Cyclic Redundancy Check)フィールドを含む。
【0054】
パケット200は、暗号化される第1の部分(ペイロードを含む)と、認証される第2の部分(ペイロードおよび802.1AEヘッダを含む)と、暗号化も認証もされない第3の部分(MPLSヘッダ、イーサネットヘッダ、ならびにICVおよびCRCフィールドを含む)とを含む。特定のタイプのMPLSラベルが暗号化されず、IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするために認証されないままである例示的な実施形態に関して主に提示されるが、様々な他のタイプのMPLSラベルは、様々なタイプのMPLSソリューション(例えば、ボーダーゲートウェイプロトコル(BGP)-ラベル付きユニキャスト(BGP-LU)ラベル、エントロピーラベルインジケータ(ELI)ラベル、エントロピーラベル(EL)など、ならびにそれらの様々な組合せ)のためのIEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするために、暗号化されず、認証されないままにされ得ることが理解されよう。本明細書に示されるように、これは、MPLSヘッダを暗号化されず、認証されないままにし、それによって、経路に沿ったデバイスが必要に応じてMPLSヘッダ上で動作することを可能にする。
【0055】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするため、MPLSパケットの通信に関与するラベルエッジルータ(LER)、すなわち、入口LER(ILER)および出口LER(ELER)は、IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするための様々な機能をサポートするように構成され得る。
【0056】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするために、ILERは、特定のMPLSトンネルまたはサービスを暗号化および認証するように構成される。ILERは、パケットの上にMPLSトンネルまたはサービスのための適切なMPLSラベルをプッシュする。ILERは、このMPLSラベルスタックを有するハードウェアを、暗号化および認証されるようにプログラムし、適切なAES-GCM-128/256鍵をプログラムして、このMPLSトンネルまたはサービスを暗号化されたMPLSトンネルまたはサービスとして識別および暗号化する。パケットは適切なMPLSラベルで構築され、802.1AE MPLS暗号化(例えば、802.1AE MPLS暗号化対応ハードウェアを使用する)を通過する。ILERは、各MPLSパケットを調べ、MPLSパケットがこの特定のMPLSトンネルまたはサービスのMPLSラベルスタックと一致する場合、パケットを暗号化する。ILERは、IEEE802.1AE規格のいくつかの態様に従ってMPLSラベルスタックの後に802.1AEヘッダを追加し、次いで、IEEE802.1AEのいくつかの態様に従って、AES-GCM-128/256を使用してパケットのペイロード(すなわち、MPLSスタック後のデータである)を暗号化する。ILERはまた、802.1AEヘッダおよびペイロード上で(例えば、認証アルゴリズムを使用して)認証を実行するが、MPLSラベルスタックまたはイーサネットヘッダ上でいかなる認証も実行せず、それによって、MPLSラベルスタックが、MPLS暗号化および復号ルータを接続するMPLS LSRルータを介して検査および操作されることを可能にする。
【0057】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするために、ILERは、暗号化および認証されるべきパケットの部分に暗号化および認証をそれぞれ適用するために、暗号化および認証オフセットの使用をサポートし得る。暗号化および認証オフセットは、様々な方法で指定することができる(例えば、開始バイト/ビット位置および長さ、開始および終了バイト/ビット位置などを使用する)。ILERは、それぞれ暗号化および認証されるパケットの部分を識別するために、プログラム可能かつ柔軟な暗号化および認証オフセットの使用をサポートすることができる。ILERは、MPLSトンネルまたはサービスのMPLSヘッダに含まれるMPLSラベルのセット(例えば、ソフトウェアは暗号化及び認証オフセットを計算する)に基づいて暗号化および認証オフセットを計算することができる。ILER(例えば、ハードウェアおよび/またはソフトウェア)は、暗号化のための任意のオフセットおよび認証のための任意のオフセットのプログラミングを可能にし、それによって、任意のパケットが、フロー暗号化および認証ニーズに基づいて、適切なオフセットで暗号化および認証されることを可能にするように、充分にフレキシブルかつ充分にプログラム可能であり得る。所与のMPLSトンネルまたはサービスに適用され得る様々なネットワークシナリオが与えられると、ILERは、所与のMPLSトンネルまたはサービスに適用され得る様々なネットワークシナリオに対するMPLSトンネルまたはサービスへの暗号化および認証の適切な適用をサポートするために、所与のMPLSトンネルまたはサービスに対する暗号化および認証オフセットの複数のセットを維持することができる。ILERによってサポートされるさまざまなMPLSトンネルまたはサービスに対して、少数またはより多くの、ならびに異なるネットワークシナリオに対する暗号化および認証オフセットがILERによって維持され得ることが理解されよう。
【0058】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするため、暗号化されたパケットは、MPLS転送ネットワークを介して、ILERからELERに転送され、LSRルータは、平文である適切なOSIレイヤヘッダに基づいて暗号化されたパケットに対して様々な動作を実行することができる。例えば、これらのLSRルータは、MPLSラベルスタックに基づいてスイッチング決定を行うことができる。たとえば、これらのLSRルータは、必要に応じて、およびIETF MPLS規格に従って、MPLSラベルスタックを操作することができる(たとえば、FRR、トラフィックエンジニアリング(TE)など、ならびにそれらの様々な組合せのためのラベルを除去および/または追加する)。LSRルータは、暗号化されていないMPLSヘッダおよび認証されていないMPLSヘッダに基づいて、暗号化されたパケットに対してこれらの動作ならびに様々な他の動作を実行することが可能であり得ることが理解されよう。
【0059】
IEEE802.1AEのいくつかの態様を使用してMPLSセキュリティをサポートするために、ELERは、特定のMPLSトンネルまたはサービスを復号し、特定のMPLSトンネルまたはサービスのための認証をサポートするように構成される。パケットがELERに到達すると、MPLSラベルスタックは、このルータをELERルータとして識別する。ELERは、MPLSトンネルまたはサービスパケットを復号することができるようにIEEE802.1AEを識別する。ELERは、到着MPLSラベルスタックが、暗号化されたMPLSトンネルまたはサービスとしてMPLSトンネルまたはサービスを識別するためにELERによって使用され得るように、到着MPLSラベルスタックでプログラムされる。ELERは、MPLSラベルスタックがMPLSトンネルまたはサービスに関連付けられていることを示す到着MPLSラベルスタックと一致するパケット内のMPLSラベルスタックの識別に基づいて、かつIEEE802.1AEヘッダの存在に基づいて、IEEE802.1AEプロシージャのいくつかの態様を使用して、パケットを復号し、802.1AEヘッダおよびペイロード上で認証を実行して、CRCエラーがないことを保証する。次いで、ELERは、通常のMPLSデータパスを介してパケットを処理することができる。
【0060】
IEEE802.1AEのいくつかの側面を使用してMPLSセキュリティをサポートするための様々な例示的な実施形態は、MPLSヘッダを除くパケットの部分で暗号化と認証を実行することによって(たとえIPとMPLSヘッダを含んでいても802.1AEヘッダの後の任意のバイトを暗号化し、パケット全体で認証を実行するのとは対照的に)、MPLSが可能なルータがMPLSドメインを通して(例えば、プロバイダエッジルータ間で)暗号化されたパケットを転送するためにレイヤ2.5のMPLSヘッダを選択的に使用することを可能にすることが理解されるであろう。
【0061】
IEEE802.1AEのいくつかの態様を使用するMPLSセキュリティが暗号化および認証を含む例示的な実施形態に関して主に提示されるが、少なくともいくつかの例示的な実施形態では、IEEE802.1AEのいくつかの態様を使用するMPLSセキュリティは、暗号化なしの認証を含み得ることが理解されよう。
【0062】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルを使用して、レイヤ2.5で動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得、レイヤ2ネットワークセキュリティプロトコルの使用に基づいて、レイヤ2.5で動作する通信プロトコルの通信のためのセキュリティをサポートするための様々な他の機能をサポートするように構成され得ることが理解されよう。
【0063】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコル(たとえば、IEEE802.1AE)のいくつかの態様を使用してレイヤ3(たとえば、IP)において動作する通信プロトコルの通信のためのセキュリティをサポートするように構成され得る。
【0064】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、IEEE 802.1AEなどのレイヤ2ネットワークセキュリティプロトコルのいくつかの態様を使用して、レイヤ3通信プロトコルを使用して動作する通信経路に沿ったデバイスがレイヤ3通信プロトコルヘッダ上で動作することを可能にする方法で、IPなどのレイヤ3通信プロトコルの通信のためのセキュリティをサポートすることを可能にし得る(例えば、レイヤ3IP対応ルータがIPヘッダに基づいて決定を行うことができるように、ヘッダを読み取り、変更することなどによって、ヘッダ上で動作する)。このように、ネットワーク全体を通して、IPヘッダは、平文でかつ認証されないままであり、したがって、任意のIPルータは、パケットをあるPEから次のPEに転送するために、IPヘッダを読み取り、随意に、修正することができる。IPヘッダは、典型的には、セグメントルーティングオーバーIPv6(SRv6)ネットワークでなければ修正されないが、パケットは、ヘッダの修正を必要とし得るMPLSおよびIPトンネリング技術を介して依然としてトンネリングされ得ることが理解されるであろう。この動作は、非常に動的であり得、ユーザは、構成を介して、どのIPフローが暗号化されるべきかを指示することが可能であり得ることが理解されるであろう(しかし、IP通信のためのセキュリティをサポートするための実施形態のこのタイプの選択的適用はまた、様々な方法で自動化され得ることが理解されるであろう)。
【0065】
IPを使用する多くのネットワークは、IPセキュリティ(IPSec)およびIPSecカプセル化セキュリティペイロード(ESP)などのセキュリティプロトコルの使用に基づいてIPのためのセキュリティを提供する。しかしながら、IPSecは、概して、真のハードウェア暗号化サポートを提供することなく、かなりのCPUリソースを消費し、ラインレートではなく、さらに、IPSec ESPは、パケット転送において比較的高い待ち時間をもたらす。これは、IPSecを、比較的低いレイテンシが必要とされるタイムセンシティブネットワーキング(TSN)などのレイテンシセンシティブネットワーキングアプリケーションに不適切なものにする。
【0066】
様々な例示的な実施形態は、IPデータパスセキュリティをサポートする方式でIEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするように構成され得、比較的低いCPUリソース使用ならびに暗号化および認証機能のための比較的小さい追加のレイテンシの導入を伴って、選択されたIPフローのためのラインレートでIPパケットの暗号化および認証をサポートする。IP暗号化は、IEEE802.1AE規格(これは、典型的には、レイヤ2イーサネット暗号化(すなわち、MACSec)において使用される)およびAES-GCMアルゴリズム(例えば、AES-128、AES-256などに基づく)のいくつかの態様を使用して、IPフロー層において任意のIPパケットを暗号化することができる。
【0067】
様々な例示的な実施形態では、IEEE802.1AEのいくつかの態様を介してIPセキュリティを可能にするために、以下の能力が使用され得る。
【0068】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするために、暗号化されるべき所望のIPフローが識別され得る。暗号化されるべき所望のIPフローは、タプルマッチングまたはバイトマッチング(例えば、送信元IPアドレスと宛先IPアドレスのマッチング、宛先IPアドレスのマッチングなどである)の形態でのIPヘッダマッチング、ディープパケット検査などの様々なIPフローマッチング技法に基づいて識別され得る。たとえば、暗号化のために使用されるハードウェアは、IPパケット(例えば、ハードウェア三元コンテンツアドレス可能メモリ(TCAM)に基づく)のいくつかの部分を照合して、IPパケットが、IEEE802.1AEのいくつかの態様を使用するIPセキュリティが適用されるべきIPフローに属するかどうかを決定することができる。
【0069】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするため、IPフローのIPヘッダは802.1AEヘッダの上に配置され、IPヘッダは暗号化または認証されない。これにより、IPネットワークは、IPヘッダを読み込み、IPヘッダ上で動作することができる。
【0070】
例えば、IPヘッダを暗号化されず認証されないままにしておくことにより、IPネットワークはIPヘッダを読み取り、IPヘッダに基づいて適切なルーティング決定を行うことができる。IPヘッダが暗号化される場合、IPネットワークは、IPヘッダフィールドを読み取り、IPヘッダフィールドに基づいて適切な転送決定を行うためにIPヘッダを読み取ることができない。
【0071】
例えば、IPヘッダを暗号化されず認証されないままにしておくことで、IPネットワークは、必要に応じてIPヘッダのヘッダフィールドを変更するなど(例えば、TTL(Time-to-Live)フィールドのデクリメント、トランジットIPルータのQoS(Quality-of-Service)設定に基づくDSCP(Differentiated Services Code Point)フィールドの変更など、およびそれらの様々な組み合わせ)、必要に応じてIPヘッダを操作することが可能になる。認証がIPヘッダ上で計算され、IPヘッダがIPパケットの経路に沿って変化する場合、宛先で計算されたCRCは失敗する。
【0072】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするために、IPフローがMPLS技術(たとえば、ショートカット、VPRNなど)を介してトランスポートされている場合、MPLSヘッダはまた、暗号化されず、認証されないままにされ、これにより、宛先におけるCRCチェックの失敗を引き起こすことなく、MPLSヘッダに対する動作(例えば、特定のラベルがパス上にポップ及び/又はプッシュされるMPLS FRR又はSRのようなMPLS転送規格に基づく)を可能にする。
【0073】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするために、IPフローがdot1q技術を介してトランスポートされている場合、dot1qヘッダは、暗号化されず認証されないままにされ、それによって、宛先におけるCRCチェックの失敗を引き起こすことなく、dot1qタグに対する動作(たとえば、dot1qタグを追加および/または除去すること)を可能にする。
【0074】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするために、IPフローがイーサネット(登録商標)技術を介してトランスポートされている場合、イーサネット(登録商標)ヘッダは、暗号化されず、認証されないままにされ、それによって、宛先におけるCRCチェックの失敗を引き起こすことなく、イーサネット(登録商標)ヘッダに対する動作を可能にする。
【0075】
MPLSヘッダおよびイーサネット(登録商標)ヘッダを平文で残すことにより、任意の技術(例えば、dot1q VLAN交換ネットワーク、MPLSトンネルを介してIPパケットをトンネリングすることによるMPLSネットワークなど、ならびにそれらの様々な組合せ)を介したIPフローのトランスポート(例えば、IPトランスポートおよびトンネリング)が可能になることに留意されたい。
【0076】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用は、
図3A~
図3Cおよび
図4A~
図4Cのパケットフォーマットを参照することによってさらに理解され得ることが理解されよう。
【0077】
図3A~
図3Cは、IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図3のパケットフォーマットは、レイヤ3ヘッダ、レイヤ2.5ヘッダを残す方式でIEEE802.1AEのいくつかの態様を介してIPパケットペイロードの暗号化および認証をサポートするように構成される。そして、レイヤ2ヘッダは、パケットがIPネットワークを介してルーティング可能であり、パスに沿ったデバイスが、復号ルータ(例えば、種々の層における種々のフィールドまたはヘッダの除去、修正、および/または追加)におけるいかなる問題または障害も伴わずに、暗号化されず、認証されないこれらのフィールドのいずれかに基づいて動作を実行することができるように、平文かつ認証されない。
【0078】
図3Aは、IEEE802.1AEのいくつかの態様を使用してIPv4パケットのIPセキュリティをサポートするための方法でパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図3Aに示されるように、パケット300-Aは、ペイロード、ペイロードにプリペンドされたEtherType(ETYPE)フィールド、ETYPEフィールドにプリペンドされた802.1AEヘッダ、802.1AEヘッダにプリペンドされたIPv4ヘッダ、IPv4ヘッダにプリペンドされたイーサネットヘッダ(IPv4ヘッダにプリペンドされたEtherType IPv4フィールド、EtherType IPv4フィールドにプリペンドされたSMACフィールドを含む)、1AEヘッダ、IPv4ヘッダに付加されたイーサネットヘッダ(IPv4ヘッダに付加されたEtherType IPv4フィールド、EtherType IPv4フィールドに付加されたSMACフィールド、およびSMACフィールドに付加されたDMACフィールドを含む)、ペイロードに付加された整合性チェック値(ICV)フィールド、およびICVフィールドに付加された巡回冗長検査(CRC)フィールドを含む。パケット300-Aは、(ペイロードおよびETYPEフィールドを含む)暗号化される第1の部分と、認証される第2の部分(ペイロードと、ETYPEフィールドと、802.1AEヘッダとを含む)と、暗号化も認証もされない第3の部分(IPv4ヘッダおよびイーサネットヘッダ、ならびにICVおよびCRCフィールドを含む)とを含む。本明細書に示されるように、これは、IPv4ヘッダおよびイーサネット(登録商標)ヘッダを暗号化されず、認証されないままにし、それによって、経路に沿ったデバイスが必要に応じてIPv4ヘッダおよび/またはイーサネット(登録商標)ヘッダ上で動作することを可能にする。
【0079】
図3Bは、IEEE802.1AEのいくつかの態様を使用してIPv6パケットのIPセキュリティをサポートするための方法でパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図3Bに示すように、パケット300-Bは、ペイロードと、ペイロードに付加されたイーサタイプ(EtherType:ETYPE)フィールドと、ETYPEフィールドに付加された802.1AEヘッダと、802.1AEヘッダに付加されたIPv6ヘッダと、IPv6ヘッダに付加されたイーサネットヘッダ(IPv6ヘッダに付加されたEtherType IPv6フィールドと、EtherType IPv6フィールドに付加されたSMACフィールドと、SMACフィールドに付加されたDMACフィールドとを含む)と、ペイロードに付加された完全性チェック値(Integrity Check Value:ICV)フィールドと、ICVフィールドに付加されたCRC(Cyclic Redundancy Check)フィールドとを含む。パケット300-Bは、(ペイロードおよびETYPEフィールドを含む)暗号化される第1の部分と、認証される第2の部分(ペイロードと、ETYPEフィールドと、802.1AEヘッダとを含む)と、暗号化も認証もされない第3の部分(IPv6ヘッダ及びイーサネットヘッダ、並びにICV及びCRCフィールドを含む)とを含む。本明細書に示されるように、これは、IPv6ヘッダおよびイーサネット(登録商標)ヘッダを暗号化されず、認証されないままにし、それによって、経路に沿ったデバイスが必要に応じてIPv6ヘッダおよび/またはイーサネット(登録商標)ヘッダ上で動作することを可能にする。
【0080】
図3Cは、IPパケットがMPLSに基づいてトランスポートされるIEEE802.1AEのいくつかの態様を使用してIPパケットのIPセキュリティをサポートするための方法でパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。たとえば、IPパケットは、MPLSトンネルを介してネットワークのある部分にわたって、またはネットワーク全体にわたってトランスポートされ得る。
図3Cに示されるように、パケット300-Cは、ペイロード、ペイロードにプリペンドされたEtherType(ETYPE)フィールド、ETYPEフィールドにプリペンドされた802.1AEヘッダ、802.1AEヘッダにプリペンドされたIPヘッダ(IPv4またはIPv6であり得る)、802.1AEヘッダにプリペンドされたMPLSヘッダ(IPヘッダにプリペンドされた第1のラベルと第1のラベルにプリペンドされた第2のラベルを含む)、MPLSヘッダにプリペンドされたイーサネットヘッダ(EtherType MPLSフィールドにプリペンドされたEtherType MPLSフィールドを含む)、802.1AEヘッダ(IPヘッダにプリペンドされたファーストラベルとファーストラベルにプリペンドされたセカンドラベルを含む)、MPLSヘッダにプリペンドされたイーサネットヘッダ(セカンドラベルにプリペンドされたEtherType MPLSフィールド、EtherTypeMPLSフィールドに付加されたSMACフィールド、SMACフィールドに付加されたDMACフィールドを含む)、ペイロードに付加された整合性チェック値(ICV)フィールド、ICVフィールドに付加された巡回冗長検査(CRC)フィールドを含む。パケット300-Cは、暗号化された第1の部分(ペイロードおよびETYPEフィールドを含む)、認証された第2の部分(ペイロード、ETYPEフィールド、および802.1AEヘッダを含む)、および暗号化も認証もされていない第3の部分(IPヘッダ、MPLSヘッダ、およびイーサネットヘッダ、ならびにICVおよびCRCフィールドを含む)を含む。本明細書に示されるように、これは、IPヘッダ、MPLSヘッダ、およびイーサネット(登録商標)ヘッダを暗号化されず、認証されないままにし、それによって、経路に沿ったデバイスが必要に応じてIPヘッダ、MPLSヘッダ、および/またはイーサネット(登録商標)ヘッダのうちの1つまたは複数上で動作することを可能にする。
【0081】
図4A~
図4Cは、IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための方法でのパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図4A~
図4Cのパケットフォーマットは、レイヤ3ヘッダ、レイヤ2.5ヘッダ、dot1qタグを残す方式でIEEE802.1AEのいくつかの態様を介してIPパケットペイロードの暗号化および認証をサポートするように構成される。そして、レイヤ2ヘッダは、パケットがIPネットワークを介してルーティング可能であり、デバイスが、復号ルータ(例えば、種々の層における種々のフィールドまたはヘッダの除去、修正、および/または追加)におけるいかなる問題または障害も伴わずに、暗号化されておらず認証されていないこれらのフィールドのいずれかに基づいて動作を実行することができるように、平文かつ認証されていない。
図4A~
図4Cのパケットフォーマットは、
図4A~
図4Cのパケットフォーマットがレイヤ3 IPヘッダとレイヤ2イーサネットヘッダ(例示的に、IPヘッダ上の802.1Qタグおよび802.1Qタグ上のEtherType dot1qタグに続いて、レイヤ2ヘッダのSMACおよびDMAC)との間にdot1qタグも含むことを除いて、
図3A~
図3Cのパケットフォーマットと同様である。
【0082】
図4Aは、パケットがdot1qタグも含むIEEE802.1AEのいくつかの態様を使用してIPv4パケットのIPセキュリティをサポートするための方法でパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図4Aに示すように、パケット400-Aは、ペイロードと、ペイロードにプリペンドされたイーサタイプ(ETYPE)フィールドと、ETYPEフィールドにプリペンドされた802.1AEヘッダと、802.1AEヘッダにプリペンドされたIPv4ヘッダと、IPv4ヘッダにプリペンドされた802.1Qタグと、802.1Qタグ(802.1QタグにプリペンドされたEtherType dot1qフィールドと、EtherType dot1qフィールドにプリペンドされたSMACフィールドと、SMACフィールドにプリペンドされたDMACフィールドとを含む)にプリペンドされたイーサネット(登録商標)ヘッダ、ペイロードに付加されたICV(Integrity Check Value)フィールド及びICVフィールドに付加されたCRC(Cyclic Redundancy Check)フィールドとを含む。パケット400-Aは、(ペイロードおよびETYPEフィールドを含む)暗号化される第1の部分と、認証される第2の部分(ペイロードと、ETYPEフィールドと、802.1AEヘッダとを含む)と、暗号化も認証もされない第3の部分(IPv4ヘッダ、802.1Qタグ、およびイーサネットヘッダ、ならびにICVおよびCRCフィールドを含む)とを含む。本明細書に示されるように、これは、IPv4ヘッダ、802.1Qタグ、およびイーサネット(登録商標)ヘッダを暗号化されず、認証されないままにし、それによって、必要に応じて、経路に沿ったデバイスがIPv4ヘッダ、802.1Qタグ、および/またはイーサネット(登録商標)ヘッダ上で動作することを可能にする。
【0083】
図4Bは、パケットがdot1qタグも含むIEEE802.1AEのいくつかの態様を使用してIPv6パケットのIPセキュリティをサポートするための方法でパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図4Bに示されるように、パケット400-Bは、ペイロードと、ペイロードにプリペンドされたイーサタイプ(ETYPE)フィールドと、ETYPEフィールドにプリペンドされた802.1AEヘッダと、802.1AEヘッダにプリペンドされたIPv6ヘッダと、IPv6ヘッダにプリペンドされた802.1Qタグと、802.1Qタグ(802.1QタグにプリペンドされたEtherType dot1qフィールドと、EtherType dot1qフィールドにプリペンドされたSMACフィールドと、SMACフィールドにプリペンドされたDMACフィールドとを含む)にプリペンドされたイーサネット(登録商標)ヘッダと、ペイロードに付加されたICV(Integrity Check Value)フィールド及びICVフィールドに付加されたCRC(Cyclic Redundancy Check)フィールドとを含む。パケット400-Bは、(ペイロードおよびETYPEフィールドを含む)暗号化される第1の部分と、認証される第2の部分(ペイロードと、ETYPEフィールドと、802.1AEヘッダとを含む)と、暗号化も認証もされない第3の部分(IPv6ヘッダ、802.1Qタグ、およびイーサネットヘッダ、ならびにICVおよびCRCフィールドを含む)とを含む。本明細書に示されるように、これは、IPv6ヘッダ、802.1Qタグ、およびイーサネット(登録商標)ヘッダを暗号化されず、認証されないままにし、それによって、必要に応じて、経路に沿ったデバイスがIPv6ヘッダ、802.1Qタグ、および/またはイーサネット(登録商標)ヘッダ上で動作することを可能にする。
【0084】
図4Cは、IPパケットがMPLSに基づいてトランスポートされ、パケットがdot1qタグも含む、IEEE802.1AEのいくつかの態様を使用してIPパケットのためのIPセキュリティをサポートするための方式でパケットへの暗号化および認証の適用を示すためのパケットフォーマットの例示的な実施形態を示す。
図4Cに示されるように、パケット400-Cは、ペイロードと、ペイロードにプリペンドされたイーサタイプ(ETYPE)フィールドと、ETYPEフィールドにプリペンドされた802.1AEヘッダと、802.1AEヘッダにプリペンドされたIPヘッダ(IPv4またはIPv6であり得る)と、802.1AEヘッダにプリペンドされたMPLSヘッダ(IPヘッダに付加された第1のラベルと、第1のラベルに付加された第2のラベルとを含むこと)と、MPLSヘッダに付加された802.1Qタグ、802.1Qタグに付加されたイーサネットヘッダ(802.1QタグにプリペンドされたEtherType dot1qフィールドと、EtherType dot1qフィールドにプリペンドされたSMACフィールドと、SMACフィールドにプリペンドされたDMACフィールドとを含む)、ペイロードに付加されたICV(Integrity Check Value)フィールド、及びICVフィールドに付加されたCRC(Cyclic Redundancy Check)フィールドとを含む。パケット400-Cは、(ペイロードおよびETYPEフィールドを含む)暗号化される第1の部分と、認証される第2の部分(ペイロードと、ETYPEフィールドと、802.1AEヘッダとを含む)と、暗号化も認証もされない第3の部分(IPヘッダ、MPLSヘッダ、802.1Qタグ、およびイーサネットヘッダ、ならびにICVおよびCRCフィールドを含む)とを含む。本明細書に示されるように、これは、IPヘッダ、MPLSヘッダ、802.1Qタグ、およびイーサネット(登録商標)ヘッダを暗号化されず、認証されないままにし、それによって、経路に沿ったデバイスが必要に応じてIPヘッダ、MPLSヘッダ、802.1Qタグ、および/またはイーサネット(登録商標)ヘッダのうちの1つまたは複数上で動作することを可能にする。
【0085】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするため、IPパケットの通信に関与するIPルータ、すなわち入口IPルータおよび出口IPルータは、IEEE802.1AEのいくつかの態様を使用してIP暗号化をサポートするための様々な機能をサポートするように構成され得る。
【0086】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするために、入口IPルータは、特定のIPフローを暗号化し、レイヤ3ネットワークを通してルーティングするための特定のIPフローの認証をサポートするように構成される。IEEE802.1AEのいくつかの態様を使用するIPセキュリティが適用されるべきIPフローは、ユーザによって、自動的になど、様々な方法で構成され得る。IEEE802.1AEのいくつかの態様を使用するIPセキュリティが適用されるべきIPフローは、様々な基準(例えば、送信元IPアドレスと宛先IPアドレスの組み合わせ、宛先IPアドレスのみなどである)に基づいて識別され得る。入口IPルータは、IPセキュリティ(例えば、ソフトウェアは、ハードウェアがIPフローマッチング基準に基づいてハードウェアを通過するパケットをマッチングすることができるように、IPフローマッチング基準をハードウェアにプログラムすることができる)の適用に関連するIPフローマッチング基準でプログラムされる。入口IPルータは、暗号化(例えば、ハードウェアはまた、802.1AEプロシージャを介してIEEE802.1AE SAKでプログラムされる)のためにIEEE802.1AEセキュアアソシエーション鍵(SAK)でプログラムされる。暗号化されるべき各IPフローは、IEEE802.1AE方法によって使用するためのそれ自体の暗号鍵を有するように構成され得ることが理解されよう。
【0087】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするために、入口IPルータは、暗号化および認証されるパケットの部分に暗号化および認証をそれぞれ適用するために、暗号化および認証オフセットの使用をサポートすることができる。暗号化および認証オフセットは、様々な方法で指定することができる(例えば、開始バイト/ビット位置および長さ、開始および終了バイト/ビット位置などを使用する)。入口IPルータは、プログラム可能かつ柔軟な暗号化および認証オフセットの使用をサポートすることができる。入口IPルータは、IPフロー(例えば、ソフトウェアは暗号化及び認証オフセットを計算する)のIPアドレスファミリー(例えば、IPv4またはIPv6)に基づいて暗号化および認証オフセットを計算することができる。入口IPルータは、IPパケットがMPLSトンネル(例えば、IP over MPLS、IP Fast Reroute(FRR) over MPLS for Loop-Free Alternate(LFA)またはTopology Independent-LFA(TILFA)など)上でカプセル化されるかどうかを判定し、MPLSトンネル(例えば、ユーザまたはソフトウェアは、IPパケットがMPLSトンネルを介してカプセル化されるかどうかを示すことができ、ソフトウェアは、MPLSトンネルのための適切な暗号化および認証オフセットをハードウェアにプログラムすることができる)のための適切な暗号化および認証オフセットをプログラムすることができる。入口IPルータ(例えば、ハードウェアおよび/またはソフトウェア)は、暗号化のための任意のオフセットおよび認証のための任意のオフセットのプログラミングを可能にし、それによって、任意のパケットが、フロー暗号化および認証ニーズに基づいて、適切なオフセットで暗号化および認証されることを可能にするように、充分にフレキシブルかつ充分にプログラム可能であり得る。入口IPルータは、所与のIPフローに適用され得る様々なネットワークシナリオを所与として、所与のIPフローに適用され得る様々なネットワークシナリオに対するIPフローへの暗号化および認証の適切な適用をサポートするために、所与のIPフローに対する暗号化および認証オフセットの複数のセットを維持することができる。たとえば、入口IPルータは、(1)MAC+IPヘッダ単独の暗号化と認証オフセット(IPフローがタグなしインターフェースから出る場合)、(2)MAC+dot1q vlanタグ+IPヘッダ暗号化と認証オフセット(IPフローがdot1qタグ付きインターフェースから出る場合)、(3)IPフローがMPLSトンネルを介して高速に再ルーティングされている場合、またはMPLSトンネルを介して解決される場合、MAC+MPLS+IPヘッダ暗号化と認証オフセット(トンネリングまたはMPLS上のIP FRRなど)のように、暗号化および認証オフセットを維持することができる。入口IPルータによってサポートされるさまざまなIPフローに対して、入口IPルータによって、少数またはより多くの、ならびに異なるネットワークシナリオに対する暗号化および認証オフセットを維持され得ることが理解されよう。
【0088】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするため、暗号化されたパケットは、IPネットワークを介して、入口IPルータから出口IPルータに転送され、適切なOSIレイヤヘッダが平文であることに基づいて、暗号化されたパケットに対して様々な動作を実行することができるトランジットIPルータを有する。たとえば、トランジットIPルータは、レイヤ3ルーティング決定を行うためにパケットからヘッダフィールド(たとえば、MACヘッダおよび任意選択でdot1qタグ)を除去し、次いで、レイヤ3ルーティング決定後にパケットにヘッダフィールド(たとえば、次のセグメントのMACヘッダおよび任意選択でdot1qタグ)を追加することができる。たとえば、トランジットIPルータは、IPヘッダ内の1つまたは複数のフィールドを修正することができる(たとえば、TTLフィールドをデクリメントすること、トランジットIPルータのQoS構成に基づいてDSCPフィールドを変更することなど)。例えば、トランジットIPルータは、MPLSを介してIPパケットをトンネリングするため又はMPLSを介してIP FRRをトンネリングするためにMPLSラベルを追加又は除去することができる。例えば、トランジットIPルータは、入力ポート及び出力ポートに応じてdot1qタグを追加又は除去することができる。トランジットIPルータは、暗号化されておらず認証されていないIPヘッダ、MPLSヘッダ、およびイーサネット(登録商標)ヘッダに基づいて、暗号化されたパケットに対してこれらの動作ならびに様々な他の動作を実行することが可能であり得ることが理解されよう。
【0089】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするために、出口IPルータは、特定のIPフローを復号し、レイヤ3ネットワークを通してルーティングするための特定のIPフローの認証をサポートするように構成される。入口IPルータのような出口IPルータは、データパス上で復号される必要がある適切なIPフローでプログラムされ得、したがって、データパスは、IPフローと整合し、IEEE802.1AEプロシージャのいくつかの態様を使用して復号プロシージャを開始することができる。復号されるIPフローのこのプログラミングは、手動で、シグナリングなどを介して行うことができる。出口IPルータは、IPフローのパケットが出口IPルータにおいて受信されるときにIPフローをマッチングすると、IEEE802.1AEヘッダおよびIEEE802.1AEプロシージャのいくつかの態様に基づいて、IPフローを暗号化されたフローとして識別し、IPフローのパケットを復号することができる。次いで、出口IPルータは、出口IPルータの転送規則に基づいて平文テキストパケットを転送することができる。
【0090】
IPフローがIEEE802.1AEのいくつかの態様を使用して暗号化および認証される例示的な実施形態に関して主に説明されるが、IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための様々な例示的な実施形態は、ネットワークによってサポートされるIPフローの少なくともいくつかが暗号化および認証され得るが、ネットワークによってサポートされるIPフローの少なくともいくつかは暗号化および認証され得ないように、選択的に適用され得ることが理解されよう。
【0091】
IEEE802.1AEのいくつかの態様を使用してIPセキュリティをサポートするための様々な例示的な実施形態は、(たとえそれがIPおよびMPLSヘッダを含み、パケット全体にわたって認証を実行する場合であっても、802.1AEヘッダの後の任意のバイトを暗号化することとは対照的に)存在し得る任意のMPLSヘッダをIPヘッダを除くパケットの部分に対して暗号化および認証を実行することによって、IP対応ルータが、レイヤ3IPヘッダを選択的に使用して、暗号化されたパケットをIPドメインを通して(例えば、プロバイダエッジルータ間で)転送することを可能にし、MPLS対応ルータが、レイヤ2.5MPLSヘッダを選択的に使用して、暗号化されたパケットをMPLSドメインを通して転送することを可能にし得、ここで、IPパケットは、MPLSを介してトランスポートされ、イーサネット対応デバイスが、L2イーサネットヘッダを選択的に使用して、イーサネットドメインを介して暗号化されたパケットを転送することを可能し得、ここで、IPパケットがイーサネットを介してトランスポートされることが理解されよう。
【0092】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルを使用して、レイヤ3において動作する通信プロトコルの通信のためのセキュリティをサポートするように構成されてよく、レイヤ2ネットワークセキュリティプロトコルの使用に基づいて、レイヤ3において動作する通信プロトコルの通信のためのセキュリティをサポートするための様々な他の機能をサポートするように構成されてよいことが理解されよう。
【0093】
図5は、通信のためのセキュリティをサポートするための方法の例示的な実施形態を示す。本明細書では主に連続的に実行されるものとして提示されるが、方法500の機能の少なくとも一部は、同時に、または
図5に示すものとは異なる順序で実行され得ることを理解されよう。
【0094】
ブロック501において、方法500が開始される。ブロック510において、パケットの通信をサポートするステップにおいて、パケットは、ペイロードと、第1の通信レイヤにおける第1の通信プロトコルのヘッダと、第1の通信レイヤの上の第2の通信レイヤにおける第2の通信プロトコルのヘッダとを含み、ペイロードを含むパケットの第1の部分は、第1の通信プロトコルに基づいて暗号化され、ペイロードと第1の通信プロトコルのヘッダを含むパケットの第2の部分は、第1の通信プロトコルに基づいて認証され、第2の通信プロトコルのヘッダを含むパケットの第3の部分は、第1の通信プロトコルに基づいて暗号化されず、第1の通信プロトコルに基づいて認証されないままである。
【0095】
パケットの第1の部分、パケットの第2の部分、およびパケットの第3の部分は、パケットに関連する暗号化オフセットおよびパケットに関連する認証オフセットに基づいて識別され得る。パケットの通信のサポートは、暗号化ノードによって、パケットの第1の部分の暗号化と、パケットの第2の部分を介した認証とを実行することと、暗号化ノードによって、宛先ノードに向けてパケットを送信することとを含み得る。パケットの通信のサポートは、ノードによって、パケットを受信することと、ノードによって、パケットの第3の部分に基づいて、ノードにおけるパケットの処理を決定することとを含み得る。パケットの通信のサポートは、ノードによって、パケットの第3の部分の少なくとも1つの態様を変更して、変更されたパケットを形成することと、ノードによって、宛先ノードに向けて変更されたパケットを送信することとを含み得る。パケットの通信のためのサポートは、復号ノードによって、パケットを受信することと、復号ノードによって、パケットの第2の部分に対する認証とパケットの第1の部分の復号とを実行することとを含み得る。
【0096】
第1の通信レイヤはレイヤ2にあってもよい。第1の通信プロトコルは、暗号化機能および認証機能をサポートするように構成されたネットワークセキュリティプロトコルであり得る。ネットワークセキュリティプロトコルは、IEEE802.1AEプロトコルの特徴をサポートする。
【0097】
第2の通信レイヤはレイヤ2の上にあってもよい。第2の通信レイヤは、レイヤ2.5またはレイヤ3にあってもよい。第2の通信プロトコルは、レイヤ2.5プロトコルまたはレイヤ3プロトコルであり得る。第2の通信プロトコルは、MPLSの特徴またはIPの特徴をサポートし得る。第2の通信プロトコルは、レイヤ2.5プロトコルであり得る。第2の通信プロトコルは、MPLSの特徴をサポートし得る。第2の通信プロトコルのヘッダは、MPLSラベルのセットを含み得る。パケットは、第1の通信レイヤにおける第3の通信プロトコルのヘッダを含み得る。第3の通信プロトコルのヘッダは、パケットの第3の部分に含まれ得る。第3の通信プロトコルは、イーサネットの特徴をサポートすることができる。
【0098】
第2の通信プロトコルは、レイヤ3プロトコルであり得る。第2の通信プロトコルは、IPの特徴をサポートすることができる。パケットは、第1の通信レイヤにおける第3の通信プロトコルのヘッダを含み得る。第3の通信プロトコルのヘッダは、パケットの第3の部分に含まれ得る。第3の通信プロトコルは、イーサネットの特徴をサポートすることができる。第3の通信プロトコルのヘッダは、ソースおよび宛先MACアドレスを含み得る。第3の通信プロトコルのヘッダは、少なくとも1つのイーサネット関連タグを含むことができる。パケットは、第3の通信レイヤにおける第3の通信プロトコルのヘッダを含み得る。第3の通信レイヤは、レイヤ2.5にあってもよい。
【0099】
第3の通信プロトコルは、レイヤ2.5プロトコルであり得る。第3の通信プロトコルは、MPLSの特徴をサポートし得る。第3の通信プロトコルのヘッダは、パケットの第3の部分に含まれ得る。パケットは、第1の通信レイヤにおける第4の通信プロトコルのヘッダを含み得る。第4の通信プロトコルのヘッダは、パケットの第3の部分に含まれ得る。第4の通信プロトコルは、イーサネットの特徴をサポートすることができる。第4の通信プロトコルのヘッダは、ソースおよび宛先MACアドレスを含み得る。第4の通信プロトコルのヘッダは、少なくとも1つのイーサネット関連タグを含む。パケットは、様々な他の部分、ヘッダ、フィールド、値、構成など、ならびにそれらの様々な組合せを含み得ることを理解されよう。
【0100】
ブロック599において、方法500は終了する。パケットの通信のためのサポートはまた、パケットの通信をサポートするものとして説明され得ることが理解されるように、パケットは、ペイロードと、第1の通信レイヤにおける第1の通信プロトコルのヘッダと、第1の通信レイヤの上の第2の通信レイヤにおける第2の通信プロトコルのヘッダとを含み、第1の通信プロトコルに基づいて暗号化されるパケットの第1の部分はペイロードを含み、第1の通信プロトコルに基づいて認証されたパケットの第2の部分は、第1の通信プロトコルのペイロードおよびヘッダを含み、第1の通信プロトコルに基づいて暗号化されておらず、第1の通信プロトコルに基づいて認証されていないパケットの第3の部分は、第2の通信プロトコルのヘッダを含む。
【0101】
通信のためのセキュリティをサポートするための様々な例示的な実施形態は、様々な利点または潜在的な利点を提供し得る。例えば、通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2より上の通信プロトコルを使用して動作する通信経路上のデバイスが、レイヤ2より上で動作する通信プロトコルのヘッダに基づいて動作することを可能にする方法で、レイヤ2ネットワークセキュリティプロトコルを使用して、レイヤ2より上で動作する通信プロトコルの通信のためのセキュリティをサポートすることを可能にすることができる(例えば、レイヤ2.5のMPLS対応ルータは、MPLSヘッダに基づいて決定を行うことができ、レイヤ3のIP対応ルータは、IPヘッダに基づいて決定を行うことができるなど)。
【0102】
例えば、通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルを使用して、レイヤ2より上で動作する通信プロトコルの通信のためのセキュリティをサポートすることを可能にし、レイヤ2より上で動作する通信プロトコルを使用して動作する通信経路に沿ったデバイスが、レイヤ2より上で動作する通信プロトコルのヘッダにアクセスするためにパケットを最初に復号化し、転送する前にパケットを再暗号化することなく、レイヤ2より上で動作する通信プロトコルのヘッダ上で動作することを可能にする(例えば、レイヤ2のネットワークセキュリティプロトコルが、レイヤ2の上位で動作する通信プロトコルのヘッダに暗号化を適用しないようにする等)。
【0103】
例えば、通信のためのセキュリティをサポートするための様々な例示的な実施形態は、レイヤ2ネットワークセキュリティプロトコルを使用して、レイヤ2より上で動作する通信プロトコルの通信のためのセキュリティを、レイヤ2より上の通信プロトコルを使用して動作する通信経路に沿ったデバイスが、CRC障害およびパケットのドロップを引き起こすことなく、レイヤ2より上で動作する通信プロトコルのヘッダ上で動作する(例えば、ヘッダのフィールドに変更を加える)ことを可能にする方法で、サポートすることを可能にし得る。例えば、通信のセキュリティをサポートするための様々な例示的な実施形態は、エンドツーエンドのMPLSトンネルまたはサービスの暗号化/認証および転送における使用に適した方法でIEEE802.1AEの適用を可能にすることができ、エンドツーエンドのIPフローの暗号化/認証および転送における使用に適した方法でIEEE802.1AEの適用を可能にすることができ、またはそのような方法、ならびにそれらの様々な組み合わせを可能にすることができる。
【0104】
例えば、通信のセキュリティをサポートするための様々な例示的な実施形態は、IEEE802.1AE(例えば、レイヤ3IPヘッダ、レイヤ2.5MPLSヘッダ、およびレイヤ2ヘッダ(例えば、イーサネットMACヘッダ、802.1Xヘッダなど)を平文のままにしておくことに基づく)を使用してマルチホップレイヤ3暗号化をサポートすることを可能にする方法でIEEE802.1AEの適用を可能にすることができ、これは、GRE(Generic Routing Encapsulation)トランスポートトンネル(例えば、仮想拡張ローカルエリアネットワーク(VXLAN)上のレイヤ2イーサネット仮想プライベートネットワーク(EVPN)またはレイヤ3GRE仮想プライベートルート化ネットワーク(VPRN)は、顧客データをマルチホップ暗号化して伝送することができる)、伝送遅延に敏感なアプリケーション(例えば、IP上の同期情報がネットワークをマルチホップ横断することができる精密時間プロトコル(PTP)G.8275.2)など、およびそれらの様々な組み合わせなどの多くの種類のアプリケーションで有用である。例えば、通信のためのセキュリティをサポートするための様々な例示的な実施形態は、IEEE802.1AEの様々な比較的強い属性(例えば、低遅延、ラインレートスループット、Time Sensitive Networking(TSN)への適合性など)を、レイヤ2より上の通信プロトコルの通信を保護しながら活用することを可能にする方法で、レイヤ2より上の様々な通信プロトコルの通信へのIEEE802.1AEの適用を可能にすることができる。通信のセキュリティをサポートするための様々な例示的な実施形態は、様々な他の利点または潜在的な利点を提供することができる。
【0105】
図6は、本明細書で提示される様々な機能を実行する際に使用するのに適したコンピュータの例示的な実施形態を示す。
【0106】
コンピュータ600は、プロセッサ602(例えば、中央処理装置(CPU)、プロセッサ、プロセッサコアのセットを有するプロセッサ、プロセッサのプロセッサコアなど)およびメモリ604(例えば、ランダムアクセスメモリ、リードオンリーメモリなどである)を含む。プロセッサ602およびメモリ604は、通信可能に接続され得る。少なくともいくつかの例示的な実施形態では、コンピュータ600は、少なくとも1つのプロセッサと、コンピュータ製品コードを含む少なくとも1つのメモリとを含み得、少なくとも1つのメモリおよびコンピュータ製品コードは、少なくとも1つのプロセッサを用いて、コンピュータ600に本明細書で提示される様々な機能を実行させるように構成される。
【0107】
コンピュータ600はまた、協働要素605を含んでもよい。協働要素605は、ハードウェアデバイスであってもよい。協働要素605は、本明細書で提示される様々な機能(この場合、例えば、協働要素605(関連するデータ構造を含む)は、記憶デバイスまたは他の適切なタイプの記憶要素(例えば、磁気ドライブ、光学ドライブなど)などの非一時的なコンピュータ可読記憶媒体に記憶され得る)を実装するためにメモリ604にロードされ、プロセッサ602によって実行され得るプロセスであり得る。
【0108】
コンピュータ600はまた、1つ以上の入力/出力デバイス606を含んでもよい。入力/出力デバイス606は、ユーザ入力デバイス(例えば、キーボード、キーパッド、マウス、マイクロフォン、カメラ等である)、ユーザ出力デバイス(例えば、ディスプレイ、スピーカ等である)、1つまたは複数のネットワーク通信デバイスまたは要素(例えば、入力ポート、出力ポート、受信機、送信機、送受信機などである)、1つまたは複数の記憶デバイス(例えば、テープドライブ、フロッピードライブ、コンパクトディスクドライブ、ハードディスクドライブ、ソリッドステートドライブなど)などのうちの1つまたは複数、ならびにそれらの様々な組合せを含み得る。
【0109】
コンピュータ600は、本明細書で説明する機能要素、本明細書で説明する機能要素の部分など、ならびにそれらの様々な組合せを実装するのに適した一般的なアーキテクチャおよび機能を表し得ることを理解されよう。たとえば、コンピュータ600は、通信デバイス110、通信デバイス110の一部分、通信セキュリティ要素111、通信セキュリティ要素111の一部分など、ならびにそれらの様々な組合せなど、本明細書で提示する1つまたは複数の要素を実装するのに適した一般的なアーキテクチャおよび機能を提供することができる。
【0110】
鍵配信
IEEE802.1AEは、元々、レイヤ2暗号化のみのために設計されていた。以下でANYSecと呼ばれる、上記で説明される技法は、IEEE802.1AEのいくつかの態様が、レイヤ2.5MPLSネットワークおよびレイヤ3IPネットワークを暗号化するために使用されることを可能にする。
【0111】
上述したように、IEEE 802.1AEのいくつかの側面を使用してIP/MPLSセキュリティをサポートするために、送信(TX)ノード(例えば、入口IP/MPLSルータ)は、特定のIP/MPLSフローを暗号化し、TXノードから受信(RX)ノード(例えば、出口IP/MPLSルータ)にレイヤ3/2.5ネットワークを介してルーティングするための特定のIPフローの認証をサポートするために使用されるセキュアアソシエーション鍵(SAK)を使用して構成される。RXノードがIP/MPLSフローを復号するために、RXノードは、TXノードがIP/MPLSフローを暗号化するために使用したのと同じSAKを有しなければならない。
【0112】
IEEE802.1AEは、IEEE802.1x2010に記載されているMACsec(Media Access Control Security)Key Agreement(MKA)をノード間の鍵配布に使用することを提案している。MKAは、セキュアな、完全に分散された、ポイントツーポイントまたはマルチポイントツーマルチポイントトランスポートと、暗号ベースのメッセージ認証コード(CMAC)-AES-128、CMAC-AES-256などの高度暗号化標準(AES)鍵ラップを使用する選択された鍵サーバによるセキュリティアソシエーション鍵の配信を含む、そのトランスポートのいくつかのアプリケーションとを含む。MKAは、そのトランスポートとしてレイヤ2拡張認証プロトコルオーバLAN(EAPoL)プロトコルを使用する。残念ながら、レイヤ2ヘッダを介したMKAトランスポートは、MPLS/IPネットワークにおいて使用可能ではない。本開示は、ANYSecのニーズを満たすために、インターネットプロトコル(IP)およびユーザデータグラムプロトコル(UDP)を介したTXノードからRXノードへのSAKのトランスポートを提供する。
【0113】
加えて、本開示は、暗号化フローおよびその対応するSAKが、ANYSecの場合、どのようにセキュリティチャネル識別子(SCI)を介して識別され得るかを詳述する。MACsecでは、MACアドレスと暗号化中のVLANからSCIが構築される。ANYSecおよびMPLS/IP暗号化の場合、SCIは、MPLSリンク状態プロトコル(LSP)トンネルまたはIPフローを一意に識別する。SCIは、暗号化TXノードを識別するための暗号化セグメント識別子(SID)と、暗号化TXノード上のトンネルの一意の識別子とを含む。SCIは、RXノード上で使用されて、(i)暗号化TXノードおよびTXノードフローを一意に識別し、(ii)TXノードから受信された暗号化フローを復号するために使用すべき適切なSAKを決定することができる。
【0114】
IEEE802.1x-2010のセクション9は、MACsec Key Agreement(MKA)プロトコルを詳細に説明する。セクション9.4、最後の段落は、MKAが、接続協会(CA)における参加者の相互認証のために設計され、任意のアプリケーションのために使用することができることを指摘する。したがって、ANYSecは、IPおよびMPLSフローを暗号化するためにIEEE802.1AEのいくつかの態様を使用するので、MKAは、ANYSecピアを認証するために使用される。MKAの1つの欠点は、データパス内のSCIをどのように識別するか、およびSCIがEAPoLパケット(すなわち、レイヤL2ヘッダのみ)としてトランスポートされるということである。
【0115】
第9節はまた、以下を指摘する:
・MKAは、ノードがCA鍵(CAK)を介して互いを発見および認証することを可能にし、通信を暗号化するために使用される秘密セキュリティ関連付け鍵に同意することを可能にする;
・MKAは、AES(Advanced Encryption Standard)鍵ラップを介して分散型セキュリティ関連鍵を保護する;
・セキュリティ関連付け鍵は、MKAを介してネゴシエートされる鍵サーバによって作成される;
・MKAは、送受信されるデータを保護するMACセキュリティエンティティ(SecY)によるセキュリティ関連鍵のインストールおよび使用を管理する。各SecYは、MKAを使用して、最後の2秒以内にSAKとの送信に使用される最低パケット番号(PN)を通信し、受信機が送信遅延を制限することを可能にする;
・MKAを実装するシステムは、(i)乱数生成と、(ii)MACsec実装のためのシステム内の固有のMACアドレスおよびポートIDであるSCIとを満たす。(ANYSecでは、SCIは、グローバルに固有の識別子を含むようにノードシャーシMACおよび暗号化セグメントに変更することができる);
・MKAの任意の所与のインスタンスに対する鍵階層のルートは、セキュアCAK鍵である。各CAK鍵は、受信されたMKAパケットを処理するためにどのCAK鍵を使用するかをMKA参加者の各々が選択することを可能にするCA鍵名(CKN)によって識別される。
【0116】
(i)MKAがIPを介してトランスポートされ得、かつ(ii)SCIが変更されて、前述のように新しい識別子を介して暗号化フローを一意に識別する限り、MACsecに関する上記の基準のほとんどはまた、ANYSecがMPLSまたはIPフローを暗号化するのにも有用である。
【0117】
IP上のEAP
ANYSecのためにMKAを使用するMPLS/IPフロー暗号化問題を解決するために、MKAシグナリングおよび鍵配信は、IPにおいて、すなわち、拡張認証プロトコルオーバIP(EAPoIP)を使用するべきである。その場合、IPは、MKAパケットを発信元TXノードからANYSecフローの宛先RXノードにルーティングする。宛先ノードは、MKAパケットを処理するために、パケットをMKAパケットとして識別する必要がある。プロトコルデータユニット(PDU)をネットワーク内の固有のMKA PDUとして識別するために、UDPおよびMKAに割り当てられた特定のUDPポートが使用される。このUDPポートは、構成され得るか、またはインターネット割当番号権限(IANA)によって割り当てられた周知のUDPポートであり得る。
【0118】
UDPは、ベストエフォートプロトコルであるため、このMKA識別に理想的であり、TCP(Transmission Control Protocol)が行うように、紛失パケットの場合に再送メカニズムを有しない。これはMKAにとって理想的であり、MKAパケットは、(設定されたタイマに基づいて)周期的に送信される。いくつかのMKAパケットが失われた場合、MKAの受信側はMKAセッションを切断する。この周期的なパケット送信は、ハートビートとして知られている。
【0119】
EAPパケット
図7は、EAPoLを介してトランスポートされる新しいMKAパケット700およびMKA(すなわち、EAPオーバーIP/UDP)がどのように見えるかを示すためのパケットフォーマットの例示的な実施形態を示す。
図7に示すように、MKAパケット700は、レイヤ2ヘッダ702と、IPヘッダ704と、UDPヘッダ706と、IEEE802.1xヘッダ708と、MKAペイロード710とを含む。従来のMKAパケットは、
図7のレイヤ2ヘッダ702、IEEE802.1xヘッダ708、およびMKAペイロード710にそれぞれ類似するレイヤ2ヘッダ、IEEE802.1xヘッダ、およびMKAペイロードを含む。新しいMKAパケット700は、IPヘッダ704およびUDPヘッダ706を追加して、MKAパケット700がレイヤ3においてIP/UDP上で送信されることを可能にする。このレイヤ3 MKAは、IEEE802.1AEのいくつかの態様を介したMPLS暗号化およびIEEE802.1AEのいくつかの態様を介したIP暗号化のための適切なセキュリティアソシエーション鍵をシグナリングするために使用され得る。IP/UDPを介して送信されるMKAパケット700は、レイヤ2.5(MPLS)および/またはレイヤ3(IP)パケットの暗号化のために使用され得るSAKを配信するために使用され得る。
【0120】
EAP over IP/UDPでは、構成可能なUDPポートを使用して、ネットワーク全体にわたってMKAアプリケーションを識別することができる。このUDPポートは、コマンドラインインターフェース(CLI)または任意の他の適切な手段を介して構成可能であり得る。MKAパケット700は、UDPヘッダ706を用いて生成され、UDPヘッダ706において識別される宛先UDPポートは、この構成されたUDPポートに設定される。この宛先UDPポートへの宛先RXノードに到着するMKAパケット700は、識別され、ノードによって処理され、例として、任意の他のMKAパケット(すなわち、EAPoL)と同じ従来のMKAコードを介して処理される。UPDヘッダ706で識別されるソースUDPポートは、ランダムに割り当てることができる。なお、この宛先UDPポートは、将来的にIANA(Internet Assigned Number Authority)によって割り当てられる周知のポートとすることができる。
【0121】
IPヘッダ704において識別される送信元IPアドレスは、MKAパケット700を生成したノードのIPアドレスであるべきである。例として、MPLSおよびセグメントルーティング(SR)の場合、ソースIPアドレスは、SRラベルが広告されているIPアドレス、またはMPLSラベルがバインドされているIPアドレスである。IPヘッダ704内で識別される宛先IPアドレスは、LSP(MPLSトンネル)が終端しているノード上に存在するIPアドレスであるべきである。前に説明したように、MKAパケット700がこの宛先IPアドレスに到着し、RXノードが宛先UDPポートを検査し、MKAプロセスに割り当てられるべきポートを識別するとき、RXノードは、SAKを取得するためにパケットをMKAとして処理する。
【0122】
前述のように、MACsecでは、単一のポート上で暗号化された複数のフロー(例えば、VLAN)が存在するときに、セキュアチャネル識別子(SCI)が使用される。各VLANは、正しいSAKがフローを暗号化および復号するために使用されることを保証するために一意に識別される必要がある。MACSecでは、ポートMACとVLAN IDからSCIが構築される。
【0123】
各フローは異なる鍵およびその鍵のためのセキュリティチャネル識別子(SCI)で暗号化される必要があるため、SCIはオプションであり、同じポート上に複数のフローがある場合にのみ必要とされることに留意されたい。
【0124】
SCIおよびその対応するSAKは、ノード間、例として暗号化ノードと復号ノードとの間でMKAを介してシグナリングされる。同じトークンで、SCIおよびその対応するSAKは、両方のノード上のデータパスにインストールされる。暗号化ノードは、SAKを使用してパケットを暗号化し、各暗号化パケットは、SCIを含むIEEE802.1AEヘッダを有する。暗号化されたパケットが復号ノードに到着すると、復号ノードは、IEEE802.1AEヘッダ内のSCIを読み取り、SCIを使用して、対応するSAKを識別および適用し、暗号化されたパケットを復号する。
【0125】
ANYSecにおいて、ポートMACアドレスまたはVLANは、フローがMPLSまたはIPであるため、フローを識別するために使用することができない。ANYSecは、暗号化セグメント識別子(SID)を使用して、ネットワーク内で一意に暗号化ノードを識別する。したがって、この暗号化SIDは、SCI内の暗号化ノードを一意に識別することもできる。このTXノード内で暗号化される必要がある多くの異なるMPLSフローが存在し得る。したがって、第2の識別子は、ノード内のフローを一意に識別するために使用される。例として、この第2の識別子は、トンネルID、またはそのトンネルもしくはIPフローのための別の固有の識別子であり得る。SCIがMPLSまたはIPのための任意の他のMACアドレスと衝突しないことを保証するために、SCIは、マルチキャストMACであり、MACsecによって決して使用されない[01]のような無効なバイトで開始することができる。
【0126】
概して、MKAおよびIEEE802.1AEのいくつかの側面を介したMPLSおよびIPセキュリティのために、SCIは、確保されるべきMPLSまたはIPフローと、トンネルの確保を行っているノードとを一意に識別しなければならない。
【0127】
1つの可能な実施形態において、8バイトSCIは、以下のフォーマットを有する:
[01 RR RR RX XX XX YY YY]
ここで、各文字は4ビットのニブルを表し、[RRRRR]は20個の予約ビットであり、[XXXXX]は20ビットのローカルイーサネット(登録商標)セグメント(ES)ラベルであり、[YYYY]は暗号化フロー当たり16ビットの固有IDであり、例えば暗号化TXノード上でローカルに生成される。これが、暗号化SIDがノードごとまたは暗号化グループごとに一意に識別する必要がある別の理由である。
【0128】
本開示の実施形態は、レイヤ2.5MPLSトランスポートまたはレイヤ3IPトランスポート上のMKAパケットを使用するSAK配信の文脈において説明されたが、本開示はそのように限定されない。概して、本開示は、UPDポートを介して識別される任意のレイヤ2.5/3トランスポートを介したMKAパケットを使用した任意の暗号鍵の配信のために実装されることができる。
【0129】
本明細書で提示される機能の少なくともいくつかは、ソフトウェアで(例えば、特殊用途コンピュータを提供するように汎用コンピュータ上で実行するために(例えば、1つ以上のプロセッサによる実行を介して)、1つ以上のプロセッサ上でのソフトウェアの実装を介して)、および/またはハードウェアで(例えば、汎用コンピュータ、1つ以上の特定用途向け集積回路、および/または任意の他のハードウェア等価物を使用して)実装され得ることが理解されるであろう。
【0130】
本明細書で提示する機能の少なくともいくつかは、たとえば、様々な機能を実行するためにプロセッサと協働する回路として、ハードウェア内で実装され得ることを理解されよう。本明細書で説明される機能/要素の部分は、コンピュータプログラム製品として実装され得、コンピュータ命令は、コンピュータによって処理されると、本明細書で説明される方法および/または技法が呼び出されるか、または別様に提供されるように、コンピュータの動作を適応させる。様々な方法を呼び出すための命令は、固定または取り外し可能な媒体(たとえば、非一時的コンピュータ可読媒体)に記憶され、ブロードキャストまたは他の信号搬送媒体中のデータストリームを介して送信され、および/または命令に従って動作するコンピューティングデバイス内のメモリ内に記憶され得る。本明細書で使用される「または」という用語は、別段の指示がない限り、非排他的な「または」を指すことが理解されるであろう(例えば、「または他の」または「または代替」の使用)。
【0131】
本明細書で提示される教示を組み込む様々な実施形態が本明細書で詳細に示され説明されているが、当業者は、依然としてこれらの教示を組み込む多くの他の様々な実施形態を容易に考案できることが理解されよう。
【外国語明細書】