(57)【要約】【課題】フロー単位のパケットの順序保証をしつつ不正アクセス防止処理速度を向上させる。【解決手段】バッファ部２は、受信Port１からのパケットを内蔵メモリに格納して、そのコピーにパケットIDとセションIDを付加して受信の順序で転送する。侵入検出部３は、バッファ部からのパケットについて不正アクセスがあるか否かを判定し、判定の終わったパケットから、侵入判定結果にパケットIDとセションIDを付加して通知する。フロー制御部５は、パケットバッファ部からの転送の順序と侵入検出部からの通知の順序とから、パケットの追い越しの発生を監視し、発生している場合は、当該パケットより前に受信した全てのパケットの侵入判定結果を受信するまではパケットIDとセションIDを送信しない。【選択図】図１
2008271347.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク機器への侵入検出処理を複数の手段にて並列して実現する不正アクセス防止装置において、
前記複数の手段にてフロー毎のパケットにつき並列して侵入検出処理を行い、前記複数の手段における不正アクセス判定の遅速によるパケットの追い越しを監視しながら、フロー単位のパケットの順序を保証することを特徴とする不正アクセス防止装置。
【請求項２】
ネットワーク機器への侵入検出処理を複数の手段にて並行して実現する不正アクセス防止装置において、
パケット受信Portからのパケットを内蔵メモリに格納して、格納されたパケットのコピーにパケットIDとセションIDを付加して受信の順序で転送するパケットバッファ部と、
前記パケットバッファ部からのパケットについて不正アクセスがあるか否かを所定の方法で判定し、判定の終わったパケットから、侵入判定結果に前記パケットバッファ部からのパケットIDとセションIDを付加して通知する前記複数の手段としての侵入検出部と、
前記パケットバッファ部からのパケットIDとセションIDの順序と、前記侵入検出部からの通知の順序とから、パケットの追い越しの発生を監視し、追い越しが発生している場合は、当該パケットより前に受信した全てのパケットの侵入判定結果を前記侵入検出部から受信するまでは、前記パケットバッファ部にはパケットIDとセションIDを送信しないフロー制御部を備え、
侵入判定済みのパケットを受信の順序で送信することを特徴とする不正アクセス防止装置。
【請求項３】
前記フロー制御部は、
前記パケットバッファ部が付与するセションIDを元にフロー単位の管理を行うためセションIDにHeadポインタ(PHP)とTailポインタ(PTP)とテーブル有効フラグとを保存するセションID制御テーブルと、
前記パケットバッファ部が付与するパケットIDを元にパケット単位の管理を行うためパケットID毎にNextポインタ(PNP)と判定結果受信フラグと判定内容を保存するパケットID制御テーブルと、
前記パケットバッファ部から入力するデータをFIFOメモリに保存してアクセス権の調停を依頼し、アクセス権を得るとセションIDとパケットIDを通知してパケット登録処理を依頼するパケットバッファ受信制御部と、
前記侵入検出部からの判定結果をFIFOメモリ保存してアクセス権の調停を依頼し、アクセス権を取得するとセションIDとパケットIDと判定結果を通知して判定結果処理を依頼する判定結果受信制御部と、
前記パケットバッファ受信制御部と前記判定結果受信制御部からの前記調停の依頼に対し、ラウンドロビン方式で調停制御を行って、いずれかにアクセス権を付与する調停制御部と、
前記調停により前記判定結果処理を依頼されると連鎖する次のパケットについて判定結果到着済みか否かを調べるために前記セションID制御テーブルのPHPにPNPを設定して更新するセションID制御部と、
前記調停により前記判定結果処理を依頼されるとパケットID制御テーブルに判定結果を登録して、連鎖するパケットを順次に調べて当該パケットIDより若番のパケットIDのパケット全てが送信済みのときは、当該パケットのセションIDとパケットIDと登録されている判定結果を通知して判定結果送信を要求するパケットID制御部と、
前記パケットID制御部からの要求をFIFOメモリに格納し順次に前記パケットバッファ部宛に送信するパケットバッファ送信制御部とで構成されることを特徴とする請求項４記載の不正アクセス防止装置。
【請求項４】
請求項３記載の不正アクセス防止装置における判定結果送信方法であって、
前記パケットID制御部が前記パケットID制御テーブルに判定結果を登録した後、PHPが指すパケットID制御テーブルのアドレスをリードしてカレントテーブルとする第１段階と、
リードしたパケットIDについて判定結果が到着済みかを判断し、未着なら処理を終える第２段階と、
到着済みなら前記パケットバッファに当該セションIDとパケットIDと判定結果を送信する第３段階と、
前記カレントテーブルのPNPをPHPに設定する第４段階と、
前記カレントテーブルのPNPがPTPなら処理を終了する第５段階と、
第５段階において前記カレントテーブルのPNPがPTPでないなら、該PNPが指すパケットID制御テーブルのアドレスをリードしカレントテーブルとして、前記第２段階へ帰還する第６段階を有することを特徴とする判定結果送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正アクセス防止、特にネットワーク機器への侵入検出処理を複数の手段にて並列して実現する不正アクセス防止装置および判定結果送信方法に関する。
【背景技術】
【０００２】
近年、ネットワーク技術の発展により、企業や一般家庭にインターネットやイントラネットが広く普及する一方で、これらに関連するネットワーク機器は、ネットワークを通じてのコンピュータウィルスのばら撒きや、サーバへの不正アクセスといった、セキュリティ上の脅威に晒されている。
【０００３】
このようなネットワークへの不正接続を防止するため、従来は、入力パケットから不正侵入を検出し、通信の遮断等の対策をとるとともに、不正侵入が行われていない場合は、遮断されていた通信を自動的に復旧させるようにしている（例えば、特許文献１参照）。これにより、不正侵入の検知をパケットの要求元で判断することがないので、侵入者の成り済ましを阻止することができ、また遮断されていた通信を管理者の手を煩わすことなく再開することができる。
【０００４】
また、フィルタ型のＩＤＳ（Intrusion Detection System）機能を用いて、ＩＰ（Internet Protocol）パケットで攻撃パタンとなるものは即座に遮断するとともに、大量のＩＰパケットが検出された場合にも、そのＩＰパケットを遮断することの可能な技術も提案されている（例えば、特許文献２参照）。これにより、内部ネットワーク上の機器が攻撃パケットの攻撃を受けることを阻止し、サービス不能攻撃を防御することができる。
【０００５】
また、受信したパケットを一旦バッファに留めおき、正常性が確認されたもののみを送信するようにした技術が知られている（文献公知発明に係るものではない）。図１３は、この種の不正アクセス防止装置の例を示す。パケット受信Port１で受信したパケットは、パケットバッファ部２に格納される。パケットバッファ部２ではパケットをメモリに格納すると同時に、装置内部で使用するパケットの固有値であるパケットIDと、Flowの識別値であるセションIDを設定する。セションIDは、IPアドレスとレイヤ4のPort番号から任意の値が設定され、IPアドレスとPort番号が同じパケットは、同一セションと看做され、セションIDは同値となる。
【０００６】
これらのIDとともに、メモリに格納されたパケットのコピーを侵入検出部３に転送する。侵入検出部３では、パケットの正常性の判定を行い、判定結果をパケットIDとセションIDとともにパケットバッファ部２に通知する。侵入検出部３から指示を受けたパケットバッファ部２では、指定されたパケットIDをメモリからリードし、送信指示であれば、パケット送信Port４にパケットを送信し、廃棄指示であれば、パケットを廃棄し、該当パケットが格納されていたバッファ領域を開放する。
【０００７】
【特許文献１】特開２００２−７３４３３号公報（第３頁、図１）
【特許文献２】特開２００３−９９３３９号公報（第３頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以上の全ての技術は、特定のアプリケーション下においての不正アクセス検出処理についてのものであって、パケットの処理もシーケンシャルに行わせることを前提としている。したがって、不正アクセスの検出を単一のH/Wもしくはプログラムでシーケンシャルな処理を実現している。
【０００９】
しかし、現在のネットワークの通信速度は最大で10Gbpsに達しており、このような技術では、ネットワークの運用形態によっては、装置の処理能力不足に陥る可能性が高い。また、不正アクセスの処理検出もアプリケーションが多岐に亘ることにより、その検出回路または検出プログラムも多様化する傾向にあるため、回路やプログラムの追加実装を予定する必要がある。
【００１０】
そこで、ＩＰＳ装置の処理速度を向上させる方法として、図１４に示すように、侵入検出処理を機能別に異なるH/Wで実現したり、H/Wを複数化して負荷分散する方式が考えられる。しかし、このように並列処理を行った場合、各H/Wは独立に動作しているため、結果判定から送信までの時間がパケットごとに異なってくる。
【００１１】
その結果、装置内でパケットの追い越しが発生してしまい、ネットワーク上に悪影響を与えることになる。図１５は、P1,P2,P3という送信順序で侵入検出部３へ送信されたパケットが、侵入検出部３からはP1,P3,P2という結果通知順序になっていることを示している。
【００１２】
そこで、本発明の目的は、フロー毎のパケットの追い越しを監視しながら、複数のH/Wにて並列して侵入検出処理を行うことによって、フロー単位のパケットの順序保証をしつつ、装置の処理速度の向上を実現した不正アクセス防止装置および判定結果送信方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の不正アクセス防止装置は、ネットワーク機器への侵入検出処理を複数の手段にて並列して実現する不正アクセス防止装置において、複数の手段にてフロー毎のパケットにつき並列して侵入検出処理を行い、複数の手段における不正アクセス判定の遅速によるパケットの追い越しを監視しながら、フロー単位のパケットの順序を保証することを特徴とする。
【００１４】
本発明の不正アクセス防止装置は、より詳しくは、ネットワーク機器への侵入検出処理を複数の手段にて並行して実現する不正アクセス防止装置において、パケット受信Port（図１の１）からのパケットを内蔵メモリに格納して、格納されたパケットのコピーにパケットIDとセションIDを付加して受信の順序で転送するパケットバッファ部（図１の２）と、パケットバッファ部からのパケットについて不正アクセスがあるか否かを所定の方法で判定し、判定の終わったパケットから、侵入判定結果にパケットバッファ部からのパケットIDとセションIDを付加して通知する複数の手段としての侵入検出部（図１の３）と、パケットバッファ部からのパケットIDとセションIDの順序と、侵入検出部からの通知の順序とから、パケットの追い越しの発生を監視し、追い越しが発生している場合は、当該パケットより前に受信した全てのパケットの侵入判定結果を侵入検出部から受信するまでは、パケットバッファ部にはパケットIDとセションIDを送信しないフロー制御部（図１の５）を備え、侵入判定済みのパケットを受信の順序で送信することを特徴とする。
【００１５】
更に、フロー制御部（図１の５）は、パケットバッファ部が付与するセションIDを元にフロー単位の管理を行うためセションIDにHeadポインタ(PHP)とTailポインタ(PTP)とテーブル有効フラグとを保存するセションID制御テーブル（図２の６）と、パケットバッファ部が付与するパケットIDを元にパケット単位の管理を行うためパケットID毎にNextポインタ(PNP)と判定結果受信フラグと判定内容を保存するパケットID制御テーブル（図２の７）と、パケットバッファ部から入力するデータをFIFOメモリに保存してアクセス権の調停を依頼し、アクセス権を得るとセションIDとパケットIDを通知してパケット登録処理を依頼するパケットバッファ受信制御部（図２の８）と、侵入検出部からの判定結果をFIFOメモリ保存してアクセス権の調停を依頼し、アクセス権を取得するとセションIDとパケットIDと判定結果を通知して判定結果処理を依頼する判定結果受信制御部（図２の９）と、パケットバッファ受信制御部と判定結果受信制御部からの調停の依頼に対し、ラウンドロビン方式で調停制御を行って、いずれかにアクセス権を付与する調停制御部（図２の１０）と、調停により判定結果処理を依頼されると連鎖する次のパケットについて判定結果到着済みか否かを調べるためにセションID制御テーブルのPHPにPNPを設定して更新するセションID制御部（図２の１１）と、調停により判定結果処理を依頼されるとパケットID制御テーブルに判定結果を登録して、連鎖するパケットを順次に調べて当該パケットIDより若番のパケットIDのパケット全てが送信済みのときは、当該パケットのセションIDとパケットIDと登録されている判定結果を通知して判定結果送信を要求するパケットID制御部（図２の１２）と、パケットID制御部からの要求をFIFOメモリに格納し順次にパケットバッファ部宛に送信するパケットバッファ送信制御部（図２の１３）とで構成されることを特徴とする。
【００１６】
また、本発明の判定結果送信方法は、上記不正アクセス防止装置（図２）における判定結果送信方法であって、パケットID制御部がパケットID制御テーブルに判定結果を登録した後、PHPが指すパケットID制御テーブルのアドレスをリードしてカレントテーブルとする第１段階（図１１の処理１）と、リードしたパケットIDについて判定結果が到着済みかを判断し、未着なら処理を終える第２段階と、到着済みならパケットバッファに当該セションIDとパケットIDと判定結果を送信する第３段階（図１１の処理２）と、カレントテーブルのPNPをPHPに設定する第４段階（図１１の処理３）と、カレントテーブルのPNPがPTPなら処理を終了する第５段階と、第５段階においてカレントテーブルのPNPがPTPでないなら、該PNPが指すパケットID制御テーブルのアドレスをリードしカレントテーブルとして、第２段階へ帰還する第６段階（図１１の処理５）を有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、侵入検出部における不正アクセス判定の遅速によるパケットの追い越しをフロー制御部で吸収する構成としたので、侵入検出部は、パケットバッファ部から入力されるパケットの順序に関係なく、侵入検出回路にて入力パケットに対する判定結果を出力できる。このため、装置の処理速度が向上すると共に、侵入検出回路の追加や拡張を容易に行うことができる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１９】
［構成の説明］
本発明の不正アクセス防止装置の概略図を図１に示す。この不正アクセス防止装置は、侵入検出部３からパケットバッファ部２へのルートにフロー制御部５を挿入している。パケットバッファ部２は、パケット受信Port１からのパケットを内蔵メモリに格納する。そして、格納されたパケットのコピーにパケットIDとセションIDを付加してP1,P2,P3の順序で侵入検出部３に転送する(b)。パケットIDは装置内部で使用するパケットの固有値であり、セションIDはFlowの識別値である。また、パケットバッファ部２はフロー制御部５にパケットIDとセションIDを通知する(a)。
【００２０】
侵入検出部３は、パケットについて不正アクセスがあるか否かを所定の方法で判定し、判定の終わったパケットから、侵入判定結果にパケットIDとセションIDを付加してフロー制御部５に通知する(c)。図１の例では、P1,P3,P2の順序になっているが、これはパケットP3がパケットP2より早く判定されたからである。
【００２１】
フロー制御部５は、パケットバッファ部２からの順序P1,P2,P3と、侵入検出部３からの順序P1,P3,P2とから、追い越しの発生を監視し、追い越しの発生していないパケットP1については、パケットIDをパケットバッファ部２に通知することで、送信指示を行う(d)。追い越しが発生している場合は、該当パケットP3より前に受信した全パケットP2の判定結果を侵入検出部３から受信するまでは、パケットバッファ部２には送信しない。この結果、フロー制御部５は、当初の順序であるP1,P2,P3の順序でパケットをパケットバッファ部２へ送信し、パケットバッファ部２はこの順序でパケット送信Port４に引き渡す。
【００２２】
フロー制御部５の回路構成を図２に示す。図２を参照すると、フロー制御部５は、パケットバッファ受信制御部８と、判定結果受信制御部９と、調停制御部１０と、セションID制御部１１と、セションID制御テーブル６と、パケットID制御部１２と、パケットID制御テーブル７とパケットバッファ送信制御部１３から構成されている。
【００２３】
セションID制御テーブル６は、パケットバッファ部２が付与するセションIDを元に、フロー単位の管理を行うことを目的とする。受信したセションIDを元にテーブルのメモリアドレスが確定され、例えば、セションIDが0の場合は、テーブルのメモリアドレスは0番地とする。
【００２４】
図３にセションID制御テーブル６の構成を示す。セションID制御テーブル６にて保存され管理される要素は、パケット制御テーブルHeadポインタ(以下、PHP)、パケット制御テーブルTailポインタ(以下、PTP)、テーブル有効フラグである。PHPは受信パケットの先頭を示す情報が格納されているパケットID制御テーブル７のメモリアドレスを保存し、PTPは受信パケットの末尾を示す情報が格納されているパケットID制御テーブル７のメモリアドレスを保存する。テーブル有効フラグは、セションID内にて管理されているパケットIDが存在する場合はONに、存在しない場合はOFFに設定される。
【００２５】
パケットID制御テーブル７は、パケットバッファ部２が付与するパケットIDを元に、パケット単位の管理を行うことを目的とする。受信したパケットIDを元にテーブルのメモリアドレスが確定され、例えば、パケットIDが５の場合は、テーブルのメモリアドレスは５番地とする。
【００２６】
図４にパケットID制御テーブル７の構成を示す。パケットID制御テーブル７にて保存され管理される要素は、パケット制御テーブルNextポインタ(以下、PNP)、判定結果受信フラグ、判定内容である。PNPには、順序管理のため、次のパケットの情報を格納したパケットID制御テーブル７のメモリアドレスを保存する。判定結果受信フラグは、初期値はOFFであり、侵入検出部３から判定結果を受信した際にONされ、この情報を元にパケットを送信して良いか否かの判定を行う。判定内容は、侵入検出部３からの判定結果である。
【００２７】
図５は、パケット受信後におけるセションID制御テーブル６とパケットID制御テーブル７のイメージを具体例で示す。図５において、セションID制御テーブル６のメモリアドレス０に保存されたPHP：０、PTP：５のセションID：０のフローは、パケットID制御テーブル７のメモリアドレス０に保存されたパケットID：０のパケットと、メモリアドレス２に保存されたパケットID：２のパケットと、メモリアドレス５に保存されたパケットID：５のパケットとで構築されている。なお、いずれのパケットも判定結果は未受信である。
【００２８】
再び図２を参照すると、パケットバッファ受信制御部８は、FIFO(First in First out)メモリを実装し、パケットバッファ部２からの複数個のデータ入力に対応させている。パケットバッファ受信制御部８は、調停制御部１０に対しセションID制御部１１に対するアクセス権の調停を依頼し、アクセス権を得ると、セションID制御部１１にセションIDとパケットIDを通知してパケット登録処理を依頼する。
【００２９】
判定結果受信制御部９は、FIFOメモリを実装し、侵入検出部３からの複数個の判定結果の入力に対応させている。判定結果受信制御部９は、調停制御部１０に対しセションID制御部１１に対するアクセス権の調停を依頼し、アクセス権を取得すると、セションID制御部１１にセションIDとパケットIDと判定結果を通知して判定結果処理を依頼する。
【００３０】
調停制御部１０は、パケットバッファ受信制御部８と判定結果受信制御部９からの上記依頼に対し、ラウンドロビン方式で調停制御を行って、いずれかにセションID制御部１１へのアクセス権を付与する。
【００３１】
セションID制御部１１とパケットID制御部１２は、パケット登録処理を依頼されると、セションID制御テーブル６とパケットID制御テーブル７を更新し、パケットの追加処理を行う。また、判定結果処理を依頼されると、セションID制御テーブル６とパケットID制御テーブル７を更新し、判定結果を登録する。その結果、送信可能なパケットが存在する場合は、パケットID制御テーブル７がパケットバッファ送信制御部１３に対し、セションIDとパケットIDと登録されている判定結果を通知し、パケットバッファ部２に対して判定結果送信処理を要求する。
【００３２】
分説すれば、セションID制御部１１は、パケット登録処理を依頼されると、調停制御部１０からのセションIDを元にセションID制御テーブル６をリードしPTPを得て、パケットID制御部１２に通知した後、調停制御部１０からのパケットIDをPTPに設定し、最終パケットへのポインタとして値を更新する。なお、パケットが１つも登録されていないセションについては、無効になっているセションID制御テーブル６を有効とし、PHPに受信したパケットID値を設定する。
【００３３】
セションID制御部１１は、判定結果処理を依頼されると、調停制御部１０からのセションIDを元にセションID制御テーブル６をリードしPHPを得て、パケットID制御部１２に通知する。後述のようにして、パケットID制御部１２においてパケットバッファ部２へ送信可能なパケットの存在が認められると、セションID制御部１１は、連鎖する次のパケットについてパケットID制御部１２が判定結果到着済みか否かを調べるためにPHPを更新する（図１１処理３参照）。更に、全パケットの送信が終了すると、テーブル有効フラグをOFFにする（図９処理５参照）。
【００３４】
パケットID制御部１２は、パケット登録処理を依頼されると、セションID制御部１１から通知されたPTPが指すパケットID制御テーブル７のPNPに、受信したパケットIDを設定し、受信順序を構成するリンクリストを構築する。
【００３５】
パケットID制御部１２は、判定結果処理を依頼されると、パケットID制御テーブル７に判定結果を登録する（判定結果登録処理、図９参照）。そして、連鎖するパケットを順次に調べて当該パケットIDより若番のパケットIDのパケット全てが送信済みのため当該パケットが送信可能な場合は、パケットバッファ送信制御部１３に対し、当該パケットのセションIDとパケットIDと登録されている判定結果を通知し、パケットID制御部１２はパケットバッファ部２に向けた判定結果送信をパケットバッファ送信制御部１３に対して要求する（判定結果送信処理、図１１参照）。また、送信できたパケットに対応するアドレスのパケットID制御テーブル７はクリアする。
【００３６】
パケットバッファ送信制御部１３は、パケットID制御部１２からの要求をFIFOメモリに格納し、順次にパケットバッファ部２宛に送信する。この送信順序は、上記判定結果送信処理により、判定結果の出た順序とは無関係に、パケットバッファ部２がパケット受信Port１から受信した順序となっている。
【００３７】
［動作の説明］
以上のように構成された本不正アクセス防止装置の動作につき、パケット登録処理と判定結果処理の２つに大別して、フロー制御部５を中心に説明する。
【００３８】
（１）パケット登録処理
パケットバッファ部２は、パケットを受信すると、フローを識別し、セションIDとパケットIDを付与して、パケットバッファ受信制御部８に入力する。パケットバッファ受信制御部８では、入力したデータをFIFOメモリにバッファリングし、調停制御部１０に対し、セションID制御部１１へのアクセス権の調停を依頼する。調停回路部１０での調停制御により、アクセス権を得たパケットバッファ受信制御部８は、セションID制御部１１にセションIDとパケットIDを通知し、パケット登録処理を依頼する。
【００３９】
セションID制御部１１とパケットID制御部１２は、図６に示すフローチャートに従って、セションID制御テーブル６とパケットID制御テーブル７を更新し、パケットの追加処理を行う。図６において、セションID制御部１１は、調停制御部１０から受信したセションIDを元にセションID制御テーブル６をリードしPTPを得て、パケットID制御部１２に通知する（図６の処理１）。パケットID制御部１２は、セションID制御部１１から通知されたPTPが指すパケットID制御テーブル７のメモリアドレスをリードし（図６の処理２）、そのPNPに、受信したパケットID（メモリアドレス）を設定する（図６の処理３）。次いで、セションID制御部１１は、調停制御部１０から受信した受信したパケットIDをPTPに設定し、最終パケットへのポインタとして値を更新する（図６の処理４）。そして、テーブル有効フラグがOFFであるときはONとし、PHPに受信したパケットIDの値を設定する（図６の処理５）。
【００４０】
図７は、図６に示した処理によるセションID制御テーブル６とパケットID制御テーブル７の遷移イメージを具体例で示す。当初、PHP：０、PTP：５を内容とするセションID：０がセションID制御テーブル６のメモリアドレス０に保存され、パケットID制御テーブル７のメモリアドレス０にPNP：２のパケットID：０、メモリアドレス２にPNP：５のパケットID：２、メモリアドレス５にPNP：２のパケットID：NULLが保存されている。この状態で、パケットバッファ部２からセションID：０、パケットID：７のパケットを受信した場合を例にとっている。
【００４１】
受信したセションID：０を元にセションID制御部１１が、セションID制御テーブル６をリードしPTP：５を得て、パケットID制御部１２に通知する。パケットID制御部１２は、通知されたPTP：５が指す パケットID制御テーブル７のPNPに受信したパケットID：７を設定し、受信順序を構成するリンクリストを構築する。その後、セションID制御部１１にて、PTPにも受信した パケットID：７を設定し、最終パケットへのポインタとして値を更新する。
【００４２】
また、パケットが１つも登録されていないセション、例えば、セションID：１にパケットバッファ部２からセションID：１、パケットID：８のパケットを受信した場合には、セションID制御テーブル６のセションID：１のPHPとPTPにパケットIDである８を設定し、テーブル有効フラグをONに設定する。
【００４３】
（２）判定結果処理
上述のようなパケット登録処理の一方で、判定結果処理として、判定結果受信制御部９にて、侵入検出部３からの判定結果を受信すると、調停制御部１０にアクセス権の調停を依頼する。調停回路部１０での調停制御により、アクセス権を得た判定結果受信制御部９は、セションID制御部１１に対して、セションIDとパケットIDと判定結果を通知し、判定結果処理を依頼する。判定結果処理は、判定結果登録処理と判定結果送信処理に分かたれる。
【００４４】
（2.1）判定結果登録処理
図８は、判定結果登録処理の考え方を説明するためのパケットID制御テーブル７の状態遷移イメージ図である。この例は、図７に示した状態を引き継いでおり、セションID：０にて、パケットID：０→パケットID：２→パケットID：５→パケットID：７の順でパケットの順序管理を行っている。
【００４５】
図８（１）は、侵入検出部３から、セションID：０、パケットID：２の判定結果を受信した場合を示している。しかし、この段階では、最初に受信したパケットID：０の判定結果を受信していないため、パケットID：２についてパケットバッファ部２に送信することはできない。そこで、実処理としては、パケットID制御部１２にて、パケットID：２の判定結果のみを登録して処理は完了する。
【００４６】
図９は判定結果登録処理のフローチャートである。図８（１）による上記説明を想起すれば容易に理解できよう。判定結果受信制御部９から判定結果処理を依頼されると、セッションID制御部１１は、セションID制御テーブル６から指定１セッションIDのアドレスをリードし（図９の処理１）、パケットID制御部１２は、パケットID制御テーブル７から、PHPが指定するパケットIDのアドレスをリードする（図９の処理２）。
【００４７】
リードされたパケットIDと、判定結果処理依頼の契機となったパケットのパケットIDとを比較して、一致しないときは、パケットID制御テーブル７から、処理２でリードされたパケットIDのPNPが指定するアドレスをリードする（図９の処理３）。これを一致するまで繰り返す。図８の例では、最初は、PHP：０のパケットIDと、判定結果処理依頼の契機となったパケットのパケットID（＝２）は一致しないが、処理３を一度経ることにより一致することになる。
【００４８】
パケットIDが一致すれば、そのパケットIDの判定結果受信フラグをONにし、判定結果を登録することにより、パケットID制御テーブル７を更新する（図９の処理４）。そして、判定結果送信処理（図１１）へ移行する。その結果、全パケットの送信が終了すれば、セションID制御テーブル６の当該テーブル有効フラグがOFFにされる（図９の処理５）。
【００４９】
（2.2）判定結果送信処理
再び図８を参照されたい。図８（２）は、セションID：０、パケットID：０に対する判定結果を受信した場合を示している。この時点で、パケットID：０、パケットID：２、パケットID：５までの判定結果が揃ったため、パケットID制御部１２にて、この３つのパケットについて順次にパケットバッファ部２に向け、判定結果をパケットバッファ送信制御部１３宛に送信する。
【００５０】
送信後のパケットIDはクリアされ、パケットID：７が該当セションに対する先頭パケットとして管理されることになる。図１０は判定結果送信処理によるテーブル処理イメージを示す。図１０では、図８の動作連動させた形でテーブルの遷移を示している。上述のように、図８（２）の状態で残っているパケットはパケットID：7のみとなっているため、セションID制御部１１にて、PHPとPTPを共にパケットID：７に更新している。
【００５１】
ここで、セションID：０、パケットID：７として侵入検出部３からの判定結果が到着した場合、パケットID：７は先頭パケットであるため、直ちにパケットID：７はパケットバッファ部２宛に送信される。この時、セションID：０で管理されているパケットIDは存在しなくなるので、セションID制御部１１にてテーブル有効フラグをOFFにする。
【００５２】
図１１は判定結果送信処理のフローチャートである。図８（２）による説明を想起すれば容易に理解できよう。先ず、図９の処理２と同様に、パケットID制御部１２は、パケットID制御テーブル７から、PHPが指定するパケットIDのアドレスをリードする。そして、その内容をカレントテーブルとする（図１１の処理１）。そのパケットID（図８（２）の例ではパケットID：０）の判定結果が到着済みでなければ処理は完了する。
【００５３】
一方、判定結果が到着済みであれば、パケットバッファ部２へセッションIDとパケットIDと判定結果が送信される（図１１の処理２）。そして、カレントテーブルのPNPをPHPとすることにより当該セッションID制御テーブル６を更新する（図１１の処理３）。図８（２）の例では、新しいPNPは２である。送信の済んだパケットIDのメモリアドレスはクリアされる（図１１の処理４、図１０の塗り潰し箇所参照）。
【００５４】
次いで、カレントテーブルのPNPが指すパケットID制御テーブル７をリードし、その内容をカレントテーブルとし（図１１の処理５）、再び判定結果到着済みか否かが問われる。これによって、パケットID制御テーブル７の連鎖しているアドレスが繰り上がり、次々に判定結果到着済みか否かが調べられることになる。以上の処理をカレントテーブルのPNPがPTPとなるまで繰り返す。
［他の実施例］
【００５５】
図１２は本発明の不正アクセス防止装置の他の実施例を示す。図１の例では、パケット受信Port１，パケットバッファ部２，侵入検出部３，パケット送信Port４およびフロー制御部５の全てを１装置内に実装したイメージを示したが、図１２では、侵入検出部３を侵入検出サーバ１４として、外部のサーバに実装させている。
【００５６】
図１のように侵入検出部３で実現するのに比べ、処理速度は劣るものの、サーバ１４として別装置化することで、追加や交換が容易に行えるようになる。サーバ１４と本装置間は、様々な接続形態が考えられるが、図１２では、例としてEtherNet（登録商標）で接続しており、L2SW（Layer 2 SWITCH）などを経由することができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の不正アクセス防止装置の概略構成図
【図２】図１におけるフロー制御部５の回路構成図
【図３】図１におけるセションID制御テーブル６の構成を示す図
【図４】図１におけるパケットID制御テーブル７の構成を示す図
【図５】セションID制御テーブル６とパケットID制御テーブル７のイメージを示す図
【図６】パケット登録処理のフローチャート
【図７】パケット受信後のテーブルイメージ図
【図８】パケットID制御テーブル７の状態遷移イメージ図
【図９】判定結果登録処理のフローチャート
【図１０】判定結果送信処理によるテーブル処理イメージを示す図
【図１１】判定結果送信処理のフローチャート
【図１２】本発明の不正アクセス防止装置の他の例を示す概略構成図
【図１３】従来の不正アクセス防止装置の第１の例を示す図
【図１４】従来の不正アクセス防止装置の第２の例を示す図
【図１５】図１４の装置におけるパケット追い越し発生を示す図
【符号の説明】
【００５８】
１      パケット受信Port
２      パケットバッファ部
３      侵入検出部
４      パケット送信Port
５      フロー制御部
６      セションID制御テーブル
７      パケットID制御テーブル
８      パケットバッファ受信制御部
９      判定結果受信制御部
１０    調停制御部
１１    セションID制御部
１２    パケットID制御部
１３    パケットバッファ送信制御部
１４    侵入検出サーバ
１５    Ｌ２ＳＷ
【図１】
2008271347.tif 000003
【図２】
2008271347.tif 000004
【図３】
2008271347.tif 000005
【図４】
2008271347.tif 000006
【図５】
2008271347.tif 000007
【図６】
2008271347.tif 000008
【図７】
2008271347.tif 000009
【図８】
2008271347.tif 000010
【図９】
2008271347.tif 000011
【図１０】
2008271347.tif 000012
【図１１】
2008271347.tif 000013
【図１２】
2008271347.tif 000014
【図１３】
2008271347.tif 000015
【図１４】
2008271347.tif 000016
【図１５】
2008271347.tif 000017