JP2007173959A - Encryption communication apparatus - Google Patents
Encryption communication apparatus Download PDFInfo
- Publication number
- JP2007173959A JP2007173959A JP2005365155A JP2005365155A JP2007173959A JP 2007173959 A JP2007173959 A JP 2007173959A JP 2005365155 A JP2005365155 A JP 2005365155A JP 2005365155 A JP2005365155 A JP 2005365155A JP 2007173959 A JP2007173959 A JP 2007173959A
- Authority
- JP
- Japan
- Prior art keywords
- message
- encrypted
- terminal
- communication
- icmp
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、トンネル通信路上の通信制御用メッセージをトンネル通信路外の通信端末に転送する暗号化通信装置に関するものである。 The present invention relates to an encrypted communication apparatus for transferring a communication control message on a tunnel communication path to a communication terminal outside the tunnel communication path.
複数の通信ネットワークを接続してデータ転送する技術として、カプセル化トンネル通信がある。カプセル化トンネル通信は、データ送信元のユーザ端末やデータ受信先のユーザ端末が送受信するIP(Internet Protocol)メッセージを、通信経路上の通信装置がIPを使用した他のプロトコルメッセージに内包(カプセル化)して通信網内をトンネルのように転送させている。このカプセル化トンネル通信では、カプセル化処理を終端する通信装置は、トンネル通信路上で発生したICMP(Internet Control Message Protocol)エラー通知メッセージをユーザ端末に通知するため、特別な中継動作を行う必要があった。 Encapsulated tunnel communication is a technique for transferring data by connecting a plurality of communication networks. In encapsulated tunnel communication, an IP (Internet Protocol) message transmitted / received by a user terminal that is a data transmission source or a user terminal that is a data reception destination is included (encapsulated) in another protocol message using IP by a communication device on a communication path. ) To transfer the communication network like a tunnel. In this encapsulated tunnel communication, the communication device that terminates the encapsulation process needs to perform a special relay operation in order to notify the user terminal of an ICMP (Internet Control Message Protocol) error notification message that has occurred on the tunnel communication path. It was.
例えば、トンネルモードのESP(Encapsulating Security Payload)暗号化を行うIPSEC(IP Security)環境では、IPSECを終端する暗号化通信装置がIPSECメッセージにカプセル化処理を行い、トンネル通信路(IPSEC_SA(以下、SA(Security Association)という場合がある)を使用してカプセル化されたIPSECメッセージの送受信を行う。 For example, in an IPSEC (IP Security) environment that performs ESP (Encapsulating Security Payload) encryption in tunnel mode, an encryption communication device that terminates IPSEC performs an encapsulation process on an IPSEC message, and a tunnel communication path (IPSEC_SA (hereinafter referred to as SA) (Sometimes referred to as “Security Association”).
このようなトンネル通信路においては、暗号化通信装置が送信するIPSECメッセージに対して、トンネル通信路上のルータが元のIPSECメッセージを含んだICMP_MTU(Maximum Transmission Unit)超過メッセージ等を応答通知する場合がある。 In such a tunnel communication path, a router on the tunnel communication path may send a response notification of an ICMP_MTU (Maximum Transmission Unit) excess message including the original IPSEC message in response to the IPSEC message transmitted by the encrypted communication apparatus. is there.
従来の暗号化通信装置は、このICMPエラー通知メッセージを発信側のユーザ端末(発側端末)に送信するため、ICMPエラー通知メッセージに含まれる元のIPSECメッセージの一部分を取り出している。そして、この元のIPSECメッセージの宛先アドレス(対向する暗号化通信装置のアドレス)、IPSECプロトコルの種別、SAを識別するためのSPI(Security Parameters Index)値をキーとして、暗号化通信装置が保持するSAに関するDB(SADB(SA DataBase))を検索し、発側端末のアドレス範囲を絞り込んでいる。 The conventional encrypted communication apparatus extracts a part of the original IPSEC message included in the ICMP error notification message in order to transmit the ICMP error notification message to the user terminal (originating terminal) on the transmission side. The encrypted communication apparatus holds the destination address (address of the opposite encrypted communication apparatus) of this original IPSEC message, the IPSEC protocol type, and the SPI (Security Parameters Index) value for identifying the SA as keys. A DB related to SA (SADB (SA DataBase)) is searched to narrow down the address range of the calling terminal.
暗号化通信装置は、この動作によって発側端末のアドレスを所定の範囲まで絞り込めた場合には、IPSECにより追加されるIPSECヘッダ長を考慮して経路MTU値を計算し所定の発側端末へ送信していた。また、発側端末が複数考えられる場合は、その可能性の有る全ての発側端末(所定のアドレス範囲)にICMPエラー通知メッセージを送信していた。 When the address of the originating terminal is narrowed down to a predetermined range by this operation, the encrypted communication device calculates the path MTU value in consideration of the IPSEC header length added by IPSEC, and sends it to the predetermined originating terminal. I was sending. Further, when a plurality of calling side terminals can be considered, an ICMP error notification message is transmitted to all the calling side terminals (predetermined address ranges) that have the possibility.
一方、発側端末のアドレス範囲を特定できない場合、暗号化通信装置、ICMPエラー通知メッセージの情報(例えば経路MTU値)を自身の保持するSADBに保存しておく。その後、暗号化通信装置に後続の発側端末からのIPメッセージが到着し、そのIPメッセージ長が、該当するSAの経路MTU値より大きい場合には、その発側端末へICMPエラー通知メッセージを送信することでICMP応答を返す方法も提案されている(非特許文献1)。 On the other hand, if the address range of the calling terminal cannot be specified, the information (for example, the route MTU value) of the encrypted communication device and ICMP error notification message is stored in the SADB held by itself. Thereafter, when an IP message from the subsequent calling terminal arrives at the encrypted communication apparatus and the IP message length is larger than the route MTU value of the corresponding SA, an ICMP error notification message is transmitted to the calling terminal. A method of returning an ICMP response by doing so is also proposed (Non-Patent Document 1).
また、トンネルモードESP暗号化を行うIPSEC環境では、ICMPエラー通知メッセージの正当性を確認するため、暗号化通信装置は対向する暗号化通信装置にMTU確認要求メッセージを送信し、対向する暗号化通信装置では確認要求メッセージが経路上で実際にフラグメントされたことを確認するMTU確認応答メッセージを応答する方法がある。この方法では、暗号化通信装置は、使用しているSA上で実際にフラグメントが発生することを確認した上で、発側端末へICMPエラー通知メッセージを送信しICMPエラー通知メッセージに関するセキュリティ的防御を実現している(特許文献1)。 In an IPSEC environment where tunnel mode ESP encryption is performed, in order to confirm the validity of the ICMP error notification message, the encrypted communication device transmits an MTU confirmation request message to the opposite encrypted communication device, and the opposite encrypted communication. In the apparatus, there is a method of responding with an MTU confirmation response message for confirming that the confirmation request message is actually fragmented on the route. In this method, after confirming that a fragment is actually generated on the SA being used, the encrypted communication device transmits an ICMP error notification message to the originating terminal, and performs security protection regarding the ICMP error notification message. (Patent Document 1).
また、IPメッセージを別のIPメッセージでカプセル化するようなIP−in−IP環境でもトンネルモードESP暗号化を行うIPSEC環境と同様な問題は発生する。IP−in−IP環境でのIP−in−IPカプセル化装置は、IP−in−IPトンネル経路上のルータからICMPエラー(MTU超過など)通知メッセージを受信すると、このICMPエラー通知メッセージに含まれる元のIP−in−IPメッセージを取り出し、このIP−in−IPメッセージのフローID(通信路用番号:IPSEC環境に於けるSPI値)とMTU値とを対応付けて記憶しておき、ICMPエラー通知メッセージ自体は廃棄している。 Further, even in an IP-in-IP environment in which an IP message is encapsulated with another IP message, a problem similar to the IPSEC environment in which tunnel mode ESP encryption is performed occurs. When the IP-in-IP encapsulating apparatus in the IP-in-IP environment receives an ICMP error (MTU exceeded, etc.) notification message from a router on the IP-in-IP tunnel path, it is included in the ICMP error notification message. The original IP-in-IP message is extracted, and the flow ID (communication channel number: SPI value in the IPSEC environment) and the MTU value of this IP-in-IP message are stored in association with each other, and an ICMP error occurs. The notification message itself is discarded.
その後、IP−in−IPカプセル化装置は、発側装置から該当するフローIDのIP−in−IP通信路を使用する後続のIPメッセージを受信すると、IPメッセージがMTU超過などにより送信できなければ、IPメッセージの送信端末に向けてICMPエラー(MTU超過)メッセージを送信している(非特許文献2,3)。 After that, when the IP-in-IP encapsulation device receives a subsequent IP message using the IP-in-IP communication path of the corresponding flow ID from the calling side device, the IP message cannot be transmitted due to an MTU excess or the like. An ICMP error (MTU excess) message is transmitted to the IP message transmission terminal (Non-patent Documents 2 and 3).
このように、発着ユーザ端末が送受信するIPメッセージを、中継路上で同じIPを使用した別のプロトコルでカプセル化し転送するトンネリング通信方式として、例えばIP−in−IPカプセル化、トンネルモードIPSEC_ESPカプセル化、GREカプセル化、モバイルIPカプセル化などがあげられる。 As described above, for example, IP-in-IP encapsulation, tunnel mode IPSEC_ESP encapsulation, or the like as a tunneling communication method for encapsulating and transferring an IP message transmitted and received by an incoming and outgoing user terminal with another protocol using the same IP on a relay path, Examples include GRE encapsulation and mobile IP encapsulation.
しかしながら、上記1つめ〜4つめの従来技術によるトンネリング通信方式ではトンネル中継路上で発生したICMPエラー通知メッセージを、発側端末に通知するのが難しいと言う問題点があった。 However, the first to fourth prior art tunneling communication systems have a problem that it is difficult to notify the originating terminal of the ICMP error notification message generated on the tunnel relay path.
例えば、トンネル経路上で送受信されるトンネリングメッセージ(ICMPエラー通知メッセージ)の発着アドレスは発着トンネル装置(暗号化通信装置)のアドレスとなり、発着端末のアドレスは内側メッセージに隠蔽されてしまう。このため、発側トンネル装置は、ICMPエラー通知メッセージから発着端末のアドレスを直接解析できない場合が生じるといった問題があった。 For example, the arrival / departure address of a tunneling message (ICMP error notification message) transmitted / received on the tunnel route becomes the address of the incoming / outgoing tunnel device (encrypted communication device), and the address of the incoming / outgoing terminal is hidden in the inner message. For this reason, there is a problem in that the originating side tunnel device may not be able to directly analyze the address of the calling terminal from the ICMP error notification message.
また、トンネル経路に収容する発着端末アドレスとしてアドレスの範囲を指定し、複数の発着端末アドレスからのメッセージをまとめてこのトンネルに収容して転送する方法がある。このような収容アドレス範囲が指定されたICMPエラー通知メッセージを暗号化通信装置が受信した場合、このICMPエラー通知メッセージを単に発側端末に戻すだけではエラー通知の効率が悪くなる。すなわち、実際にこのトンネルを使用している発側端末数が、トンネルの発側アドレス範囲の端末数に比べて少ない場合、多くの不要なICMPエラー通知メッセージが端末側に通知されることとなる。これにより、帯域を無駄に消費してしまうという問題がある。 In addition, there is a method in which a range of addresses is designated as a destination terminal address accommodated in a tunnel route, and messages from a plurality of destination terminal addresses are collectively accommodated in this tunnel and transferred. When the encrypted communication apparatus receives an ICMP error notification message in which such an accommodated address range is specified, simply returning this ICMP error notification message to the originating terminal results in poor error notification efficiency. That is, when the number of calling terminals that actually use this tunnel is smaller than the number of terminals in the tunnel calling address range, many unnecessary ICMP error notification messages are notified to the terminal side. . As a result, there is a problem that the bandwidth is wasted.
一方、ICMPエラー通知メッセージの要因となったメッセージを送信した発側端末にだけ、ICMPエラー通知メッセージを送信すると、この発側端末と同じトンネルを使用する他の発側端末にはICMPエラー通知メッセージが送信されない。このため、暗号化通信装置は、同じトンネルを使用する複数の発側端末の夫々に対して、ICMPエラー通知メッセージに関する対応を行なわなければならない。これにより、発側端末へのICMPエラー通知メッセージの遅延、帯域の無駄な消費、発側トンネル装置(暗号化通信装置)の処理負荷の増大といった問題が生じていた。 On the other hand, when an ICMP error notification message is transmitted only to the originating terminal that has transmitted the message that caused the ICMP error notification message, the ICMP error notification message is sent to other originating terminals that use the same tunnel as the originating terminal. Is not sent. For this reason, the encrypted communication apparatus must deal with the ICMP error notification message for each of a plurality of originating terminals that use the same tunnel. As a result, problems such as a delay of an ICMP error notification message to the calling side terminal, wasteful bandwidth consumption, and an increase in processing load on the calling side tunnel device (encrypted communication device) have occurred.
本発明は、上記に鑑みてなされたものであって、トンネル通信路上から通信制御用メッセージを受信した際に、帯域の無駄な消費を抑制しながら効率良くトンネル通信路外の通信端末に通信制御用メッセージを転送する暗号化通信装置を得ることを目的とする。 The present invention has been made in view of the above, and when a communication control message is received from a tunnel communication path, communication control is efficiently performed to a communication terminal outside the tunnel communication path while suppressing wasteful consumption of bandwidth. An object of the present invention is to obtain an encrypted communication device that transfers a message for use.
上述した課題を解決し、目的を達成するために、本発明は、暗号化通信路外の複数の通信端末からユーザメッセージを受信すると、前記各ユーザメッセージを暗号化およびカプセル化して暗号化通信路上の対向装置に転送し、前記暗号化通信路上で前記ユーザメッセージを前記対向装置へ中継する中継装置から前記ユーザメッセージに基づいて送信される暗号化およびカプセル化された前記ユーザメッセージの少なくとも一部を含む通信制御用メッセージを受信すると、前記通信制御用メッセージを復号およびデカプセル化して前記暗号化通信路外の所定の送信先に転送する暗号化通信装置において、前記各通信端末からの各ユーザメッセージを前記対向装置に転送する際に、前記各ユーザメッセージを転送する各暗号化通信路に関する暗号化通信路情報と前記各ユーザメッセージの送信元である各通信端末のアドレスとの対応付けに関するアドレス情報を記憶する記憶部と、暗号化された前記ユーザメッセージに、当該ユーザメッセージに対応する暗号化通信路情報を暗号化せずに付加して前記対向装置に転送する送信部と、前記送信部から送信されたユーザメッセージに暗号化せずに付加された暗号化通信路情報を含む前記通信制御用メッセージを前記中継装置から受信する受信部と、前記受信部が受信した通信制御用メッセージを用いて当該通信制御用メッセージの送信先を判断する送信先判断部と、前記受信部が受信した通信制御用メッセージ内から前記暗号化通信路情報を抽出し、当該抽出した暗号化通信路情報および前記記憶部が記憶するアドレス情報に基づいて、前記送信先判断部が判断した送信先に対応する前記通信制御用メッセージの送信先アドレスを決定する送信アドレス決定部と、を備えることを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention, when receiving a user message from a plurality of communication terminals outside the encrypted communication path, encrypts and encapsulates each user message, and transmits it on the encrypted communication path. At least a part of the encrypted and encapsulated user message transmitted based on the user message from a relay device that forwards the user message to the opposite device on the encrypted communication path. When the communication control message is received, the encrypted communication device decrypts and decapsulates the communication control message and transfers it to a predetermined destination outside the encrypted communication path. Encryption related to each encrypted communication path for transferring each user message when transferring to the opposite device A storage unit that stores address information relating to correspondence between communication path information and the address of each communication terminal that is a transmission source of each user message, and encrypted communication corresponding to the user message in the encrypted user message A transmission unit that adds path information without encryption and forwards it to the opposite device; and for communication control that includes encrypted communication path information added without encryption to a user message transmitted from the transmission unit A reception unit that receives a message from the relay device, a transmission destination determination unit that determines a transmission destination of the communication control message using the communication control message received by the reception unit, and a communication control that is received by the reception unit The encrypted communication path information is extracted from the message for use, and based on the extracted encrypted communication path information and the address information stored in the storage unit, Characterized in that it comprises a transmission address determining unit for determining a destination address of said communication control message corresponding to the destination the destination determination unit has determined.
この発明によれば、トンネル通信路にユーザメッセージを転送する際に、ユーザメッセージの暗号化通信路に関する情報と、ユーザメッセージの送信元アドレスを記憶しておくので、トンネル通信路内で送信された通信制御用メッセージが暗号化されている場合であっても、通信制御用メッセージを受信した際に、帯域の無駄な消費を抑制しながら効率良くトンネル通信路外の通信端末に通信制御用メッセージを転送することが可能になるという効果を奏する。 According to the present invention, when a user message is transferred to the tunnel communication path, information related to the encrypted communication path of the user message and the source address of the user message are stored, so that the user message is transmitted within the tunnel communication path. Even when the communication control message is encrypted, when the communication control message is received, the communication control message is efficiently transmitted to the communication terminal outside the tunnel communication path while suppressing wasteful bandwidth consumption. There is an effect that the data can be transferred.
以下に、本発明にかかる暗号化通信装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。 Embodiments of an encrypted communication apparatus according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
実施の形態1.
図1は、本発明に係る暗号化通信装置を含む通信ネットワークの構成を示す図である。通信システム100は、ユーザ側の通信ネットワークであるLAN(Local Area Network)1〜3、LAN1〜3を接続する通信ネットワークであるWAN(Wide Area Network)5、暗号化通信装置10A,10Bを含んで構成されている。
Embodiment 1 FIG.
FIG. 1 is a diagram showing a configuration of a communication network including an encrypted communication device according to the present invention. The
LAN1は、ユーザ側の通信端末である通信端末X1〜Xn(nは自然数)を含んで構成されている。また、LAN2は通信端末Y1〜Ym(mは自然数)を含んで構成され、LAN3は通信端末Z1〜Zl(lは自然数)を含んで構成されている。なお、ここでは説明の便宜上、データ送信側の通信端末を発側端末といい、データ受信側の通信端末を着側端末という場合がある。 The LAN 1 includes communication terminals X1 to Xn (n is a natural number) that are communication terminals on the user side. The LAN 2 includes communication terminals Y1 to Ym (m is a natural number), and the LAN 3 includes communication terminals Z1 to Zl (l is a natural number). Here, for convenience of explanation, the data transmission side communication terminal may be referred to as an origination terminal, and the data reception side communication terminal may be referred to as an arrival side terminal.
暗号化通信装置(カプセル型暗号化通信装置)10Aは、LAN1とWAN5を接続し、暗号化通信装置10BはLAN2,3とWAN5を接続している。暗号化通信装置10A,10Bは、発着端末(発側端末、着側端末)が送受信するIPメッセージを、中継路上で同じIPを使用した別のプロトコルでカプセル化し転送する機能(トンネリング通信機能)を有している。
The encrypted communication device (capsule-type encrypted communication device) 10A connects LAN1 and WAN5, and the encrypted
暗号化通信装置10A,10Bは、トンネリング通信として、例えば、IP−in−IPカプセル化、トンネルモードIPSEC_ESPカプセル化、GRE(Generic Routing Encapsulation)カプセル化、モバイルIPカプセル化などを行う。ここでの暗号化通信装置10Aは、LAN1側から送信されたIPメッセージ(ユーザメッセージ)や通信制御用メッセージ(後述のICMPエラー通知メッセージ73)を、暗号化するとともにカプセル化してWAN5内に転送する。また、暗号化通信装置10Bは、LAN2,3から送信されたIPメッセージや通信制御メッセージを、暗号化するとともにカプセル化してWAN5内に転送する。
The
さらに、ここでの暗号化通信装置10Aは、他のルータ(中継装置)R1〜R3を介して受信したIPメッセージをデカプセル化するとともに、復号してLAN1側に転送する。また、暗号化通信装置10Bは、他のルータR1〜R3を介して受信したIPメッセージをデカプセル化するとともに、復号してLAN2,3の何れかに転送する。
Further, the
WAN5は、データの中継装置であるルータR1〜R3を含んで構成されている。ルータR1〜R3は、暗号化通信装置10Aから送信されたIPメッセージを暗号化通信装置10Bに転送するとともに、暗号化通信装置10Bから送信されたIPメッセージを暗号化通信装置10Aに転送する。
The
例えば、発着端末は、IETF(Internet Engineering Task Force)のRFC(Request For Comments)に記述されるIPv(Internet Protocol Version)4あるいはIPv6メッセージを、ユーザメッセージ(後述のIPメッセージ71等)として用いる。
For example, the arrival / departure terminal uses an IPv4 (Internet Protocol Version) 4 or IPv6 message described in RFC (Request For Comments) of IETF (Internet Engineering Task Force) as a user message (
また、暗号化通信装置10A,10Bは、例えばIETFのRFC2401−RFC2412等に記述されるIPSEC処理を実行し、暗号用通信路としてIPSEC_SAを使用する。また、暗号化通信装置10A,10Bは、例えば暗号用通信メッセージとしてRFC2406に記述されるようなIPSECのESP暗号化メッセージを使用してトンネルモードでIPSEC暗号化する手段を備えている。
The
また、ルータR1〜R3(暗号化に寄与しない通常の通信装置)が通知する通信制御用メッセージは、例えばRFCに記述されるようなICMPメッセージ(ICMP_Destination_UnreachableメッセージやPacket_Too_BigメッセージなどのMTU超過などの通知メッセージである。 Further, the communication control message notified by the routers R1 to R3 (ordinary communication apparatuses that do not contribute to encryption) is, for example, an ICMP message (ICMP_Destination_Unreachable message or an MTU excess notification message such as a Packet_Too_Big message) described in RFC. It is.
ここで、通信システム100内で送受信されるデータの構成について説明する。図2は、通信ネットワーク内で送受信されるデータの構成を説明するための図である。ここでは、通信端末X1(発側端末)から通信端末Y1(着側端末)へデータ送信する場合であって、ルータR1がMTU超過を検出した場合に通信システム100内で送受信されるデータの構成について説明する。
Here, a configuration of data transmitted and received in the
通信端末X1から暗号化通信装置10Aへ送信されるデータD1(IPメッセージ)は、宛先アドレスである通信端末Y1のアドレス、送信側アドレスである通信端末X1のアドレス、データ部等を含んで構成されている。
Data D1 (IP message) transmitted from the communication terminal X1 to the
暗号化通信装置10Aは、通信端末X1からデータD1を受信すると、このデータD1にESPカプセル化処理を行ってデータD2を作成する。そして、暗号化通信装置10Aは、トンネル通信路130を使用してデータD2(IPSECメッセージ)をWAN5内に転送する。
When the
データD2は、トンネル通信路130内での受信側アドレスとして暗号化通信装置10Bのアドレス(SG2)、送信側アドレスとして暗号化通信装置10Aのアドレス(SG1)、トンネリング用のカプセル化メッセージ(ESPヘッダ、データD1)等を含んで構成されている。
The data D2 includes an address (SG2) of the
ルータR1がMTU超過を検出した場合、ルータR1から暗号化通信装置10AにICMPエラー通知(データD3)が送信される。このデータD3(後述するICMPエラーメッセージ73)は、トンネル通信路130内での受信側アドレスとして暗号化通信装置10Aのアドレス(SG1)、送信側アドレスとしてルータR1のアドレス(R1)、ICMPヘッダ(MTU超過)を有しており、これらの部分がICMPエラー通知を行う際のトンネル通信に利用される。
When the router R1 detects an MTU excess, an ICMP error notification (data D3) is transmitted from the router R1 to the
また、データD3は、ICMPエラーの原因となった元のメッセージ(データD2)(トンネル送信側アドレス(SG1)、トンネル受信側アドレス(SG2)、トンネル通信用のIPヘッダ)を有している。これらの部分は、暗号化通信装置10AがIPSECメッセージを送信する際のトンネル通信に利用された情報である。
Further, the data D3 includes the original message (data D2) (tunnel transmission side address (SG1), tunnel reception side address (SG2), IP header for tunnel communication) that caused the ICMP error. These parts are information used for tunnel communication when the
また、データD3は、ESPヘッダ、LAN1内で送受信されたデータに関する情報(着側端末のアドレス(Y1)、発側端末のアドレス(X1))、IPヘッダを有しており、トンネル通信路130内でのデータD3においては、これらの部分がトンネリング用のカプセル化メッセージとして暗号化され隠蔽されている。このため、発着端末のアドレスは内側メッセージに隠蔽されている。
The data D3 includes an ESP header, information on data transmitted / received in the LAN 1 (address (Y1) of the called terminal, address (X1) of the calling terminal), an IP header, and the
つぎに、暗号化通信装置10A,10Bの構成について説明する。なお、暗号化通信装置10A,10Bは同様の構成を有するので、ここでは暗号化通信装置10Aを例にとって説明する。また、以下では通信端末X1が発側端末であり、通信端末Y1が着側端末である場合を例にとって説明する。
Next, the configuration of the
図3は、本発明に係る暗号化通信装置の実施の形態1の構成を示すブロック図である。暗号化通信装置10Aは、発側端末から受信したIPメッセージ71に対応するシーケンス番号などと発側端末アドレスを記憶しておき、発側端末側にICMPエラーを通知する際に発側端末アドレス等を再生する通信装置である。
FIG. 3 is a block diagram showing the configuration of the first embodiment of the encrypted communication apparatus according to the present invention. The
暗号化通信装置10Aは、端末側I/F(インタフェース)13、トンネル側I/F(受信部)14、出力側SADB11、入力側SADB12、カプセル化処理部20、デカプセル化処理部30、ICMP受信処理部40、ICMP中継再生処理部50、ICMP再生データ管理部60を備えている。
The
端末側I/F13は、LAN1側の通信インタフェースであり、トンネル側I/F14は、WAN5側(トンネル側)の通信インタフェースである。端末側I/F13は、LAN1〜3側の発側端末(通信端末X1など)からIPメッセージ71を受信するとともに、発側端末へICMPエラー通知メッセージ74やIPメッセージ76を送信する。
The terminal side I /
IPメッセージ71,76は、発側端末のアドレス、着側端末のアドレス、IPメッセージ部などを含んで構成されている。ICMPエラー通知メッセージ74は、暗号化通信装置10Aのアドレス、発側端末のアドレス、エラーメッセージなどを含んで構成されている。
The
トンネル側I/F14は、トンネル側の対向する暗号化通信装置10BにIPSEC_ESPカプセル化メッセージ(以下、IPSECメッセージ72という)を送信し、トンネル側のルータR1〜R3からICMPエラー通知メッセージ73やIPメッセージ75を受信する。
The tunnel side I /
IPSECメッセージ72,75は、暗号化通信装置10Aのアドレス、暗号化通信装置10Bのアドレス、暗号化されたIPメッセージ部などを含んで構成されている。ICMPエラー通知メッセージ73は、エラー通知を行うルータR1などのアドレス、暗号化通信装置10Aのアドレス、エラーメッセージなどを含んで構成されている。
The
出力側SADB11は、IPメッセージ71が使用するSAを決定するための情報(後述する出力側SA情報101)を記憶する。入力側SADB12は、IPSECメッセージ75内の暗号化されたIPメッセージ部を復号するためのSA毎の情報(後述する入力側SA情報)を記憶する。
The
カプセル化処理部20は、安全な通信路(SA)を確立するための処理、IPSEC_ESP暗号化処理、カプセル化処理等を行なう。カプセル化処理部20は、SA検索部21、SA使用許諾判定部22、暗号化処理部23、ESPヘッダ処理部(送信部)24、認証値計算部25、IPヘッダ処理部26を備えている。
The
SA検索部21は、安全な通信路を確立するため、IPメッセージ71内の発着アドレス、プロトコル種別、発着ポート番号などに基づいて、出力側SADB11を検索し、IPメッセージ71が使用するSA(通信路識別情報)を決定する。
The
SA使用許諾判定部22は、SA検索部21によって決定されたSAをIPメッセージ71が使用できるか否かを判定する。SA使用許諾判定部22は、IPメッセージ71がSAを使用可能である場合、使用するSPI値(暗号化通信路情報)をキーとして元のIPメッセージ71の発着端末アドレスをICMP再生データ管理部60(後述のSA使用端末DB61(後述の使用SA情報102))に登録する。
The SA use
暗号化処理部23は、IPメッセージ71のIPSEC_ESP暗号化処理を行なうため、IPメッセージ71全体を暗号化する。暗号化処理部23は、出力側SADB11がSA毎に持つ情報(出力側SA情報101)を用いて暗号化を行う。
The
ESPヘッダ処理部24は、暗号化したIPメッセージ71の前にESPヘッダを付与する。ESPヘッダ処理部24は、ESPヘッダに、SA毎に異なるSPI値と、メッセージ毎にカウントアップされるシーケンス番号(メッセージ識別情報)を付与する。ESPヘッダ処理部24は、ICMP再生データ管理部60(後述のシーケンス使用端末DB62(後述のシーケンス番号情報103)に、SPI値とシーケンス番号をキーとして元のIPメッセージ71の発着端末アドレスを登録する。
The ESP
認証値計算部25は、ESPヘッダと暗号化したIPメッセージ71に対して、ESP認証値を算出し末尾に付与する。IPヘッダ処理部26は、認証値計算部25が生成したESPカプセル化メッセージがSAのMTUを超えている場合、フラグメント等の処理を行ってIPヘッダを付与する。IPヘッダ処理部26が作成したデータは、IPSEC_ESPカプセル化メッセージ(IPSECメッセージ72)として、トンネル側I/F14から対向する暗号化通信装置10Bへ送信される。
The authentication
ICMP再生データ管理部60は、SA使用端末DB61、シーケンス使用端末DB62を有している。SA使用端末DB61は、SPI値に対応する発側端末のアドレス、着側端末のアドレスに関する情報(使用SA情報102)を記憶する。シーケンス使用端末DB62は、SPI値とシーケンス番号に対応する発側端末のアドレス、着側端末のアドレスに関する情報(シーケンス番号情報103)を記憶する。
The ICMP reproduction
デカプセル化処理部30は、IPSEC_ESP復号処理、デカプセル化処理等を行なう。デカプセル化処理部30は、使用SA検索部31、シーケンス検証部32、認証値確認処理部33、リプレイ防御処理部34、復号処理部35、出力前SADB監査部36を有している。
The
使用SA検索部31は、受信したIPSECメッセージ75内の暗号化通信装置10BのアドレスとSPI値に基づいて、使用するSAを決定する。シーケンス検証部32は、受信したIPSECメッセージ75内のシーケンス番号を検査してリプレイ攻撃を監査し、IPSECメッセージ75の受け入れの可否を決定する。
The used
認証値確認処理部33は、受信したIPSECメッセージ75のESPヘッダと暗号化されたIPメッセージ部に対してESP認証値を算出する。認証値確認処理部33は、算出したESP認証値と、IPSECメッセージ75の末尾に付加されているESP認証値と比較し、IPSECメッセージ75の改ざんの有無を検出する。
The authentication value
リプレイ防御処理部34は、受信したIPSECメッセージ75内のシーケンス番号に基づいて、内部で保持するリプレイ防御ウィンドウの操作を行い、リプレイ防御ウィンドウを更新する。
Based on the sequence number in the received
復号処理部35は、受信したIPSECメッセージ75内の暗号化されたIPメッセージ部を復号する。復号処理部35は、入力側SADB12がSA毎に持つ情報(入力側SA情報)を用いてIPメッセージ部の復号を行なう。
The
出力前SADB監査部36は、復号して得たIPメッセージ76が図示しない入力側SPD(Security Policy Database)の発着アドレス、プロトコル種別、発着ポートなどに基づく条件に合致しているか否かを監査する。出力前SADB監査部36に監査されて、所定の条件に合致したIPメッセージ76は、端末側I/F13からLAN1内に送信される。
The pre-output
ICMP受信処理部40は、ICMP種別判定部41、ICMP内部パケット抽出部42、ICMP種別対応処理部43を有している。ICMP種別判定部41は、ICMP73の種別を判定する。
The ICMP
ICMP内部パケット抽出部42は、ICMPエラー通知メッセージ73のデータ部が内部メッセージを含む場合に、この内部メッセージを抽出する。ICMP内部パケット抽出部42は、必要に応じて内部メッセージ自体を解析し、発着アドレス(暗号化通信装置10A,10Bのアドレス)、プロトコル種別、発着ポート番号など、一般的なIPメッセージから取得可能な情報を抽出する。ICMP内部パケット抽出部42は、内部メッセージがIPSEC_ESPカプセル化メッセージである場合、さらに内部メッセージの内部まで解析し、ESPヘッダ内のSPI値、シーケンス番号などを抽出する。
When the data part of the ICMP
ICMP種別対応処理部43は、ICMP種別に応じてICMP処理(例えば暗号化通信装置10Aのルーティングテーブル更新など)や、出力側SADB11のMTU値(送信MTU値)を更新する。
The ICMP type
ICMP中継再生処理部50は、ICMP中継処理判定部51、ICMP再生部52、ICMP送信端末決定部(送信先判断部、送信アドレス決定部)53を有している。ICMP中継処理判定部51は、ICMPエラー通知メッセージ73のメッセージ種別(以下、ICMPメッセージ種別という)に基づいて、ICMPエラー通知メッセージ73の通信端末側へのデータ中継処理の要否(ICMPエラー通知メッセージ73を通信端末側へ転送する必要があるか否か)を判定する。
The ICMP relay
ICMP再生部52は、受信したICMPエラー通知メッセージ73から、通信端末側に送信すべきICMPエラー通知メッセージ74を再生(作成)する。ICMP再生部52は、使用SA情報102やシーケンス番号情報103内の発側端末アドレス、シーケンス番号等に基づいて、ICMPエラー通知メッセージ74を作成する。
The
ICMP送信端末決定部53は、受信したICMPエラー通知メッセージ73のメッセージ種別と通信端末側へ送信する再生されたICMPエラー通知メッセージ74のICMPメッセージ種別に基づいて、通信端末側へ送信するICMPエラー通知メッセージ74の送信先(送信先となる発側端末範囲)と、そのアドレスを決定する。ICMP送信端末決定部53は、ICMPエラー通知メッセージ74を、例えば発側端末だけ又はSA(SPI値)を使用する全ての発側端末に送信することを決定する。
The ICMP transmission
つぎに、実施の形態1に係る暗号化通信装置10Aの動作手順として、データ送信処理(暗号化処理)、復号処理、ICMP受信処理、本実施の形態1の主たる特徴であるICMP再生処理の各動作手順について説明する。
Next, as an operation procedure of the
(送信処理)
まず、通信端末X1(発側端末)からトンネル側(WAN5側)へのデータ送信処理(暗号化処理)について説明する。図4は、発側端末からトンネル側へのデータ送信処理の処理手順を示すフローチャートである。
(Transmission process)
First, a data transmission process (encryption process) from the communication terminal X1 (originating terminal) to the tunnel side (WAN5 side) will be described. FIG. 4 is a flowchart showing a processing procedure of data transmission processing from the calling terminal to the tunnel side.
暗号化通信装置10Aは、発側端末から端末側I/F13を介してIPメッセージ71を受信すると、一般的なルータ機能によってIP受信処理、ルーティング処理を行い、IPメッセージ71の出力先I/F(トンネル側I/F14)を決定する(ステップS110)。なお、図3に示す暗号化通信装置10Aでは、IP受信処理、ルーティング処理を行う手段の図示を省略している。
When the
暗号化通信装置10Aは、ルーティング処理によってIPメッセージ71をトンネル側I/F14へ出力することを決定すると、このIPメッセージ71をカプセル化処理部20に渡す。
When the
カプセル化処理部20では、安全な通信路(SA)を確立するため、まず使用SA検索部21がIPメッセージ71内の発着アドレス、プロトコル種別、発着ポート番号などに基づいて、出力側SADB11を検索し、IPメッセージ71が使用するSAを決定する。使用SA検索部21は、例えば出力側SADB11が記憶する出力側SA情報101を用いてIPメッセージ71が使用するSAを決定する(ステップS120)。
In the
図5は、出力側SA情報の構成の一例を示す図である。出力側SA情報101は、IPメッセージ71を暗号化してSAを確立するための情報であり、「発側端末」、「着側端末」、「暗号化手段」、「認証手段」、「対向装置」、「SPI値」、「共有秘密鍵」、「現在の初期ベクトル値」、「送信MTU値」、「プロトコル種別」、「発着ポート番号」がそれぞれ対応付けられている。
FIG. 5 is a diagram illustrating an example of the configuration of the output side SA information. The output-
「発側端末」は、通信端末X1等の発側端末(アドレス)を示し、「着側端末」は、通信端末Y1等の着側端末(アドレス)を示している。「暗号化手段」は、「3DES(Data Encryption Standard)」、「DES」等の暗号化を行う手段を示している。 The “calling terminal” indicates a calling terminal (address) such as the communication terminal X1, and the “calling terminal” indicates a called terminal (address) such as the communication terminal Y1. “Encryption means” indicates means for performing encryption such as “3DES (Data Encryption Standard)” and “DES”.
「認証手段」は、「MD(Message Digest)5」や「SHA(Secure Hash Algorithm)1」等の認証に使われるハッシュ関数(認証の手段)を示している。「対向装置」は、対向する暗号化通信装置を示している。なお、ここでのSG(security gateway)2は暗号化通信装置10Bを示し、SG3は暗号化通信装置10A,10B以外の暗号化通信装置を示している。
“Authentication means” indicates a hash function (authentication means) used for authentication such as “MD (Message Digest) 5” and “SHA (Secure Hash Algorithm) 1”. The “opposite device” indicates the opposite encrypted communication device. Here, SG (security gateway) 2 indicates the
「SPI値」は、SAを一意に識別するための任意の値(32ビット)である。「共有秘密鍵」は、暗号化通信装置10B等の対向装置との間で共有する暗号化/復号のための秘密鍵である。なお厳密にはSG間の「共有秘密鍵」には暗号化に使用する共有暗号化秘密鍵と、認証に使用する共有認証秘密鍵があるが、以下「共有秘密鍵」はSG間で暗号化に使用する共有暗号化秘密鍵を指す(非特許文献1)。
The “SPI value” is an arbitrary value (32 bits) for uniquely identifying the SA. The “shared secret key” is a secret key for encryption / decryption shared with the opposite device such as the
「現在の初期ベクトル値」は、IPメッセージ71を暗号化する際に用いる擬似乱数の初期ベクトル値(暗号化パラメータ情報)である。「現在の初期ベクトル値」は、1つ前の送信メッセージから生成しメッセージ毎に異なる値が設定される。「送信MTU値」は、トンネル側へ1回の転送で送信できるデータの最大値を示す値(設定値)である。「プロトコル種別」は、発着通信端末が利用する通信プロトコルの種別を示し、「発着ポート番号」は、発着通信端末が利用するポートの番号を示している。
The “current initial vector value” is an initial vector value (encryption parameter information) of a pseudo random number used when the
使用SA検索部21が、IPメッセージ71の使用するSAを出力側SA情報101から抽出(発見)できない場合(ステップS130、No)、使用SA検索部21はこのIPメッセージ71を廃棄するか、又は発側端末にICMPエラー通知メッセージ74を送信(応答)する(ステップS140)。
When the used
一方、使用SA検索部21がIPメッセージ71の使用するSAを出力側SA情報101から抽出できた場合(ステップS130、Yes)、SA使用許諾判定部22はIPメッセージ71が前記抽出したSAを使用する条件を満たしているか否かを判定する(ステップS150)。
On the other hand, when the use
ここでの判定条件には、該当SAは障害により使用不能であるか否か(条件1)、IPメッセージ71にDF(Don't Fragment)フラグが設定されてフラグメント転送不可であるのにSAにはESP処理後の暗号化メッセージ長より小さいMTUが設定され、フラグメントする必要があるか否か(条件2)等の条件がある。例えば、(条件2)の場合、フラグメントする必要があれば、このSAは使用できないと判断される。
The determination condition here is whether or not the corresponding SA is unusable due to a failure (condition 1), and the DF (Don't Fragment) flag is set in the
SA使用許諾判定部22によってSAの使用不可と判断された場合(ステップS150、No)、暗号化通信装置10Aは発側端末にICMPエラー通知メッセージ74を応答する(ステップS140)。
When the SA usage
一方、SA使用許諾判定部22によってSAが使用可能であると判定された場合(ステップS150、Yes)、本実施の形態1に係るSA使用許諾判定部22は、使用するSPI値をキーとして元のIPメッセージ71の発着端末アドレスをSA使用端末DB61(使用SA情報102)に登録する(ステップS160)。
On the other hand, when the SA use
図6は、SA使用端末DBが記憶する使用SA情報の構成の一例を示す図である。ここでの使用SA情報102(アドレス情報)は、現在時刻が例えば123msecである場合を一例として示している。使用SA情報102は、SPI値(SA)に対応する発側端末のアドレス、着側端末のアドレスに関する情報であり、「対向装置」、「SPI値」、「SA使用発アドレス」、「SA使用着アドレス」、「消去予定時刻」がそれぞれ対応付けされている。
FIG. 6 is a diagram illustrating an example of the configuration of usage SA information stored in the SA usage terminal DB. The use SA information 102 (address information) here shows an example in which the current time is 123 msec, for example. The used
「SA使用発アドレス」は、SAを使用する発側端末のアドレスを示し、「SA使用着アドレス」はSAを使用する着側端末のアドレスを示す。「消去予定時刻」は、受信タイムアウトによってデータ消去される時刻を示す。 “SA use origination address” indicates the address of the originating terminal that uses SA, and “SA use destination address” indicates the address of the destination terminal that uses SA. “Erase scheduled time” indicates a time at which data is erased due to a reception timeout.
次に、暗号化処理部23は、IPメッセージ71のIPSEC_ESP暗号化処理を行うため、IPメッセージ71全体を暗号化する(ステップS170)。ここでの暗号化には、出力側SADB11がSA毎に持つ情報(図5に示した出力側SA情報101)を用いる。具体的には、出力側SA情報101の「対向装置」、「共有秘密鍵」、「暗号化手段」、1つ前の送信メッセージから生成しメッセージ毎に異なる現在の擬似乱数の初期ベクトル値(「現在の初期値ベクトル値」)を用いて暗号化を行う。
Next, the
次に、ESPヘッダ処理部24は暗号化したIPメッセージ71の前にESPヘッダを付与する。ここでのESPヘッダには、SA毎に異なるSPI値と、メッセージ毎にカウントアップされるシーケンス番号が付与される(ステップS180)。
Next, the ESP
さらに、本実施の形態においては、ESPヘッダ処理部24は、シーケンス使用端末DB62(後述のシーケンス番号情報103)に、SPI値とシーケンス番号をキーとして元のIPメッセージ71の発着端末アドレスを登録する(ステップS190)。
Further, in the present embodiment, the ESP
図7は、シーケンス使用端末DBが記憶するシーケンス番号情報の構成の一例を示す図である。シーケンス番号情報103(アドレス情報)は、SPI値とシーケンス番号に対応する発側端末のアドレス、着側端末のアドレスに関する情報であり、「対向装置」、「SPI値」、「シーケンス番号」、「SA使用発アドレス」、「SA使用着アドレス」がそれぞれ対応付けされている。 FIG. 7 is a diagram illustrating an example of a configuration of sequence number information stored in the sequence using terminal DB. The sequence number information 103 (address information) is information relating to the SPI value and the address of the calling terminal corresponding to the sequence number and the address of the called terminal, and includes “opposite device”, “SPI value”, “sequence number”, “ “SA use origination address” and “SA use destination address” are associated with each other.
シーケンス使用端末DB62は、所定のタイミングでシーケンス番号情報103内の所定の情報(一組の対応付け)を削除し、新たな情報(一組の対応付け)を記憶する。すなわち、シーケンス使用端末DB62は、例えば所定の期間だけシーケンス番号情報103内の情報を記憶し、所定の期間経過後に古くなったシーケンス番号情報103内の情報を削除する。また、シーケンス使用端末DB62は、シーケンス番号情報103内の情報を所定数だけ記憶し、所定数を超えて新たな情報を記憶する際には、古くなったシーケンス番号情報103内の情報を削除してもよい。
The sequence
次に、認証値計算部25はESPヘッダと暗号化したIPメッセージ71に対して、ESP認証値を算出し末尾に付与する。IPヘッダ処理部26は、認証値計算部25が生成したESPカプセル化メッセージがSAのMTUを越えている場合、フラグメント等の処理を行ってIPヘッダを付与する。IPヘッダ処理部26が作成したデータは、IPSEC_ESPカプセル化メッセージ(IPSECメッセージ72という)として、トンネル側I/F14から対向する暗号化通信装置10Bへ送信する(ステップS200)。
Next, the authentication
(復号処理)
次に、ルータR1等のトンネル側(WAN5側)から受信したデータの復号処理について説明する。図8は、トンネル側から受信したデータの復号処理の処理手順を示すフローチャートである。
(Decryption process)
Next, the decoding process of data received from the tunnel side (WAN5 side) such as the router R1 will be described. FIG. 8 is a flowchart showing a processing procedure for decrypting data received from the tunnel side.
トンネル側I/F14は、トンネル側からIPSEC_ESPカプセル化メッセージ(以下、IPSECメッセージ75という)を受信すると、一般的なルータ機能によってIP受信処理、ルーティング処理を行う。この結果、IPSECメッセージ75の宛先が自らの暗号化通信装置10Aである場合、IPSECメッセージ75の着ポート番号、上位プロトコル種別を判定し、上位プロトコル種別がIPSEC_ESPメッセージであった場合、IPSECメッセージ75をデカプセル化処理部30に渡す。ここでは、IPSECメッセージ75の上位プロトコル種別がIPSEC_ESPメッセージであるので、このIPSECメッセージ75がデカプセル化処理部30に入力される。
When the tunnel side I /
デカプセル化処理部30では、まず使用SA検索部31が、受信したIPSECメッセージ75内の暗号化通信装置10BのアドレスとSPI値に基づいて、使用するSAを検索し決定する(ステップS310)。
In the
次に、シーケンス検証部32は受信したIPSECメッセージ75内のシーケンス番号を検査してリプレイ攻撃を監査し、IPSECメッセージ75の受け入れの可否を決定する(ステップS320)。シーケンス検証部32がIPSECメッセージ75の受け入れは不可であると決定すると(ステップS320、No)、このIPSECメッセージ75は廃棄される(ステップS330)。
Next, the
一方、シーケンス検証部32がIPSECメッセージ75の受け入れが可能であると決定すると(ステップS320、Yes)、認証値確認処理部33は、受信したIPSECメッセージ75のESPヘッダと暗号化されたIPメッセージ部に対してESP認証値を算出する。そして、算出したESP認証値と、IPSECメッセージ75の末尾に付加されているESP認証値と比較し、IPSECメッセージ75の改ざんの有無を検出する(ステップS340)。
On the other hand, if the
次に、リプレイ防御処理部34は、受信したIPSECメッセージ75内のシーケンス番号によって、内部で保持するリプレイ防御ウィンドウの操作を行い、リプレイ防御ウィンドウを更新する(ステップS350)。
Next, the replay
次に、復号処理部35は、受信したIPSECメッセージ75内の暗号化されたIPメッセージ部を復号する(ステップS360)。ここでの復号には、入力側SADB12がSA毎に持つ情報(入力側SA情報)を用いる。
Next, the
なお、入力側SA情報(図示せず)は、出力側SA情報と同様の構成を有した情報であり、「発側端末」、「着側端末」、「暗号化手段」、「認証手段」、「対向装置」、「SPI値」、「共有秘密鍵」、「現在の初期ベクトル値」、「送信MTU値」がそれぞれ対応付けられている。 The input-side SA information (not shown) is information having the same configuration as the output-side SA information, and “source terminal”, “destination terminal”, “encryption unit”, “authentication unit”. , “Opposite device”, “SPI value”, “shared secret key”, “current initial vector value”, and “transmission MTU value”.
ここでは、入力側SA情報の「対向装置」、「共有秘密鍵」、「暗号化手段」、「現在の初期値ベクトル値」を用いてIPメッセージ部の復号を行う。復号されたIPメッセージ部は、IPメッセージ76として出力前SADB監査部36に入力する。
Here, the IP message part is decrypted using the “opposite device”, “shared secret key”, “encryption means”, and “current initial value vector value” of the SA information on the input side. The decrypted IP message part is input to the pre-output
出力前SADB監査部36は、復号して得たIPメッセージ76が入力側SPDの発着アドレス、プロトコル種別、発着ポートなどに基づく条件に合致しているか否かを監査する(ステップS370)。出力前SADB監査部36に監査されて、所定の条件に合致したIPメッセージ76は、端末側I/F13からLAN1内に送信される(ステップS380)。
The pre-output
(ICMP受信処理)
つぎに、ICMPの受信処理、再生処理の処理手順について説明する。まず、ICMP受信処理の処理手順について説明する。図9は、ICMP受信処理の処理手順を示すフローチャートである。
(ICMP reception processing)
Next, processing procedures of ICMP reception processing and reproduction processing will be described. First, the processing procedure of the ICMP reception process will be described. FIG. 9 is a flowchart showing a processing procedure of ICMP reception processing.
トンネル側I/F14が、トンネル側からICMPエラー通知メッセージ73を受信すると、通常のルータ機能によってIP受信処理、ルーティング処理を行う。この結果、ICMPエラー通知メッセージ73の宛先が自らの暗号化通信装置10Aである場合、ICMPエラー通知メッセージ73はICMP受信処理部40に渡される。
When the tunnel side I /
ICMP受信処理部40は、まずICMP種別判定部41により、ICMP73の種別を判定する(ステップS410)。次に、ICMP内部パケット抽出部42は、ICMPエラー通知メッセージ73のデータ部に内部メッセージを含む場合、この内部メッセージを抽出する。ICMP内部パケット抽出部42は、必要に応じて内部メッセージ自体を解析し、発着アドレス(ここでは暗号化通信装置10A,10Bのアドレス)、プロトコル種別、発着ポート番号など、一般的なIPメッセージから取得可能な情報を抽出する(ステップS420)。
The ICMP
ICMP内部パケット抽出部42は、内部メッセージ自体の解析によって、例えば内部メッセージがIPSEC_ESPカプセル化メッセージであると判定された場合、内部メッセージのさらに内部まで解析し、ESPヘッダ内のSPI値、シーケンス番号などを抽出しておく(ステップS430)。
The ICMP internal
次に、ICMP種別対応処理部43は、ICMP種別に応じて暗号化通信装置10Aが取るべき処理を行う。この取るべき処理としては、暗号化通信装置10A自体が対処すべきICMP処理(例えば暗号化通信装置10Aのルーティングテーブル更新など)(処理1)と、出力側SADB11の値を更新する処理(処理2)がある(ステップS440)。
Next, the ICMP type
例えば、ICMP種別がICMPリダイレクト通知メッセージである場合、ICMP種別対応処理部43は暗号化通信装置10Aのルーティングテーブルで、該当する宛先アドレスへのネクストホップアドレスを更新(処理1)する。
For example, when the ICMP type is an ICMP redirect notification message, the ICMP type
また、ICMP種別がICMP宛先到達不能メッセージである場合、ICMP種別対応処理部43は、まず通知された宛先への転送不能(情報)を暗号化通信装置10Aのルーティングテーブルに登録する(処理1)。さらに、ICMPエラー通知メッセージ73がデータ部にIPSEC_EPSカプセル化メッセージを含む場合、ICMP種別対応処理部43は、抽出したSPI値と着側の暗号化通信装置10Bのアドレスによって決定されるSAに対し、該当SAの使用不可に関する情報を出力側SADB11に登録する(処理2)。
When the ICMP type is an ICMP destination unreachable message, the ICMP type
また、ICMP種別がICMP_MTU超過通知メッセージの場合、ICMP種別対応処理部43は、まず暗号化通信装置10Aのルーティングテーブルにおいて通知された宛先へのMTU値を更新する(処理1)。さらに、ICMP種別対応処理部43は、ICMPエラー通知メッセージ73がデータ部にIPSEC_EPSカプセル化メッセージを含む場合、抽出したSPI値と着側の暗号化通信装置10Bのアドレスによって決定されるSAに対し、該当SAに通知されたMTU値からIPSEC処理によるオーバヘッド分を差し引いた値を、SAの更新MTU値として出力側SADB11(出力側SA情報101の「送信MTU値」)に登録する(処理2)。
When the ICMP type is an ICMP_MTU excess notification message, the ICMP type
(ICMP再生処理)
この後、ICMPエラー通知メッセージ73は、本実施の形態1の特徴的な構成要素の1つであるICMP中継再生処理部50に渡される。つぎに、ICMP中継再生処理部50が行うICMPの再生処理の処理手順について説明する。図10は、実施の形態1に係るICMP再生処理の処理手順を示すフローチャートである。
(ICMP regeneration process)
Thereafter, the ICMP
まず、ICMP中継処理判定部51では、ICMPエラー通知メッセージ73のメッセージ種別(ICMPメッセージ種別)に基づいて、このICMPエラー通知メッセージ73の通信端末側へのデータ中継処理の要否を判定する(ステップS510)。
First, the ICMP relay
ICMP中継処理判定部51で通信端末側へのデータ中継が必要であると判断された場合(ステップS510、Yes)、ICMP再生部52は、受信したICMPエラー通知メッセージ73から、通信端末側に送信すべきICMPエラー通知メッセージ74の作成を開始する。このとき、ICMP再生部52は、使用SA情報102やシーケンス番号情報103内の発側端末アドレス、シーケンス番号等に基づいて、ICMPエラー通知メッセージ74を作成する。
When the ICMP relay
ICMP再生部52は、ICMPエラー通知メッセージ74を再生する際、例えば受信したICMPメッセージ種別と端末側へ送信するICMPメッセージ種別を同一のものとする。すなわち、ICMP再生部52は、受信したICMPメッセージ種別がMTU超過メッセージなら通信端末側に送信するICMPメッセージ種別もMTU超過メッセージとする。また、ICMP再生部52は、ICMPエラー通知メッセージ74を再生する際、状況によっては暗号化通信装置10Aの解釈に応じて異なるICMPメッセージ種別に設定してもよい。
When playing back the ICMP
再生されたICMPエラー通知メッセージ74は、ICMP送信端末決定部53に渡される。ICMP送信端末決定部53では、受信したICMPエラー通知メッセージ73のメッセージ種別と通信端末側へ送信するICMPエラー通知メッセージ74のメッセージ種別に基づいて、通信端末側へ送信するICMPエラー通知メッセージ74の送信先を決定する(ステップS530)。
The reproduced ICMP
例えば、ICMPメッセージ種別のタイプが「時間超過」であり、コードが「TTL(Time To Live)超過」の場合、暗号化通信装置10AはIPSECメッセージ72の送信時に、元の通信端末からのメッセージのTTLから1を引いて送信している。このため、このICMPエラー通知メッセージ73は発側端末が設定するTTL値に由来していると考えられる。この場合、ICMP送信端末決定部53は、ICMPエラー通知メッセージ74を発側端末だけに通知すると判断する。
For example, when the ICMP message type is “time exceeded” and the code is “TTL (Time To Live) exceeded”, the
また、ICMPメッセージ種別のタイプが「宛先到達不能メッセージ」であり、コードが「フラグメント必要でDF設定」の場合、ICMPエラー通知メッセージ74の送信先はさらに暗号化通信装置10AのDF設定ポリシーにも依存する。
Further, when the type of the ICMP message type is “destination unreachable message” and the code is “fragment required and DF setting”, the transmission destination of the ICMP
暗号化通信装置10AのDF設定ポリシーには3種類ある。すなわち、DF設定ポリシーには、送信するIPSECメッセージに必ずDFを設定しない(設定1)、必ずDFを設定する(設定2)、元の通信端末(発側端末)からのDF値をコピーする(設定3)がある。
There are three types of DF setting policies for the
例えば、設定1の場合、フラグメントが必要でDF設定というエラー自体が発生しない。また、設定2の場合、SAを使用する全ての発側端末は通知されたMTU値まで、送信MTUを下げる必要があり、ICMP送信端末決定処理部は53は、このSAを使用している全通信端末にICMPエラー通知メッセージ74を通知すると判断する。
For example, in the case of setting 1, a fragment is necessary and an error of DF setting itself does not occur. Also, in the case of setting 2, it is necessary for all calling terminals that use SA to lower the transmission MTU to the notified MTU value, and the ICMP transmission terminal
また、設定3の場合、SAを使用するDFを設定し送信する通信端末だけが、送信MTUを下げる必要があり、ICMP送信端末決定部53は、DFを設定して送信する通信端末(このICMPエラー通知メッセージ73に関連する発側端末)にだけICMPエラー通知メッセージ74を通知すると判断する。
In the case of setting 3, only the communication terminal that sets and transmits the DF using SA needs to lower the transmission MTU, and the ICMP transmission
また、ICMPメッセージ種別のタイプが「宛先到達不能メッセージ」であり、コードが「ネットワーク到達不能」またはコードが「ホスト到達不能」の場合には、該当SA自体が到達不能になっているので、ICMP送信端末決定部53は、このSAを使用している全通信端末にICMPエラー通知メッセージ74を通知すると判断する。
If the ICMP message type is “destination unreachable message” and the code is “network unreachable” or the code is “host unreachable”, the SA itself is unreachable, so ICMP The transmission
このようにしてICMP送信端末決定部53は、SAを使用している全通信端末にICMPエラー通知メッセージ74を通知するか、発側端末だけにICMPエラー通知メッセージ74を通知をするかを決定する。さらに、ICMP送信端末決定部53は、再生したICMPエラー通知メッセージ74を送信する発側端末範囲(後述の発側端末範囲301,302)を決定する(ステップS540)。
In this way, the ICMP transmission
ここで、発側端末範囲について説明する。図11は、発側端末範囲を説明するための図である。ここでは、ICMPエラー通知メッセージ74を発側端末だけに送信する場合の発側端末範囲を発側端末範囲301、ICMPエラー通知メッセージ74を、SAを使用している通信端末に送信する場合の発側端末範囲を発側端末範囲302、ICMPエラー通知メッセージ74をSAの収容範囲全体に送信する場合の発側端末範囲を発側端末範囲303で示している。
Here, the calling terminal range will be described. FIG. 11 is a diagram for explaining the originating terminal range. Here, the originating terminal range when the ICMP
例えば、ICMPメッセージ種別のタイプが「時間超過」であり、コードが「TTL超過」の場合、ICMPエラー通知メッセージ74を発側端末だけに通知すればよいので、ICMPエラー通知メッセージ74は発側端末範囲301に送信する。
For example, when the ICMP message type is “time exceeded” and the code is “TTL exceeded”, the ICMP
また、ICMPメッセージ種別のタイプが「宛先到達不能メッセージ」、コードが「フラグメント必要でDF設定」の場合で、DF設定ポリシーが設定2の場合、SAを使用している全通信端末にICMPエラー通知メッセージ74を通知する必要があるので、ICMPエラー通知メッセージ74は発側端末範囲302に送信する。
Further, when the ICMP message type is “Destination Unreachable Message”, the code is “Fragment Required and DF Setting”, and the DF Setting Policy is Setting 2, an ICMP error notification is sent to all communication terminals using the SA. Since it is necessary to notify the
また、ICMPメッセージ種別のタイプが「宛先到達不能メッセージ」、コードが「フラグメント必要でDF設定」の場合で、DF設定ポリシーが設定3の場合、DFを設定して送信する通信端末にだけICMPエラー通知メッセージ74を通知すればよいので、ICMPエラー通知メッセージ74は発側端末範囲301に送信する。
Also, when the ICMP message type is “Destination Unreachable Message”, the code is “Fragment Required and DF Setting”, and the DF Setting Policy is Setting 3, the ICMP error only applies to the communication terminal that sets and sends the DF. Since the
また、ICMPメッセージ種別のタイプが「宛先到達不能メッセージ」であり、コードが「ネットワーク到達不能」または「ホスト到達不能」の場合、SAを使用している全通信端末にICMPエラー通知メッセージ74を通知する必要があるので、ICMPエラー通知メッセージ74は発側端末範囲302に送信する。
Further, when the type of the ICMP message type is “destination unreachable message” and the code is “network unreachable” or “host unreachable”, an ICMP
ICMPエラー通知メッセージ74を所定の発側端末(発側端末範囲301)だけに通知する場合、ICMP送信端末決定部53は、ICMP内部パケット抽出部42で抽出したESPヘッダ内のSPI値とシーケンス番号とをキーとして、シーケンス使用端末DB62(シーケンス番号情報103)から元の発側端末アドレス(例えば通信端末X1のアドレス)を取得する。そして、再生されたICMPエラー通知メッセージ74は、端末側I/F13を介して、この発側端末アドレスだけに送信される。
When notifying the ICMP
また、ICMPエラー通知メッセージ74をSAを使用する全通信端末(発側端末範囲302)に通知する場合、ICMP内部パケット抽出部42で抽出したESPヘッダ内のSPI値をキーとしてSA使用端末DB61(使用SA情報102)からSAを使用している全発側端末アドレス(発側端末範囲302内の全通信端末のアドレス)を取得する。そして、再生されたICMPエラー通知メッセージ74は、端末側I/F13を介して、この全発側端末アドレスに送信される。
Further, when notifying the ICMP
ここで、本実施の形態1に係る暗号化通信装置10Aと従来の暗号化通信装置(発側トンネル装置)の差異を明確にするため従来の発側トンネル装置の問題点を説明する。ICMPエラー通知メッセージ74は、種別によって以下の種別1〜3の3つに分けることができる。すなわち、ICMPエラー通知メッセージとしては、まず「Echo_Reply」のように通信端末間又は暗号化通信装置間で直接やり取りされるカプセル化と関係無いICMPメッセージ(種別1)がある。また、ICMPエラー通知メッセージとして、ICMPパラメタ不良・リダイレクト・宛先到達不能・時間超過メッセージのように、暗号化通信装置10Aなどのトンネル装置に返答されるメッセージで、中継路上でカプセル化されていることを知らない送信元ホストがそのまま受信しても意味が無いICMPメッセージ(種別2)がある。さらに、ICMPエラー通知メッセージとして、ICMP発信元送信抑制、ICMPエラー通知メッセージのように発側端末に直接返答されるべきICMPメッセージ(種別3)がある。
Here, in order to clarify the difference between the
ICMPエラー通知メッセージ73には、ICMP発信元送信抑制、ICMP_MTU超過(フラグメントが必要でDF設定あり)、ICMP宛先到達不能、ICMPパラメタ異常、ICMPリダイレクト通知など、ICMPエラー通知メッセージにエラーを検出する原因となった元メッセージの一部をデータとして付与するものがある。このため、元メッセージを内包するICMPエラー通知メッセージ73は、種別3のような発側端末に直接返答されるべきICMPメッセージが多い。なぜなら、これらのICMPメッセージは、発側端末に着側端末への到達不能という障害通知と、その障害の原因を発側端末が解析するために、元メッセージも通知する目的を持っているからである。
The ICMP
このため、従来までの発側トンネル装置では、トンネル経路上IPルータから自装置宛てのICMPエラー通知メッセージ73を受信すると、受信したICMPエラー通知メッセージ73の種別を調べ、種別3のようなトンネル経路上IPルータから発側端末へ通知されるべきICMPメッセージで、かつICMPエラー通知メッセージ73が元メッセージの一部をデータとして含んでいる場合、さらにICMPエラー通知メッセージの内側まで深く解析して発着端末アドレスを判定し、所定の発側端末アドレスへICMPエラー通知メッセージ73を中継転送する必要があった。
For this reason, in the conventional tunnel device on the originating side, when the ICMP
ところが、発側トンネル装置は、IPSEC環境でのICMPエラー通知メッセージ73から発着端末アドレスを判定しようとすると、このデータ部に付与される元メッセージは発側トンネル装置自体が生成したトンネリング用のカプセル化メッセージになってしまっている。
However, when the originating tunnel device attempts to determine the destination terminal address from the ICMP
なぜなら、発側トンネル装置はIPメッセージの送信時に、発着端末間のIPメッセージを内側に隠蔽し、外側に発着トンネル装置アドレスを設定したトンネリング用の外側のカプセル化メッセージで送信しているからである。すなわち、実際の発側端末アドレスは、発側トンネル装置が受信したICMPエラー通知メッセージ73の、データ領域に付与されたエラーの原因となったカプセル化メッセージの、さらにその内側に存在している。
This is because, when sending an IP message, the originating tunnel device conceals the IP message between the sending and receiving terminals on the inside, and sends it in the outer encapsulated message for tunneling in which the sending and receiving tunnel device address is set on the outside. . That is, the actual calling terminal address is present further inside the encapsulated message that causes the error assigned to the data area of the ICMP
ICMPエラー通知メッセージ内に付与されるデータ領域の最低長は、RFCの規定では、元のメッセージ(この場合はカプセル化メッセージ)のIPヘッダ長+64Byte以上である。 The minimum length of the data area given in the ICMP error notification message is equal to or greater than the IP header length of the original message (in this case, the encapsulated message) +64 bytes, according to RFC specifications.
例えば、発側トンネル装置がIPメッセージをカプセル化して送信する際に、カプセル化に使用するパラメータが多い、あるいは各々のパラメータが使用するバイト数が大きい等の理由で、構成されるカプセル化ヘッダ長が大きくなる場合がある。このような場合、カプセル化ヘッダ長により実際に通信端末が使用する真のメッセージのIPヘッダ部を復元するのに必要な長さが、ICMPエラー通知メッセージ内に付与されるデータ領域の最低長64Byteで収まらない場合がある。このとき、従来の発側トンネル装置では、内側に存在する発着端末アドレスを直接判定できないこととなる。 For example, when the originating tunnel device encapsulates and transmits an IP message, there are many parameters used for encapsulation, or the number of bytes used by each parameter is large. May become larger. In such a case, the length required to restore the IP header part of the true message that is actually used by the communication terminal by the encapsulation header length is the minimum length of 64 bytes of the data area provided in the ICMP error notification message. May not fit in. At this time, the conventional calling side tunnel device cannot directly determine the arrival / departure terminal address existing inside.
また、トンネルモードのIPSEC_ESP処理を実行する場合、内側のメッセージ(実際に通信端末が使用する真のメッセージ部)はトンネル経路上で暗号化+カプセル化して隠蔽される。これにより、発側トンネル装置はICMPエラー通知メッセージ内に含まれる元メッセージ(発着トンネル装置アドレスを持った外側のカプセル化メッセージヘッダ)の内容は解析できるが、内側の通信端末が使用する真のメッセージ部は暗号化され、そのヘッダ部までは直接解析できないこととなる。このため、発側トンネル装置は、ICMPエラー通知メッセージ73を戻すべき発側端末アドレスを直接判定できないこととなる。
In addition, when the tunnel mode IPSEC_ESP process is executed, the inner message (the true message part actually used by the communication terminal) is concealed by encryption + encapsulation on the tunnel path. As a result, the originating tunnel device can analyze the content of the original message (the outer encapsulated message header with the incoming and outgoing tunnel device address) included in the ICMP error notification message, but it is a true message used by the inner communication terminal. The part is encrypted, and the header part cannot be directly analyzed. For this reason, the originating tunnel device cannot directly determine the originating terminal address to which the ICMP
さらに、従来の暗号化通信装置では、トンネル経路に収容する発着端末アドレスとしてアドレスの範囲を指定し、複数の発着端末アドレスからのメッセージをまとめてこのトンネルに収容して転送する場合に、収容アドレス範囲が指定されたICMPエラー通知メッセージ73を発側端末に戻すだけでは不十分な場合がある。これは、トンネル経路上のルータから受信したICMP宛先到達不能などのICMPエラー通知メッセージ73は、その障害を検出する要因となったメッセージを送信した発側端末だけに対処すべき問題があるのではなく、このメッセージが収容されたトンネルの発アドレス範囲内に存在する通信端末全てにとって、対処すべき問題が発生した障害だからである。
Furthermore, in the conventional encrypted communication device, when a range of addresses is specified as a destination terminal address accommodated in a tunnel route, and messages from a plurality of destination terminal addresses are collectively accommodated in this tunnel and transferred, the accommodated address It may not be sufficient to simply return the ICMP
つまり、この場合に問題となる障害はトンネルに関係しているので、発側トンネル装置はトンネル経路上ルータから受信したICMPエラー通知メッセージ73を、このトンネルを使用している(使用する可能性のある)発側端末にも通知することが望ましい。
That is, in this case, since the trouble that becomes a problem is related to the tunnel, the originating tunnel device uses the ICMP
このような場合、ICMPエラーを通知すべき発側端末は、障害が発生したトンネルに収容する発側アドレス範囲(発側端末範囲303)内に存在する。ところが、どの発側端末が現在、そのトンネルを使用している(使用する可能性がある)かを判断する情報がICMPエラー通知メッセージ73には含まれず、さらにカプセル化トンネリング装置自体も判断情報を持たないため、実際にそのトンネルを使用している発側端末範囲302の判定を行うことは難しい。
In such a case, the calling terminal that should notify the ICMP error is present in the calling address range (calling terminal range 303) accommodated in the tunnel in which the failure has occurred. However, the ICMP
トンネルの収容発側アドレス範囲の発側端末の全て(発側端末範囲303)にICMPエラー通知メッセージ73すると、実際にはこのトンネルを使用している発側端末数がトンネルの発側アドレス範囲の端末数に比べて小さい場合、多くの不要なICMPエラー通知メッセージ73が通信端末側に通知されることになる。例えば、トンネルの発側アドレス範囲=(192.168.0.0/16)の65535台に対し、実際にこのトンネル使用する端末のアドレスが(192.168.0.1−192.168.0.10)の10台程度である場合、多くの不要なICMPエラー通知メッセージ73が通信端末側に通知されることになる。これにより、通信端末へのICMPエラー通知メッセージ74、あるいはこれに伴うARP送受信などによって帯域の無駄な消費になる。
When the ICMP
一方、ICMPエラー通知メッセージ73をその障害を検出する要因となったメッセージの発側端末(発側端末範囲301)のみに通知すると、実際にはこのトンネルを使用している通信端末数が非常に多い場合、トンネルを使用する多くの通信端末へのICMPエラー通知処理が複雑になる。例えば、トンネルの発側アドレス範囲=(192.168.0.0/24)に対し、実際にこのトンネル使用する通信端末のアドレスが(192.168.0.1−192.168.0.250)の250台と多い場合がある。
On the other hand, if the ICMP
このとき、トンネルを使用する多くの通信端末は、各々が通信端末からトンネルを使用するメッセージを送信し、発側トンネル装置はこの各々の通信端末が送信するメッセージを受信する。そして、発側トンネル装置は各々のメッセージに使用するトンネルを判定し、さらにこの障害が発生したトンネルを使用するのでICMPエラー通知メッセージの転送不可と判定した後、ようやくICMPエラー通知メッセージ74をその通信端末だけに応答することとなる。 At this time, many communication terminals using the tunnel each transmit a message using the tunnel from the communication terminal, and the originating tunnel device receives the message transmitted by each communication terminal. The originating tunnel device determines the tunnel to be used for each message, and further determines that the ICMP error notification message cannot be transferred because it uses the tunnel in which this failure has occurred. It will respond only to the terminal.
すなわち、非特許文献1で説明した状況が各々の通信端末に対して大規模に発生し、発側端末は中継路上のトンネル使用不可による障害発生を、各々の通信端末が次のメッセージを送信しICMPエラーが応答されるまで知ることは出来ないというタイムタグが発生する。さらに、各々の発側端末が個別にメッセージを送信し、それに伴い個別にICMPエラー通知されることで、多くの不要な送信メッセージが発側トンネル装置に送信され、帯域の無駄な消費になるだけでなく、発側トンネル装置の処理負荷も増大する。 That is, the situation described in Non-Patent Document 1 occurs on a large scale for each communication terminal, the originating terminal transmits a failure due to the unavailability of the tunnel on the relay path, and each communication terminal transmits the next message. A time tag that cannot be known until an ICMP error is responded occurs. Furthermore, each originating terminal individually sends a message, and accordingly, an ICMP error notification is sent individually, so that many unnecessary sending messages are sent to the originating tunnel device, which only wastes bandwidth. In addition, the processing load on the originating tunnel device also increases.
一方、本実施の形態1に係る暗号通信装置10Aは、SA使用端末DB61(使用SA情報102)とシーケンス使用端末DB62(シーケンス番号情報103)を備え、IPSECメッセージ72の送信時に、SAを使用する発着通信端末と、シーケンス番号毎の発着通信端末アドレスを記憶するようにしている。
On the other hand, the
また、暗号通信装置10Aは、ICMP中継処理判定部51、ICMP再生部52、ICMP送信端末決定部53を備え、ICMPエラー通知メッセージ73の受信時には、通知されたICMPエラーの内容を解釈するとともに、ICMPエラー通知メッセージ74を再生している。さらに、受信したICMPエラーの種別に応じて、ICMPエラー通知メッセージ74を通知する発側端末を決定し、使用SA情報102、シーケンス番号情報103に基づいて、ICMPエラー通知メッセージ74を通知する発側端末のアドレスを回復できるようにしている。
The
これにより、ICMPエラー通知メッセージ73を受信した際の発着端末アドレスをICMPエラー通知メッセージ73から直接判定することが可能となる。したがって、暗号化通信装置10Aがトンネリング通信を利用し、トンネル経路上で送受信されるトンネリングメッセージの発着アドレスが発着トンネル装置(暗号化通信装置10A,10B)のアドレスとなり、発着端末のアドレスが内側メッセージに隠蔽されてしまう場合であっても、適切な発側端末にICMPエラー通知メッセージ74を送信することが可能となる。
This makes it possible to directly determine the arrival / departure terminal address when the ICMP
このように実施の形態1によれば、暗号通信装置10Aは、発側端末から送信された元のIPメッセージの部分が暗号化されている場合であっても、暗号化通信路上(トンネル側)から送信IPSECメッセージ72を含むICMPエラー通知メッセージ73を受信した際に、ICMPエラー通知メッセージ73を必要とする発側端末を適切に判断することが可能となる。したがって、容易にICMPエラー通知メッセージ74を適切な発側端末に通知することが可能となる。
As described above, according to the first embodiment, the
また、暗号通信装置10Aは、ICMPエラー通知メッセージ73の必要な発側端末を絞り込んでICMPエラーを通知するので、暗号通信装置10Aが通信端末に送信する不要なICMPエラーの通知量(データ量)を削減できる。
Further, since the
また、暗号通信装置10Aは、トンネル経路上のIPルータ(ルータR1〜R3)からICMPエラー通知メッセージ73を受信した際に、発側端末側にICMPエラー通知メッセージ73を行なうので、発側端末が、発側端末から送信したメッセージが暗号化通信路(トンネル経路)上で発生させた障害や状態変化を知るまでのタイムラグを短くさせることが可能となる。したがって、発側端末は、暗号化通信路を使用する不要なメッセージを送信することが無くなり、発側端末が暗号通信装置10Aに送信する不要な送信メッセージ量も削減できる。これにより、帯域の無駄な消費を抑制し、発側端末に効率良くICMPエラー通知メッセージ74を通知することが可能となる。
In addition, when the
また、暗号通信装置10Aは、SA使用端末DB61(使用SA情報102)で受信タイムアウトとなったデータを削除(忘却)するので、SA使用端末DB61を効率良く利用することができるとともに、メモリ容量を小さく構成することが可能になる。
Further, since the
また、暗号通信装置10Aは、シーケンス使用端末DB62(シーケンス番号情報103)で、所定時間の経過後等に古くなったデータを削除するので、シーケンス使用端末DB62を効率良く利用することができるとともに、メモリ容量を小さく構成することが可能になる。
Further, since the
実施の形態2.
つぎに、図12〜図15を用いてこの発明の実施の形態2について説明する。実施の形態2では、暗号化された元のIPメッセージの一部を復号して、ICMPエラー通知メッセージ74を送信すべき発側端末のアドレスを割り出す。
Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described with reference to FIGS. In the second embodiment, a part of the encrypted original IP message is decrypted, and the address of the originating terminal to which the ICMP
図12は、本発明に係る暗号化通信装置の実施の形態2の構成を示すブロック図である。図12の各構成要素のうち図3に示す実施の形態1の暗号化通信装置10Aと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
FIG. 12 is a block diagram showing the configuration of the second embodiment of the encrypted communication apparatus according to the present invention. Of the constituent elements in FIG. 12, the constituent elements that achieve the same functions as those of the
ここでの暗号化通信装置10Aは、ICMP再生データ管理部60にSA使用端末DB61を備えている。また、暗号化通信装置10Aは、ICMP中継再生処理部50に、ICMP中継処理判定部51、ICMP復号・再生処理部55、ICMP送信端末決定部53を有している。
The encrypted communication device 10 </ b> A here includes an SA using
ICMP復号・再生処理部55は、受信したICMPエラー通知メッセージ73(後述のメッセージM11〜M15)に付与されたIPSECメッセージから、IPSEC_ESPヘッダと初期ベクトル値を得て、元のIPメッセージヘッダを復号する。 The ICMP decoding / reproduction processing unit 55 obtains the IPSEC_ESP header and the initial vector value from the IPSEC message attached to the received ICMP error notification message 73 (messages M11 to M15 described later), and decodes the original IP message header. .
つぎに、実施の形態2に係る暗号化通信装置10Aの動作手順について説明する。なお、実施の形態1の暗号化通信装置10Aと同様の動作を行なう手順についてはその説明を省略する。
Next, an operation procedure of the
(送信側での暗号化処理)
図13は、送信側の暗号化通信装置の暗号化処理を説明するための図である。暗号化通信装置10Aの暗号化処理部23は、発側端末からのIPメッセージ71を受信して、対向する暗号化通信装置10BへIPSECメッセージ72を送信するため、IPメッセージ71の暗号化処理を行なう。
(Encryption processing on the sending side)
FIG. 13 is a diagram for explaining the encryption processing of the encryption communication device on the transmission side. The
このとき、暗号化処理部23は、対抗する暗号化通信装置10Bと共有する共有秘密鍵81、最初の送信メッセージの時は初期ベクトル値の初期値82、あるいは後続の送信メッセージではその1つ前の送信メッセージの暗号化データ(暗号ブロックの最終ブロック)から生成する初期ベクトル値131〜134を用いて、各メッセージM1〜M5(IPメッセージ71)を暗号化する。初期ベクトル値の初期値82、初期ベクトル値131〜135は、メッセージ毎に異なる擬似乱数の初期ベクトルであり、暗号化処理部23は、この初期ベクトル値の初期値82、あるいは初期ベクトル値131〜134を用いて、暗号化に使用する暗号化ブロック長単位でIPメッセージ71を暗号化する。
At this time, the
これらの初期ベクトル値は、各パケット(メッセージM1〜M5)毎に、ESPデータ内の最初の部分に付与される。すなわち、初期ベクトル値は、ESPヘッダの直後の部分であって、暗号化するIPメッセージ71の前(暗号化データの前)に付与される。すなわち、初期ベクトル値はESPヘッダと暗号化したIPメッセージの間に入れられている。なお、ここでの初期ベクトル値はESPヘッダには含まれずペイロード部に含まれている。
These initial vector values are assigned to the first part in the ESP data for each packet (messages M1 to M5). That is, the initial vector value is a portion immediately after the ESP header and is given before the
(送信側でのICMP復号処理)
図14は、送信側の暗号化通信装置のICMP復号処理を説明するための図である。暗号化通信装置10AのICMP復号・再生処理部55は、ルータR1〜R3からICMPエラー通知メッセージ73(メッセージM1〜M5に対応するメッセージM11〜M15)を受信すると、このメッセージM11〜M15の暗号化に使用した初期ベクトル値の再生と、メッセージM11〜M15の復号を行なう。
(ICMP decoding process on the transmission side)
FIG. 14 is a diagram for explaining ICMP decryption processing of the encrypted communication device on the transmission side. When receiving the ICMP error notification message 73 (messages M11 to M15 corresponding to the messages M1 to M5) from the routers R1 to R3, the ICMP decryption / reproduction processing unit 55 of the
ここでのメッセージM11〜M15の復号には、共有秘密鍵81、初期ベクトル値の初期値82、初期ベクトル値131〜134が必要となる。共有秘密鍵はSAが永続する限り不変であるが、各初期ベクトル値131〜135はメッセージ毎に可変となる。
The decryption of the messages M11 to M15 here requires the shared secret key 81, the
このためICMP復号・再生処理部55は、受信したICMPエラー通知メッセージ73(メッセージM11〜M15)に付与されたIPSECメッセージから、IPSEC_ESPヘッダの初期ベクトル値を得て、元のIPメッセージヘッダ(IPヘッダ)を復号する。 Therefore, the ICMP decoding / reproduction processing unit 55 obtains an initial vector value of the IPSEC_ESP header from the IPSEC message attached to the received ICMP error notification message 73 (messages M11 to M15), and obtains the original IP message header (IP header). ).
この時、受信したICMPエラー通知メッセージ73に付与されるデータ長としては、IPSEC_ESPヘッダ長+各暗号化アルゴリズムが使用する初期ベクトル長+元のIPメッセージのヘッダ長分が必要となる。さらに、元のIPメッセージヘッダはブロック暗号のブロック暗号長単位で復号される。このため、ルータR1〜R3が応答するICMPエラー通知メッセージ73(メッセージM11〜M14)の付与メッセージ長は、暗号化通信装置10Aと暗号化通信装置10Bの間で使用されるIPSECメッセージのIPヘッダ長に加え、以下のヘッダ長を用いて応答する。すなわち、ルータR1〜R3は、IPSECメッセージのIPヘッダ長、IPSEC_ESPヘッダ長と各暗号化アルゴリズムが使用する初期ベクトル長(A)、暗号化された元のオリジナルメッセージのIPヘッダ長(B)の合計値以上のデータ長で、メッセージM11〜M14を暗号化通信装置10Aに応答する。
At this time, as the data length given to the received ICMP
なお、(B)のデータの暗号化はDES、3DES等のブロック暗号により行われるとともに、ブロック暗号は64bitや128bit等のブロック単位長毎でないと暗号化通信装置10Aで復号できないため、(B)のデータ長(オリジナルメッセージ長のIPヘッダ長)は、使用するブロック暗号化アルゴリズムの暗号化ブロック単位長で切り上げた長さとする。
The data encryption in (B) is performed by block cipher such as DES and 3DES, and the block cipher cannot be decrypted by the
ここでは、メッセージM2,3,5に対応するメッセージM12,13,15がルータR1〜R3の何れかからICMP応答なしの場合を示している。このような場合であっても、ICMP復号・再生処理部55が、例えばメッセージM14を復号する際には、メッセージM14に付与されたIPSECメッセージから、IPSEC_ESPヘッダの直後の初期ベクトル値を得て、元のIPメッセージヘッダ(IPヘッダ)を復号できる。 Here, a case is shown in which the messages M12, 13, and 15 corresponding to the messages M2, 3, and 5 do not have an ICMP response from any of the routers R1 to R3. Even in such a case, when the ICMP decoding / reproduction processing unit 55 decodes the message M14, for example, the initial vector value immediately after the IPSEC_ESP header is obtained from the IPSEC message given to the message M14. The original IP message header (IP header) can be decrypted.
(受信側でのメッセージ復号処理)
図15は、受信側の暗号化通信装置のメッセージ復号処理を説明するための図である。ルータR1〜R3の何れかから暗号化通信装置10BへICMPエラー通知メッセージ73が送られることなく、暗号化通信装置10Aから暗号化通信装置10Bへ、IPSECメッセージ72が送信されると、暗号化通信装置10Bの復号処理部35は受信したIPSECメッセージ72(メッセージM1〜M5に対応するメッセージM21〜M25)の復号を行なう。このとき、暗号化通信装置10Bは、メッセージM21〜M25の暗号化に使用した初期ベクトル値を再生し、メッセージM21〜M25の復号を行なう。
(Message decryption process on the receiving side)
FIG. 15 is a diagram for explaining message decryption processing of the encrypted communication device on the receiving side. When the
ここでは、メッセージM2に対応するメッセージM22がルータR1〜R3の何れかによる廃棄処理によって欠落している場合を示している。このような場合であっても、復号処理部35が、例えばメッセージM23を復号する際には、IPSEC_ESPヘッダの直後の初期ベクトル値を得て、メッセージM23に付与されたIPSECメッセージ部を復号する。
Here, a case where the message M22 corresponding to the message M2 is missing due to the discarding process by any of the routers R1 to R3 is shown. Even in such a case, for example, when decoding the message M23, the
なお、ここでは暗号化通信装置10Aから暗号化通信装置10Bへ送信するメッセージがメッセージM1〜M5の5つである場合について説明したが、メッセージ数は5つに限られず4つ以下でもよいし6つ以上でもよい。
Although the case where the number of messages transmitted from the
このように実施の形態2によれば、ICMPエラー通知メッセージ73に付与するデータ長を、IPSECメッセージのIPヘッダ長、IPSEC_ESPヘッダ長と各暗号化アルゴリズムが使用する初期ベクトル長(A)、暗号化された元のオリジナルメッセージのIPヘッダ長(B)の合計値以上のデータ長(元のオリジナルメッセージ長のIPヘッダを復号できる十分なデータ長)としているので、ICMP復号・再生処理部55は、所望の元のオリジナルメッセージのIPヘッダを復号することが可能となる。これにより、暗号化通信装置10Aは、ICMPエラー通知メッセージ73を送信すべき通信端末のアドレス(端末識別情報)を得ることができ、適切な通信端末にICMPエラー通知メッセージ74を送信することが可能となる。
As described above, according to the second embodiment, the data length to be added to the ICMP
また、暗号化通信装置10Aは、ICMPエラー通知メッセージ73からICMPエラー通知メッセージ73を送信すべき通信端末のアドレスを得ることができるので、シーケンス番号等を記憶しておくシーケンス使用端末DB62を用いることなく、簡易な構成で適切な通信端末にICMPエラー通知メッセージ74を送信することが可能となる。
Further, since the
実施の形態3.
つぎに、図16〜図18を用いてこの発明の実施の形態3について説明する。実施の形態3では、IPSECメッセージ72を送信する際にIPSECメッセージ72を識別するための情報を記憶しておき、ICMPエラー通知メッセージ73を受信した際には、記憶しておいた情報に基づいて、ICMPエラー通知メッセージ73が偽装したものであるか否かを判断する。これにより、偽装されたIPSEC_ESPヘッダ部のシーケンス番号を持ったICMPエラーを通知して通信を妨害するDoS攻撃に耐性を持たせる。
Embodiment 3 FIG.
Next, a third embodiment of the present invention will be described with reference to FIGS. In the third embodiment, information for identifying the
図16は、本発明に係る暗号化通信装置の実施の形態3の構成を示すブロック図である。図16の各構成要素のうち図3に示す実施の形態1の暗号化通信装置10Aと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
FIG. 16 is a block diagram showing the configuration of the third embodiment of the encrypted communication apparatus according to the present invention. Of the constituent elements in FIG. 16, the constituent elements that achieve the same functions as those of the
ここでの暗号化通信装置10Aは、シーケンス認証値DB(記憶部)91を備えている。また、暗号化通信装置10Aは、ICMP受信処理部40に、ICMP内部パケット抽出・監査処理部45を備えている。
Here, the encrypted communication device 10 </ b> A includes a sequence authentication value DB (storage unit) 91. In addition, the
シーケンス認証値DB91は、暗号化通信装置10AがIPSECメッセージ72を送信する際に算出される、独自のメッセージダイジェスト認証値(後述の偽装検出用認証値)に関する情報(後述の認証値情報104)を記憶する。
The sequence
ICMP復号・再生処理部55は、暗号化通信装置10AにICMPエラー通知メッセージ73や後述の偽装メッセージが通知された際、元のIPSECメッセージ72のIPヘッダ+64Byteに対して偽装検出用認証値を算出するとともにシーケンス番号を抽出する。ICMP内部パケット抽出・監査処理部45は、抽出したシーケンス番号をキーとして、シーケンス認証値DB91からシーケンス番号に対応する偽装検出用認証値を抽出し、シーケンス認証値DB91から抽出した偽装検出用認証値と算出した偽装検出用認証値を比較して、偽装メッセージを検出する。
The ICMP decryption / reproduction processing unit 55 calculates an impersonation detection authentication value for the IP header +64 bytes of the
つぎに、偽装されたICMPエラー通知メッセージ73の検出方法について説明する。正規のルータであるルータR1等が送信するICMPエラー通知メッセージ73と、偽物のルータ(以下、偽装ルータという)が送信するICMPエラー通知メッセージ(以下、偽装メッセージという)は、ESPヘッダ+データ部が僅かに異なっている。
Next, a method for detecting the camouflaged ICMP
これは、偽装ルータが正規の元のIPSECメッセージ72を知ることが出来ないため、偽装ルータが予測によって偽装メッセージに含める元のIPSECメッセージ72の部分(データ部)を生成するからである。
This is because the camouflaged router cannot know the
本実施の形態3に係る暗号化通信装置10Aは、通信システム100内で、ルータR1等が送信するICMPエラー通知メッセージ73と、偽装ルータが送信する偽装メッセージとで異なる部分を抽出し、偽装メッセージを検出する。
The
偽装ルータは、発側の暗号化通信装置10Aや着側の暗号化通信装置10Bのアドレス、中継路上にある正規のルータR1〜R3のアドレス、ESPで使用するSPI値などは何らかの手段で入手できる可能性がある。また、ESPで使用するシーケンス番号は1から順に始まることなどを利用して、偽装メッセージを偽造できる場合がある。
The spoofed router can obtain the addresses of the originating
しかしながら、発側端末が実際に転送するIPメッセージ71をさらに暗号化したIPSECメッセージ72の内部パケットの部分まで偽造することは、実際のIPSECメッセージ72を受信可能な正規の暗号化通信路上のルータR1〜R3以外には不可能である。
However, forging the
正規のICMPエラー通知メッセージ73に含まれる元のIPSEC_ESPメッセージと、偽装メッセージに含まれるIPSEC_ESPメッセージの異なる部分(差異)として各バイト位置の値があげられる。ところが、この差異は全てのバイト位置で必ず発生するという分けではない。特定の1バイト同士でメッセージを比較する場合、例えば攻撃者はその特定のバイトを0x00〜0xffまでの全ての値を持った偽造したICMPエラー通知を生成すれば、簡単に発側の暗号通信装置10Aの偽装検出を回避することができてしまう。
The value of each byte position is given as a different part (difference) between the original IPSEC_ESP message included in the regular ICMP
一方、送信した真のIPSECメッセージ72の元のIPSEC_ESPメッセージの全バイトと、偽装メッセージが含むIPSEC_ESPメッセージの全バイトについて異なる部分を検査し、1バイトでも違いが発生していれば、それは偽装メッセージであると判断できる。
On the other hand, if all the bytes of the original IPSEC_ESP message of the transmitted
したがって、本実施の形態3においては、発側の暗号通信装置10Aは、送信する全てのIPSECメッセージ72を所定の期間保存し、ICMPエラー通知メッセージ73や偽装メッセージが応答されると、メッセージ内に付与された元のIPSEC_ESPメッセージの一部と保存しておいたIPSECメッセージ72を比較する。そして、両者に差異があれば、この差異を検出してメッセージの受け入れを拒否する。
Therefore, in the third embodiment, the originating
また、本実施の形態3においては、発側の暗号通信装置10Aは、メッセージダイジェスト認証を用いて正当なメッセージと偽装メッセージの差異比較や差異点の抽出処理を行なう。
Further, in the third embodiment, the originating
元のIPSECメッセージ71には図13に示したように、メッセージダイジェスト認証値が付与され保護されている。しかしながら、このメッセージダイジェスト認証値は、元のIPSEC_ESPメッセージの最後に付与されるので、通知されたICMPエラー通知メッセージ73からは、元のIPSEC_ESPメッセージの正当性は検証できない。
As shown in FIG. 13, the
そこで、ここでの暗号化通信装置10Aの認証値計算部(第1の識別情報算出部)25は、通常のIPSEC_ESPメッセージ全体を保護する標準のメッセージダイジェスト認証値の他に、自身だけが使用する別のメッセージダイジェスト認証値(以下、偽装検出用認証値という)を計算して保持するようにする。
Therefore, the authentication value calculation unit (first identification information calculation unit) 25 of the
図17は、偽装検出用認証値の算出方法を説明するための図である。同図において上側のパケットは、暗号化通信装置10Aが送信するIPSECメッセージ72(IPSEC_ESPパケット)を示し、下側のパケットは暗号化通信装置10Aが受信するICMPエラー通知メッセージ73を示している。
FIG. 17 is a diagram for explaining a method of calculating an authentication value for impersonation detection. In the figure, the upper packet indicates an IPSEC message 72 (IPSEC_ESP packet) transmitted by the
暗号化通信装置10AがIPSECメッセージ72を送信する際、認証値計算部25は、元のIPSEC_ESPメッセージに付与される部分(送信するIPSECメッセージ72のIPヘッダ+64Byte(ESPヘッダ+一部のデータ部)に対して独自のメッセージダイジェスト認証である偽装検出用認証値を算出し、シーケンス認証値DB91に記憶させておく。偽装検出用認証値は、後述の認証値情報104としてシーケンス認証値DB91に記憶させておく。
When the
ここで、シーケンス認証値DB91が記憶する偽装検出用認証値(認証値情報104)について説明する。図18は、認証値情報の構成の一例を示す図である。認証値情報104は、偽装ルータから送信されてきた偽装メッセージを検出するための情報であり、「対向装置」(アドレス)、「SPI値」、「シーケンス番号」、「偽装検出用認証値」がそれぞれ対応付けされている。すなわち、ここでの認証値情報104は、「シーケンス番号」と「偽装検出用認証値」が対応付けされており、IPSECメッセージ72を送信した際に記憶しておいた「偽装検出用認証値」を「シーケンス番号」に基づいて検索できる構成となっている。
Here, the impersonation detection authentication value (authentication value information 104) stored in the sequence
ここでは、暗号化通信装置10AがIPSECメッセージ72を送信する際に、認証値計算部25がICMPエラー通知メッセージ73で応答される可能性のあるIPヘッダ+64Byte分を対象として偽装検出用認証値を算出し、シーケンス番号をキーとしてシーケンス認証値DB91に保存しておく。
Here, when the
暗号化通信装置10AにICMPエラー通知メッセージ73や偽装メッセージが通知された際、ICMP内部パケット抽出・監査処理部(第2の識別情報算出部)45は、元のIPSECメッセージ72のIPヘッダ+64Byteに対して偽装検出用認証値を算出するとともにシーケンス番号を抽出する。そして、ICMP内部パケット抽出・監査処理部45は、抽出したシーケンス番号をキーとして、シーケンス認証値DB91からシーケンス番号に対応する偽装検出用認証値を抽出する。さらに、ICMP内部パケット抽出・監査処理部(偽装判断部)45は、シーケンス認証値DB91から抽出した偽装検出用認証値と算出した偽装検出用認証値を比較する。
When the ICMP
算出した偽装検出用認証値が抽出した偽装検出用認証値と等しい場合、このメッセージは正当なICMPエラー通知メッセージ73であり、等しくない場合は偽装メッセージである。したがって、ICMP内部パケット抽出・監査処理部45は、算出した偽装検出用認証値が抽出した偽装検出用認証値と等しい場合に、メッセージ(ICMPエラー通知メッセージ73)を受け入れる。一方、ICMP内部パケット抽出・監査処理部45は、算出した偽装検出用認証値が抽出した偽装検出用認証値と等しくない場合に、メッセージ(偽装メッセージ)の受け入れを拒否する。
When the calculated authentication value for impersonation detection is equal to the extracted authentication value for impersonation detection, this message is a legitimate ICMP
なお、偽装検出用認証値の算出は、暗号化通信路上のルーティング処理によって変更される可能のある領域(例えば、IPSECのIPヘッダ部のTOS(Type Of Service)領域、チェックサム領域、DS(Differentiated Services)フィールドなど)を除いて算出してもよい。 It should be noted that the calculation of the authentication value for impersonation detection can be performed by an area that can be changed by routing processing on the encrypted communication path (for example, a TOS (Type Of Service) area in the IP header part of IPSEC, a checksum area, a DS (Differentiated) Service) field, etc.) may be excluded.
これにより、暗号化通信路上の、ICMPエラー通知メッセージ73を応答するルータR1〜R3以外の偽装ルータが、これらの領域(TOS領域やチェックサム領域など)を変更しても、暗号化通信装置10Aは、確実にICMPエラー通知メッセージ73の応答ルータが暗号化通信路上に存在する正規なルータR1〜R3なのか、偽装ルータなのかを判定できる。
As a result, even if a camouflaged router other than the routers R1 to R3 responding to the ICMP
ここで、本実施の形態3に係る暗号化通信装置10Aと従来の暗号化通信装置(発側トンネル装置)の差異を明確にするため従来の発側トンネル装置の問題点を説明する。現実のIPネットワークでは、ICMPエラー通知の多くをIPSEC非対応のルータが送信している。このため従来まではICMPエラー通知の正当性を直接確認できなかった。
Here, in order to clarify the difference between the
したがって、従来までは、通知されたICMPエラー通知あるいは偽装メッセージを全て受け入れるか、全て拒絶するか、あるいはICMPエラー通知に所定のチェックを行なって正当なICMPエラー通知だけを受け入れるかのいずれかである。 Therefore, until now, either all accepted ICMP error notifications or forged messages are accepted, all rejected, or a predetermined check is performed on the ICMP error notification and only a valid ICMP error notification is accepted. .
ところが、ICMPエラー通知を直接的にチェックをして受け入れる技術は従来までなかった。また、全て受け入れる場合には、ICMP_MTU超過やICMP宛先到達不能などネットワーク障害に関する重大な通知を、それが正当であるかとどうかをチェックすることなく受け入れることになり、容易にDoS攻撃が可能になってしまうという問題が発生する。 However, there has been no technology that directly checks and accepts an ICMP error notification. In addition, if all are accepted, a serious notification regarding a network failure such as ICMP_MTU excess or ICMP destination unreachable will be accepted without checking whether it is valid, and a DoS attack can be easily performed. Problem occurs.
また、全て拒絶する場合には、ICMP_MTU超過やICMP宛先到達不能などネットワーク障害に関する重大な通知を全く拒否することになり、重要な障害が検出できないという問題が発生する。 Further, if all are rejected, a serious notification regarding a network failure such as exceeding ICMP_MTU or ICMP destination unreachable will be completely rejected, causing a problem that an important failure cannot be detected.
一方、本実施の形態3に係る暗号通信装置10Aは、IPSECメッセージ72を送信する際にIPSECメッセージ72に基づいて偽装検出用認証値を算出し、IPSECメッセージ72が必ず保持するパケット毎のシーケンス番号と関連付けて記憶している。そして、ICMPエラー通知メッセージ73を受信した際には、このICMPエラー通知メッセージ73に基づいて偽装検出用認証値を算出している。
On the other hand, the
そして、IPSECメッセージ72から算出した偽装検出用認証値と、ICMPエラー通知メッセージ73から算出した偽装検出用認証値に基づいて、受信したICMPエラー通知メッセージ73が偽装したものであるか否かを判断している。
Based on the authentication value for impersonation detection calculated from the
これはシーケンス番号のカウントアップが保証され、それにより各IPSECメッセージを一意に識別できるIPSEC固有の方法であり、シーケンス番号などを持たない既存のIPパケットなどでは、例え独自の認証値を計算してもそれがどの送信パケットに対応する認証値か、ICMPエラー通知メッセージ受信時に比較することができないので、この方法は利用できないのである。 This is an IPSEC-specific method that guarantees the sequence number count-up, thereby uniquely identifying each IPSEC message. For existing IP packets that do not have a sequence number, for example, a unique authentication value is calculated. However, this method cannot be used because it is not possible to compare the authentication value corresponding to which transmission packet when the ICMP error notification message is received.
また、ICMPエラー通知の偽装に注目し、暗号化通信装置10Aは、自身は再生したICMPエラー通知メッセージ74を通信端末側に送信し、通信端末に暗号化通信路上の障害を通知を可能とする機能を持たせるとともに、暗号化通信路上の不正な偽装ルータから受信する偽装メッセージ(偽造したICMPエラー通知)は受け入れないよう構成した。これにより、暗号化通信装置10Aは、IPSEC_ESP環境下において柔軟なICMP制御が可能となる。
Further, paying attention to impersonation of the ICMP error notification, the
このように実施の形態3によれば、発側の暗号化通信装置10Aは、ICMPエラー通知時にこの通知メッセージが暗号経路上に存在する正規のルータR1〜R3からのICMPエラー通知メッセージ73であるか、偽装ルータからの偽装メッセージであるかを容易に判断でき、ICMPエラー通知に起因するDoS攻撃を防御することが可能になる。
As described above, according to the third embodiment, the originating
また、IPSECメッセージ72の送信時に偽装検出用認証値を保存するので、IPSECメッセージ72全体、やIPSECメッセージ72の必要な部分を保存するのと比べて、必要なメモリ量を大幅に削減できる。したがって、簡易な構成で偽装ルータからの偽装メッセージを検出でき、ICMPエラー通知に起因するDoS攻撃を防御することが可能になる。
Further, since the authentication value for impersonation detection is stored when the
また、偽装検出用認証値をシーケンス番号に対応付けて保存しているので、偽装検出用認証値の比較計算量を削減でき、偽装検出用認証値の比較を容易かつ迅速に行なうことが可能となる。 In addition, since the authentication value for impersonation detection is stored in association with the sequence number, the amount of comparison calculation for the authentication value for impersonation detection can be reduced, and the authentication value for impersonation detection can be easily and quickly compared. Become.
以上説明したように、実施の形態1〜3では、リプレイ攻撃の防御という目的を持つIPSEC_ESPヘッダ内のシーケンス番号が、送信IPSECパケットを一意に識別可能とするインデクッス機能を持つことに注目している。そして、このシーケンス番号を、発着端末アドレスの管理、初期ベクトル値の管理、送信メッセージ認証値(偽装検出用認証値)の管理に用いて実施の形態1〜3を実現している。また、1つのシーケンス番号でリプレイ攻撃の防御と発着端末アドレスの割り出し等を行なえるので、IPSEC_ESP暗号化メッセージヘッダ長を削減することが可能となる。 As described above, in the first to third embodiments, attention is paid to the fact that the sequence number in the IPSEC_ESP header having the purpose of preventing replay attacks has an index function that makes it possible to uniquely identify the transmitted IPSEC packet. . Then, the first to third embodiments are realized by using this sequence number for managing the sending / receiving terminal address, managing the initial vector value, and managing the transmission message authentication value (authentication value for impersonation detection). In addition, since it is possible to prevent replay attacks and determine the destination terminal address with one sequence number, it is possible to reduce the IPSEC_ESP encrypted message header length.
以上のように、本発明にかかる暗号化通信装置は、トンネル通信路上の通信制御用メッセージをトンネル通信路外の通信端末に転送する処理に適している。 As described above, the encrypted communication apparatus according to the present invention is suitable for processing for transferring a communication control message on a tunnel communication path to a communication terminal outside the tunnel communication path.
1〜3 LAN
5 WAN
10A,10B 暗号化通信装置
11 出力側SADB
12 入力側SADB
13 端末側I/F
14 トンネル側I/F
20 カプセル化処理部
21 SA検索部
22 SA使用許諾判定部
23 暗号化処理部
24 ESPヘッダ処理部
25 認証値計算部
26 IPヘッダ処理部
30 デカプセル化処理部
31 使用SA検索部
32 シーケンス検証部
33 認証値確認処理部
34 リプレイ防御処理部
35 復号処理部
36 出力前SADB監査部36
40 ICMP受信処理部
41 ICMP種別判定部
42 ICMP内部パケット抽出部
43 ICMP種別対応処理部
45 ICMP内部パケット抽出・監査処理部
50 ICMP中継再生処理部
51 ICMP中継処理判定部
52 ICMP再生部
53 ICMP送信端末決定部53
55 ICMP復号・再生処理部
60 ICMP再生データ管理部
61 SA使用端末DB
62 シーケンス使用端末DB
91 シーケンス認証値DB
100 通信システム
101 出力側SA情報
102 使用SA情報
103 シーケンス番号情報
104 認証値情報
301〜303 発側端末範囲
D1〜D3 データ
M1〜M5,M11〜M15,M21〜M25 メッセージ
R1〜R3 ルータ
X1〜Xn,Y1〜Ym,Z1〜Zl 通信端末
1-3 LAN
5 WAN
10A, 10B
12 Input side SADB
13 Terminal side I / F
14 Tunnel side I / F
DESCRIPTION OF
40 ICMP
55 ICMP Decoding /
62 Sequence use terminal DB
91 Sequence authentication value DB
DESCRIPTION OF
Claims (12)
前記各通信端末からの各ユーザメッセージを前記対向装置に転送する際に、前記各ユーザメッセージを転送する各暗号化通信路に関する暗号化通信路情報と前記各ユーザメッセージの送信元である各通信端末のアドレスとの対応付けに関するアドレス情報を記憶する記憶部と、
暗号化された前記ユーザメッセージに、当該ユーザメッセージに対応する暗号化通信路情報を暗号化せずに付加して前記対向装置に転送する送信部と、
前記送信部から送信されたユーザメッセージに暗号化せずに付加された暗号化通信路情報を含む前記通信制御用メッセージを前記中継装置から受信する受信部と、
前記受信部が受信した通信制御用メッセージを用いて当該通信制御用メッセージの送信先を判断する送信先判断部と、
前記受信部が受信した通信制御用メッセージ内から前記暗号化通信路情報を抽出し、当該抽出した暗号化通信路情報および前記記憶部が記憶するアドレス情報に基づいて、前記送信先判断部が判断した送信先に対応する前記通信制御用メッセージの送信先アドレスを決定する送信アドレス決定部と、
を備えることを特徴とする暗号化通信装置。 When a user message is received from a plurality of communication terminals outside the encrypted communication path, each user message is encrypted and encapsulated, transferred to the opposite device on the encrypted communication path, and the user message is transmitted on the encrypted communication path When a communication control message including at least a part of the encrypted and encapsulated user message transmitted from the relay device that relays to the opposite device is received, the communication control message is decrypted and decapsulated. In an encrypted communication device that transfers to a predetermined destination outside the encrypted communication path,
When each user message from each communication terminal is transferred to the opposite device, the encrypted communication path information regarding each encrypted communication path to which each user message is transferred and each communication terminal which is a transmission source of each user message A storage unit for storing address information related to the association with the address of
A transmission unit that adds the encrypted communication path information corresponding to the user message without encryption to the encrypted user message and transfers the encrypted message to the opposite device;
A receiving unit that receives the communication control message including the encrypted communication path information added without being encrypted to the user message transmitted from the transmitting unit;
A transmission destination determination unit that determines a transmission destination of the communication control message using the communication control message received by the reception unit;
The encrypted communication path information is extracted from the communication control message received by the reception section, and the transmission destination determination section determines based on the extracted encrypted communication path information and the address information stored in the storage section. A transmission address determining unit that determines a transmission destination address of the communication control message corresponding to the transmission destination;
An encrypted communication device comprising:
前記送信先判断部が前記通信制御用メッセージの送信先は当該通信制御用メッセージに対応するユーザメッセージを送信した通信端末であると判断した場合、前記通信制御用メッセージの送信先アドレスを前記通信路識別情報および前記メッセージ識別情報に対応した通信端末のアドレスに決定し、
前記送信先判断部が前記通信制御用メッセージの送信先は当該通信制御用メッセージに対応するユーザメッセージが転送された暗号化通信経路を用いる通信端末であると判断した場合、前記通信制御用メッセージの送信先アドレスを前記通信路識別情報に対応した暗号化通信経路を用いる通信端末のアドレスに決定することを特徴とする請求項2に記載の暗号化通信装置。 The transmission address determination unit
When the transmission destination determination unit determines that the transmission destination of the communication control message is a communication terminal that has transmitted a user message corresponding to the communication control message, the transmission destination address of the communication control message is set to the communication path. Determine the identification information and the address of the communication terminal corresponding to the message identification information,
When the transmission destination determination unit determines that the transmission destination of the communication control message is a communication terminal using an encrypted communication path to which a user message corresponding to the communication control message is transferred, the communication control message The encrypted communication apparatus according to claim 2, wherein the destination address is determined to be an address of a communication terminal using an encrypted communication path corresponding to the communication path identification information.
前記受信部が前記暗号化パラメータ情報を付加された通信制御用メッセージを前記中継装置から受信すると、前記暗号化パラメータ情報を用いて前記通信制御用メッセージ内のユーザメッセージを復号する復号部をさらに備えることを特徴とする請求項1に記載の暗号化通信装置。 The transmission unit adds encryption parameter information relating to an encryption parameter used when encrypting the user message to the user message and transmits the encryption parameter information to the opposite device, and the relay device transmits the encryption parameter. Send a communication control message with information added,
When the reception unit receives the communication control message to which the encryption parameter information is added from the relay device, the reception unit further includes a decryption unit that decrypts the user message in the communication control message using the encryption parameter information. The encrypted communication apparatus according to claim 1.
前記復号部は、前記ユーザメッセージに付加された端末識別情報を復号し、
前記送信アドレス決定部は、前記復号された端末識別情報および前記記憶部が記憶するアドレス情報に基づいて、前記送信先判断部が判断した送信先に対応する前記通信制御用メッセージの送信先アドレスを決定することを特徴とする請求項7に記載の暗号化通信装置。 The transmission unit adds terminal identification information for identifying a communication terminal that is a transmission source of the user message to the user message transmitted to the opposite device and transmits the user message, and the relay device is a terminal added to the user message. Sending the communication control message in a message size including identification information in the communication control message;
The decoding unit decodes terminal identification information added to the user message,
The transmission address determination unit determines a transmission destination address of the communication control message corresponding to the transmission destination determined by the transmission destination determination unit based on the decoded terminal identification information and the address information stored in the storage unit. 8. The encrypted communication device according to claim 7, wherein the encryption communication device is determined.
前記送信先判断部が前記通信制御用メッセージの送信先は当該通信制御用メッセージに対応するユーザメッセージを送信した通信端末であると判断した場合、前記通信制御用メッセージの送信先アドレスを前記端末識別情報に対応した通信端末のアドレスに決定し、
前記送信先判断部が前記通信制御用メッセージの送信先は当該通信制御用メッセージに対応するユーザメッセージが転送された暗号化通信経路を用いる通信端末であると決定した場合、前記通信制御用メッセージの送信先アドレスを前記通信路識別情報に対応した暗号化通信経路を用いる通信端末のアドレスに決定することを特徴とする請求項8に記載の暗号化通信装置。 The transmission address determination unit
When the transmission destination determination unit determines that the transmission destination of the communication control message is a communication terminal that has transmitted a user message corresponding to the communication control message, the transmission destination address of the communication control message is identified as the terminal Determine the address of the communication terminal corresponding to the information,
When the transmission destination determination unit determines that the transmission destination of the communication control message is a communication terminal using an encrypted communication path to which a user message corresponding to the communication control message is transferred, the communication control message 9. The encrypted communication apparatus according to claim 8, wherein the destination address is determined to be an address of a communication terminal that uses an encrypted communication path corresponding to the communication path identification information.
前記中継装置に前記ユーザメッセージを送信した場合に、前記中継装置から送信される前記ユーザメッセージに対応した通信制御用メッセージに含まれる暗号化された前記ユーザメッセージを用いて、前記各ユーザメッセージを識別する第1のメッセージ識別情報を算出する第1の識別情報算出部と、
前記識別情報算出部が算出した第1のメッセージ識別情報を記憶する記憶部と、
前記通信制御用メッセージを受信した際に、前記通信制御用メッセージに含まれる暗号化されたユーザメッセージを用いて、前記各ユーザメッセージを識別する第2のメッセージ識別情報を算出する第2の識別情報算出部と、
前記第1のメッセージ識別情報および前記第2のメッセージ識別情報に基づいて、前記第1のメッセージ識別情報および前記第2のメッセージ識別情報が同一であるか否かを判定し、当該判定結果に基づいて前記第2のメッセージ識別情報が偽装されたものであるか否かを判断する偽装判断部と、
を備えることを特徴とする暗号化通信装置。 When a user message is received from a plurality of communication terminals outside the encrypted communication path, each user message is encrypted and encapsulated, transferred to the opposite device on the encrypted communication path, and the user message is transmitted on the encrypted communication path When a communication control message including at least a part of the encrypted and encapsulated user message transmitted from the relay device that relays to the opposite device is received, the communication control message is decrypted and decapsulated. In the encrypted communication device that transmits to a predetermined destination outside the encrypted communication path,
When the user message is transmitted to the relay device, the user message is identified by using the encrypted user message included in the communication control message corresponding to the user message transmitted from the relay device. A first identification information calculation unit for calculating first message identification information to be
A storage unit for storing the first message identification information calculated by the identification information calculation unit;
Second identification information for calculating second message identification information for identifying each user message by using an encrypted user message included in the communication control message when the communication control message is received. A calculation unit;
Based on the first message identification information and the second message identification information, it is determined whether or not the first message identification information and the second message identification information are the same, and based on the determination result A camouflage determination unit that determines whether the second message identification information is camouflaged;
An encrypted communication device comprising:
前記偽装判断部は、前記通信制御用メッセージに含まれる前記シーケンス番号を用いて前記記憶部から前記第1のメッセージ識別情報を抽出し、前記第2のメッセージ識別情報が偽装されたものであるか否かを判断することを特徴とする請求項10または11に記載の暗号化通信装置。 The storage unit counts up for each user message transferred to each encrypted communication path, and adds a sequence number in an encryption header added when the user message is encrypted, and the first message Store the identification information in association with each other,
Whether the impersonation determining unit extracts the first message identification information from the storage unit using the sequence number included in the communication control message, and whether the second message identification information is impersonated. The encrypted communication device according to claim 10 or 11, wherein it is determined whether or not.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005365155A JP4647481B2 (en) | 2005-12-19 | 2005-12-19 | Encrypted communication device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005365155A JP4647481B2 (en) | 2005-12-19 | 2005-12-19 | Encrypted communication device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007173959A true JP2007173959A (en) | 2007-07-05 |
JP4647481B2 JP4647481B2 (en) | 2011-03-09 |
Family
ID=38299985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005365155A Expired - Fee Related JP4647481B2 (en) | 2005-12-19 | 2005-12-19 | Encrypted communication device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4647481B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012039461A (en) * | 2010-08-09 | 2012-02-23 | Nec Corp | Communication device, communication method, and communication program |
WO2014017532A1 (en) * | 2012-07-24 | 2014-01-30 | 横河電機株式会社 | Packet forwarding device, packet forwarding system, and packet forwarding method |
JP2019204989A (en) * | 2018-05-21 | 2019-11-28 | ソフトバンク株式会社 | Relay system and program |
JPWO2021111576A1 (en) * | 2019-12-05 | 2021-06-10 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001352344A (en) * | 2000-06-09 | 2001-12-21 | Nippon Telegr & Teleph Corp <Ntt> | Network address conversion method and its system, and vpn client multiplex system |
JP2005159688A (en) * | 2003-11-26 | 2005-06-16 | Nec Corp | Network, communication node, security method used for them, and program thereof |
JP2005229330A (en) * | 2004-02-13 | 2005-08-25 | Fujitsu Access Ltd | Communication device and network system |
-
2005
- 2005-12-19 JP JP2005365155A patent/JP4647481B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001352344A (en) * | 2000-06-09 | 2001-12-21 | Nippon Telegr & Teleph Corp <Ntt> | Network address conversion method and its system, and vpn client multiplex system |
JP2005159688A (en) * | 2003-11-26 | 2005-06-16 | Nec Corp | Network, communication node, security method used for them, and program thereof |
JP2005229330A (en) * | 2004-02-13 | 2005-08-25 | Fujitsu Access Ltd | Communication device and network system |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012039461A (en) * | 2010-08-09 | 2012-02-23 | Nec Corp | Communication device, communication method, and communication program |
WO2014017532A1 (en) * | 2012-07-24 | 2014-01-30 | 横河電機株式会社 | Packet forwarding device, packet forwarding system, and packet forwarding method |
JP2014027350A (en) * | 2012-07-24 | 2014-02-06 | Yokogawa Electric Corp | Packet transfer device and method |
JP2019204989A (en) * | 2018-05-21 | 2019-11-28 | ソフトバンク株式会社 | Relay system and program |
JPWO2021111576A1 (en) * | 2019-12-05 | 2021-06-10 | ||
WO2021111576A1 (en) * | 2019-12-05 | 2021-06-10 | 日本電信電話株式会社 | Communication control system, state switching assistance device, state switching assistance method, and program |
JP7318733B2 (en) | 2019-12-05 | 2023-08-01 | 日本電信電話株式会社 | Communication control system, state switching support device, state switching support method and program |
Also Published As
Publication number | Publication date |
---|---|
JP4647481B2 (en) | 2011-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3688830B2 (en) | Packet transfer method and packet processing apparatus | |
JP3783142B2 (en) | Communication system, communication device, communication method, and communication program for realizing the same | |
US7353380B2 (en) | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols | |
US8379638B2 (en) | Security encapsulation of ethernet frames | |
EP1934789B1 (en) | Strong anti-replay protection for ip traffic | |
US20060182103A1 (en) | System and method for routing network messages | |
US8104082B2 (en) | Virtual security interface | |
US20070260879A1 (en) | Method of authenticating multicast messages | |
WO2007103338A2 (en) | Technique for processing data packets in a communication network | |
US7139679B1 (en) | Method and apparatus for cryptographic protection from denial of service attacks | |
CN111988289B (en) | EPA industrial control network security test system and method | |
US8671451B1 (en) | Method and apparatus for preventing misuse of a group key in a wireless network | |
Rothenberg et al. | Self-routing denial-of-service resistant capabilities using in-packet Bloom filters | |
WO2015174100A1 (en) | Packet transfer device, packet transfer system, and packet transfer method | |
WO2017185978A1 (en) | Method and device for parsing packet | |
US8687485B1 (en) | Method and apparatus for providing replay protection in systems using group security associations | |
JP4647481B2 (en) | Encrypted communication device | |
JP4183664B2 (en) | Authentication method, server computer, client computer, and program | |
CN115348118B (en) | Network address and port number hiding method based on cryptographic technology | |
CN114039812A (en) | Data transmission channel establishing method and device, computer equipment and storage medium | |
Haitao et al. | The security issues and countermeasures in Mobile IP | |
US20080059788A1 (en) | Secure electronic communications pathway | |
US7694334B2 (en) | Apparatus and method for traversing gateway device using a plurality of batons | |
US20060075229A1 (en) | Method and apparatus for maintaining a communications connection while guarding against bandwidth consuming attacks | |
Ali et al. | Using Unique Node ID TO Control IPv6 ID Spoofing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100622 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100819 |
|
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: 20101207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101208 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |