JP2007135137A - Device and program for determining passage of packet - Google Patents
Device and program for determining passage of packet Download PDFInfo
- Publication number
- JP2007135137A JP2007135137A JP2005328557A JP2005328557A JP2007135137A JP 2007135137 A JP2007135137 A JP 2007135137A JP 2005328557 A JP2005328557 A JP 2005328557A JP 2005328557 A JP2005328557 A JP 2005328557A JP 2007135137 A JP2007135137 A JP 2007135137A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- input
- authentication
- pass
- sequence number
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、IP(Internet Protocol)パケットの暗号化や認証およびシーケンス番号の付加によって、インターネット上において安全なパケット通信を可能とするIPSec(Security architecture for Internet Protocol)機能を実装するVPN(Virtual Private Network)装置において、シーケンス番号チェックを行うことでリプレイ攻撃を遮断し、かつVPN装置に対する処理負荷攻撃(以下Dos攻撃と記述する)を防止する方式に関する。 The present invention provides a VPN (Virtual Private Network) that implements an IPSec (Security Architecture for Internet Protocol) function that enables secure packet communication on the Internet by encrypting and authenticating IP (Internet Protocol) packets and adding sequence numbers. The present invention relates to a method for blocking a replay attack by performing a sequence number check and preventing a processing load attack (hereinafter referred to as a Dos attack) against a VPN device.
パケットのIPSec処理方式はIETF(Internet Engineering Task Force)による仕様書RFC(Request For Comments)2401にて記述されている。 The IPSec processing method of a packet is described in a specification RFC (Request For Comments) 2401 by IETF (Internet Engineering Task Force).
まず、シーケンス番号チェックの概要について説明する。IPSecにおけるシーケンス番号はリプレイ攻撃を防止するために使用される。IPSecパケット送信側のVPN装置は、個々のIPSecパケットに32ビットのシーケンス番号を付加して送信する。IPSecパケット受信側のVPN装置は、シーケンス番号をチェックすることで、同一のIPSecパケットおよび受信が許容されているIPSecパケットよりも古いシーケンス番号(受信が許容されているIPSecパケットのシーケンス番号よりも値の小さいシーケンス番号)のIPSecパケットを廃棄する。 First, an outline of sequence number check will be described. The sequence number in IPSec is used to prevent replay attacks. The VPN device on the IPSec packet transmission side adds a 32-bit sequence number to each IPSec packet and transmits it. The VPN device on the IPSec packet receiving side checks the sequence number, so that the sequence number that is older than the same IPSec packet and the IPSec packet that is allowed to be received (the value is higher than the sequence number of the IPSec packet that is allowed to be received). (Sequence number with small sequence number) is discarded.
シーケンス番号は、SA(Security Association)単位で管理される。そして、同一のSAでIPSecパケットを送信する場合は、送信側は、シーケンス番号の初期値を0とし、IPSecパケット送信ごとに、シーケンス番号を「1」ずつ増加させる。なお、同一SAによるIPSecパケット転送では、32bitシーケンス番号の値が一周する前にSAを更新しなければならない。 The sequence number is managed in units of SA (Security Association). When transmitting an IPSec packet with the same SA, the transmission side sets the initial value of the sequence number to 0, and increases the sequence number by “1” every time the IPSec packet is transmitted. In IPSec packet transfer using the same SA, the SA must be updated before the value of the 32-bit sequence number goes around.
続いて、IPSecパケット受信側がシーケンス番号チェックにおいて使用するシーケンス番号ウィンドウメモリについて説明する。図18は、一般的なシーケンス番号ウィンドウメモリ601を示す図である。図18において、シーケンス番号ウィンドウメモリ601は、シーケンス番号を管理する単位となるSA番号602、SA番号602ごとの最新のシーケンス番号603、及び最新のシーケンス番号603から遡り32番前までの受信履歴を示す履歴ウィンドウ604から構成される。
Next, the sequence number window memory used in the sequence number check by the IPSec packet receiving side will be described. FIG. 18 is a diagram showing a general sequence
履歴ウィンドウ604は、32bitで構成されている。図18に示すように、履歴ウィンドウ604において、ビット31は、
「最新のシーケンス番号−1」
のシーケンス番号に該当するIPSecパケットの受信履歴を表す。受信済みである場合は”1”とし、未受信である場合は”0”とする。
同様に、ビット30は、
「最新のシーケンス番号−2」
のシーケンス番号に該当するIPSecパケットの受信履歴を示す。
以下同様であり、ビット0までにおいて、
「そのビットX」は、
「最新のシーケンス番号−(32−X)」
のシーケンス番号に該当するIPSecパケットの受信履歴を表す。
The
"Latest sequence number -1"
Represents the reception history of the IPSec packet corresponding to the sequence number. If it has been received, it is “1”, and if it has not been received, it is “0”.
Similarly, bit 30 is
"Latest sequence number -2"
The reception history of the IPSec packet corresponding to the sequence number is shown.
The same applies to the following.
"That bit X"
"Latest sequence number-(32-X)"
Represents the reception history of the IPSec packet corresponding to the sequence number.
次に図18のシーケンス番号ウィンドウメモリ601を使用して行う一般的なIPSecシーケンス番号チェックのフローチャートを図19に示す。図19の動作主体は、図20で後述するシーケンス番号チェック部702である。
(1)VPN装置でシーケンス番号チェックを行う場合、まずパケット認証に合格したIPSecパケットのシーケンス番号が存在するかどうかをチェックする(S1)。
(2)存在する場合は(S1がYES)、更新すべきシーケンス番号がそのSA番号602の最新の番号であるかをチェックし(S2)、
(3)最新の場合は図18の最新のシーケンス番号603を上書き(S3)し、
(4)更新前の最新のシーケンス番号との値の差分だけ履歴ウィンドウ604を右へシフトして更新する(S4)。
(5)また、更新すべきシーケンス番号が、そのSA番号602の最新の番号でない場合は、履歴ウィンドウ604の該当するビットに1を立てて受信済みであることを記録する(S5)。
Next, FIG. 19 shows a flowchart of a general IPSec sequence number check performed using the sequence
(1) When the sequence number is checked by the VPN device, first, it is checked whether or not there is a sequence number of the IPSec packet that has passed the packet authentication (S1).
(2) If it exists (S1 is YES), check whether the sequence number to be updated is the latest number of the SA number 602 (S2),
(3) If it is the latest, overwrite the
(4) The
(5) If the sequence number to be updated is not the latest number of the
(6)続いてIPSecパケット受信後の動作を説明する。IPSecパケットの受信を待つ(S6)。
(7)IPSecパケットを受信した場合、受信パケット(IPSecパケット)のSAに該当するシーケンス番号ウィンドウを参照し、シーケンス番号が最新であるかどうかをチェックする(S7)。
(8)最新である場合は受信パケットを転送し(S8)、
(9)最新でない場合は、受信履歴ウィンドウの幅である最新のシーケンス番号から32番以内であるかをチェックする(S9)。
(10)32番以内である場合は、該当するシーケンス番号フラグが立っていないかどうかをチェックし(S10)、シーケンス番号フラグが立っていない場合は、この受信パケットは未受信であるため転送する(S8)。
(11)シーケンス番号フラグが立っている場合は、この受信パケットは受信済みであるため廃棄する。また、最新から32番以内でない場合も、この受信パケットを廃棄する(S11)。
(6) Next, the operation after receiving the IPSec packet will be described. Waiting for reception of the IPSec packet (S6).
(7) When an IPSec packet is received, the sequence number window corresponding to the SA of the received packet (IPsec packet) is referred to and it is checked whether the sequence number is the latest (S7).
(8) If it is the latest, transfer the received packet (S8),
(9) If it is not the latest, it is checked whether it is within 32 from the latest sequence number which is the width of the reception history window (S9).
(10) If the number is 32 or less, it is checked whether or not the corresponding sequence number flag is raised (S10). If the sequence number flag is not raised, the received packet is not received and is transferred. (S8).
(11) If the sequence number flag is set, this received packet has been received and is discarded. Further, even if it is not within the 32nd from the latest, this received packet is discarded (S11).
次に、IPSec機能をパイプライン処理で実現する場合の一般的な構成を図20に示す。図20において、VPN装置701は、シーケンス番号ウィンドウメモリ703を有するシーケンス番号チェック部702と、パケット認証部704と、他のIPSec処理部705−1〜他のIPSec処理部705−Nとを備える。VPN装置701は、VPN側ネットワーク706からIPSecパケットを入力する。そして処理を施したパケットを平文側ネットワーク707に出力する。なお、VPN装置701中の実線の矢印はパケットの流れを示す。
Next, FIG. 20 shows a general configuration when the IPSec function is realized by pipeline processing. 20, the VPN apparatus 701 includes a sequence
図20に示すようなVPN装置701では、シーケンス番号チェック部702とパケット認証部704とがパイプライン構成をとることで、IPSec処理の負荷を分散する方法が一般的である。またシーケンス番号チェック部702をパケット認証部704の前に設けることで、リプレイ攻撃によるVPN装置701の認証処理負荷の増加を抑制している。
In the VPN apparatus 701 as shown in FIG. 20, the method of distributing the IPSec processing load is generally performed by the sequence
続いて、図20に示した構成の動作について説明する。図20において、
(1)VPN装置701は、VPN側ネットワーク706よりIPSecパケットを受信し、シーケンス番号チェック部702が、シーケンス番号ウィンドウメモリ703を参照してシーケンス番号チェックを行う。
(2)次に、パケット認証部704は、シーケンス番号チェック部702を通過したIPSecパケットに対してパケット認証を行い、認証に合格した場合はIPSecパケットのシーケンス番号をシーケンス番号チェック部702に通知(破線の矢印)する。
(3)ここで、パケット認証部704からの合格通知に基づき、シーケンス番号チェック部702は、シーケンス番号ウィンドウメモリ703を更新する。
(4)続いて、他のIPSec処理部705−1〜他のIPSec処理部705−Nは、シーケンス番号チェックとパケット認証との処理以外の処理を行って、処理を施したパケットを平文側ネットワーク707へ送信する。
Next, the operation of the configuration shown in FIG. 20 will be described. In FIG.
(1) The VPN apparatus 701 receives the IPSec packet from the VPN side network 706, and the sequence
(2) Next, the
(3) Here, based on the notification of acceptance from the
(4) Subsequently, the other IPSec processing unit 705-1 to the other IPSec processing unit 705 -N perform processing other than the processing of the sequence number check and the packet authentication, and send the processed packet to the plaintext side network. To 707.
図20の構成では、シーケンス番号チェック部702とパケット認証部704とがパイプライン化されている。このため、図21に示すように、四角で示すシーケンス番号70の「四角#70」のIPSecパケットと、三角で示すシーケンス番号70の「三角#70」のIPSecパケットとを連続して受信した場合を考えると、シーケンス番号チェック部702が「三角#70」を処理している場合、パケット認証部704は「四角#70」を処理中である。このため、シーケンス番号チェック部702は、パケット認証部704が認証中の「四角#70」のシーケンス番号情報をシーケンス番号ウィンドウメモリ703に反映する前に、「三角#70」のシーケンス番号チェックを行うことになる。よって、シーケンス番号チェック部702は、シーケンス番号が同じ「#70」の「三角#70」を通過させてしまう。このように、図20の構成では、図21に示すように同一のシーケンス番号のIPSecパケットを2個連続で受信した場合、本来通過してはならないデカプセルされた2個目のIPSecパケット(図21の三角#70)も平文側ネットワークに流れてしまうといった課題があった。
In the configuration of FIG. 20, the sequence
また、図20の構成でシーケンス番号チェックを完璧に実現しようとすると、シーケンス番号チェック部702は、パケット認証部704の結果を待ってから次に受信したIPSecパケットのシーケンス番号チェックを行う必要がある。これではパイプライン構成による処理負荷分散による性能向上が図れず、シーケンシャルな処理を行った場合とスループットが同じになってしまう。
本発明は、パイプライン構成でIPSec機能を実現するVPN装置において、性能を劣化することなくリプレイ攻撃を完全に遮断するVPN装置を提供する。 The present invention provides a VPN apparatus that completely blocks a replay attack without degrading performance in a VPN apparatus that implements an IPSec function in a pipeline configuration.
この発明のパケット通過判定装置は、
IPセキュリティプロトコルに基づくシーケンス番号が予め定められているとともに認証対象となるパケットを入力パケットとして入力し、入力した入力パケットの予め定められているシーケンス番号に基づき入力パケットを通過させるかどうか判定し、通過させると判定した場合に入力パケットを通過させる入力パケット判定部と、
前記入力パケット判定部が通過させた入力パケットを入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させるパケット認証部と、
前記パケット認証部が通過させた認証合格パケットを入力し、入力した認証合格パケットを前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に認証合格パケットを通過させる認証合格パケット判定部と
を備えたことを特徴とする。
The packet passage judging device of the present invention
A sequence number based on the IP security protocol is predetermined and a packet to be authenticated is input as an input packet, and it is determined whether or not the input packet is allowed to pass based on a predetermined sequence number of the input packet that has been input, An input packet determination unit that allows an input packet to pass when it is determined to pass;
A packet authentication unit that inputs and authenticates an input packet passed by the input packet determination unit, and passes the authenticated input packet as an authentication pass packet when the input packet is authenticated as a result of authentication, and
Enter the authentication pass packet passed by the packet authentication unit, determine whether to pass the input authentication pass packet based on the predetermined sequence number, and pass the authentication pass packet if it is determined to pass And an authentication pass packet determination unit to be performed.
本発明により、パイプライン構成でIPSec機能を実現するVPN装置において、リプレイ攻撃に対する性能を向上できる。 According to the present invention, performance against a replay attack can be improved in a VPN apparatus that implements an IPSec function in a pipeline configuration.
実施の形態1.
図1〜図4を参照して、実施の形態1を説明する。実施の形態1は、パケット認証部104の前段側に第1シーケンス番号チェック部102を備えるとともに、さらに、パケット認証部104の後段側に第2シーケンス番号チェック部105を備え、パイプライン構成によりIPSec機能を実現するVPN(Virtual Private Network)装置101(パケット通過判定装置)に関する。
The first embodiment will be described with reference to FIGS. The first embodiment includes a first sequence
図1は、VPN装置101の構成図である。図2は、VPN装置101における第1シーケンス番号チェック部102(入力パケット判定部)とパケット認証部104とのやり取りを説明する図である。図3は、第1シーケンス番号チェック部102と、パケット認証部104と、第2シーケンス番号チェック部105(認証合格パケット判定部)との、パケットのパイプライン処理の様子を示す図である。図4は、VPN装置101の第2シーケンス番号チェック部105の動作を示すフローチャートである。
FIG. 1 is a configuration diagram of the
まず、図1によりVPN装置101の構成を説明する。VPN装置101は、図20のVPN装置701に対して、第2シーケンス番号チェック部105を加えた構成である。図1に示すように、VPN装置101は、シーケンス番号ウィンドウメモリ103を有する第1シーケンス番号チェック部102と、パケット認証部104と、シーケンス番号ウィンドウメモリ106を有する第2シーケンス番号チェック部105と、他のIPSec処理部107−1〜他のIPSec処理部107−Nとを備える。VPN装置101は、VPN側ネットワーク108からIPSecパケットを入力し、所定のパケットを生成して、このパケットを平文側ネットワーク109に出力する。
First, the configuration of the
(1)第1シーケンス番号チェック部102は、図20のシーケンス番号チェック部702と同様の機能を有する。また、シーケンス番号ウィンドウメモリ103は、図18で説明したシーケンス番号ウィンドウメモリ601と同様の機能、構成である。すなわち、第1シーケンス番号チェック部102は、IPセキュリティプロトコル(IPSec)に基づくシーケンス番号が予め定められているとともに認証対象となるIPSecパケット(入力パケット)を入力し、自己の有するシーケンス番号ウィンドウメモリ103を参照して、入力したIPSecパケットの予め定められているシーケンス番号に基づきそのIPSecパケットを通過させるかどうか判定し、通過させると判定した場合に通過させる。また、認証合格を第1シーケンス番号チェック部102に通知する。
(2)パケット認証部104は、第1シーケンス番号チェック部102が通過させたパケットを入力して認証し、認証の結果、パケットを合格と認証した場合に、合格と認証したパケットを認証合格パケットとして通過させる。
(3)第2シーケンス番号チェック部105は、パケット認証部104が通過させた認証合格パケットを入力する。そして、自己の有するシーケンス番号ウィンドウメモリ106を参照し、入力した認証合格パケットをこの認証合格パケットに予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に認証合格パケットを通過させて、他のIPSec処理部107−1に出力する。第2シーケンス番号チェック部105が有するシーケンス番号ウィンドウメモリ106は、図18で説明したシーケンス番号ウィンドウメモリ601と同様の機能、構成である。
(1) The first sequence
(2) The
(3) The second sequence
次に図2を用いて、第1シーケンス番号チェック部102とパケット認証部104とのやり取りを説明する。図2のやり取りは、図19のフローチャートで説明したのと同様の動作である。第1シーケンス番号チェック部102がパケット認証部104にパケットを転送するのは、チェックOKの場合である。「チェックOKの場合」とは、次の場合である。「第1シーケンス番号チェック部102が受信したIPSecパケットのシーケンス番号が最新である場合」と、「シーケンス番号が32番以内であって履歴の該当ビットが0である場合」とのうち、いずれかの場合である。
Next, the exchange between the first sequence
図2において、VPN装置101はVPN側ネットワーク108よりIPSecパケットを受信する。第1シーケンス番号チェック部102は、シーケンス番号ウィンドウメモリ103により受信したIPSecパケットのシーケンス番号チェックを行う。「チェックOKの場合」にIPSecパケットをパケット認証部104に出力する。「チェックNG」の場合は、そのIPSecパケットを廃棄する。次に、パケット認証部104は第1シーケンス番号チェック部102を通過したIPSecパケットに対してパケット認証を行い、認証に合格した場合は、そのIPSecパケットのシーケンス番号を第1シーケンス番号チェック部102に通知する。この通知を受けて第1シーケンス番号チェック部102は、シーケンス番号ウィンドウメモリ103を更新する。図2により具体的に説明する。
In FIG. 2, the
VPN装置101が、シーケンス番号が64、65、68、66、最初の70(四角で表しているパケット)、2つ目の70(三角で表しているパケット)、10のIPSsecパケットを受信する場合を想定する。これらのIPSsecパケットは、以下、パケット#64、パケット#65、パケット#68、パケット#66、「四角#70」、「三角#70」、パケット#10と表記する。
When the
(パケット#64について)
まずパケット#64を受信したとする。第1シーケンス番号チェック部102は、シーケンス番号ウィンドウメモリ103でシーケンス番号の「#64」をチェックする。現在、シーケンス番号ウィンドウメモリ103には記録はないとする。よって、第1シーケンス番号チェック部102は、パケット#64をパケット認証部104に転送する。パケット認証部104は、パケット#64を認証して合格と判定した場合、パケット#64の認証合格を第1シーケンス番号チェック部102に通知する(S101)。第1シーケンス番号チェック部102は、この通知を受けて、パケット#64のシーケンス番号「#64」を最新シーケンス番号として記録する(S102)。
(About packet # 64)
First, assume that
(パケット#65について)
第1シーケンス番号チェック部102は、パケット#65を受信しシーケンス番号ウィンドウメモリ103でシーケンス番号をチェックする。パケット#65は最新シーケンス番号のパケットなので、パケット認証部104に転送する。パケット認証部104は、パケット#65を認証して合格と判定した場合、パケット#65の認証合格を第1シーケンス番号チェック部102に通知する(S103)。この通知を受けて、第1シーケンス番号チェック部102は、シーケンス番号ウィンドウメモリ103の「最新シーケンス番号」を「#64」から「#65」に上書きする(S104)。そして、履歴ウィンドウの0ビット目(#64に該当するビット)を「1」にする(S105)。
(About packet # 65)
The first sequence
(パケット#68について)
第1シーケンス番号チェック部102は、パケット#68を受信しシーケンス番号ウィンドウメモリ103でチェックする。パケット#68は最新シーケンス番号なので、パケット認証部104に転送する。パケット認証部104は、パケット#68を認証して合格と判定した場合、パケット#68の認証合格を第1シーケンス番号チェック部102に通知する(S106)。この通知を受けて、第1シーケンス番号チェック部102は、シーケンス番号ウィンドウメモリ103の「最新シーケンス番号」を「#65」から「#68」に上書きする(S107)。そして、履歴ウィンドウを「68−65=3」だけシフトするとともに、「#65」に対応するビット2を「1」にする(S108)。
(About packet # 68)
The first sequence
(パケット#66について)
第1シーケンス番号チェック部102は、パケット#66を受信しシーケンス番号ウィンドウメモリ103でチェックする。パケット#66は最新シーケンス番号ではないのが、「32番以内」かつ「履歴ウィンドウの該当ビット0」であるので、パケット認証部104に転送する。パケット認証部104は、パケット#66を認証して合格と判定した場合、パケット#66の認証合格を第1シーケンス番号チェック部に通知する(S109)。この通知を受けて、第1シーケンス番号チェック部102は、履歴ウィンドウにおいて「#66」に対応するビット1を「0」から「1」にする(S110)。
(About packet # 66)
The first sequence
(「四角#70」について)
第1シーケンス番号チェック部102は、「四角#70」を受信しシーケンス番号ウィンドウメモリ103でチェックする。「四角#70」は最新シーケンス番号なので、パケット認証部104に転送する。パケット認証部104は、「四角#70」を認証して合格と判定した場合、「四角#70」の認証合格を第1シーケンス番号チェック部102に通知する(S111)。この通知を受けて、第1シーケンス番号チェック部102は、シーケンス番号ウィンドウメモリ103の「最新シーケンス番号」を「#68」から「#70」に上書きする(S112))。そして、履歴ウィンドウを「70−68=2」だけシフトする。そして「#68」に対応するビット1を「0」から「1」にする(S113)。
(About “
The first sequence
(「三角#70」について)
第1シーケンス番号チェック部102は、「三角#70」を受信しシーケンス番号ウィンドウメモリ103でチェックする。図3は、第1シーケンス番号チェック部102と、パケット認証部104と、第2シーケンス番号チェック部105との、パケットのパイプライン処理の様子を示す図である。図3に示すように、第1シーケンス番号チェック部102が、「三角#70」のチェック処理を実行している「処理実行時間t6」では、同時に、パケット認証部104が「四角#70」の認証処理を実行している。よって、第1シーケンス番号チェック部102が、「三角#70」のチェック処理を実行している「処理実行時間t6」には、「四角#70」のシーケンス番号の情報が、第1シーケンス番号チェック部102のシーケンス番号ウィンドウメモリ103に反映されない。よって、シーケンス番号が「#70」である「三角#70」は、第1シーケンス番号チェック部102を通過する。この通過した「三角#70」は、図4で後述するように、第2シーケンス番号チェック部105が廃棄する。
(About “
The first sequence
(パケット#10について)
第1シーケンス番号チェック部102は、パケット#10を受信しシーケンス番号ウィンドウメモリ103でチェックする。パケット#10は、最新シーケンス番号#70から32番以内ではないので、第1シーケンス番号チェック部102は、パケット#10を廃棄する。
(About packet # 10)
The first sequence
以上が、第1シーケンス番号チェック部102とパケット認証部104とのやり取りの動作である。
The above is the exchange operation between the first sequence
次に、図4を用いて第2シーケンス番号チェック部105の動作を説明する。
Next, the operation of the second sequence
S201において、第2シーケンス番号チェック部105は、パケット認証部104からの認証合格パケットの受信待ち状態となる。第2シーケンス番号チェック部105が、認証合格パケットを受信したとする。
In step S <b> 201, the second sequence
S202において、第2シーケンス番号チェック部105は、パケット認証部104からの認証合格パケットを受信した場合、シーケンス番号ウィンドウメモリ106を参照して、受信した認証合格パケットのシーケンス番号が最新かどうかを判定する。最新と判定した場合(S202がYes)は、S203の処理に進む。最新ではないと判定した場合(S202がNo)は、S205の処理に進む。
In S202, when the second sequence
まず、最新と判定した場合(S202がYes)について説明する。図4のS202、S203、S204、S208の過程である。 First, a case where it is determined to be the latest (Yes in S202) will be described. This is the process of S202, S203, S204, and S208 in FIG.
S203において、第2シーケンス番号チェック部105は、シーケンス番号ウィンドウメモリ106の最新シーケンス番号を上書きする(S203)。例えば図3において、第2シーケンス番号チェック部105が「四角#70」を受信する直前の状態(処理時間t6からt7に移る状態)では、シーケンス番号ウィンドウメモリ106の最新のシーケンス番号は「#68」となっている。そして、第2シーケンス番号チェック部105が「四角#70」を受信した場合は、第2シーケンス番号チェック部105は、シーケンス番号ウィンドウメモリ106の最新シーケンス番号を「#68」から「#70」に上書きする。「#68」の情報は、図2のS113で説明した場合と同様に、履歴ウィンドウに記録される。
In S203, the second sequence
S204において、「#68」の情報は、図2のS113で説明した場合と同様に、第2シーケンス番号チェック部105が履歴ウィンドウをシフトし、該当するするビットに「1」を立てることにより、履歴ウィンドウに記録される。
In S204, as in the case described in S113 of FIG. 2, the second sequence
S208において、第2シーケンス番号チェック部105は、S201で受信した、シーケンス番号が最新であるパケット(第2シーケンス番号チェック部105が同一のSAにおいていまだに入力していないシーケンス番号のパケット)を他のIPSec処理部107−1に転送(出力)する。
In S208, the second sequence
次に、第2シーケンス番号チェック部105が、自己の受信したIPSecパケットのシーケンス番号が最新ではないと判定した場合(S202がNo)について説明する。
Next, a case where the second sequence
S205において、第2シーケンス番号チェック部105は、受信したIPSecパケットのシーケンス番号が「最新から32番以内かどうか」を判定する。
In S205, the second sequence
「最新から32番以内である」と判定した場合(S205がYes)を説明する。この場合には、第2シーケンス番号チェック部105は、シーケンス番号ウィンドウメモリ106の履歴ウィンドウの該当ビットが「0」かどうかをチェックする。該当ビットが「0」の場合(S206がYes)、第2シーケンス番号チェック部105は、該当ビットに「1」を立てる(S207)。一方、該当ビットが「0」でない場合(S206がNo)には、第2シーケンス番号チェック部105は、S201で受信した認証合格パケットを廃棄する(S209)。例えば、図3の「処理時間t8」の場合を考える。この場合は、第2シーケンス番号チェック部105が「三角#70」を受信した状態である。この場合、第2シーケンス番号チェック部105は、「三角#70」を、「最新から32番以内」と判断し、S205の処理に進む。S206では、該当ビット「0」は存在しないため、第2シーケンス番号チェック部105は、「三角#70」を廃棄する。これにより、「四角#70」と「三角#70」とを連続して受信した場合でも、後の「三角#70」を廃棄することが可能となる。
A case where it is determined that “the number is within 32 from the latest” (S205: Yes) will be described. In this case, the second sequence
一方、「最新から32番以内ではない」と判定した場合(S205がNo)、第2シーケンス番号チェック部105は、S201で受信した認証合格パケットを廃棄する(S209)。
On the other hand, when it is determined that “the number is not within 32 from the latest” (No in S205), the second sequence
本実施の形態1のVPN装置101は、パケット認証後に第2シーケンス番号チェック部105がシーケンス番号チェックを行うので、同一のシーケンス番号のIPパケットが通過することを防止できる。また、パケット認証前に第1シーケンス番号チェック部102がシーケンス番号チェックを行うので、リプレイ攻撃用パケットを廃棄することができ、パケット認証部104の処理負荷増大を狙ったVPN装置101に対するDos攻撃を防止できる。
In the
実施の形態2.
図5を参照して実施の形態2を説明する。実施の形態1のVPN装置101は、第1シーケンス番号チェック部102、第2シーケンス番号チェック部105という、2つのチェック部を設けた。実施の形態2は、図1のパケット認証部104のスループットが、VPN側ネットワーク108のスループットと同等以上である場合に適用可能なVPN装置201(パケット通過判定装置)に関する。実施の形態2におけるVPN装置201は、パケット認証部のスループットがVPN側ネットワーク108のスループットと同等以上であることを前提として、実施の形態1のVPN装置101に対して、第1シーケンス番号チェック部102に対応するチェック部を削除した構成となっている。
The second embodiment will be described with reference to FIG. The
図5において、VPN装置201は、パケット認証部202と、シーケンス番号ウィンドウメモリ204を有するシーケンス番号チェック部203(認証合格パケット判定部)と、他のIPSec処理部205−1〜他のIPSec処理部205−Nとを備える。VPN装置201は、VPN側ネットワーク206からIPSecパケットを入力し、平文側ネットワーク207に処理したパケットを出力する。
In FIG. 5, the VPN apparatus 201 includes a
VPN装置201において、パケット認証部202とシーケンス番号チェック部203とのやり取りの動作は、実施の形態1のVPN装置101におけるパケット認証部104と第2シーケンス番号チェック部105とのやり取りの動作と同様である。
In the VPN device 201, the exchange operation between the
実施の形態3.
図6を参照して、実施の形態3におけるVPN装置301(パケット通過判定装置)を説明する。VPN装置301は、実施の形態2のパケット認証部202を複数のサブ認証部で並列化した構成である。
「それぞれのサブ認証部のスループット」<「VPN側ネットワーク306のスループット」
であるが、
並列化により
「パケット認証部302のスループット」≧「VPN側ネットワーク306のスループット」
とした実施形態である。
With reference to FIG. 6, the VPN apparatus 301 (packet passage determination apparatus) in
“Throughput of each sub-authentication unit” <“Throughput of VPN side network 306”
In Although,
By parallelization, “throughput of the
It is an embodiment.
実施の形態2にけるVPN装置201では、パケット認証部202のスループットがVPN側ネットワーク206のスループット以上であることを前提とする実施形態であった。実施の形態3では、個々のサブ認証部一つあたりのスループットがVPN側ネットワーク306のスループット未満であっても、これを並列化し、合計でVPN側ネットワーク306のスループット以上の性能となるようにした実施形態である。
The VPN apparatus 201 according to the second embodiment is an embodiment on the premise that the throughput of the
図6は、パケット認証部を並列化したVPN装置301の構成図である。 FIG. 6 is a configuration diagram of a VPN apparatus 301 in which packet authentication units are parallelized.
図6に示すように、VPN装置301は、サブ認証部302−1〜サブ認証部302−Nから構成されるパケット認証部302と、シーケンス番号ウィンドウメモリ304を有するシーケンス番号チェック部303(認証合格パケット判定部)と、他のIPSec処理部305−1〜他のIPSec処理部305−Nとを備えている。これら構成要素の機能は、実施の形態2におけるVPN装置201の対応する構成要素の機能と同様である。
As shown in FIG. 6, the VPN apparatus 301 includes a
図6では、パケット認証部302において、個々のサブ認証部一つあたりのスループットがVPN側ネットワーク306のスループット未満であっても、これを並列化し、合計でVPN側ネットワーク206のスループット以上の性能となるようした。よって、VPN装置に対するDos攻撃に対抗することができる。
In FIG. 6, in the
実施の形態4.
図7〜図11を参照して、実施の形態4を説明する。実施の形態4は、パケット認証部の後段のシーケンス番号チェック部が、IPSecパケットのデカプセル処理が完了されたパケットを対象としてそのパケットのシーケンス番号をチェックするVPN装置(パケット通過判定装置)に関する。
Embodiment 4 FIG.
The fourth embodiment will be described with reference to FIGS. The fourth embodiment relates to a VPN device (packet passage determination device) in which a sequence number check unit following the packet authentication unit checks the sequence number of a packet for which the decapsulation processing of the IPSec packet has been completed.
一般的にIPSec機能を実現する場合には、IPSecパケットのデカプセル処理で行う認証処理や復号処理に必要な鍵配送の面から、IPSecパケットの認証処理と復号処理(他のIPSec処理部の行う処理)とは連続で処理する方式が取られる。この場合、パケット認証後にシーケンス番号チェックを行う方式では、パケット認証後であれば、シーケンス番号チェックを行うのは平文側ネットワークに送信する前であればどのタイミングでも構わない。よって、本実施の形態4は、認証及びデカプセル処理が完了してからシーケンス番号チェックを行う実施例1〜実施例3の3つの方式を説明する。 In general, when realizing the IPSec function, the IPSec packet authentication process and the decryption process (processes performed by other IPSec processing units) from the aspect of the key distribution necessary for the authentication process and the decryption process performed by the decapsulation process of the IPSec packet. ) Is a continuous processing method. In this case, in the method of performing sequence number check after packet authentication, as long as packet authentication is performed, the sequence number check may be performed at any timing before transmission to the plaintext network. Therefore, this Embodiment 4 demonstrates three systems of Example 1-Example 3 which performs a sequence number check after authentication and a decapsulation process are completed.
(実施例1)
図7を用いて実施の形態4における実施例1として、VPN装置401を説明する。VPN装置401は、図1に示した実施の形態1のVPN装置101の構成に対して、第2シーケンス番号チェック部406が、他のIPSec処理部405−1〜他のIPSec処理部405−1により構成される対応パケット生成部405の後段に配置されている。
Example 1
A VPN apparatus 401 will be described as Example 1 in Embodiment 4 with reference to FIG. In the VPN apparatus 401, the second sequence
VPN装置401は、シーケンス番号ウィンドウメモリ403を有する第1シーケンス番号チェック部402(入力パケット判定部)と、パケット認証部404と、他のIPSec処理部405−1〜他のIPSec処理部405−Nによって構成される対応パケット生成部405と、シーケンス番号ウィンドウメモリ407を有する第2シーケンス番号チェック部406(対応パケット判定部)とを備える。
The VPN apparatus 401 includes a first sequence number check unit 402 (input packet determination unit) having a sequence
第1シーケンス番号チェック部402は、シーケンス番号が予め定められているとともに認証対象となるIPSecパケット(入力パケット)を入力する。そして、自己の有するシーケンス番号ウィンドウメモリ403を参照し、入力したIPSecパケットの予め定められているシーケンス番号に基づきそのIPSecパケットを通過させるかどうか判定し、通過させると判定した場合に通過させる。ここで、第1シーケンス番号チェック部402が入力するIPSecパケットは、IPセキュリティプロトコルにしたがってカプセル化されている。
The first sequence
パケット認証部404は、第1シーケンス番号チェック部402が通過させたIPSecパケットを入力して認証し、認証の結果、IPSecパケットを合格と認証した場合に、合格と認証したIPSecパケットを認証合格パケットとして通過させる。
The
対応パケット生成部405は、パケット認証部404が通過させた認証合格パケットを入力し、入力した認証合格パケットを元にして、予め定められているシーケンス番号を引き継ぐとともに認証合格パケットに対応する対応パケットを生成して第2シーケンス番号チェック部406に出力する。
Corresponding
第2シーケンス番号チェック部406(対応パケット判定部)は、対応パケット生成部405が出力した対応パケットを入力する。第2シーケンス番号チェック部406が入力する対応パケットは、IPセキュリティプロトコルにしたがってデカプセル化されている。第2シーケンス番号チェック部406は、自己の有するシーケンス番号ウィンドウメモリ407を参照し、入力した対応パケットをこの対応パケットが引き継いだ予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に対応パケットを通過させ、これを平文側ネットワーク409に出力する。この場合において、第2シーケンス番号チェック部406及びシーケンス番号ウィンドウメモリ407の機能、動作は、実施の形態1における第2シーケンス番号チェック部105及びシーケンス番号ウィンドウメモリ106と同様である。
Second sequence number check section 406 (corresponding packet determination section) inputs the corresponding packet output from corresponding
ただし、図7の構成では、通常、IPSecパケットのデカプセル後にシーケンス番号チェックを行うにあたり、デカプセル後のIPパケットはIPSecシーケンス番号を持っていない。図8は、IPSecパケットの形式を示す図である。図9は、IPSecパケットをデカプセルしてIPパケットにしたパケットである装置内パケットの形式を示している。他のIPSec処理部405−1を通過すると、図8に示すIPSecパケットは、図9の「装置内パケット形式」となる。IPSecパケット(デカプセル前)は、IPSecヘッダの中にシーケンス番号を含んでいる。これをデカプセルしてIPパケットにした場合、通常、シーケンス番号も削除される。このため、VPN装置401内では、図9に示すように、IPSecパケットの有するシーケンス番号をIPパケットヘッダの前に付与してVPN装置401内を流す。よって、デカプセル後でも、IPパケットごとにシーケンス番号を引き継ぐことが可能となる。これにより、第2シーケンス番号チェック部406は、シーケンス番号をチェックすることができる。
However, in the configuration of FIG. 7, normally, when performing a sequence number check after decapsulating an IPSec packet, the IP packet after decapsulation does not have an IPSec sequence number. FIG. 8 is a diagram showing the format of the IPSec packet. FIG. 9 shows a format of an in-device packet that is a packet obtained by decapsulating an IPSec packet into an IP packet. When passing through another IPSec processing unit 405-1, the IPSec packet shown in FIG. 8 becomes the “intra-device packet format” of FIG. The IPSec packet (before decapsulation) includes a sequence number in the IPSec header. When this is decapsulated into an IP packet, the sequence number is usually deleted. For this reason, in the VPN apparatus 401, as shown in FIG. 9, the sequence number of the IPSec packet is given before the IP packet header and flows in the VPN apparatus 401. Therefore, it is possible to take over the sequence number for each IP packet even after decapsulation. Accordingly, the second sequence
このように、図7においては、デカプセル後のIPパケットにシーケンス番号(さらには図示していないSA番号をも付加)を付加し、このIPパケット(対応パケット)を第2シーケンス番号チェック部406まで転送する方式である。この方式とは別に、IPパケットを付加せずとも、別パスでパケット認証部404から、認証に合格した認証合格パケットのシーケンス番号を第2シーケンス番号チェック部406までFIFOメモリ等を用いて転送する方式でも構わない。
As described above, in FIG. 7, a sequence number (and an SA number not shown) is added to the decapsulated IP packet, and this IP packet (corresponding packet) is sent to the second sequence
(実施例2)
図10は、実施の形態4における実施例2として、VPN装置420(パケット通過判定装置)の構成を示す図である。実施の形態4の冒頭で述べたように、パケット認証後にシーケンス番号チェックを行う方式では、パケット認証後であれば、シーケンス番号チェックを行うのは平文側ネットワークに送信する前であればどのタイミングでも構わない。実施例2のVPN装置420は、実施例1のVPN装置401に対して、第2シーケンス番号チェック部406を他のIPSec処理部の中間に配置した構成である。図10では、他のIPSec処理部405−1と他のIPSec処理部405−2とが対応パケット生成部405を構成している。
(Example 2)
FIG. 10 is a diagram illustrating a configuration of a VPN device 420 (packet passage determination device) as Example 2 in the fourth embodiment. As described at the beginning of the fourth embodiment, in the method of performing sequence number check after packet authentication, the sequence number check is performed at any timing before transmission to the plaintext side network after packet authentication. I do not care. The VPN apparatus 420 according to the second embodiment has a configuration in which the second sequence
(実施例3)
図11は、実施の形態4における実施例3として、VPN装置501の構成を示す図である。実施例3のVPN装置501は、図5に示す実施の形態2のVPN装置201に対して、シーケンス番号チェック部203を他のIPSec処理部205−1〜他のIPSec処理部205−Nにより構成される対応パケット生成部205の後段に配置した構成である。なお、実施例3のVPN装置501についても、実施例2と同様に、シーケンス番号チェック部203を他のIPSec処理部の中間に配置した構成としても構わない。
(Example 3)
FIG. 11 is a diagram illustrating a configuration of a VPN apparatus 501 as Example 3 in the fourth embodiment. In the VPN apparatus 501 of the third embodiment, the sequence
以上のように本実施の形態1〜実施の形態4によれば、パケット認証部の後段にシーケンス番号チェック部を設けたので、IPSec機能を実現するパイプライン構成において性能劣化を起こすことなくシーケンス番号チェック機能を実現し、リプレイ攻撃を完全に遮断することが可能である。またパケット認証部のスループットがVPN側ネットワークのスループットより劣る場合は、パケット認証部の前にシーケンス番号チェック部を設けることでVPN装置に対するDos攻撃を防止できる。 As described above, according to the first to fourth embodiments, since the sequence number check unit is provided after the packet authentication unit, the sequence number is not deteriorated in the pipeline configuration realizing the IPSec function. A check function can be implemented to completely block replay attacks. When the throughput of the packet authentication unit is inferior to the throughput of the VPN side network, a Dos attack against the VPN apparatus can be prevented by providing a sequence number check unit in front of the packet authentication unit.
実施の形態5.
図12〜図17を用いて実施の形態5を説明する。実施の形態5は、実施の形態1〜実施の形態4で説明したVPN装置の動作を、プログラム及びプログラムを記録した記録媒体により実施する実施形態である。
Embodiment 5. FIG.
The fifth embodiment will be described with reference to FIGS. The fifth embodiment is an embodiment in which the operation of the VPN apparatus described in the first to fourth embodiments is performed using a program and a recording medium on which the program is recorded.
実施の形態1〜実施の形態4においては、VPN装置における「〜部」として示した各構成要素の一連の動作は互いに関連しており、これら一連の動作は、コンピュータに実施させるプログラムによる処理に置き換えることができる。各構成要素の動作をプログラムによる処理に置き換えることにより、パケット通過判定プログラムの実施形態とすることができる。また、このパケット通過判定プログラムを、コンピュータ読み取り可能な記録媒体に記録させることで、パケット通過判定プログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。 In the first to fourth embodiments, a series of operations of each component shown as “to part” in the VPN apparatus are related to each other, and these series of operations are performed by a program executed by a computer. Can be replaced. By replacing the operation of each component with processing by a program, an embodiment of a packet passage determination program can be obtained. Further, by recording this packet passage determination program on a computer-readable recording medium, an embodiment of a computer-readable recording medium on which the packet passage determination program is recorded can be obtained.
図12は、図1に示した実施の形態1のVPN装置101の第1シーケンス番号チェック部102(入力パケット判定部)の動作、パケット認証部104の動作、第2シーケンス番号チェック部105(認証合格パケット判定部)の動作という一連の動作をコンピュータに実施させる一連の処理に置き換えてパケット通過判定プログラムの実施形態としたフローチャートを示す。
12 shows the operation of the first sequence number check unit 102 (input packet determination unit), the operation of the
S301は、IPセキュリティプロトコルに基づくシーケンス番号が予め定められているとともに認証対象となるパケットを入力パケットとして入力し、入力した入力パケットの予め定められているシーケンス番号に基づき入力パケットを通過させるかどうか判定し、通過させると判定した場合に入力パケットを通過させる処理である。 S301, whether a sequence number based on the IP security protocol is predetermined and a packet to be authenticated is input as an input packet, and whether the input packet is allowed to pass based on a predetermined sequence number of the input packet This is a process of allowing an input packet to pass if it is determined to pass.
S302は、通過した入力パケットを入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させる処理である。 S302 is a process of inputting and authenticating the input packet that has passed, and allowing the input packet that has been authenticated to pass as an authentication-passed packet when the input packet is authenticated as a result of authentication.
S303は、通過した認証合格パケットを入力し、入力した認証合格パケットを前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に認証合格パケットを通過させる処理である。 S303 is a process of inputting the passed authentication pass packet, determining whether to pass the input authentication pass packet based on the predetermined sequence number, and passing the authentication pass packet when it is determined to pass. is there.
図13は、図7に示した実施の形態4のVPN装置401の第1シーケンス番号チェック部402(入力パケット判定部)の動作、パケット認証部404の動作、対応パケット生成部405の動作、第2シーケンス番号チェック部406(対応パケット判定部)の動作という一連の動作をコンピュータに実施させる一連の処理に置き換えてパケット通過判定プログラムの実施形態としたフローチャートを示す。
FIG. 13 shows the operation of the first sequence number check unit 402 (input packet determination unit), the operation of the
S401は、IPセキュリティプロトコルに基づくシーケンス番号が予め定められているとともに認証対象となるパケットを入力パケットとして入力し、入力した入力パケットの予め定められているシーケンス番号に基づき入力パケットを通過させるかどうか判定し、通過させると判定した場合に入力パケットを通過させる処理である。 In S401, a sequence number based on the IP security protocol is determined in advance, and a packet to be authenticated is input as an input packet, and whether or not the input packet is allowed to pass based on a predetermined sequence number of the input packet that has been input This is a process of allowing an input packet to pass if it is determined to pass.
S402は、通過した入力パケットを入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させる処理である。 S402 is processing for inputting and authenticating the input packet that has passed, and allowing the input packet that has been authenticated to pass as an authentication-passed packet when the input packet has been authenticated as a result of authentication.
S403は、通過した認証合格パケットを入力し、入力した認証合格パケットを元にして、前記予め定められているシーケンス番号を引き継ぐとともに認証合格パケットに対応する対応パケットを生成して出力する処理である。 S403 is a process of inputting a passed authentication pass packet, taking over the predetermined sequence number based on the input authentication pass packet, and generating and outputting a corresponding packet corresponding to the authentication pass packet. .
S404は、出力された対応パケットを入力し、入力した対応パケットをこの対応パケットが引き継いだ前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に対応パケットを通過させる処理である。 S404 inputs the output corresponding packet, determines whether to pass the input corresponding packet based on the predetermined sequence number taken over by the corresponding packet, and if it is determined to pass, It is processing to pass.
図14は、図5に示した実施の形態2のVPN装置201のパケット認証部202の動作、シーケンス番号チェック部203(認証合格パケット判定部)の動作という一連の動作をコンピュータに実施させる一連の処理に置き換えてパケット通過判定プログラムの実施形態としたフローチャートを示す。
FIG. 14 shows a series of operations for causing the computer to perform a series of operations including the operation of the
S501は、IPセキュリティプロトコルに基づくシーケンス番号が予め定められているとともに認証対象となるパケットを入力パケットとして所定のスループットのネットワークを介して入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させる処理であって、スループットが前記ネットワークのスループット以上である処理である。 In step S501, a sequence number based on the IP security protocol is determined in advance, and a packet to be authenticated is input as an input packet through a network having a predetermined throughput, and the input packet is authenticated as a result of authentication. In such a case, the input packet authenticated as passing is passed as an authentication passing packet, and the throughput is equal to or higher than the throughput of the network.
S502は、通過した認証合格パケットを入力し、入力した認証合格パケットを予め定められているシーケンス番号に基づき通過させるかどうかを判定し、通過させると判定した場合に認証合格パケットを通過させる処理である。 S502 is a process of inputting the passed authentication pass packet, determining whether to pass the input authentication pass packet based on a predetermined sequence number, and passing the authentication pass packet when it is determined to pass. is there.
図15は、図11に示した実施の形態4のVPN装置501の対応パケット生成部205の動作、パケット認証部202の動作、シーケンス番号チェック部203(対応パケット判定部)の動作という一連の動作をコンピュータに実施させる一連の処理に置き換えてパケット通過判定プログラムの実施形態としたフローチャートを示す。
FIG. 15 shows a series of operations including the operation of the corresponding
S601は、IPセキュリティプロトコルに基づくシーケンス番号が予め定められているとともに認証対象となるパケットを入力パケットとして所定のスループットのネットワークを介して入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させる処理であって、スループットが前記ネットワークのスループット以上である処理である。 In step S601, a sequence number based on the IP security protocol is determined in advance, and a packet to be authenticated is input as an input packet through a network having a predetermined throughput and authenticated. As a result of authentication, the input packet is authenticated as passed. In such a case, the input packet authenticated as passing is passed as an authentication passing packet, and the throughput is equal to or higher than the throughput of the network.
S602は、通過した認証合格パケットを入力し、入力した認証合格パケットを元にして、前記予め定められているシーケンス番号を引き継ぐとともに認証合格パケットに対応する対応パケットを生成して出力する処理である。 S602 is a process of inputting a passed authentication pass packet, taking over the predetermined sequence number based on the input authentication pass packet, and generating and outputting a corresponding packet corresponding to the authentication pass packet. .
S603は、出力された対応パケットを入力し、入力した対応パケットをこの対応パケットが引き継いだ前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に対応パケットを通過させる処理である。 S603 inputs the output corresponding packet, determines whether to pass the input corresponding packet based on the predetermined sequence number taken over by the corresponding packet, and if it is determined to pass, It is processing to pass.
プログラムの実施の形態及びプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。 The embodiment of the program and the embodiment of the computer-readable recording medium on which the program is recorded can be configured by a program operable by a computer.
図16は、図12〜図15のフローチャートに示したプログラムを実行するコンピュータシステム800の外観を示す。図16において、コンピュータシステム800は、システムユニット830、液晶ディスプレイ813、キーボード(K/B)814、マウス815、コンパクトディスク装置(CDD)818、プリンタ819を備え、これらはケーブルで接続されている。また、コンピュータシステム800は、インターネット910を介して、他のVPN装置900bと接続している。
FIG. 16 shows the external appearance of a
図17は、図16のコンピュータシステム800のハードウェア構成図である。図17において、コンピュータシステム800は、プログラムを実行するCPU(Central Processing Unit)810を備えている。CPU810は、バス825を介してROM811、RAM812、液晶ディスプレイ813、K/B814、マウス815、通信ボード816、FDD(Flexible Disk Drive)817、CDD818、プリンタ819、及び磁気ディスク装置820と接続されている。
FIG. 17 is a hardware configuration diagram of the
磁気ディスク装置820には、オペレーティングシステム(OS)821、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823は、CPU810、OS821、ウィンドウシステム822により実行される。
The
上記プログラム群823には、実施の形態1〜実施の形態4の説明において「〜部」として説明した機能を実行するパケット通過判定プログラム等が記憶されている。プログラムは、CPU810により読み出され実行される。
The
また、ファイル群824には1以上の「シーケンス番号ウィンドウ」が格納される。
The
実施の形態1〜実施の形態4において「〜部」として説明したものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
What has been described as “˜unit” in the first to fourth embodiments may be realized by firmware stored in the
プログラムの実施の形態及びプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態における各処理は、プログラムで実行されるが、このプログラムは、前述のようにプログラム群823に記録されている。そして、プログラム群823からCPU810に読み込まれ、CPU810によって、プログラムの各処理が実行される。
Each processing in the embodiment of the program and the embodiment of the computer-readable recording medium on which the program is recorded is executed by the program, and this program is recorded in the
また、ソフトウェア、あるいはプログラムは、ROM811に記憶されたファームウェアで実行されても構わない。あるいは、ソフトウェアとファームウェアとハードウェアの組み合わせでプログラムを実行しても構わない。
The software or program may be executed by firmware stored in the
実施の形態5のパケット通過判定プログラムは、パケットの認証処理の後に、認証合格パケットのシーケンス番号をチェックする処理をコンピュータに実行させるので、パイプライン構成において、同じシーケンス番号のパケットを平文側ネットワークに通過させることなく、廃棄することができる。 The packet passage determination program according to the fifth embodiment causes the computer to execute a process of checking the sequence number of the authentication pass packet after the packet authentication process. Therefore, in the pipeline configuration, the packet with the same sequence number is sent to the plaintext side network. It can be discarded without passing.
以上の実施の形態では、パイプライン構成でIPSec機能を実現するVPN装置において、認証処理の前と後でシーケンス番号チェックを行ってリプレイ攻撃を完全に遮断することを特徴とするシーケンス番号チェック方式を説明した。 In the above embodiment, in the VPN apparatus that implements the IPSec function in the pipeline configuration, the sequence number check method is characterized in that the replay attack is completely blocked by performing the sequence number check before and after the authentication process. explained.
以上の実施の形態では、パイプライン構成でIPSec機能を実現するVPN装置において、認証処理の後でのみシーケンス番号チェックを行ってリプレイ攻撃を完全に遮断することを特徴とするシーケンス番号チェック方式を説明した。 In the above embodiment, a sequence number check method is described in which a VPN apparatus that implements the IPSec function in a pipeline configuration performs a sequence number check only after authentication processing to completely block a replay attack. did.
以上の実施の形態では、パイプライン構成でIPSec機能を実現するVPN装置において、認証処理負荷の増大を狙ったリプレイ攻撃対して、認証処理部を並列化して、認証処理部の後でのみシーケンス番号チェックを行ってリプレイ攻撃を完全に遮断することを特徴とするシーケンス番号チェック方式を説明した。 In the above embodiment, in the VPN apparatus that realizes the IPSec function in the pipeline configuration, the authentication processing unit is parallelized against the replay attack aiming at the increase of the authentication processing load, and the sequence number only after the authentication processing unit. A sequence number check method characterized by performing a check to completely block replay attacks was explained.
以上の実施の形態では、パイプライン構成でIPSec機能を実現するVPN装置において、IPSecデカプセル処理の前と後でシーケンス番号チェックを行ってリプレイ攻撃を完全に遮断することを特徴とするシーケンス番号チェック方式を説明した。 In the above embodiment, in the VPN apparatus that realizes the IPSec function with the pipeline configuration, the sequence number check is performed before and after the IPSec decapsulation process to completely block the replay attack. Explained.
101 VPN装置、102 第1シーケンス番号チェック部、103 シーケンス番号ウィンドウメモリ、104 パケット認証部、105 第2シーケンス番号チェック部、106 シーケンス番号ウィンドウメモリ、107−1,107−N 他のIPSec処理部、108 VPN側ネットワーク、109 平文側ネットワーク、201 VPN装置、202 パケット認証部、203 シーケンス番号チェック部、204 シーケンス番号ウィンドウメモリ、205−1,205−N 他のIPSec処理部、206 VPN側ネットワーク、207 平文側ネットワーク、301 VPN装置、302 パケット認証部、302−1,302−2,302−N サブ認証部、303 シーケンス番号チェック部、304 シーケンス番号ウィンドウメモリ、305−1,305−N 他のIPSec処理部、306 VPN側ネットワーク、307 平文側ネットワーク、401 VPN装置、402 第1シーケンス番号チェック部、403 シーケンス番号ウィンドウメモリ、404 パケット認証部、405 対応パケット生成部、405−1,405−N 他のIPSec処理部、406 第2シーケンス番号チェック部、407 シーケンス番号ウィンドウメモリ、408 VPN側ネットワーク、409 平文側ネットワーク、420 VPN装置、410 他のIPSec処理部、501 VPN装置、503 対応パケット生成部、601 シーケンス番号ウィンドウメモリ、602 メモリアドレス、603 最新シーケンス番号、604 履歴ウィンドウ、701 VPN装置、702 シーケンス番号チェック部、703 シーケンス番号ウィンドウメモリ、704 パケット認証部、705−1,705−N 他のIPSec処理部、706 VPN側ネットワーク、707 平文側ネットワーク、800 コンピュータシステム、810 CPU、811 ROM、812 RAM、813 DSP、814 K/B、815 マウス、816 通信ボード、817 FDD、818 CDD、819 プリンタ、820 磁気ディスク装置、821 OS、822 ウィンドウシステム、823 プログラム群、824 ファイル群、825 バス、830 システムユニット。 101 VPN device, 102 first sequence number check unit, 103 sequence number window memory, 104 packet authentication unit, 105 second sequence number check unit, 106 sequence number window memory, 107-1, 107-N other IPSec processing unit, 108 VPN side network, 109 plaintext side network, 201 VPN apparatus, 202 packet authentication unit, 203 sequence number check unit, 204 sequence number window memory, 205-1, 205-N Other IPSec processing unit, 206 VPN side network, 207 Plaintext side network, 301 VPN device, 302 packet authentication unit, 302-1, 302-2, 302-N sub-authentication unit, 303 sequence number check unit, 304 sequence number win Memory, 305-1, 305-N Other IPSec processing unit, 306 VPN side network, 307 plaintext side network, 401 VPN device, 402 first sequence number check unit, 403 sequence number window memory, 404 packet authentication unit, 405 Packet generation unit, 405-1, 405-N Other IPSec processing unit, 406 Second sequence number check unit, 407 Sequence number window memory, 408 VPN side network, 409 Plain text side network, 420 VPN device, 410 Other IPSec processing Unit, 501 VPN device, 503 packet generation unit, 601 sequence number window memory, 602 memory address, 603 latest sequence number, 604 history window, 701 VPN device, 702 Sequence number check unit, 703 Sequence number window memory, 704 Packet authentication unit, 705-1, 705-N Other IPSec processing unit, 706 VPN side network, 707 Plain text side network, 800 computer system, 810 CPU, 811 ROM, 812 RAM, 813 DSP, 814 K / B, 815 mouse, 816 communication board, 817 FDD, 818 CDD, 819 printer, 820 magnetic disk device, 821 OS, 822 window system, 823 program group, 824 file group, 825 bus, 830 system unit.
Claims (11)
前記入力パケット判定部が通過させた入力パケットを入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させるパケット認証部と、
前記パケット認証部が通過させた認証合格パケットを入力し、入力した認証合格パケットを前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に認証合格パケットを通過させる認証合格パケット判定部と
を備えたことを特徴とするパケット通過判定装置。 Whether a sequence number based on an IP (Internet Protocol) security protocol is predetermined and a packet to be authenticated is input as an input packet, and the input packet is passed based on a predetermined sequence number of the input packet An input packet determination unit that allows an input packet to pass when it is determined that
A packet authentication unit that inputs and authenticates an input packet passed by the input packet determination unit, and passes the authenticated input packet as an authentication pass packet when the input packet is authenticated as a result of authentication, and
Enter the authentication pass packet passed by the packet authentication unit, determine whether to pass the input authentication pass packet based on the predetermined sequence number, and pass the authentication pass packet if it is determined to pass A packet passage determination device comprising: an authentication pass packet determination unit for performing
IPセキュリティプロトコルにしたがってカプセル化されており、
前記認証合格パケット判定部が入力する認証合格パケットは、
IPセキュリティプロトコルにしたがってデカプセル化されていることを特徴とする請求項1記載のパケット通過判定装置。 The input packet input by the input packet determination unit is:
Encapsulated according to IP security protocol,
The authentication pass packet input by the authentication pass packet determination unit is:
2. The packet passage determination apparatus according to claim 1, wherein the packet passage determination apparatus is decapsulated according to an IP security protocol.
前記入力パケット判定部が通過させた入力パケットを入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させるパケット認証部と、
パケット認証部が通過させた認証合格パケットを入力し、入力した認証合格パケットを元にして、前記予め定められているシーケンス番号を引き継ぐとともに認証合格パケットに対応する対応パケットを生成して出力する対応パケット生成部と、
前記対応パケット生成部が出力した対応パケットを入力し、入力した対応パケットをこの対応パケットが引き継いだ前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に対応パケットを通過させる対応パケット判定部と
を備えたことを特徴とするパケット通過判定装置。 A sequence number based on the IP security protocol is predetermined and a packet to be authenticated is input as an input packet, and it is determined whether or not the input packet is allowed to pass based on a predetermined sequence number of the input packet that has been input, An input packet determination unit that allows an input packet to pass when it is determined to pass;
A packet authentication unit that inputs and authenticates an input packet passed by the input packet determination unit, and passes the authenticated input packet as an authentication pass packet when the input packet is authenticated as a result of authentication, and
Corresponding to input the authentication pass packet passed by the packet authentication unit, generate the corresponding packet corresponding to the authentication pass packet and take over the predetermined sequence number based on the input authentication pass packet A packet generator;
Corresponding to the case where the corresponding packet output by the corresponding packet generation unit is input, whether the input corresponding packet is passed based on the predetermined sequence number taken over by the corresponding packet, and determined to be passed A packet passage determination apparatus, comprising: a corresponding packet determination unit that allows a packet to pass.
IPセキュリティプロトコルにしたがってカプセル化されており、
前記対応パケット判定部が入力する対応パケットは、
IPセキュリティプロトコルにしたがってデカプセル化されていることを特徴とする請求項3記載のパケット通過判定装置。 The input packet input by the input packet determination unit is:
Encapsulated according to IP security protocol,
The corresponding packet input by the corresponding packet determining unit is
4. The packet passage determination apparatus according to claim 3, wherein the packet passage determination apparatus is decapsulated according to an IP security protocol.
前記パケット認証部が通過させた認証合格パケットを入力し、入力した認証合格パケットを予め定められているシーケンス番号に基づき通過させるかどうかを判定し、通過させると判定した場合に認証合格パケットを通過させる認証合格パケット判定部と
を備えたことを特徴とするパケット通過判定装置。 A sequence number based on the IP security protocol is predetermined, and a packet to be authenticated is input as an input packet through a network with a predetermined throughput to execute authentication processing. As a result of the authentication processing, the input packet is passed When authenticating, the input packet authenticated as passing is passed as an authentication passing packet, and the packet authentication unit whose authentication processing throughput is equal to or higher than the throughput of the network;
Enter the authentication pass packet passed by the packet authentication unit, determine whether to pass the input authentication pass packet based on a predetermined sequence number, and pass the authentication pass packet if it is determined to pass A packet passage determination device comprising: an authentication pass packet determination unit for performing
複数のサブ認証部を備え、
前記複数のサブ認証部のそれぞれは、
入力パケットを前記ネットワークを介して入力して認証処理を実行し、認証処理の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させることを特徴とする請求項5記載のパケット通過判定装置。 The packet authentication unit
With multiple sub-authentication units,
Each of the plurality of sub-authentication units is
An input packet is input through the network to execute authentication processing, and when the input packet is authenticated as a result of authentication processing, the input packet authenticated as passed is passed as an authentication pass packet. The packet passage determination apparatus according to claim 5.
パケット認証部が通過させた認証合格パケットを入力し、入力した認証合格パケットを元にして、前記予め定められているシーケンス番号を引き継ぐとともに認証合格パケットに対応する対応パケットを生成して出力する対応パケット生成部と、
前記対応パケット生成部が出力した対応パケットを入力し、入力した対応パケットをこの対応パケットが引き継いだ前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に対応パケットを通過させる対応パケット判定部と
を備えたことを特徴とするパケット通過判定装置。 A sequence number based on the IP security protocol is predetermined, and a packet to be authenticated is input as an input packet through a network with a predetermined throughput to execute authentication processing. As a result of the authentication processing, the input packet is passed When authenticating, the input packet authenticated as passing is passed as an authentication passing packet, and the packet authentication unit whose authentication processing throughput is equal to or higher than the throughput of the network;
Corresponding to input the authentication pass packet passed by the packet authentication unit, generate the corresponding packet corresponding to the authentication pass packet and take over the predetermined sequence number based on the input authentication pass packet A packet generator;
Corresponding to the case where the corresponding packet output by the corresponding packet generation unit is input, whether the input corresponding packet is passed based on the predetermined sequence number taken over by the corresponding packet, and determined to be passed A packet passage determination apparatus, comprising: a corresponding packet determination unit that allows a packet to pass.
通過した入力パケットを入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させる処理と、
通過した認証合格パケットを入力し、入力した認証合格パケットを前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に認証合格パケットを通過させる処理と
をコンピュータに実行させることを特徴とするパケット通過判定プログラム。 A sequence number based on the IP security protocol is predetermined and a packet to be authenticated is input as an input packet, and it is determined whether or not the input packet is allowed to pass based on a predetermined sequence number of the input packet that has been input, A process of passing an input packet when it is determined to pass,
When the input packet that has passed is authenticated by authenticating the input packet as a result of the authentication, the process passes the input packet that has passed as an authentication pass packet,
The authentication pass packet that has passed is input, it is determined whether to pass the input authentication pass packet based on the predetermined sequence number, and if it is determined to pass, the process of passing the authentication pass packet to the computer A packet passage determination program that is executed.
通過した入力パケットを入力して認証し、認証の結果、入力パケットを合格と認証した場合に、合格と認証した入力パケットを認証合格パケットとして通過させる処理と、
通過した認証合格パケットを入力し、入力した認証合格パケットを元にして、前記予め定められているシーケンス番号を引き継ぐとともに認証合格パケットに対応する対応パケットを生成して出力する処理と、
出力された対応パケットを入力し、入力した対応パケットをこの対応パケットが引き継いだ前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に対応パケットを通過させる処理と
をコンピュータに実行させることを特徴とするパケット通過判定プログラム。 A sequence number based on the IP security protocol is predetermined and a packet to be authenticated is input as an input packet, and it is determined whether or not the input packet is allowed to pass based on a predetermined sequence number of the input packet that has been input, A process of passing an input packet when it is determined to pass,
When the input packet that has passed is authenticated by authenticating the input packet as a result of the authentication, the process passes the input packet that has passed as an authentication pass packet,
A process of inputting a passed authentication pass packet, taking over the predetermined sequence number based on the input authentication pass packet and generating and outputting a corresponding packet corresponding to the authentication pass packet;
Processing to input the output corresponding packet, determine whether to pass the input corresponding packet based on the predetermined sequence number taken over by the corresponding packet, and pass the corresponding packet when it is determined to pass And a packet passage determination program that causes a computer to execute.
通過した認証合格パケットを入力し、入力した認証合格パケットを予め定められているシーケンス番号に基づき通過させるかどうかを判定し、通過させると判定した場合に認証合格パケットを通過させる処理と
をコンピュータに実行させることを特徴とするパケット通過判定プログラム。 When a sequence number based on the IP security protocol is determined in advance and a packet to be authenticated is input as an input packet through a network with a predetermined throughput for authentication, and as a result of authentication, the input packet is authenticated as passed , A process of passing an input packet authenticated as pass as an authentication pass packet, wherein the throughput is equal to or higher than the throughput of the network;
Input the passed authentication pass packet, determine whether to pass the input authentication pass packet based on a predetermined sequence number, and pass the authentication pass packet to the computer when it is determined to pass A packet passage determination program that is executed.
通過した認証合格パケットを入力し、入力した認証合格パケットを元にして、前記予め定められているシーケンス番号を引き継ぐとともに認証合格パケットに対応する対応パケットを生成して出力する処理と、
出力された対応パケットを入力し、入力した対応パケットをこの対応パケットが引き継いだ前記予め定められているシーケンス番号に基づき通過させるかどうか判定し、通過させると判定した場合に対応パケットを通過させる処理と
をコンピュータに実行させることを特徴とするパケット通過判定プログラム。 When a sequence number based on the IP security protocol is determined in advance and a packet to be authenticated is input as an input packet through a network with a predetermined throughput for authentication, and as a result of authentication, the input packet is authenticated as passed , A process of passing an input packet authenticated as pass as an authentication pass packet, wherein the throughput is equal to or higher than the throughput of the network;
A process of inputting a passed authentication pass packet, taking over the predetermined sequence number based on the input authentication pass packet and generating and outputting a corresponding packet corresponding to the authentication pass packet;
Processing to input the output corresponding packet, determine whether to pass the input corresponding packet based on the predetermined sequence number taken over by the corresponding packet, and pass the corresponding packet when it is determined to pass And a packet passage determination program that causes a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005328557A JP2007135137A (en) | 2005-11-14 | 2005-11-14 | Device and program for determining passage of packet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005328557A JP2007135137A (en) | 2005-11-14 | 2005-11-14 | Device and program for determining passage of packet |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007135137A true JP2007135137A (en) | 2007-05-31 |
Family
ID=38156408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005328557A Pending JP2007135137A (en) | 2005-11-14 | 2005-11-14 | Device and program for determining passage of packet |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007135137A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011114448A (en) * | 2009-11-25 | 2011-06-09 | Mega Chips Corp | Communication system and communication device |
JP2019129408A (en) * | 2018-01-24 | 2019-08-01 | 富士通株式会社 | Failure detection method, node device, and communication system |
-
2005
- 2005-11-14 JP JP2005328557A patent/JP2007135137A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011114448A (en) * | 2009-11-25 | 2011-06-09 | Mega Chips Corp | Communication system and communication device |
JP2019129408A (en) * | 2018-01-24 | 2019-08-01 | 富士通株式会社 | Failure detection method, node device, and communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lepinski et al. | BGPSEC protocol specification | |
EP3603003B1 (en) | Hardware-accelerated secure communication management | |
US9456002B2 (en) | Selective modification of encrypted application layer data in a transparent security gateway | |
Symington et al. | Bundle security protocol specification | |
JP5744172B2 (en) | Proxy SSL handoff via intermediate stream renegotiation | |
US9553847B2 (en) | Virtual desktop accelerator with support for multiple cryptographic contexts | |
EP1869865B1 (en) | Method and apparatus for distributing group data in a tunneled encrypted virtual private network | |
US20070258468A1 (en) | Intermediate network node supporting packet analysis of encrypted payload | |
EP1913728B1 (en) | Total exchange session security | |
CN110190955A (en) | Information processing method and device based on secure socket layer protocol certification | |
US11374973B2 (en) | Streamlining cryptographic processes in a test environment | |
JP2008544713A (en) | Secret data communication in web services | |
US7313687B2 (en) | Establishing a secure context at an electronic communications end-point | |
Kumari et al. | A comprehensive and critical analysis of TLS 1.3 | |
Lepinski et al. | Rfc 8205: Bgpsec protocol specification | |
Sriram | BGPSEC design choices and summary of supporting discussions | |
EP4333360A1 (en) | Securing network communications using dynamically and locally generated secret keys | |
JP2007135137A (en) | Device and program for determining passage of packet | |
JP2007310662A (en) | Firewall device | |
JP5655848B2 (en) | TCP communication system | |
JP2004134855A (en) | Sender authentication method in packet communication network | |
Bäumer et al. | Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation | |
EP2031825A1 (en) | Wireless communication device with securely added randomness and related method | |
Al-Hakeem et al. | Development of Fast Reliable Secure File Transfer Protocol (FRS-FTP) | |
WO2020223917A1 (en) | Method and apparatus for implementing secure multi-party computation, and computer device and storage medium |