JP6841324B2 - 通信装置、システム、方法及びプログラム - Google Patents
通信装置、システム、方法及びプログラム Download PDFInfo
- Publication number
- JP6841324B2 JP6841324B2 JP2019515560A JP2019515560A JP6841324B2 JP 6841324 B2 JP6841324 B2 JP 6841324B2 JP 2019515560 A JP2019515560 A JP 2019515560A JP 2019515560 A JP2019515560 A JP 2019515560A JP 6841324 B2 JP6841324 B2 JP 6841324B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- rule
- authentication information
- network element
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims description 59
- 238000000034 method Methods 0.000 title claims description 57
- 238000012546 transfer Methods 0.000 claims description 101
- 238000012795 verification Methods 0.000 claims description 73
- 238000012544 monitoring process Methods 0.000 claims description 60
- 230000008569 process Effects 0.000 claims description 40
- 230000008859 change Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 45
- 230000009471 action Effects 0.000 description 27
- 238000012790 confirmation Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 239000000243 solution Substances 0.000 description 13
- 230000001010 compromised effect Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 102100024113 40S ribosomal protein S15a Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
前記ネットワーク要素は、受信したパケットの認証情報を検証する監視部と、前記パケットにマッチするルールの認証情報を検証するルール検証部と、を含み、前記監視部は、認証情報が検証された前記ルールに従って、転送するパケットの認証情報を生成する通信システムが提供される。
前記鍵生成部は、ルールの送信側及び受信側をそれぞれ形成する前記コントローラ及び前記ネットワーク要素により共有され、前記コントローラ及び前記ネットワーク要素により、前記ルールの認証情報の生成と検証にそれぞれ使用される複数の秘密鍵を生成し、
前記コントローラは、
前記ネットワーク要素のためにルールを生成するルール生成部と、
前記コントローラ及び前記ネットワーク要素が共有する前記秘密鍵を用いて、前記生成されたルールに対する認証情報を生成するルール管理部と、
前記ルールを前記認証情報と共に前記ネットワーク要素に送信するルール配付部と、
を備え、
前記ネットワーク要素は、
受信したパケットの認証情報を検証し、前記パケットにマッチするルールの認証情報を検証し、
認証情報が検証された前記ルールに従って、転送するパケットの認証情報を生成するコントローラが提供される。
受信したパケットの認証情報を検証する検証プロセスを行い、
前記パケットにマッチするルールの認証情報を検証する検証プロセスを行い、
前記ルールは前記コントローラから前記ネットワーク要素に設定され、
前記パケットの認証情報を生成する生成プロセスを行い、
認証情報が検証された前記ルールに基づき、前記パケットを、前記生成されたパケットの認証情報と共に転送する通信方法が提供される。
受信したパケットの認証情報を検証し、
前記パケットにマッチするルールの認証情報を検証し、
認証情報が検証された前記ルールに従って転送するパケットの認証情報を生成する、ことを含む処理をコンピュータに実行させるプログラムが提供される。
ルールの送信側及び受信側をそれぞれ形成する前記コントローラ及び前記ネットワーク要素により共有され、前記コントローラ及び前記ネットワーク要素により、前記ルールの認証情報の生成と検証にそれぞれ使用される複数の秘密鍵を生成する鍵生成処理と、
前記ネットワーク要素のためにルールを生成するルール生成処理と、
前記コントローラ及び前記ネットワーク要素が共有する前記秘密鍵を用いて、前記生成されたルールに対する認証情報を生成するルール管理処理と、
前記ルールを前記認証情報と共に前記ネットワーク要素に送信するルール配付処理と、
を有し、
前記ネットワーク要素は、受信したパケットの認証情報を検証し、前記パケットにマッチするルールの認証情報を検証し、認証情報が検証された前記ルールに従って、転送するパケットの認証情報を生成し、
鍵生成処理、ルール生成処理、ルール管理処理、ルール配付処理をコンピュータに実行させるプログラムが提供される。
本発明のさらに他の特徴及び利点は、本発明を実施することが企図されている最良の形態の単なる例示により、本発明の実施形態のみを図示及び説明した添付の図面と併せて以下の詳細な説明から当業者には容易に明らかになるであろう。理解されるように、本発明は、他の異なる実施形態が可能であり、そのいくつかの詳細は、本発明から逸脱することなく、様々な明白な点において変更可能である。従って、図面及び説明は、本質的に例示的であるとみなされるべきであり、限定的ではないとみなされるべきである。
図1は、本開示の一側面による通信装置を示す図である。図1を参照すると、通信装置100は、隔離された実行環境101とパケット転送部104とを含む。通信装置100は、隔離された実行環境101に配置された監視部102と、隔離された実行環境101に配置されたルール検証部103とを備える。
図2は、本開示の一側面によるコントローラ20及びスイッチ10−1/10−2の構成を模式的に示す図である。図2において、スイッチ10−1、10−2は、それぞれ、図1を参照して説明した通信装置100に対応する。スイッチ10−1、10−2における隔離された実行環境11、監視モジュール111、ルール検証モジュール112、そしてパケット転送エンジン12は、それぞれ、図1を参照して説明した通信装置100における隔離された実行環境101、監視部102、ルール検証部103、そしてパケット転送部104に対応する。スイッチ10−1及び10−2は、ソフトウェアでプログラム可能なネットワークスイッチとして実現されてもよい。コントローラ20は、SDNコントローラとして実現されてもよい。
図3は、本開示の第1の実施形態の通信システムを模式的に示す図である。図3を参照すると、コントローラ20と、スイッチ10と、スイッチ(SDNスイッチ)A/ボックスA10Aと、エンドホスト30−1及び30−2とが設けられている。コントローラ20は、スイッチ10と、スイッチA/ボックスA10Aと、エンドホスト30−1及び30−2とに接続されている。図3では、簡略化のために2つのスイッチを図示しているが、スイッチの数とエンドホストの数は、勿論2つに限定されない。
秘密鍵:エンドホスト30−1とスイッチ10との間で共有されるK1、
秘密鍵:スイッチ10とスイッチA(ボックスA)10Aとの間で共有されるK2、
秘密鍵:スイッチA/ボックスA10Aとエンドホスト30−2との間で共有されるK3。
コントローラ20(またはネットワーク管理者)は、全てのスイッチ10及び10Aの公開鍵を有する。全てのスイッチ10及び10Aは、コントローラ20の公開鍵を有する。これらの公開鍵は、スイッチ10及び10Aがネットワーク管理者によって物理的に配置されるときに手動でインストールされてもよい。
コントローラ20は、スイッチiとスイッチjとの間で共有される対称鍵K(i、j)を生成する。コントローラ20は、鍵K(i、j)を隣接する一対のスイッチi、jに配付する。上述したように、コントローラ20は、スイッチ(エッジスイッチ)とエンドホストとの間で共有される対称鍵も生成する。
CK1=ENC(pk1, K(i,j))
CK2=ENC(pk2, K(i,j))
そして、暗号化された鍵CK1とCK2とを、それぞれスイッチiとスイッチjとに送る。また、コントローラ20は、スイッチ10/10Aがエンドホスト30−1/30−2に接続されたエッジスイッチであると仮定した場合、スイッチ10/10Aとエンドホスト30−1/30−2との間で共有される対称鍵を、スイッチ10/10Aとエンドホスト30−1/30−2とに配付する。
Key(i,j)=DEC(sk1, CK1)
Key(i,j)=DEC(sk2, CK2)
KA=B^a mod={g^(b)}^a mod ={g^a}^b mod p=KB、
ここで、KA、KBは、スイッチi、jにより対称鍵として使用される鍵である。鍵KA、KB は、パケットのMACの生成および確認のために、隣接する一対のスイッチによって使用されてもよい。図3の隣接する一対のスイッチ10/10A及びエンドホスト30−1/30−2も、スイッチ10/10Aがエンドホスト30−1/30−2に接続されたエッジスイッチであると仮定した場合、ディフィー・ヘルマン鍵交換を用いて鍵を交換してもよい。鍵を交換した隣接する一対のスイッチは、鍵をコントローラ20に通知してもよい。コントローラ20は、隣接する一対のスイッチのノードIDに対応付けて鍵を保持してもよい。
Key(i,j)=kdf(MK, ID(i), ID(j)) if ID(i) > ID(j)
Key(i,j)=kdf(MK, ID(j), ID(i)) if ID(i) < ID(j)
Key(c,i)=kdf(MK, ID(i))
Encryption key=kdf(MK,"D")
コントローラ20は、コントローラとスイッチi(i=1…N)との間で共有される対称鍵k(c、i)を生成する。Nはスイッチの数である(図3には2つのスイッチ10及び10Aが示されている)。この鍵k(c、i)は、MAC算出やルールの確認に用いられる。さらに、鍵k(c、i)は、スイッチiからコントローラ20に送信される統計報告の暗号化に使用されてもよい。鍵k(c、i)もまた、スイッチiの公開鍵pkiを用いて安全に配付することができる。
図4は、図3のスイッチ10の構成を模式的に示す図である。図4を参照すると、スイッチ10は、隔離された実行環境11と、パケット転送エンジン12と、ルールデータベース13と、ネットワークスタック15とを含む。
前段のノードから受信したパケットのMACを検証するために使用される第1の鍵、
次段のノードへ転送するパケットのMACを生成するために使用される第2の鍵、
コントローラ20から受信したルールのMACを検証するために使用される第3の鍵。
以下、図5を参照して、図4のスイッチ10におけるパケット転送手順について説明する。
パケットを受信すると、パケット転送エンジン12は、ルールデータベース13を参照して、受信したパケットのヘッダ情報にマッチするルールを検索する。
受信パケットのヘッダ情報に一致するルールのアクションがパケットの転送を指定している場合(ステップS2Aの「Yes」)、パケット転送エンジン12は、隔離された実行環境11を起動し、受信パケットと、それにマッチするルールとを隔離された実行環境11に供給する(ステップS2B)。さらに、パケット転送エンジン12は、監視モジュール111がパケット確認に使用される鍵を決定できるように、前段のスイッチ情報を与える。
監視モジュール111のMAC検証機能113は、前段のスイッチと共有する対称鍵を用いて、受信したパケットのMACの確認を行う。MACの確認が失敗した場合、MAC検証機能113はエラーコードをパケット転送エンジン12に返信してもよい。この場合、パケット転送エンジン12は、受信パケットの転送を行わない。ステップS3は、必ずしもステップS2の後でなくともよい。ステップS2とステップS3の順序は逆でもよい。
受信パケットが確認に成功した場合(確認OK)、ルール検証機能115は、コントローラ20とスイッチ10との間で共有される対称鍵を用いて、マッチするルールのMACを検証する。マッチするルールについて算出されたMACと、コントローラ20から受信したMACとが同一である場合、次のステップ5がMAC更新機能114によって実行される。ステップS4において、ルール検証機能115は、マッチするルールのMACを計算し、計算したMACと、コントローラ20からルールと共に送信され隔離された実行環境11に保持されているMACとを比較してもよい。あるいは、ルール検証機能115は、スイッチ10のルールID及びノードID(スイッチID)を指定して、マッチするルールについてのMACの送信要求をコントローラ20に発行し、コントローラ20は、上記ルールのMAC又は上記ルールのMACを上記ルールとともに返信してもよい。マッチするルールについて算出されたMACと、コントローラ20から送信されたMACとが一致しない場合(確認NG(不可))、処理はステップS8に進んでよい。
MAC更新機能114は、次段のスイッチと共有する対称鍵を用いてパケットのMACを再計算(更新)する。ここで、ステップS4の確認において成功したルールに従い次段のスイッチが決定される。
次に、隔離された実行環境11は、更新したMACと共に、パケットをパケット転送エンジン12に返す。
さらに、隔離された実行環境11は、受信パケットにマッチするルールが、ルール検証機能115により行われた確認に成功した旨をパケット転送エンジン12に通知してもよい。
パケット転送エンジン12は、ルール検証機能115による確認に成功した、マッチするルールで指定された特定のポートに、パケットを更新されたMACと共に出力する。
パケット転送エンジン12は、残りのルールについても上記ステップS1からS7を繰り返す。パケット転送エンジン12は、ルールデータベース13に残っている、検索されるべき他のルールをチェックし、残っていればステップS1に進む。図5は、図4のスイッチ10におけるパケット転送手順の一例を示す図であり、パケット転送エンジン12は、受信したパケットと、受信パケットにマッチするルールとを隔離された実行環境11に提供する。パケット転送手順に関して、ステップS3の監視モジュール111による受信パケットのMACの確認を、ステップS1(受信パケットにマッチするルールの検索)の前に行うような変形も可能である。この場合、パケット転送エンジン12は、隔離された実行環境11を起動し、隔離された実行環境11に配置された監視モジュール111に受信したパケットを提供してもよい。受信パケットが監視モジュール111によるMACの確認に成功した後、パケット転送エンジン12は、図5のステップS1(受信パケットにマッチするルールの検索)を実行し、受信パケットにマッチするルールを、隔離された実行環境11に配置されたルール検証モジュール112に提供してもよい。
図6は、図3のスイッチ10Aを示す図である。図6を参照すると、スイッチ10Aにおいて、隔離された実行環境11Aは、監視モジュール111及びルール検証モジュール112に加えて、パケット変更モジュール121を含む。パケット変更モジュール121は、パケット転送エンジン12により受信パケットとマッチすると判断されたルールに基づいて、例えば、受信パケットのヘッダ情報など、パケットを変更するように構成される。
以下、図7を参照して、図6のスイッチ10Aにおけるパケット転送手順について説明する。
パケット転送エンジン12はパケットを受信し、次にパケット転送エンジン12はルールデータベース13の検索を実行する。
マッチするルールがパケット変更を指定している場合(ステップ12Aの「Yes」)、パケット転送エンジン12は、隔離された実行環境を起動し、パケット及びマッチするルールを隔離された実行環境に供給する。
監視モジュール111は、受信パケットのMACの確認を行う。MACの確認が失敗した場合、MAC検証機能113はエラーコードをパケット転送エンジン12に返信してもよい。この場合、パケット転送エンジン12は、受信パケットの転送を行わない。
受信パケットが確認に成功した場合(確認OK)、ルール検証機能115は、コントローラ20とスイッチ10との間で共有される対称鍵を用いて、マッチするルールのMACを検証する。ルール検証機能115は、コントローラ20とスイッチ10Aとの間で共有される鍵を用いて、ルールのMACをチェックすることにより、パケット転送エンジン12から与えられたルールを検証する。ルール検証機能115は、鍵を用いてルールのMACを算出し、計算したMACと、コントローラ20によりそのルールについて算出されたMACとを比較する。マッチするルールについて算出されたMACとコントローラ20から送信されたMACとが同一でない場合(確認NG(不可))、処理はステップS18に進んでよい。なお、ステップS14とステップS13とは順番を入れ替えてもよい。
パケット変更モジュール121は、ルールのマッチ条件が実際に受信したパケットと一致するか否かをチェックする(ステップS15A)。ルールのマッチ条件が実際に受信パケットと一致する場合、パケット変更機能122はルールに従ってパケットの変更を行う(ステップS15B)。ルールのマッチ条件が実際に受信パケットと一致しない場合、ステップS8に進み、何らかのエラーコードがパケット転送エンジン12に返信されてもよい。
監視モジュール111は、受信パケットのMACを更新する。
次に、隔離された実行環境11は、パケットをパケット転送エンジン12に返す。
パケット転送エンジン12は、パケットを指定されたポートに出力する。パケット転送エンジン12は、ルールデータベース13に残っている、検索されるべき他のルールをチェックしてもよく、残っていれば、図5同様、ステップS11に進んでもよい。ステップS13の監視モジュール111による受信パケットのMACの確認を、ステップS11(受信パケットにマッチするルールの検索)の前に行うような変形も可能である。
オープンフロープロトコルは、スイッチにパケットを送信させるPacket_Outメッセージをサポートする。コントローラ20は、特定のスイッチのデータプレーンにパケットを注入することができる。図8は、第1の実施形態によるパケット注入を模式的に示す図である。
スイッチ10の隔離された実行環境11は、コントローラ20が統計を比較することによりパケットドロップを検出できるように、定期的にルールの統計報告をコントローラ20に送信してもよい。
図9は、第2の実施形態を示す図である。図9を参照すると、スイッチ10Bは、図6を参照して説明したスイッチ10Bの構成に加えて、さらにルール管理要素14を含む。重複を避けるために、スイッチ10A内の他の構成要素の説明は省略する。
一部のソフトウェアスイッチの実現においては、パフォーマンス向上のためにフローエントリのキャッシュを使用する。例えば、Open vSwitchは、最初のパケットを受信すると、ワイルドカードを含むエントリから完全一致エントリを生成する。コントローラによりMACが生成されないため、キャッシュエントリには有効なMACがない。Open vSwitchは、分散仮想マルチレイヤスイッチの製品品質のオープンソース実装である。Open vSwitchは、ハイパーバイザ上の仮想スイッチとして実現されてもよい。
MACに加えて、監視モジュール111はパケットにカウンタを追加してもよい。カウンタはパケットごとにインクリメントされる。カウンタを用いて、次段のスイッチはパケットドロップ、パケットの重複、及びパケットの並べ替えをチェックできる。例えば、スイッチが同じカウンタ値を受信した場合、監視モジュール111はパケットの重複が発生したと見なす。また、あるカウンタ値が欠落している場合は、パケットドロップが発生したと見なされる。さらに、パケットの並べ替えは、カウンタの順序をチェックすることによって検出することができる。
隔離された実行環境11外の悪意のあるコードが、隔離された実行環境11に優先度の低いルールを付与する場合がある。
図10は、高優先度ルールと重複する低優先度ルールを複数の非重複ルール(ルール1とルール2)に分割した例Aを示す図である。
図11は、低優先度ルールのマッチ条件を縮小する例Bを示す図である。 IPアドレス=192.168.0.16〜31のマッチ条件を有する高優先度のルールと、高優先度のルールと重複するIPアドレス=192.168.0.0〜63のマッチ条件を有する低優先度のルールとが設けられているとする。図11では、IPアドレス=192.168.0.16〜15のマッチ条件を有する低優先度のルールが、 高優先度のルールと重複しない192.168.0.32〜61の範囲に絞り込まれている。
図12は、不要な場合に低優先度ルールを削除する例Cを示す図である。 IPアドレス=192.168.0.16〜31のマッチ条件を有する高優先度のルールと、高優先度のルールと重複するIPアドレス=192.168.0.0〜63のマッチ条件を有する低優先度のルールとが設けられているとする。高優先度ルールのIPアドレスの範囲は、低優先度ルールの範囲を含んでいる。この場合、低優先度ルールと高優先度ルールと間の重複を解決する1つの方法は、低優先度ルールを削除することである。
SGXなどの隔離された実行環境は、NICなどのデバイスに安全な入出力チャネルを提供しない。したがって、スイッチのネットワークスタックが侵害されると、攻撃者はエッジスイッチの監視モジュールを迂回することができる。この攻撃はデータの流出を可能にする。データの流出は、標的のネットワークから、攻撃者が制御する場所への情報データの無許可転送である。
図13は、データの流出を示す図である。悪意のあるエッジスイッチ内の侵害されたパケット転送エンジン12は、エンドホスト30又はスイッチ10から受信したパケットを、攻撃者のエンドホスト30−2に転送する。
悪意のあるエッジスイッチによる攻撃を回避するために、図14に示すようにリンク暗号化が導入される。
a)エッジスイッチとエンドホスト間のリンク。
b)エッジスイッチとその隣接スイッチ間のリンク。
エンドツーエンド暗号化(End-to-end encryption;E2EE)は、データが一方の端(送信元)から、もう一方の端(宛先)に転送される間、第三者がデータにアクセスすることを防ぐことができる、安全な通信を実現するためのシステムまたはスキームである。エンドツーエンド暗号化では、送信元が暗号鍵でデータを暗号化し、暗号化されたデータは、暗号化されたデータが安全に宛先に到達するまで復号化されない。送信元のエンドホストは、暗号鍵を保護するために隔離された実行環境で暗号化を行ってもよい。エンドツーエンド暗号化は、PIN(Personal Identification Number)やパスワードなどのデータが、一方のエンドホスト上のアプリケーション(例えば、ブラウザ)と、もう一方のエンドホストとの間のどの中間ノードにも知らされないように、アプリケーション層において安全性を実現できる。
暗号化の代わりに、スモールボックスをネットワークの境界上(例えば、イントラネットとインターネットとの間の境界上)に配置することができる。図16は、スモールボックスの構成を示す図である。図16には、エッジスイッチ10とエンドホスト30との間に配置されたスモール(又はボックス)50の構成が示されている。
図17は、図1の通信装置100、又は図2もしくは図3のスイッチ20もしくは20Aの処理の一部または全部を、コンピュータ(プロセッサ)上で動作するソフトウェアプログラムに基づいて実現する、さらなる実施形態を示す。あるいは、図2のコントローラ20の各部201から206の処理の一部または全部を、コンピュータ(プロセッサ)上で動作するソフトウェアプログラムによって実現してもよい。この場合、図2のプロセッサ200は、図15のプロセッサ401に対応する。
2 SDNアプリケーション
3 ネットワーク要素
4 SDNノースバウンドインターフェース
5 SDNサウスバウンドインターフェース
10、10A、10B スイッチ
11、11A、31、51、101 隔離された実行環境
12、32 パケット転送エンジン
13 ルールデータベース
14 ルール管理モジュール
20 コントローラ
30、30−1、30−2 エンドホスト
100 通信装置
102 監視部
103 ルール検証部
104 パケット転送部
111、311、511 監視モジュール
112 ルール検証モジュール
113 MAC検証機能
114 MAC更新機能
115 ルール検証機能
116 鍵管理機能
121 パケット変更モジュール
122 パケット変更機能
200 プロセッサ
201 鍵生成部
202 鍵管理部
203 ルール管理部
204 ルール配付部
205 ルール生成部
206 パス算出部
207 送受信部
208 記憶装置
400 コンピュータシステム
401 プロセッサ
402 メモリ
403 ネットワークインターフェース
404 送信機
405 受信機
Claims (22)
- パケット転送部と、
受信したパケットの認証情報を、前記パケットの送信元のノードとの間で共有する秘密鍵を用いて検証する監視部と、
前記パケットにマッチするルールの認証情報を、前記ルールの送信元のコントローラとの間で共有する秘密鍵を用いて検証するルール検証部と、
を備え、
前記パケット転送部は、前記パケットを受信すると、通信装置に格納されているルールを検索して前記パケットにマッチするルールを見つけ、前記監視部と前記ルール検証部に、前記パケットと、前記パケットにマッチする前記ルールと、をそれぞれ提供し、
前記パケットと前記ルールとの両方がそれぞれの認証情報の検証に合格すると、
前記監視部は、前記認証情報の検証に合格した前記ルールに従って転送先となる次のノードを決定し、前記転送先となる次のノードとの間で共有する秘密鍵を用いて前記パケットの認証情報を生成し、
前記パケット転送部は、前記認証情報の検証に合格した前記ルールに従って、前記生成した前記認証情報と共に前記パケットを次のノードに転送する、ことを特徴とする通信装置。 - 前記監視部及び前記ルール検証部のうちの少なくとも一方は、前記通信装置内に設けられた、隔離された実行環境内に配置される、ことを特徴とする請求項1記載の通信装置。
- パケット変更を指示し、前記認証情報の検証が合格した前記ルールに従って、前記パケットを変更するパケット変更部をさらに備える、ことを特徴とする請求項1又は2に記載の通信装置。
- 前記パケット変更部は、前記通信装置内に設けられた、隔離された実行環境内に配置される、ことを特徴とする請求項3記載の通信装置。
- 複数のルールを格納するルールデータベースと、
前記ルールデータベースに格納された前記複数のルールを管理するルール管理部と、
をさらに備える、ことを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。 - 前記ルールデータベースは、1つの前記ルールと他の前記ルールとの間で重複が除去された複数の前記ルールを格納する、ことを特徴とする請求項5記載の通信装置。
- 前記通信装置は、
前記ルールに基づいて、受信した前記パケットを転送するスイッチ、
前記ルールに基づいて、受信した前記パケットを転送し、受信した前記パケットを変更できるスイッチ、又は
ミドルボックスを含む、ことを特徴とする請求項1乃至6のいずれか1項に記載の通信装置。 - コントローラと、
複数のネットワーク要素と、
を備え、
前記ネットワーク要素は、
パケット転送部と、
受信したパケットの認証情報を、前記パケットの送信元のノードとの間で共有する秘密鍵を用いて検証する監視部と、
前記パケットにマッチするルールの認証情報を、前記ルールの送信元の前記コントローラとの間で共有する秘密鍵を用いて検証するルール検証部と、
を備え、
前記パケット転送部は、前記パケットを受信すると、前記ネットワーク要素に格納されているルールを検索して前記パケットにマッチするルールを見つけ、前記監視部と前記ルール検証部に、前記パケットと、前記パケットにマッチする前記ルールと、をそれぞれ提供し、
前記パケットと前記ルールの両方がそれぞれの認証情報の検証に合格すると、
前記監視部は、前記認証情報の検証に合格した前記ルールに従って転送先となる次のノードを決定し、前記転送先となる次のノードとの間で共有する秘密鍵を用いて前記パケットの認証情報を生成し、
前記パケット転送部は、前記認証情報の検証に合格した前記ルールに従って、前記生成した前記パケットの認証情報と共に前記パケットを次のノードに転送する、ことを特徴とする通信システム。 - 前記ネットワーク要素における前記監視部及び前記ルール検証部のうちの少なくとも一方は、前記ネットワーク要素内に設けられた、隔離された実行環境内に配置される、ことを特徴とする請求項8記載の通信システム。
- 前記ネットワーク要素は、パケット変更を示し、前記認証情報が検証された前記ルールに従って前記パケットを変更するパケット変更部をさらに備える、ことを特徴とする請求項8又は9に記載の通信システム。
- 前記パケット変更部は、前記ネットワーク要素内に設けられた、隔離された実行環境内に配置される、ことを特徴とする請求項10記載の通信システム。
- 前記ネットワーク要素は、
複数のルールを格納するルールデータベースと、
前記ルールデータベースに格納された前記複数のルールを管理するルール管理部と、をさらに備える、ことを特徴とする請求項8乃至11のいずれか1項に記載の通信システム。 - 前記コントローラは、前記ルールデータベースに格納されている1つのルールと他のルールとの間の重複を、前記重複するルールのうちの1つを互いに重複しない複数のルールに分割、前記重複するルールの1つを縮小、又は前記重複するルールの1つを削除することにより除去するように構成され、前記重複しないルールを前記ネットワーク要素に送信する、ことを特徴とする請求項12に記載の通信システム。
- 前記コントローラは、
パケットの送信側及び受信側をそれぞれ形成する一対のネットワーク要素により共有され、前記送信側及び前記受信側により前記パケットの認証情報の生成と検証にそれぞれ使用される秘密鍵を生成する鍵生成部を備え、
前記鍵生成部は、ルールの送信側及び受信側をそれぞれ形成する前記コントローラ及び前記ネットワーク要素により共有され、前記コントローラ及び前記ネットワーク要素により前記ルールの認証情報の生成と検証にそれぞれ使用される秘密鍵を生成するように構成され、
前記コントローラは、
前記ネットワーク要素のためにルールを生成するルール生成部と、
前記コントローラ及び前記ネットワーク要素が共有する前記秘密鍵を用いて、前記生成されたルールに対する認証情報を生成するルール管理部と、
前記ルールの認証情報と共に前記ルールを前記ネットワーク要素に送信するルール配付部と、
を含む、ことを特徴とする請求項8乃至13のいずれか1項に記載の通信システム。 - 前記コントローラは、注入されるパケットの認証情報を算出し、前記パケットを前記認証情報と共に前記ネットワーク要素のうちの第1のネットワーク要素に送信し、
前記第1のネットワーク要素は、前記パケットの認証情報を生成することなく、前記ネットワーク要素のうちの第2のネットワーク要素に前記認証情報と共に前記パケットを転送し、
前記第2のネットワーク要素は、前記コントローラと前記第2のネットワーク要素との間で共有される秘密鍵を用いて、前記第1のネットワーク要素から転送された前記パケットの前記認証情報の検証を行う、ことを特徴とする請求項8乃至14のいずれか1項に記載の通信システム。 - エンドホストに接続され、エッジネットワーク要素と前記エンドホストとの間の少なくとも1つのリンクが暗号化されている前記エッジネットワーク要素と、
前記エッジネットワーク要素と隣接するネットワーク要素との間で暗号化されているリンクと、
を備える、ことを特徴とする請求項8乃至15のいずれか1項に記載の通信システム。 - エッジネットワーク要素に接続され、エンドツーエンド暗号化(E2EE)を行うエンドホストを備える、ことを特徴とする請求項8乃至16のいずれか1項に記載の通信システム。
- エッジネットワーク要素と、前記エッジネットワーク要素に対向するエンドホストとの間に配置されたボックスを備え、
前記ボックスは、
前記エッジネットワーク要素から受信したパケットの認証情報を検証し、前記パケットの認証情報を生成する監視部を含む、ことを特徴とする請求項8乃至17のいずれか1項に記載の通信システム。 - ネットワーク要素による通信方法であって、
パケット転送プロセスでパケットを受信すると、前記ネットワーク要素に格納されたルールを検索して前記パケットにマッチするルールを見つけ、前記受信したパケットと、前記パケットにマッチするルールと、をそれぞれ監視プロセスとルールの検証プロセスに提供し、
前記監視プロセスでは、受信した前記パケットの認証情報を、前記パケットの送信元のノードとの間で共有する秘密鍵を用いて検証し、
前記ルールの検証プロセスでは、前記パケットにマッチするルールの認証情報を、前記ルールの送信元のコントローラとの間で共有する秘密鍵を用いて検証し、
前記パケットと前記ルールとの両方が、それぞれの認証情報の検証に合格すると、前記認証情報の検証に合格した前記ルールに従って転送先となる次のノードを決定し、前記転送先となる次のノードとの間で共有する秘密鍵を用いて前記パケットの認証情報を生成する生成プロセスを行い、
認証情報が検証された前記ルールに基づき、前記認証情報の検証に合格した前記ルールに従って、前記パケットを、前記生成プロセスで生成された前記パケットの認証情報と共に次のノードに転送する、ことを特徴とする通信方法。 - 前記ルールが前記認証情報の検証に成功した場合、前記パケットにマッチしパケットの変更を示す前記ルールに基づいて、前記パケットを変更する、ことを特徴とする請求項19記載の通信方法。
- パケット転送処理と、
受信したパケットの認証情報を、前記パケットの送信元のノードとの間で共有する秘密鍵を用いて検証する監視処理と、
前記パケットにマッチするルールの認証情報を、前記ルールの送信元のコントローラとの間で共有する秘密鍵を用いて検証するルール検証処理と、をコンピュータに実行させるプログラムであって、
前記パケット転送処理は、前記パケットを受信すると、前記コンピュータに格納されているルールを検索して前記パケットにマッチするルールを見つけ、前記パケットと、前記パケットにマッチする前記ルールと、を前記監視処理と前記ルール検証処理にそれぞれ提供し、
前記パケットと前記ルールの両方がそれぞれの認証情報の検証に合格すると、
前記監視処理は、前記認証情報の検証に合格した前記ルールに従って転送先となる次のノードを決定し、前記転送先となる次のノードとの間で共有する秘密鍵を用いて前記パケットの認証情報を生成し、
前記パケット転送処理は、前記認証情報の検証に合格した前記ルールに従って前記ルールに従って、前記生成した前記パケットの認証情報と共に前記パケットを次のノードに転送する、ことを含むプログラム。 - 認証情報が検証され、パケット変更を示す前記ルールに従って、前記パケットを変更することをさらに含む、請求項21記載のプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/004289 WO2018055654A1 (en) | 2016-09-20 | 2016-09-20 | Communication apparatus, system, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019530344A JP2019530344A (ja) | 2019-10-17 |
JP6841324B2 true JP6841324B2 (ja) | 2021-03-10 |
Family
ID=57121471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019515560A Active JP6841324B2 (ja) | 2016-09-20 | 2016-09-20 | 通信装置、システム、方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US11297070B2 (ja) |
JP (1) | JP6841324B2 (ja) |
WO (1) | WO2018055654A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086939B2 (en) * | 2019-05-28 | 2021-08-10 | Salesforce.Com, Inc. | Generation of regular expressions |
US11394702B2 (en) * | 2019-09-23 | 2022-07-19 | T-Mobile Usa, Inc. | Authentication system when authentication is not functioning |
US11489823B2 (en) * | 2020-03-04 | 2022-11-01 | Cisco Technology, Inc. | Network enclave attestation for network and compute devices |
US11971980B2 (en) * | 2020-05-28 | 2024-04-30 | Red Hat, Inc. | Using trusted execution environments to perform a communal operation for mutually-untrusted devices |
US12093371B2 (en) | 2020-05-28 | 2024-09-17 | Red Hat, Inc. | Data distribution using a trusted execution environment in an untrusted device |
US11947659B2 (en) | 2020-05-28 | 2024-04-02 | Red Hat, Inc. | Data distribution across multiple devices using a trusted execution environment in a mobile device |
US11388153B2 (en) * | 2020-08-25 | 2022-07-12 | United States Of America As Represented By The Secretary Of The Navy | One-time pad encryption in a secure communication network |
US11848924B2 (en) | 2020-10-12 | 2023-12-19 | Red Hat, Inc. | Multi-factor system-to-system authentication using secure execution environments |
US11722437B2 (en) * | 2021-09-14 | 2023-08-08 | Netscout Systems, Inc. | Configuration of a scalable IP network implementation of a switch stack |
CN113992513B (zh) * | 2021-10-26 | 2023-10-27 | 新华三信息安全技术有限公司 | 一种设备信息托管方法和装置 |
EP4423984A1 (en) * | 2021-10-26 | 2024-09-04 | Arista Networks, Inc. | Filtering vlan packets having malformed tpids |
CN113824747B (zh) | 2021-11-25 | 2022-02-18 | 之江实验室 | 一种支持报文负载加密可定义的数据平面可编程实现方法 |
US12045602B2 (en) | 2022-03-25 | 2024-07-23 | Woven By Toyota, Inc. | Correctness verification system, method, device, and program |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4815917B2 (ja) * | 2005-07-21 | 2011-11-16 | 日本電気株式会社 | トラフィック検出装置、通信品質監視装置、方法、及び、プログラム |
US8695089B2 (en) * | 2007-03-30 | 2014-04-08 | International Business Machines Corporation | Method and system for resilient packet traceback in wireless mesh and sensor networks |
US10210008B2 (en) * | 2009-07-31 | 2019-02-19 | Nec Corporation | Control server, service providing system, and method of providing a virtual infrastructure |
EP2715991A4 (en) * | 2011-05-23 | 2014-11-26 | Nec Corp | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION PROCESS AND PROGRAM |
KR20130085543A (ko) | 2011-12-19 | 2013-07-30 | 한국전자통신연구원 | 도메인 기반 패킷 포워딩 방법 및 시스템 |
WO2015084878A1 (en) * | 2013-12-02 | 2015-06-11 | Akamai Technologies, Inc. | Virtual private network (vpn)-as-a-service with delivery optimizations while maintaining end-to-end data security |
US20150229618A1 (en) | 2014-02-11 | 2015-08-13 | Futurewei Technologies, Inc. | System and Method for Securing Source Routing Using Public Key based Digital Signature |
KR20170024032A (ko) | 2014-06-30 | 2017-03-06 | 알까뗄 루슨트 | 소프트웨어 정의 네트워크에서의 보안 |
US9467296B2 (en) | 2014-08-29 | 2016-10-11 | Intel Corporation | Virally distributable trusted messaging |
US10044502B2 (en) * | 2015-07-31 | 2018-08-07 | Nicira, Inc. | Distributed VPN service |
US10567347B2 (en) * | 2015-07-31 | 2020-02-18 | Nicira, Inc. | Distributed tunneling for VPN |
-
2016
- 2016-09-20 US US16/334,405 patent/US11297070B2/en active Active
- 2016-09-20 JP JP2019515560A patent/JP6841324B2/ja active Active
- 2016-09-20 WO PCT/JP2016/004289 patent/WO2018055654A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US11297070B2 (en) | 2022-04-05 |
US20210281577A1 (en) | 2021-09-09 |
JP2019530344A (ja) | 2019-10-17 |
WO2018055654A1 (en) | 2018-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6841324B2 (ja) | 通信装置、システム、方法及びプログラム | |
Mamdouh et al. | Authentication and identity management of IoHT devices: achievements, challenges, and future directions | |
JP6525478B2 (ja) | 仮想化とクラウド・コンピューティングの安全確保と管理に適用される、 安全未確保のコンピュータ環境で暗号化キーを確保する方法と装置。 | |
CN103907330B (zh) | 在网络环境中用于重定向的防火墙发现的系统和方法 | |
JP5965478B2 (ja) | ネットワークにおけるコンポーネントを認証するためのシステムおよび方法 | |
US8800024B2 (en) | System and method for host-initiated firewall discovery in a network environment | |
AU2009276580B2 (en) | Network architecture for secure data communications | |
US20040210754A1 (en) | Shared security transform device, system and methods | |
US9614669B1 (en) | Secure network communications using hardware security barriers | |
Murphy et al. | Strong security for active networks | |
US8175271B2 (en) | Method and system for security protocol partitioning and virtualization | |
KR20150141362A (ko) | 네트워크 노드 및 네트워크 노드의 동작 방법 | |
Bose et al. | Blockchain as a service for software defined networks: A denial of service attack perspective | |
CN106797378B (zh) | 用于控制通信网络的装置和方法 | |
US20140082719A1 (en) | Method and device for network communication management | |
Paladi et al. | TruSDN: Bootstrapping trust in cloud network infrastructure | |
US10116646B2 (en) | Software-defined network threat control | |
Pandya et al. | Framework for securing SDN southbound communication | |
JP6289656B2 (ja) | セキュアなコンピュータシステム間の通信のための方法及びコンピュータネットワーク・インフラストラクチャ | |
Velayutham | Mitigating security threats in service function chaining: A study on attack vectors and solutions for enhancing nfv and sdn-based network architectures | |
Kumar et al. | Security Infrastructure for Cyber Attack Targeted Networks and Services | |
Gupta et al. | Cloud security using encryption techniques | |
Sharma et al. | Secure communication on noc based mpsoc | |
KR102571495B1 (ko) | 광 전송 설비용 보안 시스템 및 방법 | |
Asoni et al. | Alcatraz: Data exfiltration-resilient corporate network architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190319 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200707 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200819 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6841324 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |