JP5987902B2 - ネットワークシステム、コントローラ、及びパケット認証方法 - Google Patents

ネットワークシステム、コントローラ、及びパケット認証方法 Download PDF

Info

Publication number
JP5987902B2
JP5987902B2 JP2014509114A JP2014509114A JP5987902B2 JP 5987902 B2 JP5987902 B2 JP 5987902B2 JP 2014509114 A JP2014509114 A JP 2014509114A JP 2014509114 A JP2014509114 A JP 2014509114A JP 5987902 B2 JP5987902 B2 JP 5987902B2
Authority
JP
Japan
Prior art keywords
access
packet
switch
flow entry
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.)
Expired - Fee Related
Application number
JP2014509114A
Other languages
English (en)
Other versions
JPWO2013150925A1 (ja
Inventor
修 戸川
修 戸川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014509114A priority Critical patent/JP5987902B2/ja
Publication of JPWO2013150925A1 publication Critical patent/JPWO2013150925A1/ja
Application granted granted Critical
Publication of JP5987902B2 publication Critical patent/JP5987902B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークシステムに関し、特にネットワーク機器のパケット転送機能と経路制御機能を分離したネットワークシステムに関する。
コンピュータシステムのホストやネットワークの利用形態の1つとして、共通のホスト(共有ホスト)に異なる権限を持つ複数のユーザが、ログインやプログラムを実行して、当該共有ホストからネットワーク内の別ホストにアクセスするといった利用形態がしばしば見られる。以下に例を挙げる。
(1)内部共有ホスティングサービス
大規模な組織において、異なる部署のユーザがネットワークやホストを共有するサービス等が考えられる。共有ホストからアクセスする先にある別のサーバやネットワークはユーザによって利用権限が異なる。
(2)外部共有ホスティングサービス
通信業者やインターネットサービスプロバイダが提供する共有のホスティングサービス等が考えられる。追加契約したユーザしか利用できないサービスに共有ホストからアクセスする場合等が該当する。
(3)クラウドコンピューティングサービス
クラウドコンピューティングで、多数のユーザにアプリケーション(Application software)の開発/実行環境を提供するサービス等が考えられる。いわゆるPaaS(Platform as a Service)の一部である。PaaSの実現形態は様々であり、実質的に共有ホストで行われているものがある。そのような実現形態で、上記の(2)外部共有ホスティングサービスの例と同様に、追加契約のサービス等が存在すると該当する。
このような環境において、十分なネットワークセキュリティを確保することは、ある種の困難を伴う。何故なら、共有ホストからコネクション(接続)を試みる場合、そのコネクションをパケット単位で監視しても発信元(送信元)のユーザやプログラムを識別できない。すなわち、パケットに許されるべき転送先を判断できないためである。したがって、パケット転送を行うデータリンク層(以後、L2)やネットワーク層(以後、L3)のスイッチやルータでは、アクセス制御を行うのが困難である。
セキュリティを実現する方式の1つとして、L2やL3ではアクセス制御を行わず、専ら受信側ホストの上位層でユーザの認証/認可をするアクセス制御方式が考えられる。このようなアクセス制御方式として、サービス毎に固有のアクセス制御方式、或いは、「Kerberos」や「IDENT」(参考文献:RFC1413)のように汎用的なアクセス制御方式が存在する。
しかし、サービス毎に固有のアクセス制御方式では、受信側ホストの該当の処理が脆弱性を持っていると深刻な攻撃を受ける危険性がある。より強固なセキュリティを実現するためには、複数のネットワーク層でセキュリティの対策を講じることが望ましい。
また、汎用的なアクセス制御方式は、広く使用され十分に検証されていることから、サービス毎に固有のアクセス制御方式よりも一般に安全性が高いと期待できる。しかし、既存サービスの中には、汎用的なアクセス制御方式に未対応のサービスも存在する。そのような未対応のサービスを汎用的なアクセス制御方式に対応させるには、接続手順の変更が伴うという問題がある。なお、「IDENT」については、情報の信頼性や流出といった問題により、現在では使用されなくなっている。
別の方式として、物理的な共有ホストにおいて、仮想化技術を用いてユーザ毎に分離された仮想のホスト環境を提供する方式もある。この場合、仮想のホスト環境の各々から送信されるパケットのそれぞれに、異なる「IPアドレス」や「VLAN ID」を付すことで、ルータやL2スイッチがパケットへのアクセス制御を容易に行えるようになる。しかし、仮想のホスト環境を用いる場合、単純な共有ホストよりも多くのハードウェア資源が必要になる。
以上のような弊害なく、共有ホストからの通信に高度なセキュリティを確保するためには、コネクション単位のアクセス制御が接続先のサーバにパケットが届く前の段階で行われることが求められる。したがって、パケットを転送/中継する機能を有するルータやスイッチといったネットワーク機器において、パケットの発信元の「IPアドレス」や「VLAN ID」が同一でも、発信元のユーザに応じて適切な許可・不許可を判断すれば良い。
このような目的を達成し得るものとして、ファイアウォール装置やNAT(Network Address Translation:ネットワークアドレス変換)装置にコネクション単位で接続要求を出して該コネクションのパケットのみ転送を許可する技術が公開されている。
[特許文献1]
例えば、特許文献1(特開2008−085470号公報)に、IPアプリケーションサービス提供システムが開示されている。このIPアプリケーションサービス提供システムは、内部から外部向けへのアウトバウンド通信のみを許容するように設定されているゲートウェイ装置により外部ネットワークから隠蔽され、かつ内部ネットワークに属する内部ノードと、外部ネットワークに属する外部ノードとの間での意図するIPアプリケーション通信での外部から内部向けへのインバウンド通信も可能にする。このとき、ゲートウェイ装置配下の内部ノードが、外部ネットワーク上の接続支援装置に対し、制御チャネルポートの通知及び制御チャネルパスの通信許容エントリの維持を目的とする制御パケットを定期送信する。また、接続支援装置から制御チャネルを通して外部ノード対応の接続先アドレス及びポートの通知を受ける。また、通知を受けた接続先アドレス及びポートに対してIPアプリケーションのデータチャネルをアクティブにオープンする。
[特許文献2]
また、特許文献2(特許第4362132号公報)に、アドレス変換方法、アクセス制御方法、及びそれらの方法を用いた装置が開示されている。この関連技術では、グローバルネットワーク側の送信元の装置又は送信元のネットワーク毎に定めたアクセス制御ルールと、送信元の装置毎に定めたアドレス変換ルールとをデータベースに記録しておく。グローバルネットワーク側からのパケットを受信すると、送信元情報を含んだアクセス制御ルールに従って、グローバルネットワークからプライベートネットワークへのアクセスを制限する。また、送信元情報を含んだアドレス変換ルールに従って、宛先アドレスの変換を行って、グローバルネットワーク側からの情報をプライベートネットワーク側に伝える。プライベートネットワーク側からのパケットを受信すると、送信元情報を含んだアドレス変換ルールに従って、送信元アドレスの変換を行って、プライベートネットワーク側からの情報をグローバルネットワーク側に伝える。
しかし、これらの技術には、以下のような課題がある。
[第1の課題]
第1の課題は、ユーザやアプリケーションに対して通常と異なる接続手順を求めることである。
特許文献1(特開2008−085470号公報)では、ファイアウォール装置/NAT装置の外側に配置された仲介ノードに接続を要求する。そして、その要求によってファイアウォール装置/NAT装置の内側にある本来の通信相手から要求元のホストの方向で接続するので、通常とは、接続方向が逆転する。
特許文献2(特許第4362132号公報)では、本来の通信相手との接続手順の前にファイアウォール装置/NAT装置に接続して認証処理を行う。
また、特許文献1(特開2008−085470号公報)、特許文献2(特許第4362132号公報)ともに本来の通信相手のアドレスに加えて、仲介ノードやファイアウォール装置/NAT装置のアドレスも知っている必要がある。
[第2の課題]
第2の課題は、同時接続できるコネクションの数がファイアウォール装置/NAT装置の保持できるエントリ数に制約されることである。
特許文献1(特開2008−085470号公報)、特許文献2(特許第4362132号公報)ともに、コネクションを試みる前にファイアウォール装置/NAT装置にパケット転送が行われるようにエントリを登録し、コネクションが存在する間は、該エントリを保持しておく必要がある。
[第3の課題]
第3の課題は、複数のファイアウォール装置/NAT装置を多段にした大規模な構成に適さないことである。
特許文献2(特許第4362132号公報)では、通過する各装置に事前の要求を繰り返さなければならない。これは、通信を行うユーザやアプリケーションの負担が増大することを意味する。
また、特許文献1(特開2008−085470号公報)、特許文献2(特許第4362132号公報)ともに、特定の装置に通信経路が集約されるようにネットワークを構成すると、該装置で多くのエントリが使用される。そのため、前記の第2の課題が顕在化しやすい。ファイアウォール装置/NAT装置は、ネットワークのゲートウェイとしても使用されることが多いので、このような構成は、ごく一般形なものである。
この問題は、フィルタリング・ルールによって回避することも考えられる。例えば、あるファイアウォール装置/NAT装置から別の装置に向かうパケットについては、一方でのみアクセス制御を行い、もう一方では、常に通信を許可するよう設定することが考えられる。
しかし、このような回避策は、ネットワークの規模に応じて設定や運用の負担が増大するので、やはり大規模な多段構成には適さない。
[特許文献3]
更に、関連する技術として、特許文献3(特開2000−295274号公報)にパケット交換装置が開示されている。このパケット交換装置は、IPフローテーブルに対して、発信元IPアドレスと宛先IPアドレスとをサーチキー(検索キー)として、ルーティング処理の結果を登録し、保持する。また、パケットを受信した場合に、発信元IPアドレス及び宛先IPアドレスをサーチキーとしてIPフローテーブルを検索し、該当IPフローが登録されていた場合、マイクロプロセッサによるルーティング処理へ移行することなく、IPフローに示されるルーティング処理結果に基づいて、適切な出力ポートへ転送する。また、ネットワークインタフェースと接続され、受け取ったパケットに対し下位レイヤの処理を実行し送出する。
[特許文献4]
また、特許文献4(特開2002−044143号公報)に通信制御方式及びルータ及び通信制御方法が開示されている。この関連技術では、ユニキャスト経路表にホスト毎の経路を挿入/削除することにより、端末に対するユニキャストの経路制御を行う通信制御方式において、通信制御方式の適用範囲内にマルチキャストアドレスとそのマルチキャストアドレス宛てのパケットの受信を望む端末のユニキャストアドレスをブロードキャストすることによりマルチキャストグループ管理表を管理し、上記ユニキャスト経路表とマルチキャストグループ管理表からマルチキャスト経路表を作成する。
[特許文献5]
また、特許文献5(特開2011−166700号公報)にネットワークシステム、及びパケット投機転送方法が開示されている。この関連技術では、制御機能を外部のコントローラとして分離したネットワーク機器で構成されるネットワークにおいて、各ネットワーク機器の経路情報を管理するフローテーブルに経路情報がないパケットを投機的に転送し、外部ネットワークに送信する直前で保留する。各ネットワーク機器は、投機的な転送の成否をコントローラからのフローテーブルの設定によって判定する。また、投機的に転送したパケットを経由した全てのネットワーク機器で保持しておき、投機的な転送に失敗したと判定した場合に、投機キャンセルパケットを送ることによって投機的に転送したパケットを取り消し、転送先を間違えたネットワーク機器からパケットを送り直す。
[特許文献6]
また、特許文献6(特表2007−529135号公報)に予測的アドホックに関する技術が開示されている。この関連技術は、複数のネットワーク・ノードから成る複数ホップの無線通信ネットワークにおいて、効率的なルーティングを行うシステムに関するものである。当該システムは、該インフラ・ノード間のリンク状態を示す品質情報を取得する。また、予測手順を用いるインフラ・ノード内の経路決定プロセスにおいて該リンク品質情報を用いる。そして、決定された経路に従ってデータパケットを送る。該リンク品質情報は、該リンク状態の時間的に変化する情報についての情報を含んでおり、該予測手順は、予測手順の中でリンク状態の該時間的に変化する情報を使用する。
[CU分離型ネットワークの説明]
現在、ネットワークシステムの制御方式の1つとして、外部の制御装置(コントロールプレーン)からノード装置(ユーザプレーン)を制御するCU(C:コントロールプレーン/U:ユーザプレーン)分離型ネットワークが提案されている。
CU分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークが挙げられる。オープンフロー技術の詳細については、非特許文献1(OpenFlow Switch Specification, Version 1.1.0)に記載されている。なお、オープンフローネットワークは、一例に過ぎない。
[オープンフローネットワークの説明]
オープンフローネットワークでは、オープンフローコントローラ(OFC:OpenFlow Controller)等の制御装置が、オープンフロースイッチ(OFS:OpenFlow Switch)等のノード装置の経路制御に関するフローテーブル(Flow table)を操作することにより、ノード装置の挙動を制御する。
以下、記載の簡略化のため、オープンフローコントローラ(OFC)を「コントローラ(OFC)」と表記し、オープンフロースイッチ(OFS)を「スイッチ(OFS)」と表記する。
コントローラ(OFC)とスイッチ(OFS)の間は、コントローラ(OFC)がオープンフロー規約(OpenFlow Protocol)に準拠した制御メッセージであるオープンフローメッセージ(OpenFlow Message)を用いてスイッチ(OFS)を制御するためのセキュアチャンネル(Secure Channel)により接続されている。
オープンフローネットワークにおけるスイッチ(OFS)とは、オープンフローネットワークを形成し、コントローラ(OFC)の制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチ(Ingress)でのパケット(packet)の受信から出力側エッジスイッチ(Egress)での送信までのパケットの一連の流れをフロー(Flow)と呼ぶ。
パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「Ethernet(登録商標)」のPDUである。
フローテーブルとは、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の動作(アクション)を定義したフローエントリ(Flow entry)が登録されたテーブルである。
フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域(フィールド)に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は、全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローを示すパケットのヘッダ領域の値の一部(又は、全部)を、正規表現やワイルドカード「*」等で表現したものを指定することもできる。
フローエントリのアクションは、「パケットを特定のポートに出力/転送する」、「パケットを破棄/廃棄する(削除する)」、「パケットのヘッダを書き換える」といった動作を示す。例えば、スイッチ(OFS)は、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチ(OFS)は、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
オープンフローネットワークにおけるスイッチ(OFS)は、フローエントリのルールに適合するパケット群(パケット系列)に対して、フローエントリのアクションを実行する。
特開2008−085470号公報 特許第4362132号公報 特開2000−295274号公報 特開2002−044143号公報 特開2011−166700号公報 特表2007−529135号公報
"OpenFlow Switch Specification, Version 1.1.0 Implemented",[online],February 28, 2011,インターネット(URL:http://www.openflowswitch.org/documents/openflow−spec−v1.1.0.pdf)
本発明では、共有ホスティングサービスの環境であることを前提にして、上記の既存技術の課題を解決する効果的な方式を提案する。このような環境では、共有ホストとネットワーク機器は、同一の主体(共通の管理者(administrator))によって十分に管理されると期待できる。よって、これらの機器により構成された閉じたネットワークの範囲内であれば、従来と異なる接続手順を導入することが容易である。また、閉じたネットワークの範囲内であれば、通信機器同士は相互に信頼できるので情報の信頼性や流出といった問題も発生しない(又は、発生する可能性が十分に低い)と想定できる。
本発明の目的は、ネットワーク機器にパケットが届いた時点で、パケット転送の可否の判断を行い、パケット転送が許可された場合、ネットワーク機器にそのパケットの転送を許可するフローエントリの登録を行うネットワークシステムを提供することである。
従来技術では、ネットワーク機器にパケットが届く以前にエントリを登録しておく必要があった。それに対して、本発明では、ネットワーク機器にパケットが届いてから(届いた後に)エントリを登録する。すなわち、いわゆる「オン・デマンド」(on demand)でエントリを登録する。
本発明に係るネットワークシステムは、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うスイッチと、スイッチに対して、フローエントリの登録の指示を行うコントローラとを含む。コントローラは、スイッチに到着するパケットに対し、当該パケットの送信元の権限に基づいて、当該パケットの転送の可否の判断に関する処理を行い、当該パケットの転送が許可された場合、スイッチに対して、当該パケットの転送に関するフローエントリの登録の指示を行う。
本発明に係るコントローラは、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って受信したパケットの処理を行うスイッチに対して、フローエントリの登録の指示を行う機能部と、スイッチに到着するパケットに対し、当該パケットの送信元の権限に基づいて、当該パケットの転送の可否の判断に関する処理を行い、当該パケットの転送が許可された場合、スイッチに対して、当該パケットの転送に関するフローエントリの登録の指示を行う機能部とを具備する。
本発明に係るパケット認証方法では、スイッチが、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行う。また、コントローラが、スイッチに到着するパケットに対し、当該パケットの送信元の権限に基づいて、当該パケットの転送の可否の判断に関する処理を行い、当該パケットの転送が許可された場合、スイッチに対して、当該パケットの転送に関するフローエントリの登録の指示を行う。
本発明に係るプログラムは、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って受信したパケットの処理を行うスイッチに対して、フローエントリの登録の指示を行うステップと、スイッチに到着するパケットに対し、当該パケットの送信元の権限に基づいて、当該パケットの転送の可否の判断に関する処理を行うステップと、当該パケットの転送が許可された場合、スイッチに対して、当該パケットの転送に関するフローエントリの登録の指示を行うステップとを計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
これにより、接続先のホスト(サーバ等)にパケットが届く前の段階で、コネクション単位のアクセス制御を可能にする。
図1は、本発明に係るネットワークシステムの構成例を示す図である。 図2は、フローテーブルの初期状態について説明するための図である。 図3は、認証/許可に関する処理の流れを示すフローチャートである。 図4は、フローテーブル22が初期状態で、適切な権限を持つユーザがアクセスを試みた場合における一連の動作について説明するための図である。 図5は、フローテーブルに「転送」のフローエントリが登録された状態について説明するための図である。 図6は、フローテーブルに「転送」のフローエントリが登録された状態の時に、適切な権限を持たないユーザがアクセスを試みた場合における一連の動作について説明するための図である。 図7は、フローテーブルに「破棄」のフローエントリが登録された状態について説明するための図である。 図8は、フローテーブルが多数の「破棄」のフローエントリで占められた状態について説明するための図である。 図9は、フローテーブルが多数の「破棄」のフローエントリで占められた状態から回復する場合における一連の動作について説明するための図である。
本発明は、CU分離型ネットワークを対象としている。ここでは、CU分離型ネットワークの1つであるオープンフローネットワークを例に説明する。但し、実際には、オープンフローネットワークに限定されない。
<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
[システム構成]
図1を参照して、本発明に係るネットワークシステムの構成例について説明する。
本発明に係るネットワークシステムは、コントローラ(OFC)10と、スイッチ(OFS)20と、アクセス元ホスト30と、アクセス先ホスト40を含む。
コントローラ(OFC)10、スイッチ(OFS)20、アクセス元ホスト30、及びアクセス先ホスト40は、それぞれ複数でも良い。
コントローラ(OFC)10は、スイッチ(OFS)20を管理する制御装置である。
スイッチ(OFS)20は、ネットワークを構成し、アクセス元ホスト30とアクセス先ホスト40との間の通信を中継するパケット転送装置である。ここでは、アクセス元ホスト30からのパケットを最初に受信する入力側エッジスイッチ(Ingress)を想定している。無論、スイッチ(OFS)20は、多段構成にすることができる。すなわち、スイッチ(OFS)20とアクセス先ホスト40との間に、スイッチ(OFS)20と同じ構成のスイッチ(OFS)を配置しても良い。これらのスイッチ(OFS)は、コントローラ(OFC)10により一元的に管理されているものとする。
アクセス元ホスト30は、異なる権限を持つ複数のユーザがログインやプログラムを実行し、アクセス先ホスト40とのコネクション(接続)を試みる際に利用する発信元の共有ホストである。
アクセス先ホスト40は、アクセス元ホスト30からユーザがコネクションを試みる宛先のホストである。
アクセス元ホスト30及びアクセス先ホスト40は、スイッチ(OFS)20を介してネットワーク通信を行う。ここでは、アクセス元ホスト30は、クライアントに相当する。アクセス先ホスト40は、サーバに相当する。クライアントとサーバとの間でTCP接続を確立するには、クライアントがサーバに「SYNパケット」を送信し、サーバがクライアントに「ACKパケット」を返信し、最後にクライアントがその「ACKパケット」を送り返すという手順を踏む。例えば、アクセス元ホスト30は、アクセス先ホスト40にSYNパケットを送信する。アクセス先ホスト40は、SYNパケットを受信した際、ACKパケットを返信する。アクセス元ホスト30は、アクセス先ホスト40からACKパケットを受信した際、アクセス先ホスト40にACKパケットを送り返す。なお、アクセス元ホスト30及びアクセス先ホスト40は、クライアントやサーバに限らず、オープンフローに未対応のネットワーク機器等でも良い。
前述の通り、アクセス元ホスト30を利用する複数のユーザの各々は、異なる権限を持っている。無論、同一の権限を持つユーザが存在していても良い。アクセス元ホスト30を利用するユーザの中には、権限の違いによって、アクセス先ホスト40へのアクセスが許可されるユーザと拒否されるユーザとが存在する。
コントローラ(OFC)10とスイッチ(OFS)20の間は、専用線やSSL(Secure Socket Layer)等により保護された通信路である「セキュアチャンネル」で接続されている。セキュアチャンネルにより構成された制御ネットワークを「セキュアチャンネルネットワーク」と呼ぶ。コントローラ(OFC)10とスイッチ(OFS)20は、セキュアチャンネルネットワークを経由し、オープンフロープロトコルに則った通信を行う。ここでは、コントローラ(OFC)10は、セキュアチャンネルネットワークを介してスイッチ(OFS)20と接続し、スイッチ(OFS)20からの通知を受信し、スイッチ(OFS)20への指示を行う。
コントローラ(OFC)10は、スイッチ(OFS)20に到着するパケットをスイッチ(OFS)20がどのように処理するかについて、各パケットに対応する経路情報であるフローエントリを操作することにより制御する。
コントローラ(OFC)10は、スイッチ(OFS)20に、多数のフローエントリを登録することになる。フローエントリの集合は、「フローテーブル」と呼ばれる表形式で管理されている。
スイッチ(OFS)20は、パケットの転送等を行う装置であり、内部に備えるフローテーブルに登録されたフローエントリの内容に従って、受信したパケットへの操作を行う。本発明で行われる「パケットへの操作」は、パケットの転送/破棄/コントローラ(OFC)10への通知の3種類である。すなわち、スイッチ(OFS)20は、フローテーブルに登録されたフローエントリの内容に従って、パケットの通過/遮断/フローエントリの問い合わせ(経路制御要求)に関する処理を行う。
スイッチ(OFS)20は、フローテーブルを少なくとも1つ保持している。コントローラ(OFC)10は、配下の各スイッチ(OFS)20のフローテーブルと同じ内容のフローテーブルを全て保持している。すなわち、コントローラ(OFC)10は、各スイッチ(OFS)20のフローテーブルのマスターテーブルを保持している。
なお、「フローテーブルを保持している」とは、そのフローテーブルを管理していることを意味する。そのフローテーブルをネットワーク経由等で管理可能であれば、実際には、そのフローテーブルが自身の内部に存在していなくても良い。すなわち、フローテーブルの保管場所は、そのフローテーブルを管理する装置の内部に限らず、外部でも良い。例えば、コントローラ(OFC)10とスイッチ(OFS)20が、ネットワーク上にある同一のフローテーブルを共有することも考えられる。
フローテーブルは、フローエントリの集まりである。一般なネットワーク機器と対比を示すなら、通常のルータのルーティングテーブルとそのルーティングエントリ、或いは、ファイアウォール装置/NAT装置のフィルタリング・ルールの集合と個別のルール(エントリ)に近いものである。
しかし、オープンフローのフローエントリには、一般のネットワーク機器のルーティングエントリやルールよりも多くの情報が含まれる。例えば、より複雑なパケットのマッチング条件、当該フローエントリがタイムアウトされるまでの時間、或いは前述のパケットへの操作等の情報が含まれる。
[コントローラ(OFC)の構成]
次に、コントローラ(OFC)10の構成例について説明する。
コントローラ(OFC)10は、コントローラ制御部11と、アクセス拒否集計表12を備える。
コントローラ制御部11は、オープンフローネットワークにおけるコントローラ(OFC)としての処理を行う。また、コントローラ制御部11は、セキュアチャンネルネットワークを介して、スイッチ(OFS)20、アクセス元ホスト30、及びアクセス先ホスト40との通信・連携を行う。
アクセス拒否集計表12は、ユーザ毎についてアクセスの認可に失敗した回数(拒否回数)を記録するための記憶領域である。アクセス拒否集計表12は、データベース等により実現しても良い。
[スイッチ(OFS)の構成]
次に、スイッチ(OFS)20の構成例について説明する。
スイッチ(OFS)20は、スイッチ制御部21と、フローテーブル22を備える。
スイッチ制御部21は、オープンフローネットワークにおけるスイッチ(OFS)としての処理を行う。また、スイッチ制御部21は、セキュアチャンネルネットワークを介して、コントローラ(OFC)10との通信・連携を行う。また、スイッチ制御部21は、ユーザネットワークを介して、アクセス元ホスト30やアクセス先ホスト40との通信を行う。
フローテーブル22は、フローエントリの集合である。ここでは、フローテーブル22の各行がフローエントリである。フローテーブル22は、データベース等により実現しても良い。
フローエントリは、「パケットのマッチ条件」(ルール)、「パケットへの操作」(アクション)、「タイムアウト条件」に関する情報を含む。
スイッチ制御部21は、「パケットのマッチ条件」として、「発信IPアドレス」、「発信ポート番号」、「宛先IPアドレス」、「宛先ポート番号」の4項目を使用する。
スイッチ制御部21は、パケットを受信した場合、上記の4項目を検索キーとしてフローテーブル22を検索し、マッチするフローエントリに指定された「パケットへの操作」に従って、パケットを操作する。
なお、当該フローエントリの「タイムアウト条件」として、様々な値が考えられる。例えば、システムで共通の固定値、或いは、システムの利用状況(空きフローエントリ数値)に応じて変化する値等が考えられる。また、当該フローエントリが未使用の時間を示す「アイドルタイム」(Idle time:遊休時間)と、当該フローエントリが登録されてからの時間を示す「ハードタイム」(Hard time:固定時間)の一方、又は、両方を使用しても良い。
ここでは、スイッチ制御部21は、フローエントリの「タイムアウト条件」として、「アイドルタイムアウト」、「ハードタイムアウト」の2項目を使用する。
[アクセス元ホストの構成]
次に、アクセス元ホスト30の構成例について説明する。
アクセス元ホスト30は、認証処理部31と、ユーザプロセス実行部32を備える。
認証処理部31は、認証エージェント311を実行する。認証エージェント311は、ユーザ情報の問い合わせに応じて、該当するユーザを特定し、特定されたユーザに関するユーザ情報を返却する処理を行うための常駐のソフトウェア/プログラムである。ユーザ情報の例として、ユーザID/アカウントやパスワード等の認証情報、或いは、ユーザ/ホストを特定する何らかの情報が考えられる。認証エージェント311は、2つの役割を持つ。1つは、問い合わせに応じてパケットを発信したユーザの情報を返却することである。もう1つは、指示に応じて指定されたユーザによるアクセス元ホスト30の利用を制限することである。また、認証処理部31は、セキュアチャンネルネットワークを介して、コントローラ(OFC)10との通信・連携を行う。
ユーザプロセス実行部32は、ユーザのプロセス321を実行する。ユーザのプロセス321は、アクセス先ホスト40のサービスにコネクションを試みるためのソフトウェア/プログラムである。ユーザのプロセス321の例として、アクセス先ホストにログインするためのリモートシェル(ssh、telnet等)や、アクセス先ホストに配置されたデータベース等へ接続するためのクライアントソフトウェア等のように、共有ホストを利用する人間が意識して操作可能であり、アクセス制御が必要なソフトウェアが考えられる。また、ユーザプロセス実行部32は、ユーザネットワークを介して、スイッチ(OFS)20やアクセス先ホスト40との通信を行う。
[アクセス先ホストの構成]
次に、アクセス先ホスト40の構成例について説明する。
アクセス先ホスト40は、認可処理部41と、サービス実行部42を備える。
認可処理部41は、認可エージェント411を実行する。認可エージェント411は、アクセス可否の問い合わせに応じて、ユーザ情報を基に、アクセスの許可/拒否を判断し、結果を返却する処理を行うための常駐のソフトウェア/プログラムである。認可エージェント411の役割は、問い合わせに応じてユーザのアクセス可否を返却することである。また、認可処理部41は、セキュアチャンネルネットワークを介して、コントローラ(OFC)10との通信・連携を行う。
サービス実行部42は、サービス421を実行する。サービス421は、ユーザのプロセス321とのコネクションを確立した後に、ネットワーク経由で何らかの機能を提供するためのソフトウェア/プログラムである。サービス421の例として、サーバ等にインストールされたアプリケーションやグループウェア、又はサーバ上に構築された仮想マシン(VM:Virtual Machine)等が考えられる。また、サービス実行部42は、ユーザネットワークを介して、スイッチ(OFS)20やアクセス元ホスト30との通信を行う。
[認証と認可の違い]
本発明では、「認証」は、ユーザ等の正体/素性を明らかにすることを意味する。また、「認可」は、ユーザ等の行動(コネクション)を許可するか判断することを意味する。
[ホストの構成の共通化]
なお、アクセス元ホスト30及びアクセス先ホスト40は、同一構成の装置でも良い。例えば、認証処理部31、ユーザプロセス実行部32、認可処理部41、及びサービス実行部42を全て備えたホスト装置であれば、アクセス元ホスト30、アクセス先ホスト40のいずれとしても使用できる。
[フローテーブルの初期状態]
図2を参照して、フローテーブル22の初期状態について説明する。
フローテーブル22には、初期状態で、1個のフローエントリ(デフォルトエントリ)が登録されている。
このフローエントリ(デフォルトエントリ)は、「パケットのマッチ条件」(ルール)、「パケットへの操作」(アクション)、「タイムアウト条件」に関する情報を含む。
パケットのマッチ条件の4項目(「発信IPアドレス」、「発信ポート番号」、「宛先IPアドレス」、「宛先ポート番号」)には、任意を表すワイルドカード「*」が指定されている。
パケットへの操作には、「コントローラに通知」という動作が指定されている。
タイムアウト条件の2項目(「アイドルタイムアウト」、「ハードタイムアウト」)には、「なし」が指定されている。すなわち、何も指定されていない。
初期状態では、スイッチ(OFS)20に到着する全てのパケット(任意のパケット)が、必ずこのフローエントリ(デフォルトエントリ)にマッチする。したがって、初期状態では、スイッチ(OFS)20は、到着した全てのパケット(任意のパケット)をコントローラ(OFS)10に通知することになる。
フローエントリには、オープンフロープロトコルに則った仕様・形式で、優先度を指定することができる。図示しないが、このフローエントリ(デフォルトエントリ)には、最低の優先度が割り当てられている。スイッチ(OFS)20に到着したパケットについて、他にマッチするフローエントリがない場合、このフローエントリ(デフォルトエントリ)がパケットに対して適用される。コントローラ(OFS)10からフローエントリが登録され、他にマッチするフローエントリがある場合、当該他にマッチするフローエントリには、このフローエントリ(デフォルトエントリ)よりも高い優先度が割り当てられているため、当該他にマッチするフローエントリがパケットに対して適用される。
[認証/許可処理]
図3を参照して、本発明における認証/許可の処理の流れについて説明する。
本発明では、コントローラ(OFC)10とスイッチ(OFS)20を連携させることで、以下のように「オン・デマンド」(on demand)でフローエントリを登録して、パケット転送やアクセス制御を実現する。
(1)ステップS101
スイッチ(OFS)20は、ファーストパケットを受信した場合、コントローラ(OFC)10に通知する。なお、ファーストパケットとは、スイッチ(OFS)20のフローテーブル22において、デフォルトエントリ以外にマッチするフローエントリが存在しない未知のパケットのことである。
(2)ステップS102
コントローラ(OFC)10は、通知されたパケットについて、アクセス元ホスト30、及びアクセス先ホスト40に問い合わせて認証/認可を行う。
(3)ステップS103
コントローラ(OFC)10は、認証/認可の結果を基に、フローエントリの内容を決定して、スイッチ(OFS)20に当該フローエントリの登録の指示を行う。
(4)ステップS104
スイッチ(OFS)20は、フローエントリの登録後、同種のパケットを受信した場合、当該フローエントリの内容に従って操作(転送/破棄)する。
(5)ステップS105
スイッチ(OFS)20は、フローエントリのタイムアウトが発生した場合、当該フローエントリを削除する。
なお、スイッチ(OFS)20は、フローエントリの削除後、同種のパケットを受信した場合、再び(1)ステップS101以降の処理を行う。フローエントリの削除後には、同種のパケットであっても、再びファーストパケットに戻っているためである。
また、DoS攻撃(Denial of Service attack:サービス妨害攻撃)によってスイッチ(OFS)20のフローエントリが枯渇することを防ぐために、不正なアクセスを繰り返すユーザの利用を制限する機能も備える。
Dos攻撃の一般的な攻撃の1つである「SYN Flood」攻撃は、攻撃者がTCP接続の手順を中途半端な状態で中止することでサーバのリソースを枯渇させる攻撃である。前述のように、クライアントとサーバとの間でTCP接続を確立するには、クライアントがサーバに「SYNパケット」を送信し、サーバがクライアントに「ACKパケット」を返信し、最後にクライアントがACKパケットを送り返すという手順を踏む。最後のACKパケットが届くまでサーバ側は「応答待ち」状態のまま待機することになり、その接続のために用意されたメモリ領域等のリソースを開放できなくなる。悪意のある攻撃者が大量のSYNパケットを送信し、故意にACKパケットを送らずに放置すると、そのうちサーバ側の「応答待ち」の接続数が限界を超え、新たに接続を受け付けられない状態になる。
[具体例]
以下の3つのケースに分けて具体的な動作について説明する。
(A)アクセスの許可(「転送」のフローエントリ登録)
(B)アクセスの拒否(「破棄」のフローエントリ登録)
(C)不正ユーザの利用を制限(「破棄」のフローエントリ削除)
[(A)アクセスの許可(「転送」のフローエントリ登録)]
最初に、アクセスが許可されるべきパケットを受信した時の動作について説明する。
図4を参照して、フローテーブル22が、図2に示すように初期状態で、適切な権限を持つユーザがアクセスを試みた場合における一連の動作について説明する。
(1)ステップS201
アクセス元ホスト30のユーザプロセス実行部32は、ユーザのプロセス321を実行し、アクセス先ホスト40との通信を試みるため、スイッチ(OFS)20にパケットを送信する。
(2)ステップS202
スイッチ(OFS)20のスイッチ制御部21は、アクセス元ホスト30からパケットを受信した際、フローテーブル22を検索し、当該パケットにマッチするフローエントリを探す。ここでは、当該パケットにマッチするフローエントリは、図2に示すように、マッチ条件の各項目が任意を表すワイルドカード「*」であり、パケットへの操作が「コントローラに通知」となっているフローエントリ(デフォルトエントリ)である。
(3)ステップS203
スイッチ(OFS)20のスイッチ制御部21は、当該フローエントリ(デフォルトエントリ)に従って、コントローラ(OFC)10に当該パケットを通知する。このとき、スイッチ(OFS)20のスイッチ制御部21は、当該パケットのコピーをコントローラ(OFC)10に転送し、当該パケット自体を保留する。
(4)ステップS204
コントローラ(OFC)10のコントローラ制御部11は、通知されたパケットの発信元であるアクセス元ホスト30にユーザ情報を問い合わせる。このユーザ情報の問い合わせには、当該パケットの発信ポート番号が付されている。
(5)ステップS205
アクセス元ホスト30の認証処理部31は、ユーザ情報の問い合わせを受けた場合、認証エージェント311の動作により、当該パケットの発信ポート番号を基に、当該パケットを発信したユーザのプロセス321を特定して、特定されたプロセスを実行したユーザに関するユーザ情報をコントローラ(OFC)10に返却する。
(6)ステップS206
コントローラ(OFC)10のコントローラ制御部11は、当該パケットの宛先であるアクセス先ホスト40にアクセス可否を問い合わせる。このアクセス可否の問い合わせには、ユーザ情報が付されている。
(7)ステップS207
アクセス先ホスト40の認可処理部41は、アクセス可否の問い合わせを受けた場合、認可エージェント411の動作により、ユーザ情報を基に、アクセス可否を判断して、その結果をコントローラ(OFC)10に返却する。ここでは、アクセス先ホスト40の認可処理部41は、「アクセス許可」と判断し、「アクセス許可」の情報をコントローラ(OFC)10に返却する。
(8)ステップS208
コントローラ(OFC)10のコントローラ制御部11は、「アクセス許可」の情報を受信した際、スイッチ(OFS)20に、「転送」のフローエントリの登録の指示を行う。
(9)ステップS209
スイッチ(OFS)20のスイッチ制御部21は、コントローラ(OFC)10からの指示に従って、フローテーブル22に「転送」のフローエントリを登録し、「転送」のフローエントリの登録が成功(完了)した旨をコントローラ(OFC)10に通知する。
この時点で、フローテーブル22は、図5に示すような状態になる。フローテーブル22に登録される「転送」のフローエントリの内容は、下記の通りである。
(ア)パケットのマッチ条件
「発信IPアドレス」=「X1」(アクセス許可されたアクセス元ホストのIPアドレス)
「発信ポート番号」=「X2」(アクセス許可されたアクセス元ホストのポート番号)
「宛先IPアドレス」=「X3」(アクセス許可したアクセス先ホストのIPアドレス)
「宛先ポート番号」=「X4」(アクセス許可したアクセス先ホストのポート番号)
(イ)パケットへの操作
「アクション」=「転送」(アクセス元ホストからのパケットをアクセス先ホストへ転送する)
(ウ)タイムアウト条件
「アイドルタイムアウト」=「P1」(「転送」のフローエントリが未使用の時間)
「ハードタイムアウト」=「P2」(「転送」のフローエントリが登録されてからの時間)
(10)ステップS210
コントローラ(OFC)10のコントローラ制御部11は、フローエントリを登録した後、スイッチ(OFS)20に対して、通知されたパケットを転送するように指示する。
(11)ステップS211
スイッチ(OFS)20のスイッチ制御部21は、コントローラ(OFC)10からの指示に従って、保留していたパケットをアクセス先ホスト40に転送する。
これにより、ユーザのプロセス321とサービス421とのコネクションが確立する。
以降、スイッチ(OFS)20のスイッチ制御部21は、当該コネクションのパケットを受信すると、フローテーブル22に登録されたフローエントリの内容に従って転送する。
やがて、タイムアウト条件に指定された時間が経過して、フローエントリのタイムアウトが発生すると、スイッチ(OFS)20のスイッチ制御部21は、フローテーブル22から、当該フローエントリを削除する。
スイッチ(OFS)20のスイッチ制御部21は、フローエントリを削除した後に、再び当該コネクションのパケットを受信した場合、当該コネクションのパケットはファーストパケットとなるため、再度、上記の動作でフローエントリ登録/パケット転送が行われる。
また、ユーザ情報の問い合わせ/返却の処理を安全にできる理由は、前述の通り、アクセス元ホスト30が共有ホストだからである。
ここでは、コントローラ(OFC)10と、アクセス元ホスト30とは、同一の主体(共通の管理者)の下で十分に管理されているものとする。この場合、コントローラ(OFC)10と、アクセス元ホスト30とは、相互に信用でき、ユーザ情報の偽装や流出といった問題はないと考えられる。
[(B)アクセスの拒否(「破棄」のフローエントリ登録)]
次に、アクセスが拒否されるべきパケットを受信した時の動作について説明する。
図6を参照して、フローテーブルに「転送」のフローエントリが登録された状態(図5に示すような状態)の時に、適切な権限を持たないユーザがアクセスを試みた場合における一連の動作について説明する。
(1)ステップS301
アクセス元ホスト30のユーザプロセス実行部32は、ユーザのプロセス321を実行し、アクセス先ホスト40との通信を試みるため、スイッチ(OFS)20にパケットを送信する。
(2)ステップS302
スイッチ(OFS)20のスイッチ制御部21は、アクセス元ホスト30からパケットを受信した際、フローテーブル22を検索し、当該パケットにマッチするフローエントリを探す。ここでは、当該パケットにマッチするフローエントリは、図2に示すように、マッチ条件の各項目が任意を表すワイルドカード「*」であり、パケットへの操作が「コントローラに通知」となっているフローエントリ(デフォルトエントリ)である。
(3)ステップS303
スイッチ(OFS)20のスイッチ制御部21は、当該フローエントリ(デフォルトエントリ)に従って、コントローラ(OFC)10に当該パケットを通知する。このとき、スイッチ(OFS)20のスイッチ制御部21は、当該パケットのコピーをコントローラ(OFC)10に転送し、当該パケット自体を保留する。
(4)ステップS304
コントローラ(OFC)10のコントローラ制御部11は、通知されたパケットの発信元であるアクセス元ホスト30にユーザ情報を問い合わせる。このユーザ情報の問い合わせには、当該パケットの発信ポート番号が付されている。
(5)ステップS305
アクセス元ホスト30の認証処理部31は、ユーザ情報の問い合わせを受けた場合、認証エージェント311の動作により、当該パケットの発信ポート番号を基に、当該パケットを発信したユーザのプロセス321を特定して、特定されたプロセスを実行したユーザに関するユーザ情報をコントローラ(OFC)10に返却する。
(6)ステップS306
コントローラ(OFC)10のコントローラ制御部11は、当該パケットの宛先であるアクセス先ホスト40にアクセス可否を問い合わせる。このアクセス可否の問い合わせには、ユーザ情報が付されている。
ここまでは、「(A)アクセスの許可(「転送」のフローエントリ登録)」の場合と同じである。
(7)ステップS307
アクセス先ホスト40の認可処理部41は、アクセス可否の問い合わせを受けた場合、認可エージェント411の動作により、ユーザ情報を基に、アクセス可否を判断して、その結果をコントローラ(OFC)10に返却する。ここでは、アクセス先ホスト40の認可処理部41は、「アクセス拒否」と判断し、「アクセス拒否」の情報をコントローラ(OFC)10に返却する。
(8)ステップS308
コントローラ(OFC)10のコントローラ制御部11は、「アクセス拒否」の情報を受信した際、アクセス拒否集計表12を参照し、当該ユーザがアクセスの認可に失敗した回数(拒否回数)に値を加算する。すなわち、コントローラ(OFC)10のコントローラ制御部11は、当該ユーザの拒否回数を集計する。更に、コントローラ(OFC)10のコントローラ制御部11は、アクセス拒否集計表12を参照し、積算された当該ユーザの拒否回数と、予め設定された許容値とを比較する。ここでは、当該ユーザの拒否回数は、許容値内に収まっているものとする。
(9)ステップS309
コントローラ(OFC)10のコントローラ制御部11は、スイッチ(OFS)20に、「破棄」のフローエントリの登録の指示を行う。
(10)ステップS310
スイッチ(OFS)20のスイッチ制御部21は、コントローラ(OFC)10からの指示に従って、フローテーブル22に「破棄」のフローエントリを登録し、「破棄」のフローエントリの登録が成功(完了)した旨をコントローラ(OFC)10に通知する。
この時点で、フローテーブル22は、図7に示すような状態になる。フローテーブル22に登録される「破棄」のフローエントリの内容は、下記の通りである。
(ア)パケットのマッチ条件
「発信IPアドレス」=「Y1」(アクセス拒否されたアクセス元ホストのIPアドレス)
「発信ポート番号」=「Y2」(アクセス拒否されたアクセス元ホストのポート番号)
「宛先IPアドレス」=「Y3」(アクセス拒否したアクセス先ホストのIPアドレス)
「宛先ポート番号」=「Y4」(アクセス拒否したアクセス先ホストのポート番号)
(イ)パケットへの操作
「アクション」=「破棄」(アクセス元ホストからアクセス先ホストへのパケットを破棄する)
(ウ)タイムアウト条件
「アイドルタイムアウト」=「Q1」(「破棄」のフローエントリが未使用の時間)
「ハードタイムアウト」=「Q2」(「破棄」のフローエントリが登録されてからの時間)
ここでは、「転送」のフローエントリには、「破棄」のフローエントリよりも高い優先度を割り当てている。但し、実際には、「破棄」のフローエントリには、「転送」のフローエントリよりも高い優先度を割り当てるようにしても良い。認証が必要な環境で通信を行う場合、パケットの「転送」(通過)よりも「破棄」(遮断)のほうが、重要度が高いこともあるからである。
(11)ステップS311
コントローラ(OFC)10のコントローラ制御部11は、フローエントリを登録した後、スイッチ(OFS)20に対して、通知されたパケットを破棄するように指示する。
(12)ステップS312
スイッチ(OFS)20のスイッチ制御部21は、コントローラ(OFC)10からの指示に従って、保留していたパケットを破棄する。
以降、スイッチ(OFS)20のスイッチ制御部21は、当該コネクションのパケットを受信すると、フローテーブル22に登録されたフローエントリの内容に従って破棄する。
やがて、タイムアウト条件に指定された時間が経過して、フローエントリのタイムアウトが発生すると、スイッチ(OFS)20のスイッチ制御部21は、フローテーブル22から、当該フローエントリを削除する。
スイッチ(OFS)20のスイッチ制御部21は、フローエントリを削除した後に、再び当該コネクションのパケットを受信した場合、当該コネクションのパケットはファーストパケットとなるため、再度、上記の動作でフローエントリ登録/パケット破棄が行われる。
[(C)不正ユーザの利用を制限(「破棄」のフローエントリ削除)]
次に、不正なアクセスが繰り返される時の動作について説明する。
異なるマッチ条件で不正なアクセスが繰り返されると、フローテーブル22は、図8に示すように、多数の「破棄」のフローエントリで占められてしまう。
図9を参照して、フローテーブル22が多数の「破棄」のフローエントリで占められた状態から回復する場合における一連の動作について説明する。
(1)ステップS401
アクセス元ホスト30のユーザプロセス実行部32は、ユーザのプロセス321を実行し、アクセス先ホスト40との通信を試みるため、スイッチ(OFS)20にパケットを送信する。
(2)ステップS402
スイッチ(OFS)20のスイッチ制御部21は、アクセス元ホスト30からパケットを受信した際、フローテーブル22を検索し、当該パケットにマッチするフローエントリを探す。ここでは、当該パケットにマッチするフローエントリは、図2に示すように、マッチ条件の各項目が任意を表すワイルドカード「*」であり、パケットへの操作が「コントローラに通知」となっているフローエントリ(デフォルトエントリ)である。
(3)ステップS403
スイッチ(OFS)20のスイッチ制御部21は、当該フローエントリ(デフォルトエントリ)に従って、コントローラ(OFC)10に当該パケットを通知する。このとき、スイッチ(OFS)20のスイッチ制御部21は、当該パケットのコピーをコントローラ(OFC)10に転送し、当該パケット自体を保留する。
(4)ステップS404
コントローラ(OFC)10のコントローラ制御部11は、通知されたパケットの発信元であるアクセス元ホスト30にユーザ情報を問い合わせる。このユーザ情報の問い合わせには、当該パケットの発信ポート番号が付されている。
(5)ステップS405
アクセス元ホスト30の認証処理部31は、ユーザ情報の問い合わせを受けた場合、認証エージェント311の動作により、当該パケットの発信ポート番号を基に、当該パケットを発信したユーザのプロセス321を特定して、当該ユーザのプロセス321を実行したユーザに関するユーザ情報をコントローラ(OFC)10に返却する。
(6)ステップS406
コントローラ(OFC)10のコントローラ制御部11は、当該パケットの宛先であるアクセス先ホスト40にアクセス可否を問い合わせる。このアクセス可否の問い合わせには、ユーザ情報が付されている。
(7)ステップS407
アクセス先ホスト40の認可処理部41は、アクセス可否の問い合わせを受けた場合、認可エージェント411の動作により、ユーザ情報を基に、アクセス可否を判断して、その結果をコントローラ(OFC)10に返却する。ここでは、アクセス先ホスト40の認可処理部41は、「アクセス拒否」と判断し、「アクセス拒否」の情報をコントローラ(OFC)10に返却する。
ここまでは、「(B)アクセスの拒否(「破棄」のフローエントリ登録)」の場合と同じである。
(8)ステップS408
コントローラ(OFC)10のコントローラ制御部11は、「アクセス拒否」の情報を受信した際、アクセス拒否集計表12を参照し、当該ユーザがアクセスの認可に失敗した回数(拒否回数)に値を加算する。すなわち、コントローラ(OFC)10のコントローラ制御部11は、当該ユーザの拒否回数を集計する。更に、コントローラ(OFC)10のコントローラ制御部11は、アクセス拒否集計表12を参照し、積算された当該ユーザの拒否回数と、予め設定された許容値とを比較する。ここでは、当該ユーザの拒否回数は、許容値に達した/許容値を超過したものとする。
(9)ステップS409
コントローラ(OFC)10のコントローラ制御部11は、アクセス元ホスト30が共有ホストであることを利用し、アクセス元ホスト30に当該ユーザの利用制限の指示を行う。利用制限とは、以後の不正アクセスを制限する措置である。例えば、ユーザのプロセス321を強制終了させ、当該ユーザの新規のログインやプロセス実行を禁止することが考えられる。また、ユーザのプロセス321に係るアプリケーション自体を使用禁止にすることも考えられる。
(10)ステップS410
アクセス元ホスト30の認証エージェント311は、コントローラ(OFC)10からの指示に従って、当該ユーザの利用制限を行う。ユーザの利用制限を確実に実施するために、アクセス元ホスト30の認証エージェント311は、コントローラ(OFC)10やスイッチ(OFS)20と同一の主体(共通の管理者)の下で管理されるものとする。すなわち、コントローラ(OFC)10やスイッチ(OFS)20の管理者は、アクセス元ホスト30の管理者としてのユーザ権限を持つ。また、アクセス元ホスト30の認証エージェント311は、アクセス元ホスト30の管理者にだけ許される特権ユーザ権限で実行されるものとする。
(11)ステップS411
コントローラ(OFC)10のコントローラ制御部11は、スイッチ(OFS)20に、当該ユーザのプロセス321によるアクセスによって登録された「破棄」のフローエントリの削除の指示を行う。なお、異なるマッチ条件で不正なアクセスが繰り返される場合、当該不正なアクセスによって登録された「破棄」のフローエントリの各々について、削除の指示を行うことになる。
(12)ステップS412
スイッチ(OFS)20のスイッチ制御部21は、コントローラ(OFC)10からの指示に従って、フローテーブル22に「破棄」のフローエントリを削除し、「破棄」のフローエントリの削除が成功(完了)した旨をコントローラ(OFC)10に通知する。
(13)ステップS413
コントローラ(OFC)10のコントローラ制御部11は、フローエントリを登録した後、スイッチ(OFS)20に対して、通知されたパケットを破棄するように指示する。
(14)ステップS414
スイッチ(OFS)20のスイッチ制御部21は、コントローラ(OFC)10からの指示に従って、保留していたパケットを破棄する。
これにより、フローテーブル22は、再び図5に示すような状態になり、フローエントリ溢れを回避できる。
<本発明の特徴>
以上のように、本発明では、接続先のサーバにパケットが届く前の段階で、コネクション単位のアクセス制御を可能にする。例えば、SYNパケット送信の時点で、発信元のユーザやプログラムを認証/認可して、パケット転送の可否を判断する。
更に、本発明では、コントローラ(OFC)やスイッチ(OFS)の管理者と、アクセス元ホスト(共有ホスト)の管理者が同じであるため、アクセス元ホスト(共有ホスト)から得たユーザ認証の情報を、ネットワークのアクセス制御に利用できる。
また、本発明には、従来技術と比較して、以下の利点がある。
(1)ユーザ/アプリケーションの接続手順は、一般的な手順から変更不要
本発明では、パケットの認証/認可は、ユーザ/アプリケーションが意識することなく自動的に行われるため、パケットの認証/認可のために、ユーザ/アプリケーションの接続手順を変更する必要はない。
(2)同時接続コネクション数の制約がない
フローエントリは、コネクションが存在していても削除されるので、スイッチ(OFS)が備えるフローテーブルのフローエントリ数に制約されることはない。また、フローエントリを削除しても、新たにパケットを受信すれば再びフローエントリが登録されるので、通信不能になるといった問題も生じない。
(3)大規模な多段構成にも適している
スイッチ(OFS)を多段構成にする場合は、1つのコントローラ(OFC)の配下に複数のスイッチ(OFS)を配置すれば良い。スイッチ(OFS)が備えるフローテーブルのフローエントリ数より多くのコネクションを同時に接続できるので、特定の装置に経路が集約されるようなネットワーク構成にも対応可能である。
<効率化のための仕様変更>
本発明の実施形態の説明では、本発明の要点を明らかにするため、基本的な動作について説明した。但し、認証/認可の動作は一例であって、他にも様々な方法を選択可能である。
本発明を実際のシステムに適用する場合には、認証/認可に掛かる処理時間を短縮することが重要である。そのため、例えば、以下のように変更/機能追加/機能切り替えすることが考えられる。
(1)認証の効率化の観点
アクセス元ホストは、コネクションを試みるためにSYNパケットを送出する場合、SYNパケットにユーザに関する情報を付加する。コントローラ(OFC)は、その付加された情報に基づいて、ユーザを識別する。
(2)認可の効率化の観点
コントローラ(OFC)は、アクセス先ホストから、返却された認可結果をキャッシュ(cache)として保存する。以後、パケット転送の可否は、キャッシュを参照して決定する。これにより、コントローラ(OFC)からアクセス元ホスト、及びアクセス先ホストへ問い合わせを行う機会/回数を大幅に削減することができる。
或いは、アクセス先ホストに認可エージェントを配置せず、代わりにコントローラ(OFC)が認可エージェントに相当する機能を有する。すなわち、コントローラ(OFC)が、アクセス元ホストからのユーザ情報を基に、アクセス可否を判断する。これにより、コントローラ(OFC)からアクセス先ホストへ問い合わせを行う必要がなくなる。
これらの変更によって、本発明に係るネットワークシステムにおいても、スイッチ(OFS)とコントローラ(OFC)のみで構成する通常のオープンフローネットワークシステムと同等の処理速度になると期待できる。他にも様々な変更/改善/応用が考えられる。
(3)処理時間の効率化の観点
アクセス元ホストは、コネクション生成時(パケット送信時)/ユーザのログイン時/定期的に、コントローラ(OFC)にユーザ情報を通知する。これにより、コントローラ(OFC)は、アクセス元ホストへ問い合わせを行う必要がなくなる。
或いは、コントローラ(OFC)は、アクセス元ホストがアクセス先ホストにコネクションを試みる際に、アクセス元ホストから、ユーザ情報と共に、SYNパケットを受信する。例えば、アクセス元ホストは、アクセス先ホストにコネクションを試みる際、認証エージェントの動作により、必ずコントローラ(OFC)に、SYNパケットとユーザ情報を送信するようにする。コントローラ(OFC)は、アクセス元ホストからのSYNパケットに基づいて経路計算を行い、アクセス元ホストからのユーザ情報に基づいて認証に関する処理を行い、アクセスが許可された場合、算出された経路上のスイッチ(OFS)に「転送」のフローエントリの登録を指示する。なお、認証に関する処理については、アクセス先ホストにユーザ情報を通知してアクセス可否を問い合わせても良いし、コントローラ(OFC)自身がアクセス可否を判断するようにしても良い。これにより、スイッチ(OFS)からファーストパケットの通知を受ける必要がなくなる。
また、スイッチ(OFS)が多段構成の場合(経路上に複数のスイッチ(OFS)が存在する場合)、コントローラ(OFC)は、経路上の後続のスイッチ(OFS)からの通知に備えて、パケットの認証/認可の結果をキャッシュする。後続のスイッチ(OFS)からの通知があれば、キャッシュされたパケットの認証/認可の結果を基に、フローエントリの登録の指示を行う。
或いは、スイッチ(OFS)が多段構成の場合、未知パケットが1台のスイッチ(OFS)から通知された場合、パケットの認証/認可の結果をキャッシュせずに、即時に経路上の全スイッチ(OFS)にフローエントリの登録の指示を行う。
(4)フローエントリの削除/フローテーブルのリソース回収の観点
コネクションの切断時、スイッチ(OFS)は、アクセス元ホストからのFINパケットを検知した際に、当該コネクションのフローエントリを削除する。
或いは、コントローラ(OFC)は、スイッチ(OFS)のフローテーブルの空きを監視し、フローテーブルの空きが少なくなったと判断/検知した場合、コントローラ(OFC)からスイッチ(OFS)へフローエントリの削除の指示を行い、必要な空き数を確保する。
更に、コントローラ(OFC)は、スイッチ(OFS)のフローテーブルの空きの枯渇によってフローエントリの登録が失敗した場合、フローテーブルの空きが十分に確保できるまで、その時点で最も使用頻度の低いフローエントリから順に、削除の指示を行う。
また、コントローラ(OFC)は、スイッチ(OFS)のフローテーブルの空きが少なくなった場合、拒否回数の許容値を小さくして、フローエントリの削除/フローテーブルのリソース回収を早める。
なお、コントローラ(OFC)は、「破棄」のフローエントリがタイムアウトした場合、該当ユーザの拒否回数を減算するようにしても良い。
(5)認可の条件の観点
認可の条件に、「課金の有無」、「料金コース」、「アクセス先の負荷状況」等を追加する。
(6)構成の観点
セキュアチャンネルネットワーク(制御ネットワーク)と、ユーザネットワークを共通のものにする。例えば、アクセス元ホスト及びアクセス先ホストは、スイッチ(OFS)を経由して、コントローラ(OFC)と通信するようにしても良い。
なお、上記の動作は、組み合わせて実施しても良い。
[本発明の要点]
(1)オン・デマンドでパケットの認証/認可を行うこと
(2)使用中のフローエントリであっても削除すること
(3)接続元(アクセス元ホスト)が共有ホストであること
<ハードウェアの例示>
以下に、本発明に係るネットワークシステムを実現するための具体的なハードウェアの例について説明する。
コントローラ(OFC)、アクセス元ホスト、及びアクセス先ホストの例として、PC(パソコン)、アプライアンス(appliance)、シンクライアント用サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、アクセス元ホスト及びアクセス先ホストの他の例として、IP電話機、携帯電話機、スマートフォン、スマートブック、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器、店頭端末・高機能コピー機、デジタルサイネージ(Digital Signage:電子看板)等も考えられる。なお、コントローラ(OFC)、アクセス元ホスト、及びアクセス先ホストは、端末やサーバに限らず、中継機器や周辺機器でも良い。また、コントローラ(OFC)、アクセス元ホスト、及びアクセス先ホストは、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM)でも良い。
スイッチ(OFS)の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン(VM)により実現される仮想スイッチでも良い。
コントローラ(OFC)、スイッチ(OFS)、アクセス元ホスト、及びアクセス先ホストは、車両や船舶、航空機等の移動体に搭載されていても良い。
図示しないが、コントローラ(OFC)、スイッチ(OFS)、アクセス元ホスト、及びアクセス先ホストの各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)等でも良い。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。したがって、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
なお、コントローラ(OFC)、スイッチ(OFS)、アクセス元ホスト、及びアクセス先ホストの各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
但し、実際には、これらの例に限定されない。
<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本特許出願番号2012−084718に基づく優先権を主張するものであり、日本特許出願番号2012−084718における開示内容は引用により本出願に組み込まれる。

Claims (8)

  1. パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うスイッチと、
    前記スイッチに対して、前記フローエントリの登録の指示を行うコントローラと
    を含み、
    前記スイッチは、異なる権限を持つ複数のユーザにより使用されるアクセス元ホストから未知のパケットを受信した際、該パケットを前記コントローラに通知し、
    前記コントローラは、前記アクセス元ホストに対して、該パケットの発信に係るユーザの認証情報を問い合わせ、前記認証情報を基に、該パケットの宛先であるアクセス先ホストに対して、アクセス可否を問い合わせ、アクセスが許可された場合、前記スイッチに対して、該パケットの転送に関するフローエントリの登録の指示を行い、アクセスが拒否された場合、前記スイッチに対して、該パケットの破棄に関するフローエントリの登録の指示を行う
    ネットワークシステム。
  2. 請求項に記載のネットワークシステムであって、
    前記コントローラは、アクセスが拒否された場合、アクセス拒否回数を記録し、前記アクセス拒否回数が許容値内であるか確認し、前記アクセス拒否回数が許容値内である場合、前記スイッチに対して、該パケットの破棄に関するフローエントリの登録の指示を行い、前記アクセス拒否回数が許容値に達した場合、前記アクセス元ホストに対して、該パケットの発信に係るユーザの利用制限の指示を行い、前記スイッチに対して、該パケットの破棄に関するフローエントリの削除の指示を行う
    ネットワークシステム。
  3. 請求項1または2に記載のネットワークシステムであって、
    前記コントローラは、異なる権限を持つ複数のユーザにより使用されるアクセス元ホストがアクセス先ホストへのアクセスを試みる際、前記アクセス元ホストから、パケットの発信に係るユーザの認証情報を取得し、前記認証情報を基に、アクセス可否を判断し、アクセスを許可する場合、前記スイッチに対して、該パケットの転送に関するフローエントリの登録の指示を行い、アクセスを拒否する場合、前記スイッチに対して、該パケットの破棄に関するフローエントリの登録の指示を行う
    ネットワークシステム。
  4. パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って受信したパケットの処理を行うスイッチに対して、前記フローエントリの登録の指示を行う手段と、
    前記スイッチから、異なる権限を持つ複数のユーザにより使用されるアクセス元ホストが送出した未知のパケットに関する通知を受信する手段と、
    前記アクセス元ホストに対して、該パケットの発信に係るユーザの認証情報を問い合わせる手段と、
    前記認証情報を基に、該パケットの宛先であるアクセス先ホストに対して、アクセス可否を問い合わせる手段と、
    アクセスが許可された場合、前記スイッチに対して、該パケットの転送に関するフローエントリの登録の指示を行う手段と
    アクセスが拒否された場合、前記スイッチに対して、該パケットの破棄に関するフローエントリの登録の指示を行う手段と
    を具備する
    コントローラ。
  5. 請求項に記載のコントローラであって、
    アクセスが拒否された場合、アクセス拒否回数を記録する手段と、
    前記アクセス拒否回数が許容値内であるか確認する手段と、
    前記アクセス拒否回数が許容値内である場合、前記スイッチに対して、該パケットの破棄に関するフローエントリの登録の指示を行う手段と、
    前記アクセス拒否回数が許容値に達した場合、前記アクセス元ホストに対して、該パケットの発信に係るユーザの利用制限の指示を行い、前記スイッチに対して、該パケットの破棄に関するフローエントリの削除の指示を行う手段と
    を更に具備する
    コントローラ。
  6. 請求項4または5に記載のコントローラであって、
    異なる権限を持つ複数のユーザにより使用されるアクセス元ホストがアクセス先ホストへのアクセスを試みる際、前記アクセス元ホストから、パケットの発信に係るユーザの認証情報を取得する手段と、
    前記認証情報を基に、アクセス可否を判断する手段と、
    アクセスを許可する場合、前記スイッチに対して、該パケットの転送に関するフローエントリの登録の指示を行う手段と、
    アクセスを拒否する場合、前記スイッチに対して、該パケットの破棄に関するフローエントリの登録の指示を行う手段と
    を更に具備する
    コントローラ。
  7. スイッチが、パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って、受信したパケットの処理を行うことと、
    コントローラが、前記スイッチから、異なる権限を持つ複数のユーザにより使用されるアクセス元ホストが送出した未知のパケットに関する通知を受信することと、前記アクセス元ホストに対して、該パケットの発信に係るユーザの認証情報を問い合わせること、前記認証情報を基に、該パケットの宛先であるアクセス先ホストに対して、アクセス可否を問い合わせることとアクセスが許可された場合、前記スイッチに対して、該パケットの転送に関するフローエントリの登録の指示を行うことと
    を含む
    パケット認証方法。
  8. パケットをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリに従って受信したパケットの処理を行うスイッチに対して、前記フローエントリの登録の指示を行うステップと、
    前記スイッチから、異なる権限を持つ複数のユーザにより使用されるアクセス元ホストが送出した未知のパケットに関する通知を受信するステップと、
    前記アクセス元ホストに対して、該パケットの発信に係るユーザの認証情報を問い合わせるステップと、
    前記認証情報を基に、該パケットの宛先であるアクセス先ホストに対して、アクセス可否を問い合わせるステップと、
    アクセスが許可された場合、前記スイッチに対して、該パケットの転送に関するフローエントリの登録の指示を行うステップと
    を計算機に実行させるための
    プログラム。
JP2014509114A 2012-04-03 2013-03-26 ネットワークシステム、コントローラ、及びパケット認証方法 Expired - Fee Related JP5987902B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014509114A JP5987902B2 (ja) 2012-04-03 2013-03-26 ネットワークシステム、コントローラ、及びパケット認証方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012084718 2012-04-03
JP2012084718 2012-04-03
PCT/JP2013/058874 WO2013150925A1 (ja) 2012-04-03 2013-03-26 ネットワークシステム、コントローラ、及びパケット認証方法
JP2014509114A JP5987902B2 (ja) 2012-04-03 2013-03-26 ネットワークシステム、コントローラ、及びパケット認証方法

Publications (2)

Publication Number Publication Date
JPWO2013150925A1 JPWO2013150925A1 (ja) 2015-12-17
JP5987902B2 true JP5987902B2 (ja) 2016-09-07

Family

ID=49300418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014509114A Expired - Fee Related JP5987902B2 (ja) 2012-04-03 2013-03-26 ネットワークシステム、コントローラ、及びパケット認証方法

Country Status (5)

Country Link
US (2) US20150052576A1 (ja)
EP (1) EP2835941A4 (ja)
JP (1) JP5987902B2 (ja)
CN (1) CN104205751A (ja)
WO (1) WO2013150925A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419737B2 (en) 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
US20150113593A1 (en) * 2013-10-17 2015-04-23 International Business Machines Corporation Proximity based dual authentication for a wireless network
US10212083B2 (en) * 2013-10-30 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow data channel and control channel separation
CN108667853B (zh) 2013-11-22 2021-06-01 华为技术有限公司 恶意攻击的检测方法和装置
JP6364761B2 (ja) * 2013-12-18 2018-08-01 日本電気株式会社 ネットワークシステムおよび通信方法
CN104954271B (zh) * 2014-03-26 2018-11-30 国际商业机器公司 Sdn网络中的数据包处理方法和装置
WO2015145976A1 (ja) * 2014-03-28 2015-10-01 日本電気株式会社 通信システム、制御指示装置、制御実施装置、通信制御方法およびプログラムを記憶する記憶媒体
WO2016023148A1 (zh) * 2014-08-11 2016-02-18 华为技术有限公司 报文的控制方法、交换机及控制器
JP6558728B2 (ja) * 2014-08-20 2019-08-14 国立大学法人九州工業大学 無線メッシュネットワークシステム
DE112015004473T5 (de) 2014-09-30 2017-07-06 Concio Holdings LLC Bestätigen der datengenauigkeit in einem verteilten steuerungssystem
KR102274589B1 (ko) * 2014-10-17 2021-07-06 주식회사 케이티 국제전화 이상트래픽 피해 방지를 위한 시스템 및 방법
US10326865B2 (en) 2015-03-24 2019-06-18 Concio Holdings LLC Filter or bridge for communications between CAN and CAN-FD protocol modules
US9961076B2 (en) 2015-05-11 2018-05-01 Genesys Telecommunications Laboratoreis, Inc. System and method for identity authentication
US20160359720A1 (en) * 2015-06-02 2016-12-08 Futurewei Technologies, Inc. Distribution of Internal Routes For Virtual Networking
WO2017009525A1 (en) * 2015-07-16 2017-01-19 Nokia Technologies Oy User-plane enhancements supporting in-bearer sub-flow qos differentiation
CN106385365B (zh) 2015-08-07 2019-09-06 新华三技术有限公司 基于开放流Openflow表实现云平台安全的方法和装置
US10050965B2 (en) 2015-11-02 2018-08-14 Concio Holdings LLC Confirming data accuracy in a distributed control system
JP6614980B2 (ja) * 2016-01-20 2019-12-04 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP6554062B2 (ja) * 2016-05-20 2019-07-31 日本電信電話株式会社 流量制御方法および流量制御装置
JP6731789B2 (ja) * 2016-06-03 2020-07-29 キヤノン株式会社 ネットワークデバイス及びその制御方法、プログラム
CN108370373B (zh) * 2016-06-22 2021-01-29 华为技术有限公司 用于检测和防御恶意数据流网络入侵的系统和方法
JP6838343B2 (ja) 2016-10-07 2021-03-03 株式会社リコー 通信制御装置、通信制御プログラムおよび通信システム
JP6985608B2 (ja) * 2018-03-29 2021-12-22 株式会社バッファロー 通信機器、通信機器の作動方法、通信機器の作動プログラム
JP2020072427A (ja) * 2018-11-01 2020-05-07 日本電気株式会社 ネットワークへの脅威の感染拡大を防ぐ制御装置、制御方法、システム、およびプログラム
JP6801046B2 (ja) * 2019-05-28 2020-12-16 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 悪意があるデータフローのネットワーク侵入を検知および防止するシステムおよび方法
WO2024171255A1 (ja) * 2023-02-13 2024-08-22 三菱電機株式会社 中継装置、通信システム、制御回路、記憶媒体および中継方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000295274A (ja) 1999-04-05 2000-10-20 Nec Corp パケット交換装置
JP3833450B2 (ja) 2000-07-27 2006-10-11 三菱電機株式会社 通信制御方式及びルータ
AU2003290489A1 (en) 2003-12-23 2005-07-14 Telefonaktiebolaget Lm Ericsson (Publ) Predictive ad-hoc
JP4362132B2 (ja) 2004-04-14 2009-11-11 日本電信電話株式会社 アドレス変換方法、アクセス制御方法、及びそれらの方法を用いた装置
JP2008085470A (ja) 2006-09-26 2008-04-10 Fujitsu Ltd Ipアプリケーションサービス提供システム
US20080189769A1 (en) * 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
EP2597816B1 (en) * 2007-09-26 2019-09-11 Nicira Inc. Network operating system for managing and securing networks
JPWO2011081104A1 (ja) * 2010-01-04 2013-05-09 日本電気株式会社 通信システム、認証装置、制御サーバ、通信方法およびプログラム
JP5521614B2 (ja) 2010-02-15 2014-06-18 日本電気株式会社 ネットワークシステム、及びパケット投機転送方法
JP5679422B2 (ja) 2010-10-13 2015-03-04 富士機械製造株式会社 電子部品実装方法および電子部品実装機

Also Published As

Publication number Publication date
EP2835941A1 (en) 2015-02-11
EP2835941A4 (en) 2015-12-09
CN104205751A (zh) 2014-12-10
US20160337372A1 (en) 2016-11-17
US20150052576A1 (en) 2015-02-19
JPWO2013150925A1 (ja) 2015-12-17
WO2013150925A1 (ja) 2013-10-10

Similar Documents

Publication Publication Date Title
JP5987902B2 (ja) ネットワークシステム、コントローラ、及びパケット認証方法
US11178104B2 (en) Network isolation with cloud networks
US10805268B2 (en) Method and apparatuses for enabling routing of data packets between a wireless device and a service provider based in the local service cloud
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
US9313171B2 (en) Path selection in a multi-service and multi-tenant secure cloud environment
EP1624644B1 (en) Privileged network routing
JP5943006B2 (ja) 通信システム、制御装置、通信方法およびプログラム
US11601467B2 (en) Service provider advanced threat protection
US20140230044A1 (en) Method and Related Apparatus for Authenticating Access of Virtual Private Cloud
US20080189769A1 (en) Secure network switching infrastructure
CA2832019A1 (en) Network system, switch and connected terminal detection method
JPWO2011083785A1 (ja) ネットワークシステム、及びネットワーク冗長化方法
JP5143199B2 (ja) ネットワーク中継装置
US11240207B2 (en) Network isolation
CN108881018B (zh) 用于在diameter信令路由器处路由diameter消息的方法、系统及装置
US11102172B2 (en) Transfer apparatus
CN106416146B (zh) 通信装置、通信方法和通信系统
JP5966488B2 (ja) ネットワークシステム、スイッチ、及び通信遅延短縮方法
CN107948104A (zh) 一种网络地址转换环境中报文转发的方法及交换设备
JP2012070225A (ja) ネットワーク中継装置及び転送制御システム
JP6330814B2 (ja) 通信システム、制御指示装置、通信制御方法及びプログラム
JP5622088B2 (ja) 認証システム、認証方法
JP5504940B2 (ja) 仮想プライベートネットワークシステム、通信方法及びコンピュータプログラム
WO2012098779A1 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
JP2022076833A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160222

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: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5987902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees