JP3657569B2 - Packet processing method and communication apparatus - Google Patents

Packet processing method and communication apparatus Download PDF

Info

Publication number
JP3657569B2
JP3657569B2 JP2002079729A JP2002079729A JP3657569B2 JP 3657569 B2 JP3657569 B2 JP 3657569B2 JP 2002079729 A JP2002079729 A JP 2002079729A JP 2002079729 A JP2002079729 A JP 2002079729A JP 3657569 B2 JP3657569 B2 JP 3657569B2
Authority
JP
Japan
Prior art keywords
address
packet
program
pattern
transfer destination
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
JP2002079729A
Other languages
Japanese (ja)
Other versions
JP2003283548A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002079729A priority Critical patent/JP3657569B2/en
Publication of JP2003283548A publication Critical patent/JP2003283548A/en
Application granted granted Critical
Publication of JP3657569B2 publication Critical patent/JP3657569B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、通信ネットワークにおけるパケット処理方法およびその処理を行う通信装置に関する。特に、通信ネットワークのノード上においてユーザのプログラムが通信パケットに対して作用を行うアクティブネットワークのパケット処理方法およびその処理を行う通信装置に関する。
【0002】
【従来の技術】
データ通信ネットワークにおいて、いわゆるアクティブネットワーク(active network)の技術が提唱されている。このアクティブネットワークを構成する通信装置は、伝送されるデータに対して作用するプログラムコード(「アクティブコード」と呼ばれることがある)を実行するための実行環境(Execution Environment, EE)を備えている。
【0003】
従来のアクティブネットワークの技術においては、例えばANEP(Active Network Encapsulation Protocol )やあるいは他のプロプライエタリな通信プロトコルを用いることによって、ネットワーク上の通信装置内の実行環境を起動するしくみとなっていた。そのような実行環境の起動を可能とするために、特殊なタイプのパケット(「アクティブパケット」と呼ばれることがある)が用いられていた。
【0004】
図7(a)は、従来技術によるアクティブパケットの構成を示す概略図である。ここでは、IP(Internet Protocol )上でANEPによる制御を行うパケットの例を示している。図7(a)に示すように、アクティブパケットは、IPヘッダに後続する部分に、例えばANEP制御情報などといった制御情報を含んでいる。なお、図7(b)は、通常のIPパケットの構成を示す概略図である。
【0005】
従来のアクティブネットワークの技術においては、特定のアクティブパケットのためのプログラムコードが実行環境で実行されるように、次の2つの方法のうちのいずれかによる制御が行われていた。
第1の方法は、伝送されるパケット自身の中にプログラムコードを含むようにして、伝送経路上の各実行環境においてそのプログラムコードを実行する方法である。
第2の方法は、実行すべきプログラムコードを識別するための識別情報(例えばコードIDなど)を伝送されるパケットの中に含むようにして、この識別情報に基づいて特定のコードを呼び出して実行する方法である。
【0006】
【発明が解決しようとする課題】
上記の従来技術では、実行環境において実行されるプログラムを特定するために、上記第1の方法をとる場合も上記第2の方法を取る場合も、ANEPなど何らかのプロプライエタリなプロトコルを用いる必要があった。また、既存のネットワークにそのような新しいプロトコルを導入するためには、末端のユーザ側のコンピュータ上のアプリケーションプログラムを新しく書き換える必要があった。しかしながら、そのようなアプリケーションプログラムの書き換えは膨大な手間とコストを要するという問題がある。
【0007】
本願発明はこのような事情を考慮してなされたものであり、ユーザ側のアプリケーションプログラムを特に書き換える必要がなく、従来型の通常のパケットに対しても作用することのできるアクティブネットワークのしくみ、および実行環境の起動のしくみを提供することを目的とする。
また、本願発明は、上記のような新しいアクティブネットワークの実現方法を応用することによって、従来のアクティブネットワークでは不可能であったアプリケーションを提供できるようにすることを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、通信装置におけるパケット処理方法であ、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと該パターンに対応するプログラムの情報とを予め転送先テーブルに登録しておき、パケットを受信した際に、この受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに登録されていたアドレスのパターンと、前記受信パケットの送信元アドレスまたは宛先アドレスとがマッチした場合に、当該パターンに対応するプログラムを起動して、起動されたプログラムに当該受信パケットを渡すパケット処理方法であって、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないことを特徴とするパケット処理方法である。
【0010】
また、本発明のパケット処理方法は、前記転送先テーブルに登録されるアドレスのパターンは、送信元アドレスあるいは宛先アドレスの少なくともいずれか一方が当該ユーザの所有するアドレスであることを特徴とする。
【0011】
また、本発明のパケット処理方法は、通信装置におけるパケット処理方法であり、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと該パターンに対応するプログラムの情報とを予め転送先テーブルに登録しておき、パケットを受信した際に、この受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに登録されていたアドレスのパターンと、前記受信パケットの送信元アドレスまたは宛先アドレスとがマッチした場合に、当該パターンに対応するプログラムを起動して、起動されたプログラムに当該受信パケットを渡す、通信装置におけるパケット処理方法であって、前記転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、前記受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動することを特徴とする。
【0012】
また、本発明のパケット処理方法は、通信装置におけるパケット処理方法であり、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと該パターンに対応するプログラムの情報とを予め転送先テーブルに登録しておき、パケットを受信した際に、この受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに登録されていたアドレスのパターンと、前記受信パケットの送信元アドレスまたは宛先アドレスとがマッチした場合に、当該パターンに対応するプログラムを起動して、起動されたプログラムに当該受信パケットを渡すパケット処理方法であって、前記受信パケットにマッチするパターンに対応する2種類以上のプログラムが単一のユーザによって登録されている場合は、これら2種類以上のプログラムのうち最も古く登録されたものを優先的に起動することを特徴とする。
【0013】
また、本発明の通信装置は、通信線毎に設けられたインタフェース部であって当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行うインタフェース部と、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラムの情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する転送先テーブル記憶部と、前記プログラムを予め記憶しているとともに、このプログラムを実行するアクティブネットワーク実行環境部と、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す転送処理部とを備え、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにする登録部をさらに備えることを特徴とするものである。
【0015】
また、本発明の通信装置は、前記転送先テーブルに登録されるアドレスのパターンは、送信元アドレスあるいは宛先アドレスの少なくともいずれか一方が当該ユーザの所有するアドレスであることを特徴とする。
【0016】
また、本発明の通信装置は、通信線毎に設けられたインタフェース部であって当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行うインタフェース部と、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラムの情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する転送先テーブル記憶部と、前記プログラムを予め記憶しているとともに、このプログラムを実行するアクティブネットワーク実行環境部と、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す転送処理部とを備え、前記転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、前記受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動することを特徴とする。
【0017】
また、本発明の通信装置は、通信線毎に設けられたインタフェース部であって当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行うインタフェース部と、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラムの情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する転送先テーブル記憶部と、前記プログラムを予め記憶しているとともに、このプログラムを実行するアクティブネットワーク実行環境部と、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す転送処理部とを備え、前記受信パケットにマッチするパターンに対応する2種類以上のプログラムが単一のユーザによって登録されている場合は、これら2種類以上のプログラムのうち最も古く登録されたものを優先的に起動することを特徴とする。
【0018】
【発明の実施の形態】
以下、図面を参照しこの発明の一実施形態について説明する。
図1は、本実施形態が前提とするネットワークの構成である。図1に示すように、通信ネットワークは、複数の通信装置7001によって接続されている。そして、通信装置7001には1台または複数台のユーザのコンピュータ7000を接続することができるようになっている。ユーザのコンピュータ7000相互間で通信データのやりとりを行う際には、送信元のユーザのコンピュータ7000が送信したパケットを通信ネットワーク上の各ノードに位置する通信装置7001が順次転送することにより、そのパケットを宛先のユーザのコンピュータ7000に届けるようにする。
【0019】
次に、通信装置の構成について説明する。図2は、通信装置7001の内部の構成を示すブロック図である。図2に示すように、通信装置7001には通信線7024a、7024b、7024c、7024dが接続されており、通信装置7001はこれらの通信線を介して隣接する他の通信装置との間でパケットを交換することができるようになっている。また、通信装置7001には、上記の各通信線7024a〜7024dに対応したインタフェース部7023a〜7023dと、パケットを転送する処理を行うための転送処理部7021と、パケットの転送の際の転送先の情報を記憶する転送先テーブル7022と、アクティブパケットに対する処理を行うためのアクティブネットワーク実行環境(Active Network Execution Environment)7010とが設けられている。なお、アクティブネットワーク実行環境7010は、内部に、アクティブコード(プログラム)を実行するためのコード実行部7011と、アクティブコードを記憶しておくためのコード記憶部7012とを備えている。なお、ここでアクティブコードとは、アクティブネットワークにおいてパケットに対する作用を行うコンピュータプログラムのコードである。
【0020】
ここで、図2を参照しながら、この通信装置7001の動作例の概要を説明する。隣接する他の通信装置から通信線7024dを介してパケットが到着すると、インタフェース部7023dがそのパケットを受信し転送処理部7021に渡す。転送処理部7021は、渡されたパケットのヘッダ部分に格納されている送信元(source)アドレスと宛先(destination )アドレスとを読み取り、さらにそれらのアドレスをキーとして転送先テーブル記憶部7022に記憶されている転送先テーブルを参照することによって、そのパケットにどう対処するかを決定する。
【0021】
パケットへの対処は大きく2通りに分けられる。そのパケットに対してアクティブコードを適用する場合と、そのパケットをそのまま他の通信装置に転送する場合とである。
転送先テーブルを参照した結果、そのパケットに対してアクティブコードを適用すべきものである場合には、転送処理部7021は、そのパケットをアクティブネットワーク実行環境7010に渡す。アクティブネットワーク実行環境7010においては、コード実行部7011がそのパケットを受け取り、そのパケットに対して適用すべきアクティブコードをコード記憶部7012から読み出して実行する。なお、コード実行部7011は、アクティブコードを実行した結果、必要な場合には処理対象となったパケットを再び転送処理部7021に渡して他の通信装置に対して転送することもある。
転送先テーブルを参照した結果、そのパケットにアクティブコードを適用せずそのまま他の転送装置に転送するべきものである場合には、転送処理部7021は、適切な転送先に対応したインタフェース部(7023aや7023bや7023cなど)に渡し、そのインタフェース部が通信線(7024aや7024bや7024cなど)を介してパケットを他の通信装置に転送する。
【0022】
なお、ここでは通信線7024dを介して他の通信装置からパケットが到着した場合を例として説明したが、他の通信線を介してパケットが到着した場合の処理も同様である。
【0023】
次に、通信装置7001内の転送処理部7021がいかにしてパケットに対する処置(アクティブコードを適用するか、単純に他の通信装置に転送するか)を決定するかを具体的に説明する。
【0024】
本実施形態が基礎とするフレームワークでは、アクティブネットワーク実行環境はパケットの中において指定されているIPアドレスに基づいて起動される。ここで、全ての(グローバル)IPアドレスの集合をIと表わすものとする。また、送信元IPアドレスがsであり宛先IPアドレスがdであるようなパケットを(s,d)と表わすものとする。また、通信装置のアクティブネットワーク実行環境に格納されているすべてのアクティブコードはそれぞれ特定のユーザに属するものとし、ある特定のユーザの所有するIPアドレスの集合をOと表わすものとする。
【0025】
本フレームワークでは、上記特定のユーザに属する個々のアクティブコードは、次に示す式による集合Aで表されるパケットであって、かつ当該アクティブネットワーク実行環境を備えた通信装置(ノード)によって受信されたパケットに対してアクセスする権限を持つ。すなわち、
A={(s,d)∈[(O×I)∪(I×O)]|s≠d}
である。つまり、この式が意味するところの概略は、特定のユーザに属するアクティブコードは、当該ユーザが所有する全てのIPアドレスのいずれかを送信元または宛先のアドレスとするようなパケットに対してアクセス権を有するということである。
【0026】
当該ユーザに属するn個のアクティブコードがある通信装置(ノード)に格納されているとき、i番目(1≦i≦n)のアクティブコードは、集合C(i)(C(i)⊆A)に属するパケットをキャプチャーして処理することをアクティブネットワーク実行環境に対して予め要求しておく。つまり、当該ユーザに関して、アクティブネットワーク実行環境は、c(1)∪c(2)∪・・・・・・∪c(n)なる和集合の要素であるパケット(s,d)によって起動されるものであり、このようなパケットを「アクティブパケット」と呼ぶことができる。
【0027】
図3は、図2に示した転送先テーブル記憶部7022に記憶されている転送先テーブルの一例を示す概略図である。上記のフレームワークを実現するために必要な情報は、このような転送先テーブルに格納することが可能である。
【0028】
図3に示すように、転送先テーブルは、タイプ(Type)と宛先アドレス(Destination )と送信元アドレス(Source)と転送先(Send to )の各項目を含んでいる。タイプの項目は、テーブルのエントリーのタイプを表わすものであり、「アクティブ(Active)」あるいは「通常(Regular )」のいずれかの値をとる。宛先アドレスおよび送信元アドレスの項目は、転送対象のパケットの宛先IPアドレスおよび送信元IPアドレスにそれぞれ対応するものである。転送先の項目はは、宛先アドレスと送信元アドレスの組み合せがマッチしたパケットに関して、適用すべきアクティブコードの識別情報あるいは転送先の通信装置のIPアドレスを表わすものである。
【0029】
タイプの値が「アクティブ」であるエントリーは、対象のパケットに適用するアクティブコードを指定するものであり、その転送先の項目にはアクティブコードを識別する情報が書かれている。
タイプの値が「通常」であるエントリーは、対象のパケットの転送先の通信装置のアドレスを指定するものであり、その転送先の項目には転送先の通信装置のIPアドレスが書かれている。
【0030】
図3に示す転送先テーブルの例において、第1のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「1.2.3.4」であり、送信元アドレスが「Any(何でもよい)」であり、転送先が「アクティブコードA」となっている。これは、送信元アドレスがいかなるアドレスであっても、宛先アドレスが「1.2.3.4」にマッチする場合には、該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードAが実行されることを表わしている。
また、第2のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「10.50.0.0」であり、送信元アドレスが「11.12.13.14」であり、転送先が「アクティブコードB」となっている。これは、宛先アドレスと送信元アドレスの両方がそれぞれ上記の値にマッチした場合には、該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードBが実行されることを表わしている。
また、第3のエントリーでは、タイプが「アクティブ」であり、宛先アドレスが「Any(何でもよい)」であり、送信元アドレスが「157.2.3.0」であり、転送先が「アクティブコードC」となっている。これは、宛先アドレスがいかなるアドレスであっても、送信元アドレスが「157.2.3.0」にマッチする場合には該当するパケットをトリガーとしてアクティブネットワーク実行環境が起動され、アクティブコードCが実行されることを表している。
【0031】
なお、図3に示すように、転送先テーブルにおいては、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも上に存在している。そして、タイプが「アクティブ」であるエントリーのほうが、タイプが「通常」であるエントリーよりも優先的に適用される。また、各エントリーは、通信装置へ到着したパケットのみに対して適用され、転送のために送出されるパケットに対しては適用されない。
【0032】
以上説明した通信装置の構成をまとめる。
図2に示したインタフェース部は、通信線毎に設けられており、当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行う。
また、転送先テーブル記憶部は、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラム(アクティブコード)の情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する。
また、アクティブネットワーク実行環境は、前記プログラムを予め記憶しているとともに、このプログラムを実行する。
また、転送処理部は、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す。
【0033】
次に、本実施形態におけるアクティブコードのセキュリティに関するモデルについて説明する。このセキュリティのモデルは、各々のアクティブコードが、アクティブコードの所有者に関わるパケットのみに対して作用することを保証するためのものである。そのために、このセキュリティのモデルは、公開鍵のインフラストラクチャの存在を前提として、それを利用することとする。
【0034】
図4は、上記のセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。図4において、符号7051はユーザAのユーザ端末装置、7061は認証局(Certification Authority )装置である。この認証局の機能は、公の機関によって提供されるものであっても良いし、あるいはISP(Internet Service Provider,インターネット接続サービス提供者)などによって提供されるものであっても良い。
なお、図4に示す例では、ユーザ端末装置7051のIPアドレスは「1.2.3.4」である。以下では、ユーザAが、アクティブコードAを通信装置7001に登録するための処理の手順を説明する。なお、以下において、ユーザAはアクティブコードAの開発者であっても良いが、その必然性はなく、他の開発者が開発したアクティブコードAをユーザAが入手し、それを通信装置7001に登録するものでも良い。
【0035】
まず(1)で示すように、ユーザAのユーザ端末装置7051は、周知技術を用いて鍵のペアすなわち公開鍵と秘密鍵とを生成する。
そして(2)で示すように、ユーザ端末装置7051は、上で生成された公開鍵を認証局装置7061に登録する。このとき、認証局装置7061は、ユーザ端末装置7051のIPアドレスを検証する。この検証が正しく行なわれると、公開鍵そのものと、ユーザAを識別するための情報と、ユーザ端末装置7051のIPアドレス「1.2.3.4」が認証局装置7061に記憶される。
【0036】
次に(3)で示すように、ユーザ端末装置7051は、上で生成された秘密鍵を用いてアクティブコードAに電子署名する処理を行う。
そして(4)で示すように、ユーザ端末装置7051は、秘密鍵で署名されたアクティブコードAを通信装置7001に登録する処理を行う。
【0037】
これを受けて通信装置7001は、(5)で示すように、アクティブコードAの登録を行ったユーザAの電子証明書を認証局装置7061から取得する。この電子証明書には、ユーザAを識別する情報と、そのIPアドレス「1.2.3.4」と、上の(2)において登録された公開鍵そのものとが含まれている。
そして(6)で示すように、通信装置7001は、上記の電子証明書から取り出したユーザAの公開鍵を用いて、上の(4)において登録されたアクティブコードAの電子署名を検証する。そして、これが正しく検証された場合には、通信装置7001は、アクティブコードAをアクティブネットワーク実行環境に導入する処理を行う。また、これに応じて、転送先テーブルに必要なエントリーが追加される。ここで、転送先テーブルに登録されるアドレスのパターンは、送信元アドレスあるいは宛先アドレスの少なくともいずれか一方が当該ユーザの所有するアドレスである。
【0038】
なお、この(1)および(2)の処理が行われて一旦ユーザAの公開鍵が認証局装置7061に登録されると、ユーザ端末装置7051はその公開鍵に対応する秘密鍵を用いてアクティブモジュールをいくつでも通信装置7001に登録することも可能である。
【0039】
つまり、通信装置7001は登録部(図示せず)を備えており、この登録部は、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにするものである。
【0040】
なお、上で説明した通信装置へのアクティブコードの登録の手順が有効に機能するためには、次の2点が前提となる。
第1の前提として、ユーザがどの通信装置(ノード)にアクティブコードを登録すれば良いかは事前にわかっている。あるいは、どの通信装置(ノード)にアクティブコードを登録すればよいかがわかるためのディレクトリサービスが提供されている。
第2の前提として、通信装置(ノード)は、目的の認証局の公開鍵を事前にオフラインで取得しているか、他の認証局から取得するか、あるいは他の何らかの手段で取得できる。
【0041】
次に、矛盾の解消のための制御について説明する。
ある通信装置(ノード)において、n個のアクティブコードが登録されており、i番目(1≦i≦n)とj番目(1≦j≦n)のアクティブコードが、それぞれ集合C(i)(C(i)⊆A)と集合C(j)(C(j)⊆A)に属するパケットに対するものであると定義されているとき、集合(c(i)∩c(j))が空集合ではないようなiおよびjの組み合せ(但しi≠j)が存在する場合があり得る。つまり、あるパケットがi番目のアクティブコードにもj番目のアクティブコードにも適用されるような定義が行われている場合である。このような矛盾は、次の2通りのシナリオのいずれかによって解消することとする。
【0042】
第1の矛盾の解消のシナリオは、パケット(s,d)に関して、
(s∈O(k)Λd∈O(l))Λ(k≠l)
であるために、
(s,d)∈c(i)∩c(j)
となる場合に関するものである。但し、O(k)およびO(l)は、それぞれユーザkおよびlによって所有されるIPアドレスの集合である。
つまり、あるパケットに関して、送信元のユーザ用のアクティブコードと宛先のユーザ用のアクティブコードとの両方が通信装置に登録されており、そのような通信装置にこのパケット(s,d)が到着した場合である。このような場合には、宛先のユーザのアクティブコードを優先的に適用することが望ましいと考えられる。
【0043】
つまり、転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動するようにする。
【0044】
このように、送信元のユーザのアクティブコードよりも宛先のユーザのアクティブコードを優先させることは、アクティブネットワークの機能を用いてDDoS(分散型DoS,Distributed Denial of Service )攻撃を防御するメカニズムを構築する場合に特に重要となる。そのようにすることによって、宛先のユーザつまり被攻撃者となり得る者のアクティブコードが、攻撃者となる可能性があるもののアクティブコードよりも優先されるためである。
【0045】
第2の矛盾の解消のシナリオは、あるパケット(s,d)に関して適用されるべき2つ以上のアクティブコードが同一のユーザによって登録されている場合に関するものである。このような場合には、該当するアクティブコードのうちの最も古く登録されたものが、他のものよりも優先的に適用されるようにすることが望ましいと考えられる。こうすることにより、ユーザが新しいアクティブコードを登録しようとする際には、新しいアクティブコードを有効にするために事前に古いアクティブコードを削除することが保証されるからである。
【0046】
次に、これまでに述べたようなアクティブネットワークのノードとして機能する通信装置のインプリメンテーションの例について説明する。図5は、Linux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行う通信装置を実現した場合の概略図である。
【0047】
図5に示す例では、専用のIPスタックを処理(process )の一部として構築している。これによって、図3に示したような転送先テーブルを実現し、実行環境(アクティブネットワーク実行環境)からこの転送先テーブルにエントリーの追加や削除を行えるようにしている。また、これに伴い、カーネル(kernel)内のIPスタックは不要となるため、カーネルにおけるルーティングを不活性化している。そして、到着パケットのコピーがデータリンク部分から作成され、そのパケットがライブラリlibpcapを通してJava(登録商標)仮想マシンで補足できるようにしている。
【0048】
処理の一部として構築した専用のIPスタックは、アクティブパケット、つまり転送先テーブル上での所定の定義にマッチするIPアドレス(宛先IPアドレス、送信元IPアドレス、あるいはそれらの組み合せ)を有するパケットは、実行環境上で起動されるアクティブコードに対して渡される。一方、アクティブパケット以外の通常のパケットは、カーネルにおけるIPスタックと同様の方法で隣接する通信装置等へ向けた転送が行われる。アクティブパケットであれ通常パケットであれ、この通信装置から送出されるすべてのパケットは、ライブラリlibnetを通して送出される。こうすることにより、各々処理されたパケットのヘッダに記録された送信元アドレスは、元々の送信元アドレスのままの状態で、ネットワークに送出されることとなる。
【0049】
また、標準のJava(登録商標)のAPI(アプリケーションプログラムインタフェース)である「java.security 」を用いることによってセキュリティモデルをインプリメンテーションすることが可能である。この標準APIは、セキュリティモデルを構築するために必要な機能のほとんどを提供している。また、証明書のための形式としては「X.509」証明書形式を用いることが可能であり、アクティブコードの所有者のIPアドレスを「X.509」の識別名(DN, distinguished name)の一部に含めることにより、本実施形態のセキュリティモデルを実現することができる。
【0050】
なお、言うまでもなく、上記インプリメンテーションではコンピュータシステムを用いることによってアクティブネットワーク実行環境を備えた通信装置を構築している。そして、上述した一連の処理、すなわち到着パケットの複製の作成とその捕捉や、転送先テーブルを参照しながらのアクティブパケットおよび通常パケットの転送の処理や、アクティブネットワーク実行環境上でのアクティブコードの起動とその処理の実行や、処理されたパケットのネットワークへの送出などの各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0051】
次に、上記実施形態で述べた通信装置の第1の応用例について説明する。図6は、アクティブネットワークの技術を用いてDDoS攻撃を防御するための解決のしくみの一例を示す概略図である。
【0052】
図6に示す状況において、従来型のファイアウォール装置が被攻撃者のコンピュータ側のゲートウェイ部分に置かれており、たとえ何らかの方法によってDDoS攻撃者のコンピュータからの攻撃パケットを識別することができたとしても、その攻撃パケットによって引き起こされるネットワーク上のトラフィックの密集を防ぐことは不可能である。このような状況になると、正当ユーザのコンピュータからも被攻撃者のコンピュータに対して通信することができなくなってしまう。
【0053】
しかしながら、前述した実施形態によるアクティブネットワークのフレームワークを用いると、攻撃を防御するエージェントの機能をアクティブコードとして実現し、そのアクティブコードを攻撃パケットの上流に位置するノード上の通信装置に登録することができる。そして、そのアクティブコードが各通信装置上で稼動可能となることによって、DDoS攻撃者のコンピュータから被攻撃者のコンピュータに対して向けられたパケットをフィルタリングして破棄することができる。つまり、このようなフィルタリングは、被攻撃者のコンピュータの直近のゲートウェイにおいてだけではなく、上流の通信装置においても行うことができるため、その結果、ネットワークの通信帯域が適切に確保される。従って、正当ユーザのコンピュータから被攻撃者のコンピュータに対しても通信によるアクセスを行うことができる。
【0054】
前述の実施形態のようなアクティブネットワークに基づかずに、他の(従来技術で述べたような)アクティブネットワークの技術を用いて上記のDDoS攻撃を防御することは困難である。何故ならば、従来のアクティブネットワークの技術では、ノード上の通信装置においてアクティブコードを起動するためには、対象となるパケットがそのアクティブネットワークに専用のプロプライエタリなプロトコルに基づいて送られている必要があるが、DDoS攻撃者のコンピュータから送られる攻撃パケットがそのようなプロトコルに基づいているということは通常はあり得ないからである。
【0055】
次に、前述の実施形態で述べた通信装置の第2の応用例について説明する。例えば、ビデオオンデマンド(VoD,Video on Demand)サーバ装置から、複数の通信装置を経由してクライアント端末装置に対してリアルタイムのマルチメディアデータをストリーミング形式で送信する場合を考える。このとき、末端のクライアント端末装置とその直近の通信装置との間のみが狭帯域の通信線で接続されており、従って、元のビデオオンデマンドサーバから送出されるストリーミングデータ全体をそのまま受信することが困難な状況があり得る。
【0056】
このような場合に、前述の実施形態によるアクティブネットワークを用いると、クライアント端末装置のユーザはネットワーク上の通信装置に対してアクティブコードを登録し、それによってオリジナルなストリーミングデータの帯域を落とすような処理をすることができる。例えば、フルカラー画像をグレースケール画像にすることによって帯域を落としたり、映像データをすべてカットして音声データのみを通すことによって帯域を落としたりすることができる。その結果、狭帯域の接続の部分も問題なく通信データを通すことが可能となる。ここでも、前述の実施形態のようなアクティブネットワークを用いる利点は、ビデオオンデマンドサーバ装置自身は、アクティブネットワークを意識してデータを送信する必要がないことである。つまり、従来から存在するアプリケーションシステムを書き換えることなく、柔軟なソリューションを提供することができるという利点である。
【0057】
以上、図面を参照してこの発明の実施形態を詳述してきたが、具体的な構成はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0058】
【発明の効果】
以上説明したように、この発明によれば、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと該パターンに対応するプログラムの情報とを予め転送先テーブルに登録しておき、パケットを受信した際に、この受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに登録されていたアドレスのパターンと、前記受信パケットの送信元アドレスまたは宛先アドレスとがマッチした場合に、当該パターンに対応するプログラムを起動して、起動されたプログラムに当該受信パケットを渡すようにしている。このため、通常のパケット(IPパケットなど)のアドレス情報を元にアクティブコードを適用するかどうかを決定することが可能であり、アクティブネットワークの制御のためのプロプライエタリなプロトコルを用いる必要がない。よって、従来のアプリケーションを書き換えることなくアクティブネットワークの技術を利用することができたり、例えばDDoS攻撃のパケットなどそもそもアクティブネットワークを意識して送られてない通常のパケットをアクティブコードの処理の対象としたりすることができる。
【0059】
また、この発明によれば、アクティブコードを通信装置に登録する際には、ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラム(アクティブコード)を受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにするため、正当な検証を行ったアクティブコードのみを通信装置に登録することができるようになり、安全性が向上する。
【0060】
また、この発明によれば、前記転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、前記受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動するため、パケットの送信元のユーザのコードよりもパケットの宛先のユーザのコードのほうが優先的に適用される。このため、例えばDDoS攻撃が行われる場合、攻撃者のコードよりも被攻撃者のコードのほうが優先されることとなり、被攻撃者のコードによって攻撃パケットをフィルタリングするなど、有効なDDoS攻撃の防御を行える。
【0061】
また、この発明によれば、受信パケットにマッチするパターンに対応する2種類以上のプログラムが単一のユーザによって登録されている場合は、これら2種類以上のプログラムのうち最も古く登録されたものを優先的に起動する。このため、新しいアクティブコードを登録しようとするユーザは、そのコードを有効にするためにまず古いアクティブコードを削除することとなり、不要なコードが通信装置上にいくつも登録されたままの状態を未然に防ぐことができる。
【図面の簡単な説明】
【図1】 この発明の実施形態が前提とするネットワークの構成である。
【図2】 本発明の一実施形態による通信装置内部の構成を示すブロック図である。
【図3】 同実施形態による転送先テーブル記憶部に記憶されている転送先テーブルの一例を示す概略図である。
【図4】 同実施形態によるセキュリティモデルとそのモデルにおける処理の手順を示す概略図である。
【図5】 同実施形態の通信装置をLinux上のJava(登録商標)仮想マシン(JVM)を用いてアクティブパケットの処理を行うように実現した場合の概略図である。
【図6】 同実施形態の第1の応用例であって、アクティブネットワークの技術を用いてDDoS攻撃を防御するための解決のしくみの一例を示す概略図である。
【図7】 従来技術によるアクティブパケットの構成を示す概略図(a)、および通常のIPパケットの構成を示す概略図(b)である。
【符号の説明】
7000 ユーザのコンピュータ
7001 通信装置
7010 アクティブネットワーク実行環境
7011 コード実行部
7012 コード記憶部
7021 転送処理部
7022 転送先テーブル記憶部
7023a、7023b、・・・・・・ インタフェース部
7024a、7024b、・・・・・・ 通信線
7051 ユーザ端末装置
7061 認証局装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a packet processing method in a communication network and a communication apparatus that performs the processing. In particular, the present invention relates to an active network packet processing method in which a user program acts on a communication packet on a node of the communication network, and a communication apparatus that performs the processing.
[0002]
[Prior art]
In the data communication network, a so-called active network technique has been proposed. A communication device constituting the active network includes an execution environment (EE) for executing a program code (sometimes referred to as an “active code”) that operates on transmitted data.
[0003]
In the conventional active network technology, for example, an execution environment in a communication device on a network is started by using, for example, ANEP (Active Network Encapsulation Protocol) or other proprietary communication protocol. A special type of packet (sometimes called an “active packet”) has been used to enable such an execution environment to be activated.
[0004]
FIG. 7A is a schematic diagram showing the configuration of an active packet according to the prior art. Here, an example of a packet for performing control by ANEP on IP (Internet Protocol) is shown. As shown in FIG. 7A, the active packet includes control information such as ANEP control information in a portion subsequent to the IP header. FIG. 7B is a schematic diagram showing the configuration of a normal IP packet.
[0005]
In the conventional active network technology, control is performed by one of the following two methods so that the program code for a specific active packet is executed in the execution environment.
The first method is a method of executing the program code in each execution environment on the transmission path by including the program code in the transmitted packet itself.
In the second method, identification information (for example, a code ID) for identifying a program code to be executed is included in a transmitted packet, and a specific code is called and executed based on the identification information. It is.
[0006]
[Problems to be solved by the invention]
In the prior art described above, in order to specify a program to be executed in an execution environment, it is necessary to use some proprietary protocol such as ANEP, regardless of whether the first method or the second method is used. . In addition, in order to introduce such a new protocol into an existing network, it is necessary to newly rewrite an application program on a computer on the end user side. However, there is a problem that rewriting such an application program requires enormous labor and cost.
[0007]
The present invention has been made in view of such circumstances, and there is no need to rewrite the application program on the user side, and the mechanism of an active network that can also operate on conventional ordinary packets, and The purpose is to provide a mechanism for starting the execution environment.
Another object of the present invention is to provide an application that has been impossible with a conventional active network by applying the above-described new active network realization method.
[0008]
[Means for Solving the Problems]
In order to solve the above problems, the present invention, the transfer Ri packet processing method der in a communication device, and information of the program corresponding to the pattern and the pattern of the source or destination address, or both of the address of the packet previously Registered in the destination table, when the packet is received, referring to the forwarding destination table based on the source address or destination address of the received packet, the address pattern registered in the forwarding destination table, A packet processing method of starting a program corresponding to the pattern when the source address or destination address of the received packet matches, and passing the received packet to the started program, from a user terminal device Receives a program digitally signed with the user's private key, and The electronic certificate is received from the certificate authority device, and the digitally signed program is verified using the public key of the user included in the received electronic certificate. Packet processing characterized in that a corresponding address pattern and information of the program are registered in the transfer destination table, and if the verification fails, the information of the program is not registered in the transfer destination table. Is the method.
[0010]
In the packet processing method of the present invention, the address pattern registered in the transfer destination table is characterized in that at least one of a source address and a destination address is an address owned by the user.
[0011]
Also, the packet processing method of the present invention is a packet processing method in a communication apparatus, in which a packet source address and / or destination address pattern and program information corresponding to the pattern are stored in advance in a transfer destination table. When the packet is registered and the packet is received, the transfer destination table is referred to based on the source address or the destination address of the received packet, the address pattern registered in the transfer destination table, and the received packet If the source address or destination address of matched, by starting a program corresponding to the pattern, and passes the received packet to the activated program, a packet processing method in a communication apparatus, before Symbol destination Only the source address is included in the pattern registered in the table. A first entry for which the destination address can be set, and a second entry for which only the destination address is specified and the source address can be set. When a packet matches both the first entry and the second entry, the second entry is prioritized over the first entry and the program corresponding to the pattern of the second entry is started. It is characterized by.
[0012]
Also, the packet processing method of the present invention is a packet processing method in a communication apparatus, in which a packet source address and / or destination address pattern and program information corresponding to the pattern are stored in advance in a transfer destination table. When the packet is registered and the packet is received, the transfer destination table is referred to based on the source address or the destination address of the received packet, the address pattern registered in the transfer destination table, and the received packet A packet processing method of starting a program corresponding to the pattern when the source address or destination address matches, and passing the received packet to the started program, wherein the pattern matches the received packet Two or more types of corresponding programs for a single user If registered it is characterized in that to start those oldest registered among these two or more programs with priority.
[0013]
In addition, the communication device of the present invention is an interface unit provided for each communication line, and receives the packet arriving from the communication line and performs processing for sending the packet to the communication line, and the packet Transfer destination table storage for storing a transfer destination table in which a pattern of a source address and / or a destination address is registered, and program information corresponding to the pattern or transfer destination address information corresponding to the pattern is registered , An active network execution environment unit that executes the program, and a received packet arriving from a communication line when the received packet is passed from the interface unit, a source address of the received packet Or refer to the forwarding table based on the destination address. When the transfer destination address information corresponding to the address pattern of the received packet is registered in the transfer destination table, the transfer destination address is set so that the received packet is sent to a predetermined transfer destination address. When the program information corresponding to the address pattern of the received packet is registered in the transfer destination table, the program is started in the active network execution environment unit and the program A transfer processing unit that passes the received packet to the terminal, receives a program digitally signed with the user's private key from the user's terminal device, receives the user's electronic certificate from the certificate authority device, and receives the received electronic Using the user's public key included in the certificate, the digital signature If the verification is successful, the address pattern corresponding to the program and the information of the program are registered in the transfer destination table. If the verification fails, the information of the program is registered. Is further provided with a registration unit that does not perform registration in the transfer destination table .
[0015]
The communication apparatus according to the present invention is characterized in that the address pattern registered in the transfer destination table is an address owned by the user at least one of a source address and a destination address.
[0016]
In addition, the communication device of the present invention is an interface unit provided for each communication line , and receives the packet arriving from the communication line and performs processing for sending the packet to the communication line, and the packet Transfer destination table storage for storing a transfer destination table in which a pattern of a source address and / or a destination address is registered, and program information corresponding to the pattern or transfer destination address information corresponding to the pattern is registered , An active network execution environment unit that executes the program, and a received packet arriving from a communication line when the received packet is passed from the interface unit, a source address of the received packet Or refer to the forwarding table based on the destination address. When the transfer destination address information corresponding to the address pattern of the received packet is registered in the transfer destination table, the transfer destination address is set so that the received packet is sent to a predetermined transfer destination address. When the program information corresponding to the address pattern of the received packet is registered in the transfer destination table, the program is started in the active network execution environment unit and the program and the transfers the received packet and a transfer processing unit, pre-Symbol pattern registered in the destination table, the first entry only source address has been specified and is the destination address may be anything, If only the destination address is specified and the source address is The second entry is preferred over the first entry when the received packet matches both the first entry and the second entry. Then, a program corresponding to the pattern of the second entry is started.
[0017]
In addition, the communication device of the present invention is an interface unit provided for each communication line , and receives the packet arriving from the communication line and performs processing for sending the packet to the communication line, and the packet Transfer destination table storage for storing a transfer destination table in which a pattern of a source address and / or a destination address is registered, and program information corresponding to the pattern or transfer destination address information corresponding to the pattern is registered , An active network execution environment unit that executes the program, and a received packet arriving from a communication line when the received packet is passed from the interface unit, a source address of the received packet Or refer to the forwarding table based on the destination address. When the transfer destination address information corresponding to the address pattern of the received packet is registered in the transfer destination table, the transfer destination address is set so that the received packet is sent to a predetermined transfer destination address. When the program information corresponding to the address pattern of the received packet is registered in the transfer destination table, the program is started in the active network execution environment unit and the program to a transfer processing unit which transfers the received packet, and if the previous SL two or more programs corresponding to the matching pattern in the received packet is registered by a single user, one of these two or more programs Priority is given to starting the oldest registered one. The features.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below with reference to the drawings.
FIG. 1 shows a network configuration premised on the present embodiment. As shown in FIG. 1, the communication network is connected by a plurality of communication devices 7001. The communication device 7001 can be connected to one or a plurality of user computers 7000. When communication data is exchanged between user computers 7000, packets transmitted by the user computer 7000 of the transmission source are sequentially transferred by the communication device 7001 located at each node on the communication network, so that the packets are transmitted. To the destination user's computer 7000.
[0019]
Next, the configuration of the communication device will be described. FIG. 2 is a block diagram illustrating an internal configuration of the communication apparatus 7001. As shown in FIG. 2, communication lines 7004a, 7024b, 7024c, and 7024d are connected to the communication apparatus 7001, and the communication apparatus 7001 transmits packets to other adjacent communication apparatuses via these communication lines. It can be exchanged. The communication device 7001 also includes interface units 7023a to 7023d corresponding to the communication lines 7024a to 7024d, a transfer processing unit 7021 for performing packet transfer processing, and a transfer destination at the time of packet transfer. A transfer destination table 7022 for storing information and an active network execution environment 7010 for performing processing on active packets are provided. The active network execution environment 7010 includes therein a code execution unit 7011 for executing an active code (program) and a code storage unit 7012 for storing the active code. Here, the active code is a code of a computer program that operates on a packet in an active network.
[0020]
Here, an outline of an operation example of the communication apparatus 7001 will be described with reference to FIG. When a packet arrives from another adjacent communication device via the communication line 7024d, the interface unit 7023d receives the packet and passes it to the transfer processing unit 7021. The transfer processing unit 7021 reads the source address and the destination address stored in the header portion of the passed packet, and further stores them in the transfer destination table storage unit 7022 using these addresses as keys. By referring to the transfer destination table, it is determined how to deal with the packet.
[0021]
Handling of packets can be roughly divided into two types. There are a case where an active code is applied to the packet and a case where the packet is directly transferred to another communication apparatus.
If the active code is to be applied to the packet as a result of referring to the transfer destination table, the transfer processing unit 7021 passes the packet to the active network execution environment 7010. In the active network execution environment 7010, the code execution unit 7011 receives the packet, reads the active code to be applied to the packet from the code storage unit 7012, and executes it. Note that the code execution unit 7011 may transfer the packet that has been processed as a result of executing the active code to the transfer processing unit 7021 and transfer it to another communication device if necessary.
As a result of referring to the transfer destination table, when the active code is not applied to the packet and the packet should be transferred to another transfer device as it is, the transfer processing unit 7021 displays the interface unit (7023a) corresponding to the appropriate transfer destination. And the interface unit transfers the packet to another communication device via a communication line (7024a, 7024b, 7024c, etc.).
[0022]
Here, the case where a packet arrives from another communication device via the communication line 7024d has been described as an example, but the processing when the packet arrives via another communication line is the same.
[0023]
Next, how the transfer processing unit 7021 in the communication device 7001 determines the action on the packet (whether to apply the active code or simply transfer it to another communication device) will be specifically described.
[0024]
In the framework on which this embodiment is based, the active network execution environment is activated based on the IP address specified in the packet. Here, a set of all (global) IP addresses is represented by I. A packet having a source IP address of s and a destination IP address of d is represented as (s, d). It is assumed that all active codes stored in the active network execution environment of the communication device belong to a specific user, and a set of IP addresses owned by a specific user is represented as O.
[0025]
In this framework, each active code belonging to the specific user is a packet represented by a set A according to the following expression, and is received by a communication device (node) having the active network execution environment. Has access to any packet. That is,
A = {(s, d) ε [(O × I) ∪ (I × O)] | s ≠ d}
It is. In other words, the meaning of this expression is that an active code belonging to a specific user has access rights to a packet whose source or destination address is any of all IP addresses owned by that user. It is to have.
[0026]
When n active codes belonging to the user are stored in a communication device (node), the i-th (1 ≦ i ≦ n) active code is a set C (i) (C (i) ⊆A). The active network execution environment is requested in advance to capture and process the packets belonging to. That is, for the user, the active network execution environment is activated by a packet (s, d) that is an element of the union of c (1) ∪c (2) ∪... ∪c (n). Such a packet can be called an “active packet”.
[0027]
FIG. 3 is a schematic diagram illustrating an example of a transfer destination table stored in the transfer destination table storage unit 7022 illustrated in FIG. Information necessary for realizing the above framework can be stored in such a transfer destination table.
[0028]
As shown in FIG. 3, the transfer destination table includes items of type, destination address (Destination), source address (Source), and transfer destination (Send to). The type item represents the type of entry in the table and takes a value of either “Active” or “Regular”. The items of destination address and source address correspond to the destination IP address and source IP address of the packet to be transferred, respectively. The item of transfer destination represents the identification information of the active code to be applied or the IP address of the communication device of the transfer destination to be applied to the packet whose combination of the destination address and the source address matches.
[0029]
An entry whose type value is “active” designates an active code to be applied to the target packet, and information for identifying the active code is written in the transfer destination item.
The entry whose type value is “normal” specifies the address of the communication device that is the transfer destination of the target packet, and the IP address of the communication device that is the transfer destination is written in the item of the transfer destination. .
[0030]
In the example of the transfer destination table shown in FIG. 3, in the first entry, the type is “active”, the destination address is “1.2.3.4”, and the source address is “Any” (anything is possible). "And the transfer destination is" active code A ". This is because, regardless of the source address, if the destination address matches “1.2.3.4”, the active network execution environment is activated with the corresponding packet as a trigger, and the active code A Is executed.
In the second entry, the type is “active”, the destination address is “10.50.0.0”, the source address is “11.12.13.14”, and the transfer destination is “Active code B”. This indicates that when both the destination address and the transmission source address match the above values, the active network execution environment is activated with the corresponding packet as a trigger, and the active code B is executed.
In the third entry, the type is “active”, the destination address is “Any”, the source address is “157.2.3.0”, and the transfer destination is “active”. Code C ". This is because, regardless of the destination address, if the source address matches “157.2.3.0”, the active network execution environment is started with the corresponding packet as a trigger, and the active code C is Indicates that it will be executed.
[0031]
As shown in FIG. 3, in the transfer destination table, an entry whose type is “active” exists above an entry whose type is “normal”. An entry whose type is “active” is applied with priority over an entry whose type is “normal”. Each entry is applied only to a packet arriving at the communication apparatus, and is not applied to a packet transmitted for transfer.
[0032]
The configuration of the communication apparatus described above will be summarized.
The interface unit illustrated in FIG. 2 is provided for each communication line, and receives a packet arriving from the communication line and performs processing for sending the packet to the communication line.
Further, the transfer destination table storage unit includes a packet source address and / or destination address pattern, a program (active code) information corresponding to the pattern, or a transfer destination address information corresponding to the pattern. Is stored in the transfer destination table.
The active network execution environment stores the program in advance and executes the program.
The transfer processing unit refers to the transfer destination table based on a source address or a destination address of the received packet when the received packet arriving from the communication line is transferred from the interface unit, and the transfer destination table If the destination address information corresponding to the address pattern of the received packet is registered in the interface unit corresponding to the destination address so that the received packet is sent to the predetermined destination address. When the information of the program corresponding to the address pattern of the received packet is registered in the transfer destination table, the active network execution environment unit starts the program and passes the received packet to the program .
[0033]
Next, a model related to active code security in this embodiment will be described. This security model is to ensure that each active code only works on packets that involve the owner of the active code. For this purpose, this security model is based on the existence of a public key infrastructure.
[0034]
FIG. 4 is a schematic diagram showing the security model and the processing procedure in the model. In FIG. 4, reference numeral 7051 is a user terminal device of user A, and 7061 is a certification authority device. The function of the certificate authority may be provided by a public institution, or may be provided by an ISP (Internet Service Provider).
In the example illustrated in FIG. 4, the IP address of the user terminal device 7051 is “1.2.3.4”. Hereinafter, a procedure of processing for user A to register active code A in communication apparatus 7001 will be described. In the following, the user A may be a developer of the active code A, but there is no necessity, and the user A obtains the active code A developed by another developer and registers it in the communication device 7001. You can do it.
[0035]
First, as shown in (1), the user terminal device 7051 of the user A generates a key pair, that is, a public key and a secret key, using a known technique.
Then, as shown in (2), the user terminal device 7051 registers the public key generated above in the certificate authority device 7061. At this time, the certificate authority device 7061 verifies the IP address of the user terminal device 7051. If this verification is performed correctly, the public key itself, information for identifying the user A, and the IP address “1.2.3.4” of the user terminal device 7051 are stored in the certificate authority device 7061.
[0036]
Next, as shown in (3), the user terminal device 7051 performs processing for digitally signing the active code A using the secret key generated above.
Then, as shown in (4), the user terminal device 7051 performs a process of registering the active code A signed with the secret key in the communication device 7001.
[0037]
In response to this, the communication device 7001 obtains the electronic certificate of the user A who registered the active code A from the certificate authority device 7061 as shown in (5). This electronic certificate includes information for identifying the user A, the IP address “1.2.3.4”, and the public key registered in (2) above.
Then, as shown in (6), the communication device 7001 verifies the electronic signature of the active code A registered in (4) above using the public key of the user A extracted from the electronic certificate. If this is correctly verified, the communication device 7001 performs processing for introducing the active code A into the active network execution environment. Accordingly, necessary entries are added to the transfer destination table. Here, in the address pattern registered in the transfer destination table, at least one of the source address and the destination address is an address owned by the user.
[0038]
Once the processes of (1) and (2) are performed and the public key of user A is registered in the certificate authority apparatus 7061, the user terminal apparatus 7051 is activated using the secret key corresponding to the public key. Any number of modules can be registered in the communication apparatus 7001.
[0039]
In other words, the communication device 7001 includes a registration unit (not shown), which receives a program electronically signed with the user's private key from the user's terminal device and receives the user's electronic certificate. The digital signature program is verified using the public key of the user included in the received digital certificate received from the certificate authority device. If this verification is successful, the address pattern corresponding to the program is verified. And the program information are registered in the transfer destination table, and if this verification fails, the program information is not registered in the transfer destination table.
[0040]
In order for the above-described procedure for registering the active code to the communication device to function effectively, the following two points are assumed.
As a first premise, it is known in advance to which communication device (node) the user should register the active code. Alternatively, a directory service is provided for identifying which communication device (node) should register the active code.
As a second premise, the communication device (node) can acquire the public key of the target certificate authority offline beforehand, acquire it from another certificate authority, or acquire it by some other means.
[0041]
Next, control for resolving the contradiction will be described.
In a certain communication apparatus (node), n active codes are registered, and the i-th (1 ≦ i ≦ n) and j-th (1 ≦ j ≦ n) active codes are respectively set C (i) ( Set (c (i) ∩c (j)) is an empty set when it is defined to be for packets belonging to C (i) ⊆A) and set C (j) (C (j) ⊆A) There may be a combination of i and j, where i ≠ j. That is, the definition is such that a certain packet is applied to both the i-th active code and the j-th active code. Such a contradiction is resolved by one of the following two scenarios.
[0042]
The first conflict resolution scenario is for packet (s, d):
(SεO (k) ΛdεO (l)) Λ (k ≠ l)
To be
(S, d) εc (i) ∩c (j)
It is about the case that becomes. However, O (k) and O (l) are sets of IP addresses owned by users k and l, respectively.
That is, for a certain packet, both the active code for the source user and the active code for the destination user are registered in the communication device, and this packet (s, d) has arrived at such a communication device. Is the case. In such a case, it may be desirable to preferentially apply the destination user's active code.
[0043]
That is, in the pattern registered in the transfer destination table, the first entry in which only the source address is specified and the destination address can be anything, and only the destination address is specified and the source address is whatever A second entry that is considered good, and when a received packet matches both the first entry and the second entry, the second entry takes precedence over the first entry. Thus, the program corresponding to the pattern of the second entry is started.
[0044]
In this way, prioritizing the active code of the destination user over the active code of the source user establishes a mechanism that protects against a DDoS (Distributed DoS, Distributed Denial of Service) attack using the active network function. This is especially important when doing so. By doing so, the active code of the destination user, who can be an attacked person, is given priority over the active code of the potential attacker.
[0045]
The second conflict resolution scenario relates to the case where two or more active codes to be applied for a packet (s, d) are registered by the same user. In such a case, it may be desirable that the oldest registered one of the corresponding active codes is applied with priority over the other. This is because when the user tries to register a new active code, it is guaranteed that the old active code is deleted in advance in order to make the new active code effective.
[0046]
Next, an example of implementation of a communication device that functions as a node of an active network as described above will be described. FIG. 5 is a schematic diagram when a communication apparatus that processes an active packet by using a Java (registered trademark) virtual machine (JVM) on Linux is realized.
[0047]
In the example shown in FIG. 5, a dedicated IP stack is constructed as part of the process. Thus, a transfer destination table as shown in FIG. 3 is realized, and an entry can be added to or deleted from the transfer destination table from the execution environment (active network execution environment). As a result, the IP stack in the kernel becomes unnecessary, and routing in the kernel is inactivated. Then, a copy of the arrival packet is created from the data link portion, and the packet can be supplemented by the Java (registered trademark) virtual machine through the library libcap.
[0048]
The dedicated IP stack constructed as part of the processing is an active packet, that is, a packet having an IP address (destination IP address, source IP address, or a combination thereof) that matches a predetermined definition on the forwarding destination table. Passed to the active code that is run on the execution environment. On the other hand, normal packets other than active packets are transferred to adjacent communication devices or the like in the same manner as the IP stack in the kernel. All packets sent from this communication device, whether active packets or normal packets, are sent through the library library. By doing so, the transmission source address recorded in the header of each processed packet is sent to the network in the state where the original transmission source address remains unchanged.
[0049]
Further, it is possible to implement a security model by using “java.security” which is a standard Java (registered trademark) API (application program interface). This standard API provides most of the functions necessary to build a security model. Also, as the format for the certificate, the “X.509” certificate format can be used, and the IP address of the owner of the active code is set to the distinguished name (DN, distinguished name) of “X.509”. By including in part, the security model of the present embodiment can be realized.
[0050]
Needless to say, in the above implementation, a communication apparatus having an active network execution environment is constructed by using a computer system. Then, the above-described series of processing, that is, creation and capture of a copy of an incoming packet, processing of transfer of an active packet and a normal packet while referring to a transfer destination table, and activation of an active code in an active network execution environment Each process such as execution of the process and transmission of the processed packet to the network is stored in a computer-readable recording medium in the form of a program, and the computer reads and executes the program Thus, the above processing is performed. Here, the computer-readable recording medium means a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like. Alternatively, the computer program may be distributed to the computer via a communication line, and the computer that has received the distribution may execute the program.
[0051]
Next, a first application example of the communication apparatus described in the above embodiment will be described. FIG. 6 is a schematic diagram showing an example of a solution mechanism for defending against a DDoS attack using an active network technology.
[0052]
In the situation shown in FIG. 6, even if a conventional firewall device is placed in the gateway part on the attacker's computer side, even if the attack packet from the DDoS attacker's computer can be identified by some method, It is impossible to prevent traffic congestion on the network caused by that attack packet. In such a situation, it becomes impossible for a legitimate user's computer to communicate with the attacked person's computer.
[0053]
However, using the framework of the active network according to the above-described embodiment, the function of the agent that defends the attack is realized as an active code, and the active code is registered in the communication device on the node located upstream of the attack packet. Can do. Then, when the active code becomes operable on each communication device, packets directed from the DDoS attacker's computer to the victim's computer can be filtered and discarded. That is, such filtering can be performed not only in the gateway nearest to the computer of the attacked person but also in the upstream communication device, and as a result, the communication band of the network is appropriately secured. Therefore, it is possible to access from the computer of the authorized user to the computer of the attacked person by communication.
[0054]
It is difficult to protect against the above DDoS attacks using other active network technologies (as described in the prior art), not based on the active network as in the previous embodiment. This is because, in the conventional active network technology, in order to activate the active code in the communication device on the node, the target packet needs to be sent to the active network based on a proprietary protocol. There is usually no possibility that an attack packet sent from a DDoS attacker's computer is based on such a protocol.
[0055]
Next, a second application example of the communication apparatus described in the above embodiment will be described. For example, consider a case where real-time multimedia data is transmitted in a streaming format from a video on demand (VoD) server device to a client terminal device via a plurality of communication devices. At this time, only the terminal client terminal device and the nearest communication device are connected by a narrow-band communication line, and therefore, the entire streaming data sent from the original video-on-demand server can be received as it is. There can be difficult situations.
[0056]
In such a case, if the active network according to the above-described embodiment is used, the user of the client terminal device registers an active code for the communication device on the network, thereby reducing the bandwidth of the original streaming data. Can do. For example, it is possible to reduce the bandwidth by changing a full-color image to a gray scale image, or to reduce the bandwidth by cutting all video data and passing only audio data. As a result, the communication data can be passed through the narrow-band connection portion without any problem. Again, the advantage of using an active network as in the previous embodiment is that the video-on-demand server device itself does not need to be aware of the active network and transmit data. That is, it is an advantage that a flexible solution can be provided without rewriting the existing application system.
[0057]
The embodiments of the present invention have been described in detail above with reference to the drawings. However, the specific configuration is not limited to these embodiments, and includes a design and the like within a scope not departing from the gist of the present invention.
[0058]
【The invention's effect】
As described above, according to the present invention, the source address and / or destination address of a packet and the program information corresponding to the pattern are registered in the transfer destination table in advance, When receiving, referring to the transfer destination table based on the source address or destination address of the received packet, the address pattern registered in the transfer destination table, and the source address or destination address of the received packet Is matched, the program corresponding to the pattern is activated, and the received packet is passed to the activated program. Therefore, it is possible to determine whether to apply an active code based on address information of a normal packet (such as an IP packet), and it is not necessary to use a proprietary protocol for controlling the active network. Therefore, the technology of the active network can be used without rewriting the conventional application, or normal packets that are not sent to the active network in the first place, such as DDoS attack packets, can be processed. can do.
[0059]
Further, according to the present invention, when registering an active code in a communication device, a program (active code) digitally signed with the user's private key is received from the user's terminal device, and the user's electronic certificate is received. And verifying the digitally signed program using the public key of the user included in the received digital certificate, and if this verification is successful, the address corresponding to the program is The pattern and the program information are registered in the transfer destination table, and when the verification fails, the program information is not registered in the transfer destination table so that valid verification is performed. Only the active code can be registered in the communication device, and safety is improved.
[0060]
Further, according to the present invention, in the pattern registered in the transfer destination table, the first entry in which only the source address is specified and the destination address can be anything, and only the destination address is specified. And when the received packet matches both the first entry and the second entry, the first entry is used. Since the second entry is prioritized and the program corresponding to the pattern of the second entry is started, the code of the user of the packet destination is applied with priority over the code of the user of the packet transmission source. The For this reason, for example, when a DDoS attack is performed, the attacker's code has priority over the attacker's code, and effective DDoS attack protection such as filtering attack packets by the attacker's code. Yes.
[0061]
Further, according to the present invention, when two or more types of programs corresponding to the pattern matching the received packet are registered by a single user, the oldest registered one of these two or more types of programs is selected. Start with priority. For this reason, a user who wants to register a new active code first deletes the old active code in order to make the code effective, and a state in which a number of unnecessary codes are still registered on the communication device has occurred. Can be prevented.
[Brief description of the drawings]
FIG. 1 shows a network configuration premised on an embodiment of the present invention.
FIG. 2 is a block diagram showing an internal configuration of a communication apparatus according to an embodiment of the present invention.
FIG. 3 is a schematic diagram illustrating an example of a transfer destination table stored in a transfer destination table storage unit according to the embodiment;
FIG. 4 is a schematic diagram showing a security model and a processing procedure in the model according to the embodiment;
FIG. 5 is a schematic diagram when the communication apparatus according to the embodiment is realized so as to process an active packet by using a Java (registered trademark) virtual machine (JVM) on Linux;
FIG. 6 is a schematic diagram showing an example of a solution mechanism for protecting a DDoS attack using the active network technology, which is a first application example of the embodiment;
FIG. 7 is a schematic diagram (a) showing a configuration of an active packet according to a conventional technique, and a schematic diagram (b) showing a configuration of a normal IP packet.
[Explanation of symbols]
7000 User computer 7001 Communication device 7010 Active network execution environment 7011 Code execution unit 7012 Code storage unit 7021 Transfer processing unit 7022 Transfer destination table storage units 7023a, 7023b, ... Interface units 7024a, 7024b, ... ..Communication line 7051 User terminal device 7061 Certificate authority device

Claims (8)

通信装置におけるパケット処理方法であ、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと該パターンに対応するプログラムの情報とを予め転送先テーブルに登録しておき、パケットを受信した際に、この受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに登録されていたアドレスのパターンと、前記受信パケットの送信元アドレスまたは宛先アドレスとがマッチした場合に、当該パターンに対応するプログラムを起動して、起動されたプログラムに当該受信パケットを渡すパケット処理方法であって、
ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないことを特徴とするパケット処理方法。
Ri packet processing method der in a communication device, may be registered in advance in the transfer destination table and information of the program corresponding to the pattern and the pattern of the source or destination address, or both of the address of the packet, the received packet When referring to the forwarding destination table based on the source address or destination address of the received packet, the address pattern registered in the forwarding destination table and the source address or destination address of the received packet are A packet processing method that activates a program corresponding to the pattern when matching and passes the received packet to the activated program;
A program digitally signed with the user's private key is received from the terminal device of the user, the electronic certificate of the user is received from the certificate authority device, and the public key of the user included in the received electronic certificate is used. The electronically signed program is verified. If the verification is successful, the address pattern corresponding to the program and the information of the program are registered in the transfer destination table. If the verification fails A packet processing method , wherein the program information is not registered in the transfer destination table .
請求項1に記載のパケット処理方法において、前記転送先テーブルに登録されるアドレスのパターンは、送信元アドレスあるいは宛先アドレスの少なくともいずれか一方が当該ユーザの所有するアドレスであることを特徴とするパケット処理方法。 2. The packet processing method according to claim 1 , wherein the address pattern registered in the transfer destination table is an address owned by the user at least one of a source address and a destination address. Processing method. 通信装置におけるパケット処理方法であり、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと該パターンに対応するプログラムの情報とを予め転送先テーブルに登録しておき、パケットを受信した際に、この受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに登録されていたアドレスのパターンと、前記受信パケットの送信元アドレスまたは宛先アドレスとがマッチした場合に、当該パターンに対応するプログラムを起動して、起動されたプログラムに当該受信パケットを渡すパケット処理方法であって、
記転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、前記受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動することを特徴とするパケット処理方法。
A packet processing method in a communication apparatus, in which a packet source address and / or destination address pattern and program information corresponding to the pattern are registered in advance in a transfer destination table and a packet is received In addition, referring to the transfer destination table based on the source address or destination address of the received packet, the address pattern registered in the transfer destination table matches the source address or destination address of the received packet. A packet processing method of starting a program corresponding to the pattern and passing the received packet to the started program,
A pattern registered before Symbol destination table, transmitting a first entry source address only is specified destination address is the may be any number, transmission is only the destination address is specified source address anything The second entry is preferred over the first entry when the received packet matches both the first entry and the second entry. And starting a program corresponding to the pattern of the second entry.
通信装置におけるパケット処理方法であり、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと該パターンに対応するプログラムの情報とを予め転送先テーブルに登録しておき、パケットを受信した際に、この受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに登録されていたアドレスのパターンと、前記受信パケットの送信元アドレスまたは宛先アドレスとがマッチした場合に、当該パターンに対応するプログラムを起動して、起動されたプログラムに当該受信パケットを渡すパケット処理方法であって、
前記受信パケットにマッチするパターンに対応する2種類以上のプログラムが単一のユーザによって登録されている場合は、これら2種類以上のプログラムのうち最も古く登録されたものを優先的に起動することを特徴とするパケット処理方法。
A packet processing method in a communication apparatus, in which a packet source address and / or destination address pattern and program information corresponding to the pattern are registered in advance in a transfer destination table and a packet is received In addition, referring to the transfer destination table based on the source address or destination address of the received packet, the address pattern registered in the transfer destination table matches the source address or destination address of the received packet. A packet processing method of starting a program corresponding to the pattern and passing the received packet to the started program,
When two or more types of programs corresponding to the pattern matching the received packet are registered by a single user, the oldest registered one of these two or more types of programs is preferentially activated. A characteristic packet processing method.
通信線毎に設けられたインタフェース部であって当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行うインタフェース部と、
パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラムの情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する転送先テーブル記憶部と、
前記プログラムを予め記憶しているとともに、このプログラムを実行するアクティブネットワーク実行環境部と、
通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す転送処理部
を備え、
ユーザの端末装置から当該ユーザの秘密鍵で電子署名されたプログラムを受信し、当該ユーザの電子証明書を認証局装置から受信し、受信した電子証明書に含まれる当該ユーザの公開鍵を用いて前記電子署名されたプログラムの検証を行い、この検証が成功した場合には当該プログラムに対応するアドレスのパターンと当該プログラムの情報とを前記転送先テーブルに登録し、この検証が失敗した場合には当該プログラムの情報の前記転送先テーブルへの登録は行わないようにする登録部をさらに備えることを特徴とする通信装置。
An interface unit provided for each communication line, which receives a packet arriving from the communication line and performs a process of sending the packet to the communication line;
A transfer destination table storing a transfer destination table in which a packet source address and / or destination address pattern and program information corresponding to the pattern or transfer destination address information corresponding to the pattern are registered. A storage unit;
An active network execution environment unit that stores the program in advance and executes the program;
When a received packet arriving from a communication line is delivered from the interface unit, the transfer destination table is referred to based on the source address or destination address of the received packet, and the address of the received packet is stored in the transfer destination table. When the information of the transfer destination address corresponding to the pattern is registered, the transfer destination table is transferred to the interface unit corresponding to the transfer destination address so that the received packet is sent to the predetermined transfer destination address. a transfer processing unit when the information of the program has been registered to pass the received packets in the program together with the activating the program in the active network execution environment section corresponding to the pattern of the address of the received packet to
With
A program digitally signed with the user's private key is received from the terminal device of the user, the electronic certificate of the user is received from the certificate authority device, and the public key of the user included in the received electronic certificate is used. The electronically signed program is verified. If the verification is successful, the address pattern corresponding to the program and the information of the program are registered in the transfer destination table. If the verification fails A communication apparatus , further comprising: a registration unit configured not to register the program information in the transfer destination table .
請求項5に記載の通信装置において、前記転送先テーブルに登録されるアドレスのパターンは、送信元アドレスあるいは宛先アドレスの少なくともいずれか一方が当該ユーザの所有するアドレスであることを特徴とする通信装置。6. The communication apparatus according to claim 5 , wherein the address pattern registered in the transfer destination table is an address owned by the user at least one of a transmission source address and a destination address. . 通信線毎に設けられたインタフェース部であって当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行うインタフェース部と、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラムの情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する転送先テーブル記憶部と、前記プログラムを予め記憶しているとともに、このプログラムを実行するアクティブネットワーク実行環境部と、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す転送処理部と
を備え、
記転送先テーブルに登録されているパターンに、送信元アドレスのみが指定されていて宛先アドレスが何でもよいとされている第1のエントリーと、宛先アドレスのみが指定されていて送信元アドレスが何でもよいとされている第2のエントリーとが含まれており、前記受信パケットがこれら第1のエントリーと第2のエントリーとの両方にマッチしたときには、第1のエントリーよりも第2のエントリーを優先させて、当該第2のエントリーのパターンに対応するプログラムを起動することを特徴とする通信装置。
An interface unit provided for each communication line, which receives a packet arriving from the communication line and transmits the packet to the communication line, and a source address or destination address of the packet, or those A transfer destination table storage unit for storing a transfer destination table in which patterns of both addresses and information of a program corresponding to the pattern or information of a transfer destination address corresponding to the pattern are registered; and the program is stored in advance. And when the received packet arriving from the communication line is passed from the interface unit based on the source address or destination address of the received packet, the transfer destination Refer to the table and enter the transfer destination table. When information on the transfer destination address corresponding to the address pattern of the received packet has been registered, the received packet is transferred to the interface unit corresponding to the transfer destination address so as to be sent to the predetermined transfer destination address. When the program information corresponding to the address pattern of the received packet is registered in the transfer destination table, the active network execution environment unit starts the program and transfers the received packet to the program. With processing part
With
A pattern registered before Symbol destination table, transmitting a first entry source address only is specified destination address is the may be any number, transmission is only the destination address is specified source address anything The second entry is preferred over the first entry when the received packet matches both the first entry and the second entry. And starting a program corresponding to the pattern of the second entry.
通信線毎に設けられたインタフェース部であって当該通信線から到着するパケットを受信するとともに当該通信線に対してパケットを送出する処理を行うインタフェース部と、パケットの送信元アドレスまたは宛先アドレスまたはそれら両方のアドレスのパターンと、該パターンに対応するプログラムの情報あるいは該パターンに対応する転送先アドレスの情報とが登録された転送先テーブルを記憶する転送先テーブル記憶部と、前記プログラムを予め記憶しているとともに、このプログラムを実行するアクティブネットワーク実行環境部と、通信線から到着した受信パケットを前記インタフェース部から渡された際に、当該受信パケットの送信元アドレスまたは宛先アドレスに基づいて前記転送先テーブルを参照し、前記転送先テーブルに当該受信パケットのアドレスのパターン に対応する転送先アドレスの情報が登録されていた場合には当該受信パケットを所定の転送先アドレスに向けて送出するように当該転送先アドレスに対応したインタフェース部に渡すとともに、前記転送先テーブルに当該受信パケットのアドレスのパターンに対応するプログラムの情報が登録されていた場合には前記アクティブネットワーク実行環境部において当該プログラムを起動させるとともに当該プログラムに当該受信パケットを渡す転送処理部と
を備え、
記受信パケットにマッチするパターンに対応する2種類以上のプログラムが単一のユーザによって登録されている場合は、これら2種類以上のプログラムのうち最も古く登録されたものを優先的に起動することを特徴とする通信装置。
An interface unit provided for each communication line, which receives a packet arriving from the communication line and transmits the packet to the communication line, and a source address or destination address of the packet, or those A transfer destination table storage unit for storing a transfer destination table in which patterns of both addresses and information of a program corresponding to the pattern or information of a transfer destination address corresponding to the pattern are registered; and the program is stored in advance. And when the received packet arriving from the communication line is passed from the interface unit based on the source address or destination address of the received packet, the transfer destination Refer to the table and enter the transfer destination table. Passes to the interface unit corresponding to the relevant destination address to deliver towards the received packet to a predetermined destination address when the information of the transfer destination address corresponding to the pattern of the address of the received packet is registered When the program information corresponding to the address pattern of the received packet is registered in the transfer destination table, the active network execution environment unit starts the program and transfers the received packet to the program. With processing part
With
If two or more programs corresponding to the pattern matching before Symbol received packet is registered by a single user, it starts the those oldest registered among these two or more programs preferentially A communication device characterized by the above.
JP2002079729A 2002-03-20 2002-03-20 Packet processing method and communication apparatus Expired - Fee Related JP3657569B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002079729A JP3657569B2 (en) 2002-03-20 2002-03-20 Packet processing method and communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002079729A JP3657569B2 (en) 2002-03-20 2002-03-20 Packet processing method and communication apparatus

Publications (2)

Publication Number Publication Date
JP2003283548A JP2003283548A (en) 2003-10-03
JP3657569B2 true JP3657569B2 (en) 2005-06-08

Family

ID=29229056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002079729A Expired - Fee Related JP3657569B2 (en) 2002-03-20 2002-03-20 Packet processing method and communication apparatus

Country Status (1)

Country Link
JP (1) JP3657569B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4667437B2 (en) 2007-10-02 2011-04-13 日本電信電話株式会社 Abnormal traffic detection apparatus, abnormal traffic detection method, and abnormal traffic detection program
JP4599429B2 (en) * 2008-05-13 2010-12-15 日本電信電話株式会社 Communication system and communication method
JP4659867B2 (en) * 2008-08-21 2011-03-30 日本電信電話株式会社 Communication system, control system, and communication method

Also Published As

Publication number Publication date
JP2003283548A (en) 2003-10-03

Similar Documents

Publication Publication Date Title
Iyengar et al. QUIC: A UDP-based multiplexed and secure transport
CN1574792B (en) Multi-layer based method for implementing network firewalls
Stewart et al. Stream control transmission protocol (SCTP) dynamic address reconfiguration
US9438592B1 (en) System and method for providing unified transport and security protocols
CN101009607B (en) Systems and methods for detecting and preventing flooding attacks in a network environment
JP4410791B2 (en) Address spoofing check device and network system
US8914885B2 (en) Methods and apparatus for delivering control messages during a malicious attack in one or more packet networks
US20050144441A1 (en) Presence validation to assist in protecting against Denial of Service (DOS) attacks
JPH11167538A (en) Fire wall service supply method
JP2002215478A (en) Fire wall service supply method
JPH11163940A (en) Method for inspecting packet
US7139679B1 (en) Method and apparatus for cryptographic protection from denial of service attacks
CN111988289B (en) EPA industrial control network security test system and method
EP1574009B1 (en) Systems and apparatuses using identification data in network communication
JP3609382B2 (en) Distributed denial of service attack prevention method, gate device, communication device, and program
JP2004062417A (en) Certification server device, server device and gateway device
JP3699941B2 (en) Distributed denial of service attack prevention method, gate device, communication device, distributed denial of service attack prevention program, and recording medium
JP6289656B2 (en) Method and computer network infrastructure for communication between secure computer systems
JP3657569B2 (en) Packet processing method and communication apparatus
JP3495030B2 (en) Intrusion data countermeasure processing device, intrusion data countermeasure processing method, and intrusion data countermeasure processing system
CN111586017A (en) Method and device for authenticating communication user
JP3609381B2 (en) Distributed denial of service attack prevention method, gate device, communication device, and program
Stewart et al. RFC 5061: Stream control transmission protocol (SCTP) dynamic address reconfiguration
JPH10136025A (en) Inter-network communication repeating method and repeater
JP2002149602A (en) Network connector for protection from unauthorized access

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050309

LAPS Cancellation because of no payment of annual fees