(57)【要約】【課題】  IPSec通信にQoS設定を行った際のシーケンス番号逆転によってリプライ・アタックエラーが発生しないようにする。【解決手段】  メモリ装置51は、各SA(セキュリティアソシエーション)毎に、そのSAにかかる受信パケットのシーケンス番号の受信履歴をQoSクラス別に記録するウィンドウセット51-1〜51-nを有する。或るSAにかかるパケットの受信時、リプライ・アタックエラー検出部52は、受信パケットのヘッダに含まれるSPI番号54とQoSクラス情報56によって決定されるウィンドウセット中の該当QoSクラスに対応して記憶されている受信履歴と、受信パケットのヘッダに含まれる受信シーケンス番号55とに基づいて、リプライ・アタックエラーの有無を検出する。【選択図】  図5
2005260520.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティアソシエーションに対応して、前記セキュリティアソシエーションにかかる受信パケットのシーケンス番号の受信履歴をQoSクラス別に記録しておき、前記セキュリティアソシエーションにかかる受信パケットのヘッダに含まれるQoSクラス情報によって決定されるQoSクラスに対応して記憶されている受信履歴と前記受信パケットのヘッダに含まれるシーケンス番号とに基づいてリプライ・アタックエラーを検出することを特徴とするリプライ・アタックエラー検出方法。
【請求項２】
少なくともEF、AF、BFの3種類のQoSクラス別に受信パケットのシーケンス番号の受信履歴を記録することを特徴とする請求項1記載のリプライ・アタックエラー検出方法。
【請求項３】
各QoSクラス別に、最後に受信した最も大きなシーケンス番号を保持する最大シーケンス番号保持部と、過去のシーケンス番号の受信履歴を記録するためのnビットのビットマップであって、最下位ビットから最上位ビットまで順に、前記最大シーケンス番号保持部に保持されているシーケンス番号からn-1だけ小さなシーケンス番号までのn個のシーケンス番号の受信履歴に1対1に対応するビットマップとを使用して、シーケンス番号の受信履歴を管理することを特徴とする請求項1記載のリプライ・アタックエラー検出方法。
【請求項４】
受信したパケットのシーケンス番号が前記最大シーケンス番号保持部に保持されたシーケンス番号より小さく、両者の差dが前記nを超える場合、リプライ・アタックエラーとすることを特徴とする請求項3記載のリプライ・アタックエラー検出方法。
【請求項５】
前記両者の差dが前記nを超えない場合、前記ビットマップのビットｄが受信済を示す値の場合に、リプライ・アタックエラーとすることを特徴とする請求項4記載のリプライ・アタックエラー検出方法。
【請求項６】
セキュリティアソシエーションに対応して、前記セキュリティアソシエーションにかかる受信パケットのシーケンス番号の受信履歴をQoSクラス別に記録する記憶手段と、前記セキュリティアソシエーションにかかる受信パケットのヘッダに含まれるQoSクラス情報によって決定されるQoSクラスに対応して前記記憶手段に記憶されている受信履歴と前記受信パケットのヘッダに含まれるシーケンス番号とに基づいてリプライ・アタックエラーを検出する検出手段とを備えることを特徴とするリプライ・アタックエラー検出装置。
【請求項７】
前記記憶手段は、少なくともEF、AF、BFの3種類のQoSクラス別に受信パケットのシーケンス番号の受信履歴を記録することを特徴とする請求項6記載のリプライ・アタックエラー検出装置。
【請求項８】
前記記憶手段は、各QoSクラス別に、最後に受信した最も大きなシーケンス番号を保持する最大シーケンス番号保持部と、過去のシーケンス番号の受信履歴を記録するためのnビットのビットマップであって、最下位ビットから最上位ビットまで順に、前記最大シーケンス番号保持部に保持されているシーケンス番号からn-1だけ小さなシーケンス番号までのn個のシーケンス番号の受信履歴に1対1に対応するビットマップとを備えることを特徴とする請求項6記載のリプライ・アタックエラー検出装置。
【請求項９】
前記検出手段は、受信したパケットのシーケンス番号が前記最大シーケンス番号保持部に保持されたシーケンス番号より小さく、両者の差dが前記nを超える場合、リプライ・アタックエラーとすることを特徴とする請求項8記載のリプライ・アタックエラー検出装置。
【請求項１０】
前記検出手段は、前記両者の差dが前記nを超えない場合、前記ビットマップのビットｄが受信済を示す値の場合に、リプライ・アタックエラーとすることを特徴とする請求項9記載のリプライ・アタックエラー検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、QoS機能を使用したIPSec処理においてQoSクラスの異なるパケットの出力順序逆転によって発生するリプライ・アタックエラーを防ぐ方法と装置に関する。
【背景技術】
【０００２】
ネットワークセキュリティとは、インターネットを介して重要なデータをやりとりする際にデータを暗号化する事により、悪意を持った第三者の「盗聴」、「改ざん」、「なりすまし」といった驚異から重要なデータを守る概念である。また、QoS機能とは、ネットワーク内で提供される各サービスに対して品質を保証する為の技術である。これらの機能は、今日のinternet-VPNネットワーク環境において、データ系や音声系等の様々なアプリケーションが使用される中、「セキュリティ」と「きめこまやかな品質保証」という面で重要な機能である。
【０００３】
多様なトラフィックが要求するQoSを実現するネットワークアーキテクチャの代表的なものに、ディフサーブ(Diffserv：Differentiated Services)がある(例えば非特許文献1参照)。図9にディフサーブのネットワーク構成例を示す。ディフサーブネットワークのルータは、ユーザ端末とネットワークとの境界部分に設置されるエッジルータと、ネットワーク内部の内部ルータとに大別される。ユーザ端末からのトラフィックを受信したエッジルータは、ユーザ−ネットワーク間の事前の契約(SLA:Service Level Agreement)に基づいてトラフィックを識別してパケットを幾つかのQoSクラスに分類し、QoSクラスに応じた優先度情報(DSCP:DiffServ Code Point)を各パケットのIPヘッダ内に記述して内部ルータへ転送する。QoSクラスとしては、EF(Expedited Forwarding)、AF(Assured Forwarding)、BF(Best effort)があり、EF、AFは更に幾つかのクラスに細分されている。内部ルータでは、受信パケットのDSCPに応じた優先制御、廃棄処理を行うことで、クラス間のQoSを差別化する。
【０００４】
他方、ネットワークセキュリティ技術の代表的なものに、IPSec通信がある。IPSecは、インターネットの標準化組織であるIETF(Internet Engineering Task Force)により標準化されたものであり、VPN(Virtual Private Network)で最も一般的に用いられる暗号通信技術である。IPSecを使って互いに通信するホストは、相手ホストと事前にIPSecで使う暗号の種類や暗号鍵を取り決める。この取り決めをSA(Security Association)と呼び、SA確立後に暗号化されたパケットによる通信が開始される。IPSecによって暗号化されたパケットでは、ESP(Encapsulating Sesurity Payload)に暗号化された通信内容がパックされて送信される。ESPには、暗号化された通信内容に加えて、SPI(Security Parameters Index)、シーケンス番号、認証データなどが含まれる。SPIは、SAを一意に識別するための識別子である。シーケンス番号は、DoS(Denial of Service)アタックなどのリプライ・アタック(リプライ攻撃)への対処として設けられている。シーケンス番号を用いてリプライ・アタックから防御する原理は次の通りである。
【０００５】
送信側はSAを作ったときにシーケンス番号カウンタを0に設定し、パケットを送信する毎に1だけ増やしたシーケンス番号をパケットのヘッダに設定して送信する。受信側では、SA毎にシーケンス番号の受信履歴をとり、同じシーケンス番号のパケットを重複して受信した場合や、過去に受信した最大のシーケンス番号から予め定められた数(この数をウィンドウサイズ(window size)と言う）以上小さいシーケンス番号を持つパケットを受信した場合、エラーとして検出し、当該パケットを廃棄する。リプライ・アタックは、悪意を持った第三者が通信内容を傍受して得たパケットを、当事者のふりをして送りつけるものであるため、前述したように送信側でパケットを送信する毎にシーケンス番号をカウントアップしていき、受信側でもこのシーケンス番号の順序を確認することで、不正なパケットを排除することができる。但し、厳密にはシーケンス番号順にパケットが受信側に到着しない場合があるので、ウィンドウサイズだけの余裕を持たせてある。
【非特許文献１】"Differentiated Services(Diffserv)Architecture"、［online］、［平成16年2月5日検索］、インターネット＜ＵＲＬ：http://www.mos.ics.keio.ac.jp/lecture/acn/3.1Diffserv.ppt＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、今日のinternet-VPNネットワーク環境において、データ系や音声系等の様々なアプリケーションが使用される中、「セキュリティ」と「きめこまやかな品質保証」という面でQoS機能とIPSec通信とは重要な機能であるが、従来のシステムでIPSec通信にQoS設定を行うと、QoSクラシフィケーション機能によりパケットの出力優先順位が決定されてしまい、IPSec処理でパケット毎に付与されたシーケンス番号の順番が逆転し、受信側でリプライ・アタックエラーが発生するという問題がある。このリプライ・アタックエラーを防ぐ為には、データ系と音声系とで別々のSAを作成するか、リプライ・アタック防止機能の設定をオフにする必要があり、前者の場合、セキュリティ性能が低下し、後者の場合、必要以上にSAを消費するという問題がある。
【０００７】
そこで、本発明は、IPSec通信にQoS設定を行った際のシーケンス番号逆転によって発生するリプライ・アタックエラーを回避するために、セキュリティの強度を弱める（リプライ・アタック機能オフ）必要も無く、また、SAの資源を余分に消費（QoSクラス別にSAを使用）すること無く、IPSec通信でQoSの機能を使用することができるようにすることにある。
【課題を解決するための手段】
【０００８】
本発明の第1のリプライ・アタックエラー検出方法は、セキュリティアソシエーションに対応して、前記セキュリティアソシエーションにかかる受信パケットのシーケンス番号の受信履歴をQoSクラス別に記録しておき、前記セキュリティアソシエーションにかかる受信パケットのヘッダに含まれるQoSクラス情報によって決定されるQoSクラスに対応して記憶されている受信履歴と前記受信パケットのヘッダに含まれるシーケンス番号とに基づいてリプライ・アタックエラーを検出することを特徴とする。
【０００９】
本発明の第2のリプライ・アタックエラー検出方法は、第1のリプライ・アタックエラー検出方法において、少なくともEF、AF、BFの3種類のQoSクラス別に受信パケットのシーケンス番号の受信履歴を記録することを特徴とする。
【００１０】
本発明の第3のリプライ・アタックエラー検出方法は、第1のリプライ・アタックエラー検出方法において、各QoSクラス別に、最後に受信した最も大きなシーケンス番号を保持する最大シーケンス番号保持部と、過去のシーケンス番号の受信履歴を記録するためのnビットのビットマップであって、最下位ビットから最上位ビットまで順に、前記最大シーケンス番号保持部に保持されているシーケンス番号からn-1だけ小さなシーケンス番号までのn個のシーケンス番号の受信履歴に1対1に対応するビットマップとを使用して、シーケンス番号の受信履歴を管理することを特徴とする。
【００１１】
本発明の第4のリプライ・アタックエラー検出方法は、第3のリプライ・アタックエラー検出方法において、受信したパケットのシーケンス番号が前記最大シーケンス番号保持部に保持されたシーケンス番号より小さく、両者の差dが前記nを超える場合、リプライ・アタックエラーとすることを特徴とする。
【００１２】
本発明の第5のリプライ・アタックエラー検出方法は、第4のリプライ・アタックエラー検出方法において、前記両者の差dが前記nを超えない場合、前記ビットマップのビットｄが受信済を示す値の場合に、リプライ・アタックエラーとすることを特徴とする。
【００１３】
本発明の第1のリプライ・アタックエラー検出装置は、セキュリティアソシエーションに対応して、前記セキュリティアソシエーションにかかる受信パケットのシーケンス番号の受信履歴をQoSクラス別に記録する記憶手段と、前記セキュリティアソシエーションにかかる受信パケットのヘッダに含まれるQoSクラス情報によって決定されるQoSクラスに対応して前記記憶手段に記憶されている受信履歴と前記受信パケットのヘッダに含まれるシーケンス番号とに基づいてリプライ・アタックエラーを検出する検出手段とを備えることを特徴とする。
【００１４】
本発明の第2のリプライ・アタックエラー検出装置は、第1のリプライ・アタックエラー検出装置において、前記記憶手段は、少なくともEF、AF、BFの3種類のQoSクラス別に受信パケットのシーケンス番号の受信履歴を記録することを特徴とする。
【００１５】
本発明の第3のリプライ・アタックエラー検出装置は、第1のリプライ・アタックエラー検出装置において、前記記憶手段は、各QoSクラス別に、最後に受信した最も大きなシーケンス番号を保持する最大シーケンス番号保持部と、過去のシーケンス番号の受信履歴を記録するためのnビットのビットマップであって、最下位ビットから最上位ビットまで順に、前記最大シーケンス番号保持部に保持されているシーケンス番号からn-1だけ小さなシーケンス番号までのn個のシーケンス番号の受信履歴に1対1に対応するビットマップとを備えることを特徴とする。
【００１６】
本発明の第4のリプライ・アタックエラー検出装置は、第3のリプライ・アタックエラー検出装置において、前記検出手段は、受信したパケットのシーケンス番号が前記最大シーケンス番号保持部に保持されたシーケンス番号より小さく、両者の差dが前記nを超える場合、リプライ・アタックエラーとすることを特徴とする。
【００１７】
本発明の第5のリプライ・アタックエラー検出装置は、第4のリプライ・アタックエラー検出装置において、前記検出手段は、前記両者の差dが前記nを超えない場合、前記ビットマップのビットｄが受信済を示す値の場合に、リプライ・アタックエラーとすることを特徴とする。
【発明の効果】
【００１８】
本発明のリプライ・アタックエラー検出方法および装置によれば、セキュリティの強度を弱める必要も無く、また、SAの資源を余分に消費すること無く、IPSec通信でQoSの機能を使用することができる。その理由は、リプライ・アタックエラーの検出を各QoSクラス別のシーケンス番号受信履歴に基づいて検出しており、IPSec通信にQoS設定を行った際にシーケンス番号の逆転が生じても、各QoSクラス別ではシーケンス番号の逆転が生じないからである。
【発明を実施するための最良の形態】
【００１９】
本発明の実施の形態の構成を図1に示す。図9との関係では、図1中の端末102、端末136が図9のユーザ端末に相当し、VPN Router A 138、VPN Router B 139がエッジルータに相当する。以下、図1を参照して、企業内LAN A 101の端末102から企業内LAN B 137の端末136宛にトンネルモードでインターネット119を経由してデータを送信する場合を例に、本実施の形態の構成と動作を説明する。
【００２０】
企業内LAN A 101の端末102から送信されたデータは、データ系と音声系が混在したトラフィックで、VPN Router A 138で受信される。VPN Router A 138の受信インターフェース部103からIPSec処理対象となるパケットは、IPSec Engine部107へフォーワードされ、CPU部104でHDR(ヘッダ)加工処理後、PCIバス105経由で暗号部106に送られて暗号化処理される。
【００２１】
IPSec Engine部107でIPSec化されたパケットは、QoS Engine部108のQoSクラシフィア部109でQoSクラス分けされ、QoSクラス・キュー部110の各QoSクラス別に分けられたキューに格納される。企業内LAN A 101の端末102より送信されたデータは、データ系と音声系のデータが混在したトラフィックのため、音声系データはQoSクラス・キュー部110のEF_2キューに振り分けられ、データ系のデータはQoSクラス・キュー部110のBEキューに振り分けられる。各QoSクラス・キュー部110に振り分けられたデータは、QoSスケジュール部111によって優先順位が決定される。QoSシェーパー部112で優先順位別に出力制御されたパケット113、114、115、116は、シーケンス番号が順序逆転されて、送信インターフェース部117からトンネルモードでインターネット119を介してVPN Router B 139宛てに送信される。
【００２２】
VPN Router B 139の受信インターフェース部120で受信されたIPSecパケットは、復号処理の為IPSec Engine部121にフォワーディングされる。フォワーディングされたIPSecパケットのHDR内のSPI番号からIPsec Engine部121のSADデータベース部122に格納されている任意のSA123を検索し、各QoSクラス別に設定されたwindow size部124〜130を使用してシーケンス番号のチェックを行う。例えば、QoSクラスがEF_2のIPSecパケットは、EF_2用のwindow size部125を使用してシーケンス番号の受信履歴を確認し、チェックを行う。
【００２３】
各QoSクラス別のwindow size部124〜130でシーケンス番号をチェックされ、パスしたIPSecパケットは、PCIバス133を経由して暗号部134で復号化処理され、CPU部132でHDR加工後、VPN Router B 139の出力インターフェース部135より企業内 LAN B 137の端末136宛てに送信される。
【００２４】
次に、図1乃至図4を参照して、本実施の形態のより詳細な動作を説明する。
【００２５】
図1の企業内LAN A 101の端末102より送信されたデータは、図2に示すように、HTTPトラフィック9、音声トラフィック8、の順に連続して送信される。このようなタイプの異なるトラフィックが、図3に示すVPN Router A 138で受信される。
【００２６】
VPN Router A 138で受信されたデータは、図2に示すIPSec Engin部11の暗号処理部10で暗号化処理される。IPSec化されたパケット12、13には、パケット毎にシーケンス番号14、15が割り振られ、図3に示すEgress側のQoS Engine部 108へとフォワーディングされる。
【００２７】
QoS Engine部 108で受信されたIPSecパケットは、QoSクラシフィア部109により音声系データとHTTPのベストエフォート型のデータとしてクラス分けされる。QoSクラシフィア部109でクラス分けされたパケットは、QoSクラス・キュー部110の各QoSクラス別に分けられたキュー部18〜23に格納される。本実施形態の場合、音声系のデータはEF_2キュー部20に振り分けられ、HTTPデータはBEキュー部18に振り分けられる。
【００２８】
各QoSクラス・キュー部に振り分けられたデータは、QoSスケジューラ部111によって優先順番が決定される。BE型のトラフィックは、AF及びEFのトラフィックがある場合出力制御される。この結果、QoSシェーパー部112では、EF2にクラス分けされた音声系トラフィック28〜31が先に出力され、BEトラフィック27はQoSクラスの優先度が低いため音声系トラフィック28〜31の後にシェーピングされる。このようにQoSクラスの異なるパケットが同一のトンネルを使用してインターネット119を経由してVPN Router B 139宛てに送信された場合、図4に示すように、IPSecパケットに割り振られたシーケンス番号32、33は順序が逆転されて、VPN Router B 139に受信される。
【００２９】
VPN Router B 139で受信されたIPSec パケットは、IPSec Engine部121に転送されESPヘッダ内のSPI番号をもとにそのユニークな番号に該当する唯一のSA部123をSADデータベース部122より検索する。該当するSA部123が検索された後、そのパケットに付与されたシーケンス番号32、33がチェックされる。本実施形態の場合、図4に示す音声系トラフィック32に含まれるシーケンス番号50,51,52,53,…に続き、HTTPトラフィック33に含まれるシーケンス番号1が到着する。従って、従来のシステムのようにwindow sizeが一つしかない場合、そのwindow sizeを32bitとすると、シーケンス番号1を持つHTTPパケットは32bitのwindows sizeを外れてしまうため、リプライ・アタックエラーとして処理されてしまう。
【００３０】
これに対して本実施の形態では、図4に示すようにQoSクラス別にwindows size部36を持つことにより、該当するQoSクラスのwindows size部36でシーケンス番号のチェックを行う。このため、音声系トラフィック32に含まれるシーケンス番号50,51,52,53,…に続き、HTTPトラフィック33に含まれるシーケンス番号1が到着しても、QoSクラス別のwindows size部36においてはシーケンス番号の順序逆転が発生せず、シーケンス番号の順序逆転によるリプライ・アタックエラーの検出を防ぐことが出来る。こうして、復号化されたIPパケットは、図1に示す出力インタフェース部135に転送され、VPN Router B 139から企業内LAN B の端末136宛てに送信される。
【００３１】
次にVPN Router B 139におけるリプライ・アタックエラーの検出機構気候の実施例について図面を参照して説明する。
【００３２】
図5を参照すると、VPN Router B 139に設けられるリプライ・アタックエラー検出装置の一実施例は、メモリ装置51とリプライ・アタックエラー検出部52とで構成される。
【００３３】
メモリ装置51には、VPN Router B 139に存在するSA部123に1対1に対応するウィンドウセット51-1〜51-nが格納される。個々のウィンドウセット51-1〜51-nは、QoSクラス毎のウィンドウ情報53-1〜53-mで構成される。例えば、QoSクラスを、EF、AF、BFの3種類に大別し、EF、AFをそれぞれ更に3つに区分する場合、全部で7つのQoSクラスが存在するので、個々のウィンドウセット51-1〜51-nには、7つのQoSクラス毎のウィンドウ情報53-1〜53-7が含まれる。
【００３４】
個々のウィンドウ情報53-1〜53-mは、32bitのビットマップbitmapとラスト受信シーケンス番号レジスタlastseqとを有する。ラスト受信シーケンス番号レジスタlastseqは、最後に受信した最も大きなシーケンス番号を保持する記憶領域である。ビットマップbitmapは、過去のシーケンス番号の受信履歴を記録するためのビット列である。32bitなので、本実施例の場合、最後に受信した最も大きなシーケンス番号から32だけ小さい値のシーケンス番号までの受信履歴が保存できる。例えば、最後に受信した最も大きなシーケンス番号が100なら69〜100までの受信履歴がビットマップbitmapに保存できる。若し、69よりも小さいシーケンス番号を持つ受信パケットが受信された場合、受信履歴が無く確認できないということでエラーになる。つまり、リプライ・アタックエラーとなる。
【００３５】
リプライ・アタックエラー検出部52は、メモリ装置51を参照更新して、受信パケットのリプライ・アタックエラーの有無を検出する部分である。その処理の一例を図6に示す。リプライ・アタックエラー検出部52は、VPN Router B 139で受信されたIPSec パケットのESPヘッダ内のSPI番号54をもとに、そのSPI番号により唯一決まるSA部123に対応するウィンドウセット51-i(i=1〜n)を決定し(S100)、更に、そのパケットに含まれるQoSクラス情報56をもとに、ウィンドウセット51-iの中の当該QoSクラスに対応するウィンドウ情報53-j(j=1〜m)を決定する(S200)。QoSクラス情報56としては、IPヘッダ中のDS(Differentiated Services)フィールドに設定された優先度情報(DSCP:DiffServ Code Point)が使用される。次に、この決定したウィンドウ情報53-jと受信パケットに含まれる受信シーケンス番号55とに基づいて、リプライ・アタックエラーの有無を検出する(S300)。
【００３６】
図6のステップS300の詳細を図7に示す。リプライ・アタックエラー検出部52は、seq(受信シーケンス番号55)が0であるかどうかを調べ(S301)、0であればエラーとする。seqが0でなければ(S301でNO)、ウィンドウ情報53-j中のラスト受信シーケンス番号レジスタlastseqに保持されている最後に受信した最も大きなシーケンス番号lastseqよりseqが大きいかどうかを調べる(S302)。
【００３７】
seqがlastseqより大きなシーケンス番号であれば(S302でYES)、seqからlastseqを引いた差分値diffを計算し(S303)、そのdiffがウィンドウサイズwsizebである32より小さいかどうかを調べる(S304)。若し、小さければ、ビットマップbitmapを差分値diff
だけ左にシフトし、bit0に1を設定する(S305)。そうでなければ、ビットマップbitmapの値を1に設定する(S307)。つまり、bit0を1に設定し、それ以外のbitを0に設定する。そして、今回の受信シーケンス番号seqをlastseqとして保存する(S306)。
【００３８】
他方、seqがlastseqより大きくない場合(S302でNO)、lastseqからseqを引いた差分値diffを計算し(S308)、そのdiffがウィンドウサイズwsizebである32以上かどうかを調べる(S309)。若し、diffが32以上であれば(S309でYES)、最後に受信した最大シーケンス番号lastseqよりもウィンドウサイズ以上小さいシーケンス番号のパケットを受信したことになるので、エラーとする。また、diffが32より小さければ(S309でNO)、ビットマップbitmapの下位からdiff番目のビット(bit diff)が1かどうかを調べる(S310)。そして、1でなければ、そのビットを1に設定し(S311)、1であれば、同じシーケンス番号のパケットを重複して受信したことになるので、エラーとする。
【００３９】
図8にウィンドウ情報53-j中のbitmapとlastseqの状態遷移の一例を示す。図8(a)に示すように、初期状態ではbitmapの全bitは0であり、lastseqは未設定である。図8(b)はシーケンス番号101の受信パケットを受信した直後の状態を示しており、bitmapはbit0だけが1になっており、lastseqには101が保存されている。この状態を起点として、シーケンス番号102、103、110、108、103、60の受信パケットをこの順に受信した場合の状態遷移が図8の(c)〜(h)に示されている。
【００４０】
まず、シーケンス番号102のパケットを受信した場合、seq＞lastseq、diff=102-101=1なので、bitmapが1 bit左シフトされた後、bit0に1が設定され(S305)、lastseqに102が設定される(S306)。
【００４１】
同様に、シーケンス番号103のパケットを受信した場合、seq＞lastseq、diff=103-102=1なので、bitmapが1 bit左シフトされた後、bit0に1が設定され(S305)、lastseqに103が設定される(S306)。
【００４２】
同様に、シーケンス番号110のパケットを受信した場合、seq＞lastseq、diff=110-103=7なので、bitmapが7 bit左シフトされた後、bit0に1が設定され(S305)、lastseqに110が設定される(S306)。
【００４３】
次に、シーケンス番号108のパケットを受信した場合、seq＜lastseq、diff=110-108=2、diff=2＜wsizeb=32なので、bitmapのbit2が1かどうかが調べられ(S310)、0なので、bitmapのbit2が1に設定される(S311)。
【００４４】
次に、シーケンス番号103のパケットを受信した場合、seq＜lastseq、diff=110-103=7、diff=7＜wsizeb=32なので、bitmapのbit7が1かどうかが調べられ(S310)、1なので、エラーが検出される。エラーが検出されたパケットは破棄される。
【００４５】
次に、シーケンス番号60のパケットを受信した場合、seq＜lastseq、diff=110-60=50、diff=50＞wsizeb=32なので(S309でYES)、エラーが検出される。エラーが検出されたパケットは破棄される。
【００４６】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、前述した実施の形態では、32bitのビットマップを使用してシーケンス番号の受信履歴を管理したが、64bitなどより多くのビット数のビットマップを使用することも可能である。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態の構成を示す図である。
【図２】QoS機能を使用したIPSec処理においてQoSクラスの異なるパケットのシーケンス番号の逆転が生じる様子を示す図である。
【図３】VPN Router A の動作説明図である。
【図４】VPN Router B の動作説明図である。
【図５】リプライ・アタックエラー検出装置の一実施例のブロック図である。
【図６】リプライ・アタックエラー検出部の処理例を示すフローチャートである。
【図７】ステップS300の詳細を示すフローチャートである。
【図８】ウィンドウ情報中のbitmapとlastseqの状態遷移の一例を示す図である。
【図９】ディフサーブのネットワーク構成例を示す図である。
【符号の説明】
【００４８】
51…メモリ装置
51-1〜51-n…ウィンドウセット
52…リプライ・アタックエラー検出部
53-1〜53-m…クラス対応ウィンドウ情報
54…SPI番号
55…受信シーケンス番号
56…QoSクラス情報
【図１】
2005260520.tif 000003
【図２】
2005260520.tif 000004
【図３】
2005260520.tif 000005
【図４】
2005260520.tif 000006
【図５】
2005260520.tif 000007
【図６】
2005260520.tif 000008
【図７】
2005260520.tif 000009
【図８】
2005260520.tif 000010
【図９】
2005260520.tif 000011