JP2010011122A - Encrypted packet processing system - Google Patents

Encrypted packet processing system Download PDF

Info

Publication number
JP2010011122A
JP2010011122A JP2008168456A JP2008168456A JP2010011122A JP 2010011122 A JP2010011122 A JP 2010011122A JP 2008168456 A JP2008168456 A JP 2008168456A JP 2008168456 A JP2008168456 A JP 2008168456A JP 2010011122 A JP2010011122 A JP 2010011122A
Authority
JP
Japan
Prior art keywords
packet
encrypted
fragment
authentication
processing
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.)
Withdrawn
Application number
JP2008168456A
Other languages
Japanese (ja)
Inventor
Hideo Abe
英雄 阿部
Kenji Fukuda
健次 福田
Ryuichi Kano
竜一 狩野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008168456A priority Critical patent/JP2010011122A/en
Publication of JP2010011122A publication Critical patent/JP2010011122A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily transmit and receive encrypted fragment packets. <P>SOLUTION: A device includes: a processing section that, when transmitting encrypted packets obtained by encrypting, authenticating and capsule-processing a plain text packet in a tunnel mode, divides an encryption target area and authentication target area of the encrypted packet into a plurality of pieces to produce a plurality of encrypted fragment packets, and adds a tunnel header containing an identifier for identifying a turn to each of the plurality of encrypted fragment packets, while adding a predetermined number of rearward pieces of payload data in the previous encrypted fragment packet to a front of payload data in the next encrypted fragment packet redundantly; and a control section that subjects the plurality of encrypted fragment packets which are received in the tunnel mode to decoding, authentication and de-capsule processings, and produces a plurality of plain text fragment packets, having respectively, payload data corresponding to the plain text packet in which the identifier extracted from each tunnel header is written, so as to make the packet transmit to a receiving end. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、暗号化パケット処理システムに関し、特にトンネルモードで送受信される複数分割の暗号化フラグメントパケットの処理技術に関する。   The present invention relates to an encrypted packet processing system, and more particularly to a technique for processing a plurality of divided encrypted fragment packets transmitted and received in a tunnel mode.

インターネットなどのIP(Internet Protocol)ネットワークを通して、第1及び第
2のローカルネットワーク間でパケットを送受信するパケット通信システムにおいては、セキュリティ保証のために、トンネルモードで暗号化パケットを送受信する。
In a packet communication system that transmits and receives packets between the first and second local networks through an IP (Internet Protocol) network such as the Internet, encrypted packets are transmitted and received in a tunnel mode in order to guarantee security.

トンネルモードで暗号化パケットを送受信する場合、暗号(認証を含む)処理及びカプセル処理に起因し、暗号化パケットのパケット長が平文パケットと比較して増大するので、IPネットワークで規定された最大転送バイト長(最大伝送単位MTU:Maximum Transfer Unit)を超えることがある。   When sending and receiving encrypted packets in tunnel mode, the packet length of encrypted packets increases compared to plaintext packets due to encryption (including authentication) processing and capsule processing, so the maximum transfer specified by the IP network It may exceed the byte length (Maximum Transfer Unit MTU).

これに対処するために、IPネットワークの送信側に存在するパケット処理装置(例えば、ゲートウェイ装置)は、暗号化パケットをMTU値内に収まるようにフラグメント処理(分割または断片化処理)して送信する。一方、IPネットワークの受信側に存在するパケット処理装置は、フラグメント処理された複数の暗号化パケット(暗号化フラグメントパケット)をリアセンブルした後、デカプセル処理及び復号(認証を含む)処理を施した平文パケットを第2のローカルネットワークに転送している。   In order to cope with this, a packet processing device (for example, a gateway device) present on the transmission side of the IP network transmits the encrypted packet by performing fragment processing (dividing or fragmenting processing) so as to be within the MTU value. . On the other hand, the packet processing apparatus present on the receiving side of the IP network reassembles a plurality of fragmented encrypted packets (encrypted fragment packets), and then performs a decapsulation process and a decryption process (including authentication) on plaintext. The packet is transferred to the second local network.

しかし、この対処方法では、受信側パケット処理装置は、フラグメントパケットをリアセンブルした後に暗号化パケットを復号化するので、全ての複数のフラグメントパケットを受信するまで各パケットをバッファメモリに蓄積して待機する必要があり、パケット伝送遅延の増大を招くことを避けられない。   However, in this coping method, the receiving side packet processing device decrypts the encrypted packet after reassembling the fragment packet, so that each packet is stored in the buffer memory and waits until all the plurality of fragment packets are received. Therefore, it is inevitable that the packet transmission delay will increase.

このような受信側パケット処理装置における問題を回避する関連技術が、例えば特開2002−44135号公報(特許文献1)に開示されている。   A related technique for avoiding such a problem in the reception side packet processing apparatus is disclosed in, for example, Japanese Patent Application Laid-Open No. 2002-44135 (Patent Document 1).

この特許文献1記載の技術においては、送信側の暗号装置は、受信した平文パケットを暗号処理する前に暗号処理後のパケット長を計算・判断し、MTU値を超えるパケットについて暗号処理する前に平文のままフラグメントし、フラグメントしたパケット毎に暗号処理して送信する。一方、受信側の復号装置は、暗号化フラグメントパケット毎に復号処理し、暗号処理前の平文フラグメントパケットを得た後、受信側端末に送信している。   In the technique described in Patent Document 1, the transmitting side encryption device calculates and determines the packet length after encryption processing before encrypting the received plaintext packet, and before performing encryption processing on the packet exceeding the MTU value. Fragments are sent in plain text, and each fragmented packet is encrypted before being sent. On the other hand, the decryption device on the reception side performs decryption processing for each encrypted fragment packet, obtains a plaintext fragment packet before encryption processing, and transmits it to the reception side terminal.

しかし、このように暗号処理の前に平文パケットをフラグメント処理してから暗号処理する技術では、IPsec(IP Security Protocol)のプロトコル種別、暗号アルゴリズム、及び認証アルゴリズムだけでなく、暗号ブロック単位及び認証ブロック単位にペイロードデータを合わせるためのパディング長によってもパケット長の増加分が異なり、フラグメント判断処理が煩雑になる。また、簡易にフラグメント判断を行うと、不必要なパケットまでもフラグメント処理する可能性がある。さらに、フラグメント処理後に暗号処理すると、暗号処理後にフラグメント処理する場合に比較して、オーバヘッドの増大を免れない。
特開2002−44135号公報
However, in the technology for performing the cryptographic processing after fragmenting the plaintext packet before the cryptographic processing in this way, not only the protocol type, cryptographic algorithm, and authentication algorithm of IPsec (IP Security Protocol), but also a cryptographic block unit and an authentication block The increase in the packet length also differs depending on the padding length for matching the payload data to the unit, and the fragment determination process becomes complicated. Moreover, if fragment determination is simply performed, there is a possibility that even unnecessary packets may be fragmented. Furthermore, if cryptographic processing is performed after fragment processing, an increase in overhead is unavoidable as compared to fragment processing performed after cryptographic processing.
JP 2002-44135 A

課題は、伝送遅延を招くことなく、かつ簡易な処理により、トンネルモードで複数分割の暗号化フラグメントパケットを送受信可能にする技術を提供することにある。   The problem is to provide a technique that enables transmission / reception of a plurality of divided encrypted fragment packets in the tunnel mode without causing a transmission delay and by simple processing.

上記課題を解決するために、パケット処理装置は、ペイロードデータを含む平文パケットに暗号・認証・カプセル処理を施した暗号化パケットをトンネルモードで送信するとき、前記暗号化パケットの暗号対象領域及び認証対象領域を複数に分割して複数の暗号化フラグメントパケットを作成し、前記複数の暗号化フラグメントパケットに順番を識別するための識別子を含むトンネル用ヘッダをそれぞれ付加するとともに、先の暗号化フラグメントパケットにおけるペイロードデータの後部所定数を次の暗号化フラグメントパケットにおけるペイロードデータの前に重複して付加するフラグメント処理部と、前記トンネルモードで受信した前記複数の暗号化フラグメントパケットに復号・認証・デカプセル処理を施し、前記トンネル用ヘッダからそれぞれ抽出した前記識別子を書き込んだ前記平文パケット対応のペイロードデータをそれぞれ有する複数の平文フラグメントパケットを生成して受信端に向けて送信させる制御部とを備える。ここで、前記ペイロードデータの後部所定数は、前記暗号対象領域の開始位置と前記認証対象領域の開始位置との差分のバイト数に対応する。   In order to solve the above-mentioned problem, when a packet processing device transmits an encrypted packet obtained by performing encryption / authentication / capsulation processing on a plaintext packet including payload data in a tunnel mode, an encryption target area and authentication of the encrypted packet are transmitted. A plurality of encrypted fragment packets are created by dividing the target area into a plurality of pieces, and a tunnel header including an identifier for identifying the order is added to each of the plurality of encrypted fragment packets, and the previous encrypted fragment packet A fragment processing unit that redundantly adds a predetermined number of the rear part of the payload data before the payload data in the next encrypted fragment packet, and decryption / authentication / decapsulation processing to the plurality of encrypted fragment packets received in the tunnel mode The tunnel header And a control unit for transmitting toward et respectively extracted the plaintext packet corresponding payload data is written to the identifier to the receiver to generate a plurality of plaintext fragmentation packets having respectively. Here, the rear predetermined number of the payload data corresponds to the number of bytes of the difference between the start position of the encryption target area and the start position of the authentication target area.

開示したパケット処理装置によれば、暗号処理前にフラグメント要否判断を行ってフラグメント処理を行うことなく、通常に認証及び暗号処理した後、フラグメント要否判断を行い、かつフラグメント処理された全ての暗号化フラグメントパケットが受信されるまで待機しておくことなく、複数の平文フラグメントパケットの状態で受信端に向けて送信することができる。   According to the disclosed packet processing apparatus, without performing fragment processing by performing fragment necessity determination before encryption processing, after performing normal authentication and encryption processing, performing fragment necessity determination, and performing all fragment processing Without waiting until the encrypted fragment packet is received, it can be transmitted to the receiving end in a state of a plurality of plaintext fragment packets.

他の課題、特徴及び利点は、図面及び特許請求の範囲とともに取り上げられる際に、以下に記載される発明を実施するための最良の形態を読むことにより明らかになるであろう。   Other objects, features and advantages will become apparent upon reading the best mode for carrying out the invention described below when taken in conjunction with the drawings and the claims.

以下、添付図面を参照して、さらに詳細に説明する。図面には好ましい実施形態が示されている。しかし、多くの異なる形態で実施されることが可能であり、本明細書に記載される実施形態に限定されると解釈されてはならない。   Hereinafter, further detailed description will be given with reference to the accompanying drawings. The drawings show preferred embodiments. However, it can be implemented in many different forms and should not be construed as limited to the embodiments set forth herein.

[システム構成]
一実施の形態における暗号化パケット処理システムの構成を示す図1を参照すると、この暗号化パケット処理システムSYSにおいては、インターネットなどのIP(Internet
Protocol)ネットワーク1を通して、対向する第1のローカルネットワーク2及び第2
のローカルネットワーク3間で(厳密には、これらのローカルネットワークにそれぞれ収容されている端末などの通信装置間で)IPパケットを送受信する場合、セキュリティ保証のために、IPトンネル4を通してトンネルモードで暗号化パケットを送受信する。
[System configuration]
Referring to FIG. 1 showing the configuration of an encrypted packet processing system in one embodiment, this encrypted packet processing system SYS has an IP (Internet) such as the Internet.
Protocol) through the network 1, the opposing first local network 2 and second
When transmitting and receiving IP packets between local networks 3 (strictly speaking, between communication devices such as terminals respectively accommodated in these local networks), encryption is performed in tunnel mode through the IP tunnel 4 in order to guarantee security. Send and receive encrypted packets.

トンネルモードで暗号化パケットを送受信する場合、暗号(認証を含む)処理及びカプセル処理に起因し、暗号化パケットのパケット長が元のIPパケット(平文パケット)と比較して増大するので、IPネットワーク1のIPトンネル4で規定された最大転送バイト長(最大伝送単位MTU:Maximum Transfer Unit)を超えることがある。   When an encrypted packet is transmitted / received in tunnel mode, the packet length of the encrypted packet increases compared to the original IP packet (plaintext packet) due to encryption (including authentication) processing and capsule processing. The maximum transfer byte length (maximum transmission unit MTU: Maximum Transfer Unit) defined by one IP tunnel 4 may be exceeded.

このために、IPネットワーク1の送信側に存在するパケット処理装置(例えば、ゲートウェイ装置)10は、暗号化パケットをMTU値内に収まるようにフラグメント処理(分割または断片化処理)して送信する。一方、IPネットワーク1の受信側に存在するパ
ケット処理装置20は、フラグメント処理された暗号化パケット(暗号化フラグメントパケット)にデカプセル処理及び復号(認証を含む)処理を施した複数の(少なくとも2つの)平文フラグメントパケットを第2のローカルネットワーク3に転送する。
For this purpose, the packet processing device (for example, gateway device) 10 existing on the transmission side of the IP network 1 transmits the encrypted packet by performing fragment processing (dividing or fragmenting processing) so as to be within the MTU value. On the other hand, the packet processing device 20 existing on the receiving side of the IP network 1 has a plurality of (at least two) packets that have been subjected to decapsulation processing and decryption (including authentication) processing on an encrypted packet (encrypted fragment packet) that has been fragmented. ) Forward the plaintext fragment packet to the second local network 3.

[パケット処理装置の構成]
図2は、図1に示す一実施の形態の暗号化パケット処理システムSYSにおける送信側及び受信側パケット処理装置10,20の構成を示すブロック図である。
[Configuration of packet processing device]
FIG. 2 is a block diagram showing the configuration of the transmission side and reception side packet processing apparatuses 10 and 20 in the encrypted packet processing system SYS of the embodiment shown in FIG.

送信側パケット処理装置10においては、暗号(認証を含む)処理及びカプセル処理後の暗号化パケットに対してMTU値オーバによるフラグメント処理の必要が発生した場合、各フラグメントパケット内で暗号ブロック単位及び認証ブロック単位がクローズ(完結)するように、つまり暗号及び認証処理が各フラグメント内で実行できるように、フラグメント処理を実行する。   In the packet processing apparatus 10 on the transmission side, when encryption processing (including authentication) processing and fragment processing due to MTU value over occurs for the encrypted packet after the capsule processing, an encryption block unit and authentication are included in each fragment packet. Fragment processing is executed so that the block unit is closed (completed), that is, encryption and authentication processing can be executed within each fragment.

そのために、各フラグメントパケットのデータ長が暗号ブロック単位及び認証ブロック単位のバイト数の公倍数となるように、及び認証範囲(認証対象領域)の開始位置と暗号範囲(暗号対象領域)の開始位置とのずれによる認証ブロックと暗号ブロックとの差分を次のフラグメントパケットの先頭に(ペイロードデータの前に)重複して挿入するように、並びにトレイラ全体を認証データと共に最終フラグメントパケット内に収めるように、フラグメント処理を実行する。   For this purpose, the data length of each fragment packet is a common multiple of the number of bytes in the encryption block unit and the authentication block unit, and the start position of the authentication range (authentication target area) and the start position of the encryption range (encryption target area) In order to insert the difference between the authentication block and the encryption block due to the shift in duplicate at the beginning of the next fragment packet (before the payload data), and to fit the entire trailer in the final fragment packet together with the authentication data, Perform fragment processing.

また、受信側パケット処理装置20においては、受信した暗号化フラグメントパケット毎にデカプセル処理、復号処理、及び認証処理を行い、全ての暗号化フラグメントパケットの受信を待つことなく、各平文フラグメントパケットとしてそのまま第2のローカルネットワーク3に送信する。   Further, the receiving side packet processing device 20 performs decapsulation processing, decryption processing, and authentication processing for each received encrypted fragment packet, and as it is as each plaintext fragment packet without waiting for reception of all encrypted fragment packets. Transmit to the second local network 3.

一層詳述すると、送信側パケット処理装置10においては、受信部11で受信した第1のローカルネットワーク1からの平文のIPパケット(平文パケット)に対して、暗号・認証・カプセル処理部12は暗号処理、認証処理及びカプセル処理を施して、暗号化パケットを生成する。フラグメント判定部13は、生成された暗号化パケットのパケット長とMTU値との比較を行い、MTU値を超えているときは(フラグメント要のときは)、フラグメント処理部14に暗号化パケットを入力する。また、フラグメント判定部13は、暗号化パケットのパケット長がMTU値を超えていないときは(フラグメント不要のときは)、暗号化パケットをそのまま送信部15に入力する。   More specifically, in the transmission side packet processing apparatus 10, the encryption / authentication / capsule processing unit 12 performs encryption on the plaintext IP packet (plaintext packet) received from the first local network 1 received by the reception unit 11. Processing, authentication processing, and capsule processing are performed to generate an encrypted packet. The fragment determination unit 13 compares the packet length of the generated encrypted packet with the MTU value, and when the MTU value is exceeded (when fragmentation is required), the encrypted packet is input to the fragment processing unit 14 To do. In addition, when the packet length of the encrypted packet does not exceed the MTU value (when no fragment is necessary), the fragment determination unit 13 inputs the encrypted packet to the transmission unit 15 as it is.

フラグメント処理部14は、暗号化パケットに対して、フラグメント処理を行う。フラグメント処理を施された複数の暗号化フラグメントパケット及びフラグメント判定部13からの暗号化パケットは、送信部15からIPネットワーク1のIPトンネル4を通して、受信側パケット処理装置20に送信される。   The fragment processing unit 14 performs fragment processing on the encrypted packet. The plurality of encrypted fragment packets subjected to the fragment processing and the encrypted packets from the fragment determination unit 13 are transmitted from the transmission unit 15 to the reception side packet processing device 20 through the IP tunnel 4 of the IP network 1.

受信側パケット処理装置20において、受信部21は送信側パケット処理装置10から送信された暗号化パケット(暗号化フラグメントパケットを含む)をIPネットワーク1のIPトンネル4を通して受信する。フラグメント判定部22は受信された暗号化パケットのフラグメント有無をトンネル用IPヘッダ内のフラグメント制御情報に基づいて判定する。   In the reception side packet processing device 20, the reception unit 21 receives the encrypted packet (including the encrypted fragment packet) transmitted from the transmission side packet processing device 10 through the IP tunnel 4 of the IP network 1. The fragment determination unit 22 determines the presence / absence of a fragment of the received encrypted packet based on the fragment control information in the tunnel IP header.

順序補正部23は、複数の暗号化フラグメントパケットの受信順が逆転していた場合、対象のフラグメントパケットを一時的にバッファメモリに待機して順序を補正するが、順序逆転の確率は非常に小さい。送信側パケット処理装置10における送信制御により、フラグメントパケットの順序逆転が発生しない場合は、順序補正部23は不必要となる。第
1の復号・認証・デカプセル制御部24は、フラグメント処理されていない暗号化パケットに対して、通常の復号処理、認証処理、及びデカプセル処理を施すための制御を行う。
When the receiving order of a plurality of encrypted fragment packets is reversed, the order correcting unit 23 temporarily waits for the target fragment packet in the buffer memory to correct the order, but the probability of the order inversion is very small. . If the order of fragment packets does not reverse due to the transmission control in the transmission side packet processing apparatus 10, the order correction unit 23 is unnecessary. The first decryption / authentication / decapsulation control unit 24 performs control for performing normal decryption processing, authentication processing, and decapsulation processing on an encrypted packet that has not been fragmented.

クラシファイテーブル25A及びSADB(Security Association Data Base)テーブル25Bは、IPsec処理すべきパケットの処理アルゴリズム及びキー情報などを確定するために使用される。クラシファイテーブル25Aは、トンネル用IPヘッダ内の送信元(ソース)アドレス(Source Address)及び宛先アドレス(Destination Address)と
、暗号ヘッダとしてのESP(Encapsulating Security Payload)ヘッダ内のSPI(Security Parameters Index)情報などにより、SADBテーブル25Bのエントリー番号
SA−IDを抽出する。このエントリー番号SA−IDに基づき、SADBテーブル25B内からそのパケットに適用すべきIPsecのアルゴリズム及びキー情報などが選択できる。
The classification table 25A and the SADB (Security Association Data Base) table 25B are used to determine a processing algorithm, key information, and the like of a packet to be IPsec processed. The classification table 25A includes a source address (Source Address) and a destination address (Destination Address) in a tunnel IP header, and an SPI (Security Parameters Index) in an ESP (Encapsulating Security Payload) header as an encryption header. The entry number SA-ID of the SADB table 25B is extracted based on information or the like. Based on the entry number SA-ID, an IPsec algorithm and key information to be applied to the packet can be selected from the SADB table 25B.

ここで、SPI情報は、ESPトンネルモードで接続される第1及び第2のローカルネットワーク2,3間の安全なIPトンネル4に対応するSA(Security Association)を識別するための識別情報である。   Here, the SPI information is identification information for identifying an SA (Security Association) corresponding to the secure IP tunnel 4 between the first and second local networks 2 and 3 connected in the ESP tunnel mode.

復号・認証アルゴリズム実行部26は、暗号アルゴリズム及び認証アルゴリズムに従って、復号ブロック単位及び認証ブロック単位に復号処理及び認証処理(認証演算処理と記載することもある)を行う。第2の復号・認証・デカプセル制御部27は、フラグメント処理された暗号化フラグメントパケットに対して、後に詳述する復号処理、認証処理、及びデカプセル処理を施すための制御を行う。   The decryption / authentication algorithm execution unit 26 performs decryption processing and authentication processing (also referred to as authentication calculation processing) in units of decryption blocks and authentication blocks in accordance with the encryption algorithm and the authentication algorithm. The second decryption / authentication / decapsulation control unit 27 performs control for performing decryption processing, authentication processing, and decapsulation processing, which will be described in detail later, on an encrypted fragment packet that has been fragmented.

継続制御用テーブル28は、複数の暗号化フラグメントパケットについて、デカプセル処理及び復号処理を施して複数の平文フラグメントパケットを作成するための継続(引継)情報を格納するテーブルである。この継続制御用テーブル28には、受信中の暗号化フラグメントパケットのフラグメント識別子FID及び送信元IPアドレスに基づいて他の暗号化フラグメントパケットと区別された番号毎にエントリー番号SA−IDなどの各種情報が格納される(図3参照)。   The continuation control table 28 is a table that stores continuation (takeover) information for creating a plurality of plaintext fragment packets by performing a decapsulation process and a decryption process for a plurality of encrypted fragment packets. The continuation control table 28 includes various information such as an entry number SA-ID for each number distinguished from other encrypted fragment packets based on the fragment identifier FID and the source IP address of the encrypted fragment packet being received. Is stored (see FIG. 3).

送信部29は、第1及び第2の復号・認証・デカプセル制御部24,27からの平文パケット及び平文フラグメントパケットを第2のローカルネットワーク3に送信する。   The transmission unit 29 transmits the plaintext packet and the plaintext fragment packet from the first and second decryption / authentication / decapsulation control units 24 and 27 to the second local network 3.

上述した暗号化パケット処理システムSYSにおけるパケット処理装置10,20は、送信側及び受信側のパケット処理機能だけをそれぞれ有する構成として説明したが、実際の運用では、各パケット処理装置10,20が双方のパケット処理機能を有する構成であることは、当業者が容易に理解できることである。   The packet processing devices 10 and 20 in the above-described encrypted packet processing system SYS have been described as having only the packet processing functions on the transmission side and the reception side. However, in actual operation, both the packet processing devices 10 and 20 are both Those skilled in the art can easily understand that the configuration has the packet processing function.

[送信側パケット処理装置における処理]
次に、図1、図2及び図3に示す送信側パケット処理装置10におけるパケット処理について、図4及び図6を併せ参照して説明する。
[Processing in packet processing apparatus on transmission side]
Next, packet processing in the transmission-side packet processing apparatus 10 shown in FIGS. 1, 2, and 3 will be described with reference to FIGS.

図4は暗号化プロトコルをESP(暗号ペイロード)トンネルモードとした場合の送信側パケット処理装置10における暗号化フラグメントパケットの生成処理例を説明するための図である。また、図6は送信側パケット処理装置10におけるパケット生成処理の概要手順を示すフローチャートである。   FIG. 4 is a diagram for explaining an example of a process for generating an encrypted fragment packet in the transmission side packet processing apparatus 10 when the encryption protocol is set to the ESP (encryption payload) tunnel mode. FIG. 6 is a flowchart showing an outline procedure of packet generation processing in the transmission side packet processing apparatus 10.

送信側パケット処理装置10においてESPトンネルモードで暗号化パケットを送信するとき、図4に示すように、IPv4(Internet Protocol Version 4)の暗号化パケッ
トは、元のIPパケット(平文パケット)に対して、暗号範囲(暗号対象領域)を暗号単
位(例えば、8/16/32バイト)に合わせ、かつ認証範囲(認証対象領域)を4バイトアライメントに合わせるために、パディング、パディング長、及び次ヘッダからなるESPトレイラを平文パケットのペイロードデータの最後に付加した全領域に対応するESPペイロードが暗号処理される。
When the transmission side packet processing apparatus 10 transmits an encrypted packet in the ESP tunnel mode, as shown in FIG. 4, the encrypted packet of IPv4 (Internet Protocol Version 4) is compared with the original IP packet (plaintext packet). From the padding, the padding length, and the next header in order to match the encryption range (encryption target area) to the cipher unit (eg, 8/16/32 bytes) and the authentication range (authentication target area) to 4-byte alignment The ESP payload corresponding to the entire area in which the ESP trailer is added to the end of the payload data of the plaintext packet is encrypted.

また、暗号化パケットには、ESPペイロードの前に、暗号アルゴリズム及び認証アルゴリズムの判定のためのSPI情報を含むESPヘッダ(8バイト)が付加されると共に、ESPペイロードの後に、ESP認証データが付加される。さらに、暗号化パケットには、ESPヘッダ、ESPペイロード、及びESP認証データをカプセル処理するためのトンネル用IPヘッダ(20バイトのOut_IPヘッダ)が付加される。   In addition, an ESP header (8 bytes) including SPI information for determining an encryption algorithm and an authentication algorithm is added to the encrypted packet before the ESP payload, and ESP authentication data is added after the ESP payload. Is done. Furthermore, a tunnel IP header (20-byte Out_IP header) for encapsulating the ESP header, ESP payload, and ESP authentication data is added to the encrypted packet.

ここで、暗号範囲はESPペイロードの領域に対応し、認証範囲はESPヘッダ及びESPペイロードの双方の領域に対応する。   Here, the encryption range corresponds to the ESP payload area, and the authentication range corresponds to both the ESP header and ESP payload areas.

上述したような平文パケットから暗号化パケットを生成する処理は、送信側パケット処理装置10における暗号・認証・カプセル処理部12によって実施される(図6中のT11)。   The process for generating the encrypted packet from the plaintext packet as described above is performed by the encryption / authentication / capsule processing unit 12 in the transmission side packet processing apparatus 10 (T11 in FIG. 6).

この暗号化パケットの生成処理において、オリジナルIPヘッダ(20バイトのOri_IPヘッダ)及び複数のペイロードa,b,cから構成される平文パケットに付加された領域部分に応じて、暗号化パケットのパケット長がMTU値を超えたことをフラグメント判定部13が判定した場合(図6中のT12)、フラグメント処理部14は次の条件でフラグメント処理を実行する(図6中のT13)。   In this encrypted packet generation process, the packet length of the encrypted packet is determined according to the area portion added to the plaintext packet composed of the original IP header (20-byte Ori_IP header) and a plurality of payloads a, b, and c. When the fragment determination unit 13 determines that the value exceeds the MTU value (T12 in FIG. 6), the fragment processing unit 14 executes fragment processing under the following conditions (T13 in FIG. 6).

条件1:各フラグメントパケットにおいては、暗号ブロック単位及び認証ブロック単位で暗号範囲及び認証範囲が分割できるので、暗号化パケットのL1及びL2の値を暗号単位及び暗号ブロック単位に合わせる。例えば、暗号単位として、8/16/32バイトが用いられ、かつ認証単位として64バイトが用いられる場合は、8,16,32,64の最小公倍数である64の倍数を暗号ブロック単位及び認証ブロック単位に選ぶことができる。   Condition 1: In each fragment packet, the encryption range and authentication range can be divided in units of encryption blocks and authentication blocks, so the values of L1 and L2 of the encrypted packet are matched to the units of encryption and encryption blocks. For example, when 8/16/32 bytes are used as the encryption unit and 64 bytes are used as the authentication unit, a multiple of 64, which is the least common multiple of 8, 16, 32, 64, is used as the encryption block unit and the authentication block. You can choose to unit.

条件2:暗号化パケットにおいて、認証範囲の開始位置と暗号範囲の開始位置とが異なるので、先の(先頭または中間の)フラグメントパケットの最終データ(ペイロードデータ)を認証範囲の開始位置と暗号範囲の開始位置とのずれ分(つまり、ESPトンネルモードでは8バイト分)を、次の(中間または最終の)フラグメントパケットの先頭データとして重複して挿入する。   Condition 2: Since the start position of the authentication range is different from the start position of the encryption range in the encrypted packet, the last data (payload data) of the previous (first or intermediate) fragment packet is changed to the start position of the authentication range and the encryption range. The difference from the start position of (that is, 8 bytes in the ESP tunnel mode) is redundantly inserted as the head data of the next (intermediate or final) fragment packet.

条件3:「パディング長」のデータが「パディング」のデータの後に送信され、「パディング長」を受信しないときは、「パディング」の削除ができないので、ESPトレイラをESP認証データと共に一つのフラグメントパケット(最終フラグメントパケット)に取り込む。ここで、パディング長は1−255バイトの範囲と規定されている(RFC2406)。また、ESP認証データは、暗号化し終わったパケットと暗号鍵とから算出したハッシュ値であり、12/16/20バイト(HMAC−SHA−1=20バイト、HMAC−MD5=16バイト、AES−XCBC−MAC−96=12バイト)が用いられるとすると、最終フラグメントパケットのデータ長L3を、パディング(1−255バイト)+パディグ長(1バイト)+次ヘッダ(1バイト)+ESP認証データ(20バイト)に基づいて、277バイトまたは278バイト以上とすればよい。   Condition 3: When “padding length” data is transmitted after “padding length” data and “padding length” is not received, “padding” cannot be deleted, so the ESP trailer and ESP authentication data are combined into one fragment packet. (Final fragment packet). Here, the padding length is defined as a range of 1-255 bytes (RFC2406). The ESP authentication data is a hash value calculated from the encrypted packet and the encryption key, and is 12/16/20 bytes (HMAC-SHA-1 = 20 bytes, HMAC-MD5 = 16 bytes, AES-XCBC). If -MAC-96 = 12 bytes) is used, the data length L3 of the final fragment packet is padding (1-255 bytes) + padging length (1 byte) + next header (1 byte) + ESP authentication data (20 bytes) ) May be 277 bytes or 278 bytes or more.

上述した条件1−3に従ってフラグメント処理された先頭、中間、及び最終の暗号化フラグメントパケットの各フラグメントオフセット値は、「0,L1,及びL1+L2」で
あり、フラグメント処理部14によって各トンネル用IPヘッダ内に格納されて送信される。
The fragment offset values of the first, intermediate, and final encrypted fragment packets that have been fragmented in accordance with the above-described condition 1-3 are “0, L1, and L1 + L2”. It is stored in and transmitted.

[受信側パケット処理装置における処理]
次に、図1、図2及び図3に示す受信側パケット処理装置20におけるパケット処理について、図5、図7A、図7B及び図7Cを併せ参照して説明する。
[Processing at the receiving packet processing apparatus]
Next, packet processing in the reception side packet processing apparatus 20 shown in FIGS. 1, 2, and 3 will be described with reference to FIGS. 5, 7A, 7B, and 7C.

図5は暗号化プロトコルをESPトンネルモードとした場合の受信側パケット処理装置20における暗号化フラグメントパケット処理例を説明するための図である。また、図7A、図7B及び図7Cは受信側パケット処理装置20におけるパケット処理手順を示すフローチャートである。   FIG. 5 is a diagram for explaining an example of encrypted fragment packet processing in the reception side packet processing device 20 when the encryption protocol is set to the ESP tunnel mode. 7A, 7B, and 7C are flowcharts showing a packet processing procedure in the reception side packet processing apparatus 20.

なお、以下に説明するパケット処理において、受信した暗号化パケットが暗号化フラグメントパケットであることは、トンネル用IPヘッダ内のプロトコル及びフラグメント制御情報(IPv4の場合、D=Don’t Fragment、M=More Fragment、Fragment Offset、FID=フラグメント識別子)に基づいて識別できる。例えば、Protocol=50の場合がESP暗号化パケットである。また、D=1の場合、フラグメントパケットであり、同一パケットからフラグメントされたパケットは、同一FIDが付与される。D=1,M=1,Fragment Offset=0の場合、先頭フラグメントパケット、D=1,M=1,Fragment Offset≠0の場合、中間フラグメントパケット、またD=1,M=0の場合、最終フラグメントパケットと識別できる(図7A,図7B中のR1,R2,R3)。   In the packet processing described below, the fact that the received encrypted packet is an encrypted fragment packet means that the protocol and fragment control information in the tunnel IP header (in the case of IPv4, D = Don't Fragment, M = More Fragment, Fragment Offset, FID = fragment identifier). For example, the case of Protocol = 50 is an ESP encrypted packet. When D = 1, the packet is a fragment packet, and packets that are fragmented from the same packet are given the same FID. D = 1, M = 1, Fragment Offset = 0, leading fragment packet, D = 1, M = 1, Fragment Offset ≠ 0, intermediate fragment packet, and D = 1, M = 0, last It can be identified as a fragment packet (R1, R2, R3 in FIGS. 7A and 7B).

まず、受信側パケット処理装置20においては、復号・認証アルゴリズム実行部26及び復号・認証・デカプセル制御部27は、受信部21で受信した先頭のフラグメント処理された暗号化パケット(先頭の暗号化フラグメントパケット)に対して、次の処理を実施した後、ローカルネットワーク3へ先頭の平文フラグメントパケットとして送信する。   First, in the packet processing apparatus 20 on the receiving side, the decryption / authentication algorithm execution unit 26 and the decryption / authentication / decapsulation control unit 27 perform the first fragment processed encrypted packet (first encrypted fragment) received by the reception unit 21. Packet) is transmitted to the local network 3 as the first plaintext fragment packet after the following processing is performed.

R11:制御部27は、トンネル用IPヘッダ(Out_IPヘッダ_F1)内のフラグメント識別子FID、送信元IPアドレス及び宛先IPアドレスと、ESPヘッダ内のSPI情報などとにより、クラシファイテーブル25Aを検索して、SADBテーブル25B内の対応のエントリー番号SA−IDを得て、フラグメント識別子FID及び送信元IPアドレスで区別された(縮退して付与された)番号対応に継続制御用テーブル28にそのエントリー番号SA−IDを格納する。   R11: The control unit 27 searches the classification table 25A based on the fragment identifier FID, the source IP address and the destination IP address in the tunnel IP header (Out_IP header_F1), the SPI information in the ESP header, and the like. Then, the corresponding entry number SA-ID in the SADB table 25B is obtained, and the entry number SA is stored in the continuation control table 28 in correspondence with the number distinguished (degenerated and given) by the fragment identifier FID and the source IP address. -Store the ID.

R12:実行部26は、エントリー番号SA−ID対応のSADBテーブル25B内に格納された認証アルゴリズム及び認証用キー情報などに従い、認証ブロック単位に認証演算を行う。また、制御部27は、最終ブロックの認証演算引継情報を上記処理R11と同様に継続制御用テーブル28に格納する。   R12: The execution unit 26 performs an authentication calculation for each authentication block according to the authentication algorithm and the authentication key information stored in the SADB table 25B corresponding to the entry number SA-ID. Further, the control unit 27 stores the authentication calculation takeover information of the final block in the continuation control table 28 as in the process R11.

R13:さらに、実行部26は、エントリー番号SA−ID対応のSADBテーブル25B内に格納された暗号アルゴリズム及び暗号キー情報などに従って、暗号ブロック単位に復号処理を実行する。また、制御部27は、最終ブロックの復号演算引継情報を上記処理R11と同様に継続制御用テーブル25Bに格納する。   R13: Further, the execution unit 26 executes the decryption process in units of cipher blocks according to the cipher algorithm and cipher key information stored in the SADB table 25B corresponding to the entry number SA-ID. Further, the control unit 27 stores the decoding operation takeover information of the final block in the continuation control table 25B as in the process R11.

R14:制御部27は、実行部26によって復号化されたデータからオリジナルIPヘッダ(Ori_IPヘッダ)を抽出すると共に、ペイロードを作成する。   R14: The control unit 27 extracts the original IP header (Ori_IP header) from the data decoded by the execution unit 26 and creates a payload.

R15:制御部27は、抽出したオリジナルIPヘッダに対して、トンネル用IPヘッダ(Out_IPヘッダ_F1)よりフラグメント情報としてのオフセット値「0」を抽
出して挿入する。また、制御部27は、TTL(Time to Live)、パケット長、及びヘッダチェックサムを算出して挿入し、先頭の平文フラグメントパケットのオリジナルIPヘッダ(Ori_IPヘッダ_F1)を作成し、後の処理R17において上記処理R11と同様に継続制御用テーブル28に格納する。
R15: The control unit 27 extracts the offset value “0” as fragment information from the tunnel IP header (Out_IP header_F1) and inserts it into the extracted original IP header. Further, the control unit 27 calculates and inserts a TTL (Time to Live), a packet length, and a header checksum, creates an original IP header (Ori_IP header_F1) of the first plaintext fragment packet, and performs subsequent processing R17. In the same manner as the process R11, the data is stored in the continuation control table 28.

R16:制御部27は、上記処理R14及びR15で作成したオリジナルIPヘッダ(Ori_IPヘッダ_F1)及び復号データ(ペイロードa)より、先頭の平文フラグメントパケットを作成し、送信部29を通してローカルネットワーク3に送信する。   R16: The control unit 27 creates a head plaintext fragment packet from the original IP header (Ori_IP header_F1) and the decrypted data (payload a) created in the above-described processing R14 and R15, and transmits them to the local network 3 through the transmission unit 29 To do.

また、受信側パケット処理装置20においては、復号・認証アルゴリズム実行部26及び復号・認証・デカプセル制御部27は、受信部21で受信した中間(ここでは、1つ)のフラグメント処理された暗号化パケット(中間の暗号化フラグメントパケット)に対して、次の処理を実施した後、ローカルネットワーク3へ中間の平文フラグメントパケットとして送信する。   Further, in the packet processing apparatus 20 on the receiving side, the decryption / authentication algorithm execution unit 26 and the decryption / authentication / decapsulation control unit 27 are encrypted by intermediate (here, one) fragment processing received by the reception unit 21. The following processing is performed on the packet (intermediate encrypted fragment packet), and then transmitted to the local network 3 as an intermediate plaintext fragment packet.

R21:制御部27は、先頭の暗号化フラグメントパケットの受信時に格納されたフラグメント識別子FID及び送信元IPアドレスで区別された番号対応のエントリー番号SA−IDを継続制御用テーブル28から取り出す。   R21: The control unit 27 extracts from the continuation control table 28 the entry number SA-ID corresponding to the number distinguished by the fragment identifier FID and the source IP address stored at the time of reception of the first encrypted fragment packet.

R22:制御部27は、継続制御用テーブル28に格納された認証演算引継情報を認証演算初期情報に設定後、エントリー番号SA−ID対応のSADBテーブル25B内に格納されている認証アルゴリズム及び認証キー情報などに従い、実行部26よって認証ブロック単位に認証演算を行わせる。また、制御部27は、最終ブロックの認証演算引継情報を継続制御用テーブル28の同一領域に上書きして格納する。   R22: The control unit 27 sets the authentication calculation takeover information stored in the continuation control table 28 as authentication calculation initial information, and then stores the authentication algorithm and authentication key stored in the SADB table 25B corresponding to the entry number SA-ID. According to the information and the like, the execution unit 26 performs an authentication calculation for each authentication block. The control unit 27 overwrites and stores the authentication calculation takeover information of the last block in the same area of the continuation control table 28.

R23:さらに、制御部27は、継続制御用テーブル28に格納された復号演算引継情報を復号演算初期情報に設定後、エントリー番号SA−ID対応のSADBテーブル25B内に格納されている暗号アルゴリズム及び暗号キー情報などに従って、実行部26によって暗号ブロック単位(先頭8バイトを除く)に復号処理を実行させる。制御部27は、最終ブロックの復号演算引継情報を継続制御用テーブル28の同一領域に上書きして格納する。制御部27は、実行部26によって復号化されたデータからオリジナルIPヘッダ(Ori_IPヘッダ)を抽出すると共に、ペイロードを作成する。   R23: Further, the control unit 27 sets the decryption calculation takeover information stored in the continuation control table 28 as the decryption calculation initial information, and then stores the encryption algorithm stored in the SADB table 25B corresponding to the entry number SA-ID and According to the encryption key information or the like, the execution unit 26 executes the decryption process in units of encryption blocks (excluding the first 8 bytes). The control unit 27 overwrites and stores the decoding calculation takeover information of the last block in the same area of the continuation control table 28. The control unit 27 extracts the original IP header (Ori_IP header) from the data decoded by the execution unit 26 and creates a payload.

R24:制御部27は、継続制御用テーブル28に格納された先頭の平文フラグメントパケットのオリジナルIPヘッダ(Ori_IPヘッダ_F1)を取り出し、トンネル用IPヘッダ(Out_IPヘッダ_F2)よりオフセット値「L1」を抽出して挿入する。また、制御部27は、TTL、パケット長、及びヘッダチェックサムを算出して挿入し、中間の平文フラグメントパケットのオリジナルIPヘッダ(Ori_IPヘッダ_F2)を作成する。   R24: The control unit 27 extracts the original IP header (Ori_IP header_F1) of the head plaintext fragment packet stored in the continuation control table 28, and extracts the offset value “L1” from the tunnel IP header (Out_IP header_F2). And insert. Further, the control unit 27 calculates and inserts the TTL, the packet length, and the header checksum, and creates an original IP header (Ori_IP header_F2) of the intermediate plaintext fragment packet.

R25:制御部27は、上記処理R23及びR24で作成したオリジナルIPヘッダ(Ori_IPヘッダ_F2)及び復号データ(ペイロードb)に基づいて、中間の平文フラグメントパケットを作成し、送信部29を通してローカルネットワーク3に送信する。   R25: The control unit 27 creates an intermediate plaintext fragment packet based on the original IP header (Ori_IP header_F2) and the decrypted data (payload b) created in the processes R23 and R24, and sends the intermediate network 3 through the transmission unit 29. Send to.

さらに、受信側パケット処理装置20においては、復号・認証アルゴリズム実行部26及び復号・認証・デカプセル制御部27は、受信部21で受信した最終のフラグメント処理された暗号化パケット(最終の暗号化フラグメントパケット)に対して、次の処理を実施した後、ローカルネットワーク3へ最終の平文フラグメントパケットとして送信する。   Further, in the reception side packet processing device 20, the decryption / authentication algorithm execution unit 26 and the decryption / authentication / decapsulation control unit 27 perform the final fragment-processed encrypted packet (final encrypted fragment) received by the reception unit 21. Packet) is transmitted to the local network 3 as the final plaintext fragment packet.

R31:制御部27は、先頭の平文フラグメントパケットの受信時に格納されたフラグ
メント識別子FID及び送信元IPアドレスで区別された番号対応のエントリー番号SA−IDを継続制御用テーブル28から取り出す。
R31: The control unit 27 extracts from the continuation control table 28 the entry number SA-ID corresponding to the number distinguished by the fragment identifier FID and the source IP address stored when the first plaintext fragment packet is received.

R32:制御部27は、継続制御用テーブル28に格納された認証演算引継情報を認証演算初期情報に設定後、エントリー番号SA−ID対応のSADBテーブル25B内に格納されている認証アルゴリズム及び認証キー情報などに従い、実行部26によって認証ブロック単位に認証演算を行わせ、最後のデータのESP認証データと演算照合して認証判定を行う。   R32: The control unit 27 sets the authentication calculation takeover information stored in the continuation control table 28 as authentication calculation initial information, and then stores the authentication algorithm and authentication key stored in the SADB table 25B corresponding to the entry number SA-ID. According to the information and the like, the execution unit 26 performs an authentication calculation for each authentication block, and performs an authentication check by calculating and collating with the ESP authentication data of the last data.

R33:さらに、制御部27は、継続制御用テーブル28に格納された復号演算引継情報を復号演算初期情報に設定後、エントリー番号SA−ID対応のSADBテーブル25B内に格納されている暗号アルゴリズム及び暗号キー情報などに従って、実行部26によって暗号ブロック単位(先頭8バイトを除く)に復号処理を実行させる。   R33: Further, the control unit 27 sets the decryption calculation takeover information stored in the continuation control table 28 as the decryption calculation initial information, and then stores the encryption algorithm stored in the SADB table 25B corresponding to the entry number SA-ID and According to the encryption key information or the like, the execution unit 26 executes the decryption process in units of encryption blocks (excluding the first 8 bytes).

R34:制御部27は、復号処理後のデータからペイロードを作成すると共に、トレイラ及び認証データを削除する。   R34: The control unit 27 creates a payload from the decrypted data and deletes the trailer and the authentication data.

R35:制御部27は、継続制御用テーブル28に格納された先頭の平文フラグメントパケットのオリジナルIPヘッダ(Ori_IPヘッダ_F1)を取り出し、トンネル用IPヘッダ(Out_IPヘッダ_F3)よりオフセット値「L1+L2」を抽出して挿入する。また、制御部27は、TTL、パケット長、及びヘッダチェックサムを算出して挿入し、最終の平文フラグメントパケットのオリジナルIPヘッダ(Ori_IPヘッダ_F3)を作成する。   R35: The control unit 27 extracts the original IP header (Ori_IP header_F1) of the first plaintext fragment packet stored in the continuation control table 28, and extracts the offset value “L1 + L2” from the tunnel IP header (Out_IP header_F3). And insert. Also, the control unit 27 calculates and inserts the TTL, packet length, and header checksum, and creates the original IP header (Ori_IP header_F3) of the final plaintext fragment packet.

R36:制御部27は、上記処理R34及びR35で作成したオリジナルIPヘッダ(Ori_IPヘッダ_F3)及び復号データ(ペイロードc)に基づいて、最終の平文フラグメントパケットを作成し、送信部29を通してローカルネットワーク3に送信する。   R36: The control unit 27 creates a final plaintext fragment packet based on the original IP header (Ori_IP header_F3) and the decrypted data (payload c) created in the processes R34 and R35, and sends the final plaintext fragment packet through the transmission unit 29. Send to.

R37:ただし、上記処理R32に続く認証判定が異常「NG」となった場合は、オリジナルIPヘッダ(Ori_IPヘッダ_F3)の情報、例えばオフセット値「L1+L2」を「0」に改ざんして送信することにより、受信先でフラグメントエラーとして廃棄させる。   R37: However, when the authentication determination following the above-described process R32 is abnormal “NG”, information of the original IP header (Ori_IP header_F3), for example, the offset value “L1 + L2” is altered to “0” and transmitted. To discard as a fragment error at the receiving destination.

上述した受信側パケット処理装置20のパケット処理において、受信した先頭、中間、及び最終の暗号化フラグメントパケットに順序逆転が発生した場合は、順序補正部23によって、受信したパケットをバッファメモリに一時的に待機して順序を補正した後、上記各処理を実行すればよい。ただし、現状のネットワーク構成装置としてのゲートウェイ装置などは、パケットの順序保証を行っているものが多く存在し、また送信側のフラグメント処理で各フラグメントパケット長を操作(ほぼ同等または後のフラグメント長を大きくになるようにフラグメント処理)すれば、順序逆転の確率は非常に小さくなる。したがって、受信するパケットの順序逆転が発生しないことを前提すれば、順序補正部23は不要となる。   In the packet processing of the reception side packet processing device 20 described above, when order reversal occurs in the received first, middle, and last encrypted fragment packets, the order correction unit 23 temporarily stores the received packets in the buffer memory. The above-described processes may be executed after waiting for the process to correct the order. However, there are many gateway devices as current network components that guarantee the order of packets, and each fragment packet length is manipulated by fragment processing on the transmission side (almost equal or later fragment length If fragment processing is performed so as to increase, the probability of order reversal becomes very small. Therefore, if it is assumed that the order of the received packets will not be reversed, the order corrector 23 becomes unnecessary.

[一実施の形態の効果]
上述した一実施の形態によれば、暗号・認証・カプセル処理に起因するパケット長の増大によりMTU値超えが発生した暗号化パケットを簡易にフラグメント処理し、トンネルモードで送信した場合、受信側パケット処理装置においてリアセンブル処理のためにフラグメント処理された全ての暗号化パケットが受信されるまで待機する必要がなく、パケット処理装置内の伝送遅延の削減が図れ、ネットワークの伝送性能を向上させることができる。
[Effect of one embodiment]
According to the above-described embodiment, when an encrypted packet that exceeds the MTU value due to an increase in packet length due to encryption / authentication / capsule processing is simply fragmented and transmitted in tunnel mode, the receiving side packet There is no need to wait until all encrypted packets that have been fragmented for reassembly processing are received by the processing device, so that the transmission delay in the packet processing device can be reduced and the transmission performance of the network can be improved. it can.

[変形例]
上述した一実施の形態における処理はコンピュータで実行可能なプログラムとして提供され、CD−ROMやフレキシブルディスクなどの記録媒体、さらには通信回線を経て提供可能である。
[Modification]
The processing in the above-described embodiment is provided as a computer-executable program, and can be provided via a recording medium such as a CD-ROM or a flexible disk, and further via a communication line.

また、上述した一実施の形態における各処理はその任意の複数または全てを選択し組合せて実施することもできる。   In addition, each of the processes in the above-described embodiment can be performed by selecting and combining any or all of the processes.

一実施の形態の暗号化パケット処理システムの構成を示すブロック図である。It is a block diagram which shows the structure of the encryption packet processing system of one Embodiment. 図1におけるパケット処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the packet processing apparatus in FIG. 継続制御用テーブルの構成を示す図である。It is a figure which shows the structure of the table for continuation control. 送信側パケット処理装置におけるパケット生成処理を説明するための図である。It is a figure for demonstrating the packet production | generation process in the transmission side packet processing apparatus. 受信側パケット処理装置におけるパケット処理を説明するための図である。It is a figure for demonstrating the packet processing in a receiving side packet processing apparatus. 送信側パケット処理装置におけるパケット生成処理手順を説明するためのフローチャート図である。It is a flowchart for demonstrating the packet production | generation procedure in a transmission side packet processing apparatus. 受信側パケット処理装置におけるパケット処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the packet processing procedure in a receiving side packet processing apparatus. 受信側パケット処理装置におけるパケット処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the packet processing procedure in a receiving side packet processing apparatus. 受信側パケット処理装置におけるパケット処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the packet processing procedure in a receiving side packet processing apparatus.

符号の説明Explanation of symbols

SYS 暗号化パケット処理システム
1 IPネットワーク
2 ローカルネットワーク
3 ローカルネットワーク
4 IPトンネル
10 送信側パケット処理装置
20 受信側パケット処理装置
11 受信部
12 暗号・認証・カプセル処理部
13 フラグメント判定部
14 フラグメント処理部
15 送信部
21 受信部
22 フラグメント判定部
23 順序補正部
24 第1の復号・認証・デカプセル制御部
25A クラシファイテーブル
25B SADBテーブル
26 復号・認証アルゴリズム実行部
27 第2の復号・認証・デカプセル制御部
28 継続制御用テーブル
29 送信部
SYS Encrypted packet processing system 1 IP network 2 Local network 3 Local network 4 IP tunnel 10 Transmission side packet processing device 20 Reception side packet processing device 11 Reception unit 12 Encryption / authentication / capsule processing unit 13 Fragment determination unit 14 Fragment processing unit 15 Transmission unit 21 Reception unit 22 Fragment determination unit 23 Order correction unit 24 First decryption / authentication / decapsulation control unit 25A Classify table 25B SADB table 26 Decryption / authentication algorithm execution unit 27 Second decryption / authentication / decapsulation control unit 28 Continuous control table 29 Transmitter

Claims (6)

ペイロードデータを含む平文パケットに暗号・認証・カプセル処理を施した暗号化パケットをトンネルモードで送信するとき、前記暗号化パケットの暗号対象領域及び認証対象領域を複数に分割して複数の暗号化フラグメントパケットを作成し、前記複数の暗号化フラグメントパケットに順番を識別するための識別子を含むトンネル用ヘッダをそれぞれ付加するとともに、先の暗号化フラグメントパケットにおけるペイロードデータの後部所定数を次の暗号化フラグメントパケットにおけるペイロードデータの前に重複して付加するフラグメント処理部と、
前記トンネルモードで受信した前記複数の暗号化フラグメントパケットに復号・認証・デカプセル処理を施し、前記トンネル用ヘッダからそれぞれ抽出した前記識別子を書き込んだ前記平文パケット対応のペイロードデータをそれぞれ有する複数の平文フラグメントパケットを生成して受信端に向けて送信させる制御部と、
を備えるパケット処理装置。
When an encrypted packet obtained by performing encryption / authentication / capsulation processing on a plaintext packet including payload data is transmitted in tunnel mode, the encryption target area and the authentication target area of the encrypted packet are divided into a plurality of encrypted fragments. A packet is created, a tunnel header including an identifier for identifying the order is added to each of the plurality of encrypted fragment packets, and a predetermined number of the rear part of the payload data in the previous encrypted fragment packet is added to the next encrypted fragment A fragment processing unit for duplicating and adding the payload data in the packet;
A plurality of plaintext fragments each having payload data corresponding to the plaintext packet in which the identifier extracted from the tunnel header is written by performing decryption / authentication / decapsulation processing on the plurality of encrypted fragment packets received in the tunnel mode A control unit that generates a packet and transmits it toward the receiving end;
A packet processing apparatus.
前記ペイロードデータの後部所定数は、前記暗号対象領域の開始位置と前記認証対象領域の開始位置との差分のバイト数に対応する請求項1記載のパケット処理装置。   The packet processing apparatus according to claim 1, wherein the rear predetermined number of the payload data corresponds to a number of bytes of a difference between a start position of the encryption target area and a start position of the authentication target area. 前記複数の暗号化フラグメントパケット数がn(2<n、nは自然数)であるとき、
1番目(先頭)の暗号化フラグメントパケットは、暗号ヘッダ、オリジナルヘッダ、及び第1ペイロードデータを有し、前記暗号ヘッダは暗号アルゴリズム及び認証アルゴリズムの判定のための識別情報を含み、
m番目(1<m<n、mは自然数)の暗号化フラグメントパケットは、第(m−1)重複付加データを有し、前記第(m−1)重複付加データは(m−1)番目の暗号化フラグメントパケットにおけるペイロードデータの後部所定数に対応し、
n番目(最終)の暗号化フラグメントパケットは、第(n−1)重複付加データ、第nペイロードデータ、及び認証データを有し、前記第(n−1)重複付加データは(n−1)番目の暗号化フラグメントパケットにおけるペイロードデータの後部所定数に対応する請求項1記載のパケット処理装置。
When the number of encrypted fragment packets is n (2 <n, n is a natural number),
The first (first) encrypted fragment packet has an encryption header, an original header, and first payload data, and the encryption header includes identification information for determination of an encryption algorithm and an authentication algorithm,
The m-th encrypted fragment packet (1 <m <n, where m is a natural number) has (m−1) th redundant additional data, and the (m−1) th redundant additional data is the (m−1) th. Corresponding to the rear predetermined number of payload data in the encrypted fragment packet of
The nth (final) encrypted fragment packet has (n-1) th duplicate additional data, nth payload data, and authentication data, and the (n-1) th duplicate additional data is (n-1). The packet processing device according to claim 1, wherein the packet processing device corresponds to a predetermined number of rear portions of payload data in the th encrypted fragment packet.
前記複数の暗号化フラグメントパケットが少なくとも2つであるとき、
先頭の暗号化フラグメントパケットは、暗号ヘッダ、オリジナルヘッダ、及び第1ペイロードデータを有し、前記暗号ヘッダは暗号アルゴリズム及び認証アルゴリズムの判定のための識別情報を含み、
最終の暗号化フラグメントパケットは、重複付加データ、第2ペイロードデータ、及び認証データを有し、前記重複付加データは前記先頭の暗号化フラグメントパケットにおけるペイロードデータの後部所定数に対応する請求項1記載のパケット処理装置。
When the plurality of encrypted fragment packets is at least two,
The first encrypted fragment packet has a cryptographic header, an original header, and first payload data, and the cryptographic header includes identification information for determination of a cryptographic algorithm and an authentication algorithm,
The final encrypted fragment packet includes duplicate additional data, second payload data, and authentication data, and the duplicate additional data corresponds to a predetermined number of rear portions of payload data in the first encrypted fragment packet. Packet processing equipment.
前記制御部は、前記最終の暗号化フラグメントパケットの前記認証データを用いて認証演算結果を判定し、判定結果が異常であるときは、最終の平文フラグメントパケットにおけるオリジナルヘッダを改ざんする請求項3または4記載のパケット処理装置。   The control unit determines an authentication calculation result using the authentication data of the final encrypted fragment packet, and if the determination result is abnormal, the control unit alters the original header in the final plaintext fragment packet. 5. The packet processing device according to 4. ペイロードデータを含む平文パケットに暗号・認証・カプセル処理を施した暗号化パケットをトンネルモードで送信するとき、前記暗号化パケットの暗号対象領域及び認証対象領域を複数に分割して複数の暗号化フラグメントパケットを作成し、前記複数の暗号化フラグメントパケットに順番を識別するための識別子を含むトンネル用ヘッダをそれぞれ付加するとともに、先の暗号化フラグメントパケットにおけるペイロードデータの後部所定数を次の暗号化フラグメントパケットにおけるペイロードデータの前に重複して付加するステップと、
前記トンネルモードで受信した前記複数の暗号化フラグメントパケットに復号・認証・
デカプセル処理を施し、前記トンネル用ヘッダからそれぞれ抽出した前記識別子を書き込んだ前記平文パケット対応のペイロードデータをそれぞれ有する複数の平文フラグメントパケットを生成して受信端に向けて送信させるステップと、
を備えるパケット処理方法。
When an encrypted packet obtained by performing encryption / authentication / capsulation processing on a plaintext packet including payload data is transmitted in tunnel mode, the encryption target area and the authentication target area of the encrypted packet are divided into a plurality of encrypted fragments. A packet is created, a tunnel header including an identifier for identifying the order is added to each of the plurality of encrypted fragment packets, and a predetermined number of the rear part of the payload data in the previous encrypted fragment packet is added to the next encrypted fragment Duplicating before the payload data in the packet;
Decrypt, authenticate, and encrypt the plurality of encrypted fragment packets received in the tunnel mode.
Performing a decapsulation process, generating a plurality of plaintext fragment packets each having payload data corresponding to the plaintext packet in which the identifier extracted from each of the tunnel headers is written, and transmitting the packets to the receiving end;
A packet processing method comprising:
JP2008168456A 2008-06-27 2008-06-27 Encrypted packet processing system Withdrawn JP2010011122A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008168456A JP2010011122A (en) 2008-06-27 2008-06-27 Encrypted packet processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008168456A JP2010011122A (en) 2008-06-27 2008-06-27 Encrypted packet processing system

Publications (1)

Publication Number Publication Date
JP2010011122A true JP2010011122A (en) 2010-01-14

Family

ID=41591068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008168456A Withdrawn JP2010011122A (en) 2008-06-27 2008-06-27 Encrypted packet processing system

Country Status (1)

Country Link
JP (1) JP2010011122A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017168981A (en) * 2016-03-15 2017-09-21 Necプラットフォームズ株式会社 Communication device and communication system
CN112073372A (en) * 2020-08-04 2020-12-11 南京国电南自维美德自动化有限公司 Double encryption method and decryption method for communication messages of power system and message interaction system
CN114615001A (en) * 2020-12-04 2022-06-10 千寻位置网络有限公司 Data frame encryption method, data frame decryption method and related equipment
CN115134171A (en) * 2022-08-30 2022-09-30 湖南麒麟信安科技股份有限公司 Method, device, system and medium for encrypting storage message under isolated network environment

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017168981A (en) * 2016-03-15 2017-09-21 Necプラットフォームズ株式会社 Communication device and communication system
CN112073372A (en) * 2020-08-04 2020-12-11 南京国电南自维美德自动化有限公司 Double encryption method and decryption method for communication messages of power system and message interaction system
CN112073372B (en) * 2020-08-04 2023-06-27 南京国电南自维美德自动化有限公司 Dual encryption method and decryption method for communication message of power system and message interaction system
CN114615001A (en) * 2020-12-04 2022-06-10 千寻位置网络有限公司 Data frame encryption method, data frame decryption method and related equipment
CN114615001B (en) * 2020-12-04 2024-05-10 千寻位置网络有限公司 Data frame encryption method, data frame decryption method and related equipment
CN115134171A (en) * 2022-08-30 2022-09-30 湖南麒麟信安科技股份有限公司 Method, device, system and medium for encrypting storage message under isolated network environment
CN115134171B (en) * 2022-08-30 2022-11-29 湖南麒麟信安科技股份有限公司 Method, device, system and medium for encrypting storage message under isolated network environment

Similar Documents

Publication Publication Date Title
US5235644A (en) Probabilistic cryptographic processing method
US9294506B2 (en) Method and apparatus for security encapsulating IP datagrams
JP5089599B2 (en) Air interface application layer security for wireless networks
TWI499342B (en) Tunnel acceleration for wireless access points
JP3819729B2 (en) Data-safety communication apparatus and method
US8918691B2 (en) Processing transport packets
US8984268B2 (en) Encrypted record transmission
US8458461B2 (en) Methods and apparatus for performing authentication and decryption
US7415109B2 (en) Partial encryption and full authentication of message blocks
US9674204B2 (en) Compact and efficient communication security through combining anti-replay with encryption
CN109428867B (en) Message encryption and decryption method, network equipment and system
JP5205075B2 (en) Encryption processing method, encryption processing device, decryption processing method, and decryption processing device
EP2359522B1 (en) Method and system to construct a high-assurance IPsec gateway using an unmodified commercial implementation
JP2001156770A (en) Automatic re-synchronization for encrypted synchronized information
WO2007059558A1 (en) Wireless protocol for privacy and authentication
JP2009508390A (en) Secure and bandwidth efficient encryption synchronization method
JP3948595B2 (en) Message authentication device
KR100560658B1 (en) Apparatus and method for high performance offset codebook mode with block-level operation
JP2010011122A (en) Encrypted packet processing system
US8122247B2 (en) Processing method for message integrity with tolerance for non-sequential arrival of message data
US7406595B1 (en) Method of packet encryption that allows for pipelining
CN115225331A (en) Data encryption communication method
JPH0677954A (en) Apparatus and method for processing of code provided with arbitrary selective status encoding
Došek et al. Secure high level communication protocol for CAN bus
CN112333204B (en) 5G network transmission security device based on TCP IP protocol disorder feature code

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110906