JP7080024B2 - Communication device - Google Patents

Communication device Download PDF

Info

Publication number
JP7080024B2
JP7080024B2 JP2017153777A JP2017153777A JP7080024B2 JP 7080024 B2 JP7080024 B2 JP 7080024B2 JP 2017153777 A JP2017153777 A JP 2017153777A JP 2017153777 A JP2017153777 A JP 2017153777A JP 7080024 B2 JP7080024 B2 JP 7080024B2
Authority
JP
Japan
Prior art keywords
processing
data
security function
unit
function unit
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.)
Active
Application number
JP2017153777A
Other languages
Japanese (ja)
Other versions
JP2019033402A (en
Inventor
拓人 内田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017153777A priority Critical patent/JP7080024B2/en
Publication of JP2019033402A publication Critical patent/JP2019033402A/en
Application granted granted Critical
Publication of JP7080024B2 publication Critical patent/JP7080024B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信装置に関し、特に、暗号通信を行う通信装置に関する。 The present invention relates to a communication device, and more particularly to a communication device that performs encrypted communication.

暗号通信では一般的に送信データの暗号処理が行われる。暗号処理では、暗号化処理に用いるための乱数生成処理、各種アルゴリズムを用いた暗号化処理及び通信路上での送信データの改竄検知のためのハッシュ値計算処理が行われている。 In encrypted communication, transmission data is generally encrypted. In the encryption process, a random number generation process for use in the encryption process, an encryption process using various algorithms, and a hash value calculation process for detecting falsification of transmitted data on the communication path are performed.

また、暗号通信には、Secure Sockets Layer(SSL)若しくはTransport Layer Security(TLS)を用いたHyper Text Transfer Protocol over TLS(HTTPS)通信若しくはFile Transfer Protocol over TLS(FTPS)通信、Secure Shell(SSH)を用いたSSH File Transfer Protocol(SFTP)通信若しくはSecure Copy(SCP)通信、又は、Virtual Private Network(VPN)通信等が存在する。また、VPNには、OSI階層モデルに応じた各種のVPNがあり、第2層で暗号通信処理を行うL2TP(Layer 2 Tunneling Protocol)若しくはPPTP(Point-to-Point Tunneling Protocol)、第3層で暗号通信処理を行うIPsec(Security Auchitecture for Internet Protocol)、又は、第4層以上で暗号通信処理を行うSSL VPN等が存在する。 In addition, for encrypted communication, Hyper Text Transfer Protocol over TLS (FTPS) communication using Secure Sockets Layer (SSL) or Transport Layer Security (TLS) or File Transfer Protocol (FTPS) communication, File Transfer Protocol, File Trans There is SSH File Transfer Protocol (SFTP) communication, Security Copy (SCP) communication, Virtual Private Network (VPN) communication, and the like used. In addition, there are various VPNs according to the OSI layer model in the VPN, L2TP (Layer 2 Tunneling Protocol) or PPTP (Point-to-Point Tunneling Protocol) that performs encrypted communication processing in the second layer, and the third layer. There is an IPsec (Security Architecture for Internet Protocol) that performs encrypted communication processing, or an SSL VPN that performs encrypted communication processing in the fourth layer or higher.

上記の暗号処理では、CPU(Central Processing Unit)を用いたソフトウェア(S/W)処理が行われることが一般的だが、高速転送を実現するために専用のセキュリティ処理用ハードウェア(H/W)エンジンを搭載し、H/W処理を行っている通信装置も存在する。例えば、特許文献1では、専用の暗号化/復号化処理用エンジンとカプセル化処理用エンジンとを有したH/W処理機能をNIC(Network Interface Card)に実装し、SSL VPNでの高速転送を図っている。 In the above encryption processing, software (S / W) processing using a CPU (Central Processing Unit) is generally performed, but dedicated security processing hardware (H / W) is used to realize high-speed transfer. There is also a communication device equipped with an engine and performing H / W processing. For example, in Patent Document 1, an H / W processing function having a dedicated encryption / decryption processing engine and an encapsulation processing engine is implemented in a NIC (Network Interface Card), and high-speed transfer by SSL VPN is performed. I'm trying.

国際公開第2006/093021号International Publication No. 2006/093021

従来の暗号通信機能を有するゲートウェイ装置の暗号通信処理方式には、一般的に用いられているS/W処理、又は特許文献1のようなH/Wエンジンを用いて転送速度向上を図ったH/W処理がある。 As the cryptographic communication processing method of the gateway device having the conventional cryptographic communication function, the transfer speed is improved by using the generally used S / W processing or the H / W engine as in Patent Document 1. There is / W processing.

特許文献1のH/W処理では、特定のデータサイズと特定の暗号化アルゴリズム等とを組み合わせた場合の速度低下に関しては考慮されていない。また、特許文献1のH/WエンジンはIPsec等特定の暗号通信専用にカスタマイズされているが、データサイズと暗号化アルゴリズム等との組み合わせによっては、S/Wのみの処理より遅くなるという問題点があった。 In the H / W processing of Patent Document 1, the speed reduction when a specific data size and a specific encryption algorithm or the like are combined is not taken into consideration. Further, the H / W engine of Patent Document 1 is customized for a specific encrypted communication such as IPsec, but there is a problem that the processing is slower than the processing of S / W alone depending on the combination of the data size and the encryption algorithm or the like. was there.

そこで、この発明は、上記のような問題点を解消するためになされたものであり、暗号通信の転送性能を向上することができるようにすることを目的としている。 Therefore, the present invention has been made to solve the above-mentioned problems, and an object thereof is to be able to improve the transfer performance of encrypted communication.

本発明の一態様に係る通信装置は、データの暗号通信を行う暗号通信処理部と、前記データの暗号処理として、前記データを暗号化する暗号化処理、前記データの暗号化に用いられる乱数を生成する乱数生成処理、及び、前記暗号化されたデータの改竄を検知するためのハッシュ値を計算するハッシュ値計算処理を行うセキュリティ機能部とを備え、前記セキュリティ機能部は、ソフトウェアを用いて、前記データの前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理を行うソフトウェアセキュリティ機能部と、ハードウェアを用いて、前記データの前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理を行うハードウェアセキュリティ機能部と、前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理のそれぞれについて、前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理のそれぞれを行わせる機能部を、前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替える処理切替部と、を備えることを特徴とする。 The communication device according to one aspect of the present invention uses an encrypted communication processing unit that performs encrypted communication of data, an encryption process that encrypts the data as the encryption process of the data, and a random number used for encrypting the data. The security function unit includes a security function unit that performs a random number generation process for generating and a hash value calculation process for calculating a hash value for detecting falsification of the encrypted data, and the security function unit uses software. The encryption process, the random number generation process, and the hash value calculation process of the data are performed by using the software security function unit that performs the encryption process, the random number generation process, and the hash value calculation process of the data, and the hardware. A hardware security function unit that performs the encryption process, the random number generation process, and the hash value calculation process, respectively, and a function unit that performs the encryption process, the random number generation process, and the hash value calculation process. Is provided with a process switching unit for switching between the software security function unit and the hardware security function unit.

本発明の一態様によれば、暗号通信の転送性能を向上することができる。 According to one aspect of the present invention, the transfer performance of encrypted communication can be improved.

実施の形態1~3に係る通信システムの構成を概略的に示すブロック図である。It is a block diagram which shows schematic structure of the communication system which concerns on Embodiments 1 to 3. 実施の形態1におけるゲートウェイ装置の構成を概略的に示すブロック図である。It is a block diagram which shows schematic structure of the gateway apparatus in Embodiment 1. FIG. 実施の形態1におけるマッピングテーブルのデータ構造を説明するための概略図である。It is a schematic diagram for demonstrating the data structure of the mapping table in Embodiment 1. FIG. 実施の形態1におけるマッピングテーブルの一例を示す概略図である。It is a schematic diagram which shows an example of the mapping table in Embodiment 1. FIG. (A)及び(B)は、ハードウェア構成例を示す概略図である。(A) and (B) are schematic views showing a hardware configuration example. 実施の形態1におけるS/W処理及びH/W処理の選択動作を示すフローチャートである。It is a flowchart which shows the selection operation of S / W processing and H / W processing in Embodiment 1. 実施の形態1におけるS/W処理及びH/W処理の選択動作の変形例を示すフローチャートである。It is a flowchart which shows the modification of the selection operation of S / W processing and H / W processing in Embodiment 1. FIG. 実施の形態2におけるゲートウェイ装置の構成を概略的に示すブロック図である。FIG. 3 is a block diagram schematically showing a configuration of a gateway device according to a second embodiment. 実施の形態2における圧縮テーブルのデータ構造を説明するための概略図である。It is a schematic diagram for demonstrating the data structure of the compression table in Embodiment 2. 実施の形態2における圧縮テーブルの一例を示す概略図である。It is a schematic diagram which shows an example of the compression table in Embodiment 2. 実施の形態2における、データ圧縮の有無の選択動作、並びに、S/W処理及びH/W処理の選択動作を示すフローチャートである。It is a flowchart which shows the selection operation of presence / absence of data compression, and the selection operation of S / W processing and H / W processing in Embodiment 2. 実施の形態3におけるゲートウェイ装置の構成を概略的に示すブロック図である。FIG. 3 is a block diagram schematically showing a configuration of a gateway device according to a third embodiment. 実施の形態3におけるマッピングテーブルのデータ構造を説明するための概略図である。It is a schematic diagram for demonstrating the data structure of the mapping table in Embodiment 3. FIG. 実施の形態3におけるマッピングテーブルの一例を示す概略図である。It is a schematic diagram which shows an example of the mapping table in Embodiment 3. FIG. 実施の形態3におけるS/W処理及びH/W処理の選択動作を示すフローチャートである。It is a flowchart which shows the selection operation of S / W processing and H / W processing in Embodiment 3. 実施の形態1~3に係る通信システムの第1の変形例を示すブロック図である。It is a block diagram which shows the 1st modification of the communication system which concerns on Embodiments 1 to 3. 実施の形態1~3に係る通信システムの第2の変形例を示すブロック図である。It is a block diagram which shows the 2nd modification of the communication system which concerns on Embodiments 1 to 3.

実施の形態1.
図1は、実施の形態1に係る通信システム100の構成を概略的に示すブロック図である。
通信システム100は、ゲートウェイ装置110A、110Bを備える。
実施の形態1は、暗号通信機能をネットワークのエッジにあたるゲートウェイ装置110A、110Bに搭載した例である。
Embodiment 1.
FIG. 1 is a block diagram schematically showing the configuration of the communication system 100 according to the first embodiment.
The communication system 100 includes gateway devices 110A and 110B.
The first embodiment is an example in which the encrypted communication function is mounted on the gateway devices 110A and 110B corresponding to the edge of the network.

ゲートウェイ装置110A、110Bは、ネットワークとしてのインターネット101に接続され、ゲートウェイ装置110A、110Bの間に、暗号通信トンネル102を構成している。
ここで、ゲートウェイ装置110A、110Bは、同じように構成されているため、以下、ゲートウェイ装置110A、110Bの各々を特に区別する必要がない場合には、ゲートウェイ装置110という。
The gateway devices 110A and 110B are connected to the Internet 101 as a network, and form an encrypted communication tunnel 102 between the gateway devices 110A and 110B.
Here, since the gateway devices 110A and 110B are configured in the same manner, hereinafter, when it is not necessary to distinguish each of the gateway devices 110A and 110B, it is referred to as a gateway device 110.

通信システム100では、配下端末103Aから送信されたデータは、ゲートウェイ装置110Aで暗号化されて、暗号化されたデータがゲートウェイ装置110Bに送られる。ゲートウェイ装置110Bは、暗号化されたデータを復号し、復号されたデータが配下端末103Bに送られる。
また、配下端末103Bから送信されたデータは、ゲートウェイ装置110Bで暗号化されて、暗号化されたデータがゲートウェイ装置110Aに送られる。ゲートウェイ装置110Aは、暗号化されたデータを復号し、復号されたデータが配下端末103Aに送られる。
なお、配下端末103A、103Bの各々を特に区別する必要がない場合には、配下端末103という。
In the communication system 100, the data transmitted from the subordinate terminal 103A is encrypted by the gateway device 110A, and the encrypted data is sent to the gateway device 110B. The gateway device 110B decodes the encrypted data, and the decoded data is sent to the subordinate terminal 103B.
Further, the data transmitted from the subordinate terminal 103B is encrypted by the gateway device 110B, and the encrypted data is sent to the gateway device 110A. The gateway device 110A decodes the encrypted data, and the decoded data is sent to the subordinate terminal 103A.
When it is not necessary to distinguish each of the subordinate terminals 103A and 103B, it is referred to as a subordinate terminal 103.

暗号通信には、SSLを用いたHTTPS通信若しくはFTPS通信、SSHを用いたSFTP通信若しくはSCP通信、又は、VPN通信等が存在する。また、VPNには、OSI階層モデルに応じた各種のVPNがあり、第2層で暗号通信処理を行うL2TP若しくはPPTP、第3層で暗号通信処理を行うIPsec、又は、第4層以上で暗号通信処理を行うSSL VPN等が存在する。 Cryptographic communication includes HTTPS communication or FTPS communication using SSL, SFTP communication or SCP communication using SSH, VPN communication, and the like. In addition, there are various VPNs according to the OSI layer model, L2TP or PPTP that performs encrypted communication processing in the second layer, IPsec that performs encrypted communication processing in the third layer, or encryption in the fourth layer or higher. There is an SSL VPN or the like that performs communication processing.

図2は、ゲートウェイ装置110の構成を概略的に示すブロック図である。
ゲートウェイ装置110は、ネットワーク処理部111と、暗号通信処理部120と、セキュリティ機能部130と、記憶部140とを備える。
ネットワーク処理部111は、インターネット101とのインターフェースとして機能する。例えば、ネットワーク処理部111は、Ethernetフレーム又はIPパケットを受信する。ここで、Ethernetは、登録商標である。
FIG. 2 is a block diagram schematically showing the configuration of the gateway device 110.
The gateway device 110 includes a network processing unit 111, a cryptographic communication processing unit 120, a security function unit 130, and a storage unit 140.
The network processing unit 111 functions as an interface with the Internet 101. For example, the network processing unit 111 receives an Ethernet frame or an IP packet. Here, Ethernet is a registered trademark.

暗号通信処理部120は、データの暗号通信を行う。例えば、暗号通信処理部120は、インターネット101において暗号通信を行うために、暗号通信トンネル構築処理及び暗号通信処理を行う。
暗号通信処理部120は、暗号通信トンネル構築処理部121と、暗号通信パラメータ記憶部122と、暗号処理部123とを備える。
The encrypted communication processing unit 120 performs encrypted communication of data. For example, the encrypted communication processing unit 120 performs an encrypted communication tunnel construction process and an encrypted communication process in order to perform encrypted communication on the Internet 101.
The cryptographic communication processing unit 120 includes a cryptographic communication tunnel construction processing unit 121, a cryptographic communication parameter storage unit 122, and a cryptographic communication processing unit 123.

暗号通信トンネル構築処理部121は、暗号通信を行うために、対向するゲートウェイ装置110の暗号通信処理部120と暗号通信トンネル102を構築する暗号通信トンネル構築処理を行う。暗号通信トンネル102の構築処理では、暗号通信トンネル構築処理部121は、ネットワーク処理部111を介して、対向するゲートウェイ装置110の暗号通信処理部120と、暗号通信処理に用いる、暗号化キー、暗号化アルゴリズム、ハッシュ値計算アルゴリズム、ゲートウェイ装置110のIPアドレス、ゲートウェイ装置110の配下の配下端末103のネットワークアドレス等のパラメータのネゴシエーションを行う。
暗号通信パラメータ記憶部122は、暗号通信トンネル構築処理部121によるネゴシエーションで決定されたパラメータを記憶する。
The encrypted communication tunnel construction processing unit 121 performs an encrypted communication tunnel construction process for constructing an encrypted communication tunnel 102 with the encrypted communication processing unit 120 of the opposite gateway device 110 in order to perform encrypted communication. In the construction process of the encrypted communication tunnel 102, the encrypted communication tunnel construction processing unit 121 passes through the network processing unit 111 to the encrypted communication processing unit 120 of the opposite gateway device 110, and the encryption key and encryption used for the encrypted communication processing. Negotiation of parameters such as an encryption algorithm, a hash value calculation algorithm, an IP address of the gateway device 110, and a network address of a subordinate terminal 103 under the gateway device 110.
The cryptographic communication parameter storage unit 122 stores the parameters determined by negotiation by the cryptographic communication tunnel construction processing unit 121.

暗号処理部123は、暗号通信トンネル構築処理部121によるネゴシエーションで決定されたパラメータを用いて、送信対象データの暗号通信処理を行う。
例えば、ゲートウェイ装置110の図示しない他のプロセス部が送出したデータ及び配下端末103から受信した受信データを含む送信対象データは、暗号通信処理を行うため、ネットワーク処理部111から暗号通信処理部120に渡される。なお、他のプロセス部は、Webサーバプロセスを実行するWebサーバプロセス部又はFTP(File Transfer Protocol)プロセスを実行するFTPプロセス部等である。暗号通信処理部120は、送信対象データを受け取ったのち、暗号処理を行うため、暗号通信パラメータ記憶部122に記憶されているパラメータとともに、送信対象データをセキュリティ機能部130に渡す。
The encryption processing unit 123 performs encryption communication processing of the data to be transmitted by using the parameters determined by the negotiation by the encryption communication tunnel construction processing unit 121.
For example, the transmission target data including the data transmitted by another process unit (not shown) of the gateway device 110 and the received data received from the subordinate terminal 103 is subjected to encrypted communication processing from the network processing unit 111 to the encrypted communication processing unit 120. Passed. The other process unit is a Web server process unit that executes a Web server process, an FTP process unit that executes an FTP (File Transfer Protocol) process, and the like. After receiving the transmission target data, the encrypted communication processing unit 120 passes the transmission target data to the security function unit 130 together with the parameters stored in the encrypted communication parameter storage unit 122 in order to perform the encryption processing.

そして、暗号処理部123は、セキュリティ機能部130で暗号化された送信対象データである暗号化送信対象データを受け取り、暗号通信パラメータ記憶部122に記憶されているパラメータに基づいて、データのカプセル化、対向するゲートウェイ装置110のIPアドレス情報の付与を行った後、処理後のデータをネットワーク処理部111に渡す。ネットワーク処理部111に渡されたデータは、送信データとして対向先のゲートウェイ装置110に送信される。 Then, the encryption processing unit 123 receives the encrypted transmission target data, which is the transmission target data encrypted by the security function unit 130, and encapsulates the data based on the parameters stored in the encrypted communication parameter storage unit 122. After adding the IP address information of the opposite gateway device 110, the processed data is passed to the network processing unit 111. The data passed to the network processing unit 111 is transmitted to the gateway device 110 at the opposite destination as transmission data.

セキュリティ機能部130は、送信対象データの暗号処理を行う。
セキュリティ機能部130は、処理切替部131と、S/Wセキュリティ機能部132と、H/Wセキュリティ機能部136とを備える。
The security function unit 130 performs encryption processing of the data to be transmitted.
The security function unit 130 includes a processing switching unit 131, an S / W security function unit 132, and an H / W security function unit 136.

処理切替部131は、データの暗号処理を行わせる機能部を、S/Wセキュリティ機能部132と、H/Wセキュリティ機能部136との間で切り替える。例えば、処理切替部131は、記憶部140に記憶されているマッピングテーブルを参照し、暗号通信処理部120から渡された送信対象データの暗号処理を、S/Wセキュリティ機能部132で行うか、又は、H/Wセキュリティ機能部136で行うかを切り替える。 The processing switching unit 131 switches the functional unit for performing data encryption processing between the S / W security function unit 132 and the H / W security function unit 136. For example, the processing switching unit 131 refers to the mapping table stored in the storage unit 140, and either the S / W security function unit 132 performs the encryption processing of the transmission target data passed from the encrypted communication processing unit 120. Alternatively, it is switched whether to be performed by the H / W security function unit 136.

S/Wセキュリティ機能部132は、ソフトウェアを用いて、送信対象データの暗号処理、例えば、乱数生成処理、暗号化処理及びハッシュ値計算処理を行う。
例えば、S/Wセキュリティ機能部132は、S/W乱数生成部133と、S/W暗号化処理部134と、S/Wハッシュ値計算部135とを備える。
S/W乱数生成部133は、ソフトウェアを用いて、送信対象データの暗号化に用いられる乱数を生成する。
S/W暗号化処理部134は、ソフトウェアを用いて、送信対象データを暗号化する。ここで、S/W暗号化処理部134は、複数の暗号化アルゴリズム(暗号化処理の複数の処理内容)に対応している。
S/Wハッシュ値計算部135は、ソフトウェアを用いて、暗号化されたデータの改竄を検知するためのハッシュ値を計算する。ここで、S/Wハッシュ値計算部135は、複数のハッシュ値計算アルゴリズム(ハッシュ値計算処理の複数の処理内容)に対応している。
The S / W security function unit 132 uses software to perform encryption processing of data to be transmitted, for example, random number generation processing, encryption processing, and hash value calculation processing.
For example, the S / W security function unit 132 includes an S / W random number generation unit 133, an S / W encryption processing unit 134, and an S / W hash value calculation unit 135.
The S / W random number generation unit 133 uses software to generate a random number used for encrypting the data to be transmitted.
The S / W encryption processing unit 134 uses software to encrypt the data to be transmitted. Here, the S / W encryption processing unit 134 corresponds to a plurality of encryption algorithms (a plurality of processing contents of the encryption processing).
The S / W hash value calculation unit 135 uses software to calculate a hash value for detecting falsification of encrypted data. Here, the S / W hash value calculation unit 135 corresponds to a plurality of hash value calculation algorithms (a plurality of processing contents of the hash value calculation process).

H/Wセキュリティ機能部136は、ハードウェアを用いて、送信対象データの暗号処理、例えば、乱数生成処理、暗号化処理及びハッシュ値計算処理を行う。
例えば、H/Wセキュリティ機能部136は、H/W乱数生成部137と、H/W暗号化処理部138と、H/Wハッシュ値計算部139とを備える。
H/W乱数生成部137は、ハードウェアを用いて、送信対象データの暗号化に用いられる乱数を生成する。
H/W暗号化処理部138は、ハードウェアを用いて、送信対象データを暗号化する。ここで、H/W暗号化処理部138は、複数の暗号化アルゴリズムに対応している。
H/Wハッシュ値計算部139は、ハードウェアを用いて、暗号化されたデータの改竄を検知するためのハッシュ値を計算する。ここで、H/Wハッシュ値計算部139は、複数のハッシュ値計算アルゴリズムに対応している。
The H / W security function unit 136 uses hardware to perform encryption processing of data to be transmitted, for example, random number generation processing, encryption processing, and hash value calculation processing.
For example, the H / W security function unit 136 includes an H / W random number generation unit 137, an H / W encryption processing unit 138, and an H / W hash value calculation unit 139.
The H / W random number generation unit 137 uses hardware to generate a random number used for encrypting the data to be transmitted.
The H / W encryption processing unit 138 encrypts the data to be transmitted by using the hardware. Here, the H / W encryption processing unit 138 corresponds to a plurality of encryption algorithms.
The H / W hash value calculation unit 139 uses hardware to calculate a hash value for detecting falsification of encrypted data. Here, the H / W hash value calculation unit 139 corresponds to a plurality of hash value calculation algorithms.

記憶部140は、切替情報としてのマッピングテーブルを記憶する。
マッピングテーブルは、暗号処理の処理内容とデータサイズとの組み合わせ毎に、ソフトウェアを選択するか、ハードウェアを選択するかを示す切替情報である。
The storage unit 140 stores a mapping table as switching information.
The mapping table is switching information indicating whether to select software or hardware for each combination of the processing content of the encryption process and the data size.

図3は、マッピングテーブルのデータ構造を説明するための概略図である。
図3に示されているように、マッピングテーブル141は、暗号処理の処理内容である乱数生成処理と複数のデータサイズの各々との組み合わせ毎、暗号化処理を行う複数のアルゴリズム(暗号化処理の複数の処理内容)の各々と複数のデータサイズの各々との組み合わせ毎、及び、ハッシュ値を計算する複数のアルゴリズム(ハッシュ値を計算する複数の処理内証)の各々と複数のデータサイズの各々との組み合わせ毎に、ソフトウェアを選択するか、ハードウェアを選択するかを示す。
FIG. 3 is a schematic diagram for explaining the data structure of the mapping table.
As shown in FIG. 3, the mapping table 141 includes a plurality of algorithms (encryption processing) for performing encryption processing for each combination of random number generation processing, which is the processing content of encryption processing, and each of a plurality of data sizes. Each combination of each of the multiple processing contents) and each of the multiple data sizes, and each of the multiple algorithms for calculating the hash value (multiple processing secrets for calculating the hash value) and each of the multiple data sizes. Indicates whether to select software or hardware for each combination with.

ソフトウェアとハードウェアとの切替を行うために、暗号通信を行う機器上で事前に、データサイズ、乱数生成処理、暗号化処理に用いるアルゴリズム、及び、ハッシュ値計算に用いるアルゴリズムを基にして、ソフトウェア及びハードウェアを用いた処理をそれぞれ行うことで、より処理の完了時間の短い方を選択して、選択された方を、図3に示されているようなマッピングテーブル141に格納する。
例えば、図3に示されている例では、送信対象データのデータサイズを、64byte、128byte、256byte、512byte、1024byte、・・・のように変更し、それぞれのデータサイズでの、乱数生成処理、DES、3DES、AES128、AES192又はAES256等の暗号化アルゴリズムを用いた暗号化処理、MD5、SHA1又はSHA2等のハッシュ値計算アルゴリズムを用いたハッシュ計算処理において、S/Wセキュリティ機能部132を用いた処理時及びH/Wセキュリティ機能部136を用いた処理時のそれぞれのスループットの測定を行う。測定結果を基に、S/Wセキュリティ機能部132及びH/Wセキュリティ機能部136のどちらのスループット性能が高いか比較を行い、スループット性能が高い方を選択することで、マッピングテーブルが構築される。
Software based on the algorithm used for data size, random number generation processing, encryption processing, and hash value calculation in advance on the device that performs encrypted communication in order to switch between software and hardware. And by performing the processing using the hardware, the one having the shorter processing completion time is selected, and the selected one is stored in the mapping table 141 as shown in FIG.
For example, in the example shown in FIG. 3, the data size of the data to be transmitted is changed to 64 bytes, 128 bytes, 256 bytes, 512 bytes, 1024 bytes, ..., And the random number generation process for each data size. The S / W security function unit 132 was used in the encryption process using an encryption algorithm such as DES, 3DES, AES128, AES192 or AES256, and the hash calculation process using a hash value calculation algorithm such as MD5, SHA1 or SHA2. The throughput at the time of processing and at the time of processing using the H / W security function unit 136 are measured. Based on the measurement results, a mapping table is constructed by comparing which of the S / W security function unit 132 and the H / W security function unit 136 has the higher throughput performance and selecting the one with the higher throughput performance. ..

なお、図3における「S or H」における「S」は、ソフトウェア(S/Wセキュリティ機能部132)を示し、「H」は、ハードウェア(H/Wセキュリティ機能部136)を示し、「S or H」は、ソフトウェア(S/Wセキュリティ機能部132)及びハードウェア(H/Wセキュリティ機能部136)の何れかが選択されることを示している。 In addition, "S" in "S or H" in FIG. 3 indicates software (S / W security function unit 132), "H" indicates hardware (H / W security function unit 136), and "S". "or H" indicates that either software (S / W security function unit 132) or hardware (H / W security function unit 136) is selected.

図4は、マッピングテーブルの一例を示す概略図である。
図4に示されているマッピングテーブル142は、H/Wセキュリティ機能部136に送信対象データを渡す際に、オーバーヘッドがかかり、データサイズが小さいときにはオーバーヘッドが処理時間の大部分を占めるため、S/Wセキュリティ機能部132の処理性能の方が良くなる例を示している。
FIG. 4 is a schematic diagram showing an example of a mapping table.
The mapping table 142 shown in FIG. 4 requires an overhead when passing the data to be transmitted to the H / W security function unit 136, and when the data size is small, the overhead occupies most of the processing time. An example is shown in which the processing performance of the W security function unit 132 is improved.

例えば、VPN通信を行いOSI階層モデルの第3層で処理を行うIPsecでは、配下端末103から受信したIPパケットを暗号処理し転送することとなる。暗号化アルゴリズムとしてAES256、ハッシュ値計算アルゴリズムとしてSHA2を使用する際、1つ目の転送データのデータサイズが512byteだった場合、乱数生成処理では、S/Wセキュリティ機能部132が使用され、暗号化処理では、S/Wセキュリティ機能部132が使用され、ハッシュ値計算処理は、H/Wセキュリティ機能部136が使用される。2つ目の転送データのデータサイズが1024byteだった場合、乱数生成処理、暗号化処理、ハッシュ値計算処理の全てにおいて、H/Wセキュリティ機能部136が使用される。 For example, in IPsec, which performs VPN communication and processes in the third layer of the OSI layer model, the IP packet received from the subordinate terminal 103 is encrypted and transferred. When AES256 is used as the encryption algorithm and SHA2 is used as the hash value calculation algorithm, if the data size of the first transfer data is 512 bytes, the S / W security function unit 132 is used in the random number generation process and encryption is performed. In the processing, the S / W security function unit 132 is used, and in the hash value calculation processing, the H / W security function unit 136 is used. When the data size of the second transfer data is 1024 bytes, the H / W security function unit 136 is used in all of the random number generation processing, the encryption processing, and the hash value calculation processing.

以上のように、マッピングテーブルによれば、暗号処理の処理内容である乱数生成処理では、送信対象データのデータサイズに応じて切り替えが行われ、暗号化処理では、送信対象データのデータサイズ及び暗号化処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われ、ハッシュ値計算処理では、送信対象データのデータサイズ及びハッシュ値計算処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われる。 As described above, according to the mapping table, in the random number generation processing, which is the processing content of the encryption processing, switching is performed according to the data size of the transmission target data, and in the encryption processing, the data size and encryption of the transmission target data. Switching is performed according to the combination of the processing contents (algorithm) of the encryption process, and in the hash value calculation process, the switching is performed according to the combination of the data size of the data to be transmitted and the processing content (algorithm) of the hash value calculation process. ..

以上に記載された、ネットワーク処理部111、暗号通信トンネル構築処理部121、暗号処理部123、処理切替部131及びH/Wセキュリティ機能部136の一部又は全部は、例えば、図5(A)に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuits)又はFPGA(Field Programmable Gate Array)等の処理回路10で構成することができる。 A part or all of the network processing unit 111, the encrypted communication tunnel construction processing unit 121, the encryption processing unit 123, the processing switching unit 131, and the H / W security function unit 136 described above may be, for example, FIG. 5A. As shown in, a processing circuit 10 such as a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuits) or an FPGA (Field Programmable Gate Array) is used. Can be done.

また、S/Wセキュリティ機能部132は、例えば、図5(B)に示されているように、メモリ11と、メモリ11に記憶されているプログラムを実行するCPU等のプロセッサ12とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。 Further, the S / W security function unit 132 is composed of, for example, as shown in FIG. 5B, a memory 11 and a processor 12 such as a CPU that executes a program stored in the memory 11. be able to. Such a program may be provided through a network, or may be recorded and provided on a recording medium. That is, such a program may be provided, for example, as a program product.

なお、暗号通信トンネル構築処理部121、暗号処理部123及び処理切替部131の一部又は全部は、図5(B)に示されているように、メモリ11と、プロセッサ12とにより構成することもできる。
また、暗号通信パラメータ記憶部122は、揮発性又は不揮発性のメモリにより構成することができ、記憶部140は、不揮発性のメモリにより構成することができる。
As shown in FIG. 5B, a part or all of the encrypted communication tunnel construction processing unit 121, the encryption processing unit 123, and the processing switching unit 131 shall be configured by the memory 11 and the processor 12. You can also.
Further, the encrypted communication parameter storage unit 122 can be configured by a volatile or non-volatile memory, and the storage unit 140 can be configured by a non-volatile memory.

次に動作について説明する。
図6は、実施の形態1のセキュリティ機能部130におけるS/W処理及びH/W処理の選択動作を示すフローチャートである。
Next, the operation will be described.
FIG. 6 is a flowchart showing a selection operation of S / W processing and H / W processing in the security function unit 130 of the first embodiment.

セキュリティ機能部130の処理切替部131は、暗号通信処理部120から送信対象データを受け取ると、記憶部140に記憶されているマッピングテーブルを参照して、送信対象データのデータサイズから、乱数生成処理について、S/W処理を行うか、H/W処理を行うかを選択する(S10)。
送信対象データのデータサイズは、送信対象データのヘッダ部分を参照することで確認することができる。S/W処理が選択された場合は、処理はステップS11に進み、H/W処理が選択された場合には、処理はステップS12に進む。
ステップS11では、S/W乱数生成部133が乱数生成処理を行う。言い換えると、ソフトウェアを用いた乱数生成処理が行われる。そして、処理はステップS13に進む。
一方、ステップS12では、H/W乱数生成部137が乱数生成処理を行う。言い換えると、ハードウェアを用いた乱数生成処理が行われる。そして、処理はステップS13に進む。
When the processing switching unit 131 of the security function unit 130 receives the transmission target data from the encrypted communication processing unit 120, the processing switching unit 131 refers to the mapping table stored in the storage unit 140 and performs random number generation processing from the data size of the transmission target data. Select whether to perform S / W processing or H / W processing (S10).
The data size of the transmission target data can be confirmed by referring to the header portion of the transmission target data. If the S / W process is selected, the process proceeds to step S11, and if the H / W process is selected, the process proceeds to step S12.
In step S11, the S / W random number generation unit 133 performs random number generation processing. In other words, random number generation processing using software is performed. Then, the process proceeds to step S13.
On the other hand, in step S12, the H / W random number generation unit 137 performs random number generation processing. In other words, random number generation processing using hardware is performed. Then, the process proceeds to step S13.

ステップS13では、処理切替部131は、マッピングテーブルを参照して、送信対象データのデータサイズと使用する暗号化アルゴリズムとから、暗号化処理について、S/W処理を行うか、H/W処理を行うかを選択する。使用する暗号化アルゴリズムは、暗号通信処理部120から送られてくるパラメータを参照することで確認することができる。S/W処理が選択された場合は、処理はステップS14に進み、H/W処理が選択された場合には、処理はステップS15に進む。
ステップS14では、S/W暗号化処理部134が暗号化処理を行う。言い換えると、ソフトウェアを用いた暗号化処理が行われる。そして、処理はステップS16に進む。
一方、ステップS15では、H/W暗号化処理部138が暗号化処理を行う。言い換えると、ハードウェアを用いた暗号化処理が行われる。そして、処理はステップS16に進む。
In step S13, the process switching unit 131 refers to the mapping table and performs S / W processing or H / W processing for the encryption processing based on the data size of the data to be transmitted and the encryption algorithm to be used. Choose whether to do it. The encryption algorithm to be used can be confirmed by referring to the parameters sent from the encrypted communication processing unit 120. If the S / W process is selected, the process proceeds to step S14, and if the H / W process is selected, the process proceeds to step S15.
In step S14, the S / W encryption processing unit 134 performs encryption processing. In other words, the encryption process using software is performed. Then, the process proceeds to step S16.
On the other hand, in step S15, the H / W encryption processing unit 138 performs encryption processing. In other words, the encryption process using hardware is performed. Then, the process proceeds to step S16.

ステップS16では、処理切替部131は、マッピングテーブルを参照して、送信対象データのデータサイズと使用するハッシュ値計算アルゴリズムとから、ハッシュ値の計算について、S/W処理を行うか、H/W処理を行うかを選択する。使用するハッシュ値計算アルゴリズムは、暗号通信処理部120から送られてくるパラメータを参照することで確認することができる。S/W処理が選択された場合は、処理はステップS17に進み、H/W処理が選択された場合には、処理はステップS18に進む。
ステップS17では、S/Wハッシュ値計算部135がハッシュ値計算処理を行う。言い換えると、ソフトウェアを用いたハッシュ値計算処理が行われる。
一方、ステップS18では、H/Wハッシュ値計算部139がハッシュ値計算処理を行う。言い換えると、ハードウェアを用いたハッシュ値計算処理が行われる。
In step S16, the processing switching unit 131 refers to the mapping table and performs S / W processing or H / W for the calculation of the hash value from the data size of the data to be transmitted and the hash value calculation algorithm to be used. Select whether to perform processing. The hash value calculation algorithm to be used can be confirmed by referring to the parameters sent from the cryptographic communication processing unit 120. If the S / W process is selected, the process proceeds to step S17, and if the H / W process is selected, the process proceeds to step S18.
In step S17, the S / W hash value calculation unit 135 performs the hash value calculation process. In other words, the hash value calculation process using software is performed.
On the other hand, in step S18, the H / W hash value calculation unit 139 performs the hash value calculation process. In other words, the hash value calculation process using hardware is performed.

なお、セキュリティ機能部130での暗号処理が施された暗号化送信対象データは、暗号通信処理部120に戻される。 The encrypted transmission target data that has been encrypted by the security function unit 130 is returned to the encrypted communication processing unit 120.

暗号通信処理部120に戻された暗号化送信対象データは、暗号通信パラメータ記憶部122に記憶されているパラメータに基づいて、データのカプセル化、対向するゲートウェイ装置110のIPアドレス情報の付与が行われた後、ネットワーク処理部111に渡され、対向先のゲートウェイ装置110に送信データとして送信される。 The encrypted transmission target data returned to the encrypted communication processing unit 120 is encapsulated in data and given IP address information of the opposite gateway device 110 based on the parameters stored in the encrypted communication parameter storage unit 122. After that, it is passed to the network processing unit 111 and transmitted as transmission data to the gateway device 110 at the opposite destination.

暗号通信処理された送信データを受け取った対向先のゲートウェイ装置110は、復号処理を行い、配下端末103又は対向先のゲートウェイ装置110内部へ転送を行う。 The gateway device 110 at the opposite destination, which has received the transmission data processed by encrypted communication, performs decryption processing and transfers the data to the subordinate terminal 103 or the gateway device 110 at the opposite destination.

以上のように、実施の形態1によれば、セキュリティ機能部130で行う暗号処理に含まれる乱数生成処理、暗号化処理及びハッシュ値計算処理において、アルゴリズム及びデータサイズ等の各条件に応じて、H/W処理及びS/W処理を切り替られることができるため、各条件で最も性能が高い処理方式を選択することができる。このため、暗号処理を行う際に機器の性能を最大限引き出すことができる。 As described above, according to the first embodiment, in the random number generation processing, the encryption processing, and the hash value calculation processing included in the encryption processing performed by the security function unit 130, according to each condition such as the algorithm and the data size, Since H / W processing and S / W processing can be switched, the processing method having the highest performance can be selected under each condition. Therefore, the performance of the device can be maximized when performing the encryption process.

実施の形態1は、上述のように、暗号処理についてS/W処理及びH/W処理の両方に対応しているゲートウェイ装置110に限られない。例えば、処理を行うゲートウェイ装置の制約上、H/Wセキュリティ機能部136を備えておらず、S/W処理しかできないゲートウェイ装置、又は、H/W処理に固定されており切り替えができないゲートウェイ装置にも、実施の形態1を適用することができる。このような場合には、マッピングテーブルを全てS/W又はH/Wとすることで対応可能である。 As described above, the first embodiment is not limited to the gateway device 110 that supports both S / W processing and H / W processing for cryptographic processing. For example, due to the restrictions of the gateway device that performs processing, the gateway device that does not have the H / W security function unit 136 and can only perform S / W processing, or the gateway device that is fixed to H / W processing and cannot be switched. Also, the first embodiment can be applied. Such a case can be dealt with by setting all the mapping tables to S / W or H / W.

または、図7に示されているように、図6のステップS10の前段に、ステップS20及びS24を設けることで、マッピングテーブルの全体を確認して、H/W処理のみ又はS/W処理のみが選択されている場合に、処理を簡略化することができる。
例えば、ステップS20で、マッピングテーブルの全体がH/W処理のみを選択している場合には、処理切替部131は、ステップS21からS23で、H/Wセキュリティ機能部136にハードウェアを用いた暗号処理を行わせる。
また、ステップS24で、マッピングテーブルの全体がS/W処理のみを選択している場合には、処理切替部131は、ステップS25からS27で、S/Wセキュリティ機能部132にソフトウェアを用いた暗号処理を行わせる。
Alternatively, as shown in FIG. 7, by providing steps S20 and S24 in front of step S10 in FIG. 6, the entire mapping table can be confirmed and only H / W processing or S / W processing only. If is selected, the process can be simplified.
For example, when the entire mapping table selects only H / W processing in step S20, the processing switching unit 131 uses hardware for the H / W security function unit 136 in steps S21 to S23. Have the encryption process performed.
If only S / W processing is selected for the entire mapping table in step S24, the processing switching unit 131 uses software for the S / W security function unit 132 in steps S25 to S27. Let the process be performed.

なお、ステップS20及びS24での処理については、S/W処理のみ、H/W処理のみ又は両方対応を示すフラグをマッピングテーブルに設けておくことで、処理切替部131がそのフラグを確認するようにしてもよい。 Regarding the processing in steps S20 and S24, a flag indicating correspondence between S / W processing only, H / W processing only, or both is provided in the mapping table so that the processing switching unit 131 confirms the flag. You may do it.

なお、実施形態1では、ゲートウェイ装置110が行う暗号化通信をVPN通信として、OSI階層の第3層で処理を行うIPsecを例に説明したが、他のVPN暗号通信でも同様に構成することができる。例えば、VPN通信を行い第2層で暗号通信処理を行うL2TP又はPPTPでは、Ethernetフレームが対象となり、第4層以上で暗号通信処理を行うSSL VPN等では、第4層以上のデータが対象となることを除き、同様の動作となる。 In the first embodiment, the encrypted communication performed by the gateway device 110 is defined as VPN communication, and IPsec performed in the third layer of the OSI layer is described as an example, but other VPN encrypted communication may be similarly configured. can. For example, in L2TP or PPTP where VPN communication is performed and encrypted communication processing is performed in the second layer, Ethernet frames are targeted, and in SSL VPN or the like where encrypted communication processing is performed in the fourth layer or higher, data in the fourth layer or higher is targeted. The operation is the same except that.

また、VPN通信だけでなく、SSLを用いたHTTPS通信、又は、SFTP若しくはSSH等他のプロトコルの暗号通信でも同様の動作となり、この場合は、送信対象データは、他のアプリケーションが送信したデータとなる。 Further, not only VPN communication but also HTTPS communication using SSL or encrypted communication of other protocols such as SFTP or SSH will operate in the same manner. In this case, the data to be transmitted is the data transmitted by another application. Become.

実施の形態2.
実施の形態1は、暗号処理をH/W処理及びS/W処理に分岐させているが、実施の形態2は、暗号処理前段のデータ圧縮の使用及び不使用も分岐させる。
Embodiment 2.
In the first embodiment, the encryption process is branched into the H / W process and the S / W process, but in the second embodiment, the use and non-use of the data compression in the stage before the encryption process are also branched.

一般に、送信対象データを圧縮した後に暗号処理を実施した方が、データ量が少なくなるため、スループット性能が向上するが、すでに送信対象データが圧縮されている場合には、再度、送信対象データを圧縮しても、データ量はさほど少なくならないことが多い。このため、実施の形態2では、すでに圧縮された送信対象データについては、再度圧縮処理を実施しないことにより、圧縮処理の時間を削減するようにした。 Generally, if the data to be transmitted is compressed and then encrypted, the amount of data is smaller and the throughput performance is improved. However, if the data to be transmitted is already compressed, the data to be transmitted is again compressed. Even with compression, the amount of data is often not so small. Therefore, in the second embodiment, the compression processing time is reduced by not performing the compression processing again for the transmission target data that has already been compressed.

図1に示されているように、実施の形態2に係る通信システム200は、ゲートウェイ装置210A、210Bを備える。
実施の形態2も、暗号通信機能をネットワークのエッジにあたるゲートウェイ装置210A、210Bに搭載した例である。
As shown in FIG. 1, the communication system 200 according to the second embodiment includes gateway devices 210A and 210B.
The second embodiment is also an example in which the encrypted communication function is mounted on the gateway devices 210A and 210B, which are at the edge of the network.

ゲートウェイ装置210A、210Bは、ネットワークとしてのインターネット101に接続され、ゲートウェイ装置210A、210Bの間に、暗号通信トンネル102を構成している。
ここで、ゲートウェイ装置210A、210Bは、同じように構成されているため、以下、ゲートウェイ装置210A、210Bの各々を特に区別する必要がない場合には、ゲートウェイ装置210という。
The gateway devices 210A and 210B are connected to the Internet 101 as a network, and form an encrypted communication tunnel 102 between the gateway devices 210A and 210B.
Here, since the gateway devices 210A and 210B are configured in the same manner, hereinafter, when it is not necessary to distinguish each of the gateway devices 210A and 210B, it is referred to as a gateway device 210.

図8は、実施の形態2におけるゲートウェイ装置210の構成を概略的に示すブロック図である。
ゲートウェイ装置210は、ネットワーク処理部111と、暗号通信処理部120と、セキュリティ機能部230と、記憶部240とを備える。
実施の形態2におけるゲートウェイ装置210のネットワーク処理部111及び暗号通信処理部120は、実施の形態1と同様である。
FIG. 8 is a block diagram schematically showing the configuration of the gateway device 210 according to the second embodiment.
The gateway device 210 includes a network processing unit 111, a cryptographic communication processing unit 120, a security function unit 230, and a storage unit 240.
The network processing unit 111 and the encrypted communication processing unit 120 of the gateway device 210 in the second embodiment are the same as those in the first embodiment.

セキュリティ機能部230は、送信対象データの圧縮処理及び暗号処理を行う。
セキュリティ機能部230は、処理切替部231と、S/Wセキュリティ機能部132と、H/Wセキュリティ機能部136と、圧縮部250とを備える。
実施の形態2におけるセキュリティ機能部230のS/Wセキュリティ機能部132及びH/Wセキュリティ機能部136は、実施の形態1と同様である。
The security function unit 230 performs compression processing and encryption processing of the data to be transmitted.
The security function unit 230 includes a processing switching unit 231, an S / W security function unit 132, an H / W security function unit 136, and a compression unit 250.
The S / W security function unit 132 and the H / W security function unit 136 of the security function unit 230 in the second embodiment are the same as those in the first embodiment.

処理切替部231は、実施の形態1と同様の処理を行うほか、暗号処理の選択を行う前に、記憶部240に記憶されている圧縮テーブルを参照し、暗号通信処理部120から渡された送信対象データの圧縮処理を行うか否かを切り替える。
圧縮部250は、処理切替部231の判断に従って、送信対象データの圧縮を行う。
The processing switching unit 231 performs the same processing as in the first embodiment, and also refers to the compression table stored in the storage unit 240 before selecting the encryption processing, and is passed from the encryption communication processing unit 120. Switch whether to perform compression processing of the data to be transmitted.
The compression unit 250 compresses the data to be transmitted according to the judgment of the processing switching unit 231.

記憶部240は、切替情報としてのマッピングテーブル及び圧縮情報としての圧縮テーブルを記憶する。
マッピングテーブルについては、実施の形態1と同様である。
The storage unit 240 stores a mapping table as switching information and a compression table as compression information.
The mapping table is the same as that of the first embodiment.

図9は、圧縮テーブルのデータ構造を説明するための概略図である。
図9に示されているように、圧縮テーブル243は、送信対象データの種類毎に、データの圧縮を行うか否かを示す情報である。
ここで、図9における「○ or ×」における「○」は、圧縮処理を行うことを示し、「×」は、圧縮処理を行わないことを示し、「○ or ×」は、圧縮処理を行うこと及び圧縮処理を行わないことの何れかが選択されることを示している。
FIG. 9 is a schematic diagram for explaining the data structure of the compressed table.
As shown in FIG. 9, the compression table 243 is information indicating whether or not to compress the data for each type of data to be transmitted.
Here, "○" in "○ or ×" in FIG. 9 indicates that compression processing is performed, "×" indicates that compression processing is not performed, and "○ or ×" indicates that compression processing is performed. It indicates that either that or not performing the compression process is selected.

また、圧縮テーブルの作成では、例えば、データの種類を、テキストデータ、圧縮済みの画像データ、非圧縮の画像データ、圧縮済みの映像データ、非圧縮の映像データ、・・・のように変更し、それぞれのデータの種類でデータ圧縮使用時及びデータ圧縮未使用時それぞれについて、暗号処理完了までのスループットの測定を行う。測定結果を基に、データ圧縮使用時及びデータ圧縮未使用時のどちらのスループット性能が高いか比較を行い、スループット性能が高い方式を選択することで、圧縮テーブルが構築される。
なお、ここでの暗号処理は、代表的なデータサイズ及びアルゴリズムが使用されればよい。
In creating a compressed table, for example, the data type is changed to text data, compressed image data, uncompressed image data, compressed video data, uncompressed video data, and so on. , For each data type, measure the throughput until the completion of encryption processing when data compression is used and when data compression is not used. Based on the measurement results, a compression table is constructed by comparing whether the throughput performance is higher when data compression is used or when data compression is not used, and by selecting a method with higher throughput performance.
For the encryption process here, a typical data size and algorithm may be used.

図10は、圧縮テーブルの一例を示す概略図である。
例えば、VPN通信を行いOSI階層モデルの第3層で処理を行うIPsecでは、配下端末103から受信したIPパケットを暗号通信処理し転送することとなる。図10の圧縮テーブル244に示されているように、1つ目の転送データの種類がテキストデータだった場合、データ圧縮処理を行った後に各種暗号処理を行う。2つ目の転送データの種類が圧縮済みの映像データだった場合、データ圧縮処理を行わずに各種暗号処理を行う。
FIG. 10 is a schematic diagram showing an example of a compression table.
For example, in IPsec in which VPN communication is performed and processing is performed in the third layer of the OSI layer model, the IP packet received from the subordinate terminal 103 is encrypted and transferred. As shown in the compression table 244 of FIG. 10, when the first type of transfer data is text data, various encryption processes are performed after the data compression process. When the second type of transfer data is compressed video data, various encryption processes are performed without performing the data compression process.

次に動作について説明する。
図11は、実施の形態2のセキュリティ機能部230における、データ圧縮の有無の選択動作、並びに、S/W処理及びH/W処理の選択動作を示すフローチャートである。
Next, the operation will be described.
FIG. 11 is a flowchart showing a selection operation of presence / absence of data compression and a selection operation of S / W processing and H / W processing in the security function unit 230 of the second embodiment.

まず、セキュリティ機能部230の処理切替部231は、暗号通信処理部120から送信対象データを受け取ると、記憶部240に記憶されている圧縮テーブルを参照することで、送信対象データのデータ内容に応じて、データ圧縮の使用の有無を選択する(S30)。データ圧縮を使用する場合は、処理はステップS31に進み、データ圧縮を使用しない場合には、処理はステップS10に進む。 First, when the processing switching unit 231 of the security function unit 230 receives the transmission target data from the encrypted communication processing unit 120, the processing switching unit 231 refers to the compression table stored in the storage unit 240, and responds to the data content of the transmission target data. Then, whether or not to use data compression is selected (S30). If data compression is used, the process proceeds to step S31, and if data compression is not used, the process proceeds to step S10.

データ圧縮の使用の有無の判断には、送信対象データ内のヘッダ部分、又は、通信に用いているポート番号等の確認が行われる。
送信対象データ内のヘッダ部分には、そのデータ種類の識別情報が記載されている。例えば、ヘッダ部分にJPEG画像データの識別情報が記載されていた場合は、処理切替部231は、圧縮済の画像データと判断する。ヘッダ部分にMP4映像データの識別情報が記載されていた場合は、処理切替部231は、圧縮済の映像データと判断する。
なお、映像データ及び画像データ等には非圧縮のデータも存在する。例えば、BMPファイル又はTIFFファイルの一部は、非圧縮の画像データである。これらも、ヘッダ部分の識別情報で圧縮済又は非圧縮の判断が可能のため、処理切替部231は、これらを元に、圧縮処理を行うか否かを決定する。
To determine whether or not to use data compression, the header portion in the data to be transmitted or the port number used for communication is confirmed.
Identification information of the data type is described in the header part in the transmission target data. For example, when the identification information of the JPEG image data is described in the header portion, the processing switching unit 231 determines that the image data is compressed. When the identification information of the MP4 video data is described in the header portion, the processing switching unit 231 determines that the video data has been compressed.
It should be noted that uncompressed data also exists in the video data, the image data, and the like. For example, a part of a BMP file or a TIFF file is uncompressed image data. Since it is possible to determine whether these are compressed or uncompressed based on the identification information of the header portion, the process switching unit 231 determines whether or not to perform the compression process based on these.

また、通信に用いているポート番号は、プロトコル毎に決まっているため、処理切替部231は、ポート番号を確認することでデータ種類の判別が可能である。例えば、ポート番号が、映像ストリーミングプロトコルである、Microsoft Media Server(MMS)、又は、リアルタイム ストリーミング プロトコル(RTSP)等を示している場合には、圧縮済みの映像データに該当する。具体的には、MMSなら1755、RSTPなら554のように、デフォルトのポート番号が割り当てられるため、処理切替部231は、これらを元に圧縮処理を行うか否かを決定する。 Further, since the port number used for communication is determined for each protocol, the processing switching unit 231 can determine the data type by checking the port number. For example, when the port number indicates a video streaming protocol such as Microsoft Media Server (MMS) or Real Time Streaming Protocol (RTSP), it corresponds to compressed video data. Specifically, since default port numbers are assigned such as 1755 for MMS and 554 for RSTP, the processing switching unit 231 determines whether or not to perform compression processing based on these.

図11のステップS10~S18の処理については、実施の形態1における図6のステップS10~S18の処理と同様のため、詳細な説明は、省略する。 Since the processes of steps S10 to S18 of FIG. 11 are the same as the processes of steps S10 to S18 of FIG. 6 in the first embodiment, detailed description thereof will be omitted.

以上のように、実施の形態2によれば、データ種類毎に圧縮処理を行うか否かを切り替えることができるため、既に圧縮されているデータの再圧縮による処理時間ロスを低減させることが可能となり、転送スループットの向上を図ることができる。 As described above, according to the second embodiment, it is possible to switch whether or not to perform the compression process for each data type, so that it is possible to reduce the processing time loss due to the recompression of the already compressed data. Therefore, the transfer throughput can be improved.

実施の形態2は、上述のような、圧縮処理に対応しているゲートウェイ装置210に限らず、圧縮処理を必ず行うゲートウェイ装置、又は、圧縮処理に対応していないゲートウェイ装置にも適用可能である。例えば、データ圧縮を必ず行うゲートウェイ装置では、圧縮テーブルを全て○、データ圧縮に対応していないゲートウェイ装置では圧縮テーブルを全て×とすることで対応可能である。 The second embodiment is applicable not only to the gateway device 210 that supports compression processing as described above, but also to a gateway device that always performs compression processing or a gateway device that does not support compression processing. .. For example, in a gateway device that always performs data compression, all compression tables can be set to ○, and in a gateway device that does not support data compression, all compression tables can be set to ×.

実施の形態3.
実施の形態1及び2では、暗号通信の送信側の処理を説明したが、実施の形態3では、暗号通信の受信側の処理を説明する。
図1に示されているように、実施の形態3に係る通信システム300は、ゲートウェイ装置310A、310Bを備える。
実施の形態3も、暗号通信機能をネットワークのエッジにあたるゲートウェイ装置310A、310Bに搭載した例である。
Embodiment 3.
In the first and second embodiments, the processing on the transmitting side of the encrypted communication has been described, but in the third embodiment, the processing on the receiving side of the encrypted communication will be described.
As shown in FIG. 1, the communication system 300 according to the third embodiment includes gateway devices 310A and 310B.
The third embodiment is also an example in which the encrypted communication function is mounted on the gateway devices 310A and 310B corresponding to the edge of the network.

ゲートウェイ装置310A、310Bは、ネットワークとしてのインターネット101に接続され、ゲートウェイ装置310A、310Bの間に、暗号通信トンネル102を構成している。
ここで、ゲートウェイ装置310A、310Bは、同じように構成されているため、以下、ゲートウェイ装置310A、310Bの各々を特に区別する必要がない場合には、ゲートウェイ装置310という。
The gateway devices 310A and 310B are connected to the Internet 101 as a network, and form an encrypted communication tunnel 102 between the gateway devices 310A and 310B.
Here, since the gateway devices 310A and 310B are configured in the same manner, hereinafter, when it is not necessary to distinguish each of the gateway devices 310A and 310B, it is referred to as a gateway device 310.

図12は、ゲートウェイ装置310の構成を概略的に示すブロック図である。
ゲートウェイ装置310は、ネットワーク処理部311と、暗号通信処理部320と、セキュリティ機能部330と、記憶部340とを備える。
ネットワーク処理部311は、インターネット101とのインターフェースとして機能する。例えば、ネットワーク処理部311は、Ethernetフレーム又はIPパケットを受信する。
FIG. 12 is a block diagram schematically showing the configuration of the gateway device 310.
The gateway device 310 includes a network processing unit 311, a cryptographic communication processing unit 320, a security function unit 330, and a storage unit 340.
The network processing unit 311 functions as an interface with the Internet 101. For example, the network processing unit 311 receives an Ethernet frame or an IP packet.

暗号通信処理部320は、インターネット101において暗号通信を行うために、暗号通信トンネル構築処理及び暗号通信処理を行う。
暗号通信処理部320は、暗号通信トンネル構築処理部121と、暗号通信パラメータ記憶部122と、復号処理部324とを備える。
実施の形態3における暗号通信処理部320の暗号通信トンネル構築処理部121及び暗号通信パラメータ記憶部122は、実施の形態1と同様である。
The encrypted communication processing unit 320 performs an encrypted communication tunnel construction process and an encrypted communication process in order to perform encrypted communication on the Internet 101.
The cryptographic communication processing unit 320 includes a cryptographic communication tunnel construction processing unit 121, a cryptographic communication parameter storage unit 122, and a decryption processing unit 324.
The cryptographic communication tunnel construction processing unit 121 and the cryptographic communication parameter storage unit 122 of the cryptographic communication processing unit 320 in the third embodiment are the same as those in the first embodiment.

復号処理部324は、暗号通信トンネル構築処理部121によるネゴシエーションで決定されたパラメータを用いて、復号対象データの暗号通信処理を行う。
例えば、インターネット101から受信した受信データを含む復号対象データは、暗号通信処理を行うためネットワーク処理部311から暗号通信処理部320に渡される。暗号通信処理部320は、復号対象データを受け取ったのち、暗号処理を行うため、暗号通信パラメータ記憶部122に記憶されているパラメータとともに、復号対象データをセキュリティ機能部330に渡す。
The decryption processing unit 324 performs the encryption communication processing of the data to be decrypted by using the parameters determined by the negotiation by the encrypted communication tunnel construction processing unit 121.
For example, the decryption target data including the received data received from the Internet 101 is passed from the network processing unit 311 to the encrypted communication processing unit 320 in order to perform the encrypted communication processing. After receiving the data to be decrypted, the encryption communication processing unit 320 passes the data to be decrypted to the security function unit 330 together with the parameters stored in the encryption communication parameter storage unit 122 in order to perform the encryption processing.

そして、復号処理部324は、セキュリティ機能部330で復号された復号データを受け取り、宛先に応じて、処理を行った後、処理後のデータを、送信データとして宛先に送る。例えば、宛先がゲートウェイ装置310である場合には、復号処理部324は、復号されたデータを、ネットワーク処理部311からゲートウェイ装置310の他のプロセス部(図示せず)に送る。また、復号データの宛先が、配下端末103である場合には、データのカプセル化、宛先となる配下端末103のIPアドレス情報の付与が行われた後、ネットワーク処理部111に渡され、配下端末103に送信データとして送信される。 Then, the decoding processing unit 324 receives the decrypted data decoded by the security function unit 330, performs processing according to the destination, and then sends the processed data to the destination as transmission data. For example, when the destination is the gateway device 310, the decoding processing unit 324 sends the decoded data from the network processing unit 311 to another process unit (not shown) of the gateway device 310. When the destination of the decrypted data is the subordinate terminal 103, the data is encapsulated, the IP address information of the subordinate terminal 103 to be the destination is added, and then the data is passed to the network processing unit 111 and the subordinate terminal. It is transmitted to 103 as transmission data.

セキュリティ機能部330は、送信対象データの暗号処理を行う。
セキュリティ機能部330は、処理切替部331と、S/Wセキュリティ機能部332と、H/Wセキュリティ機能部336とを備える。
The security function unit 330 performs encryption processing of the data to be transmitted.
The security function unit 330 includes a processing switching unit 331, an S / W security function unit 332, and an H / W security function unit 336.

処理切替部331は、記憶部340に記憶されているマッピングテーブルを参照し、暗号通信処理部320から渡された復号対象データの暗号処理を、S/Wセキュリティ機能部332で行うか、又は、H/Wセキュリティ機能部336で行うかを切り替える。 The processing switching unit 331 refers to the mapping table stored in the storage unit 340, and the S / W security function unit 332 performs the encryption processing of the decryption target data passed from the encrypted communication processing unit 320, or the processing switching unit 331 performs the encryption processing. The H / W security function unit 336 switches whether to perform the operation.

S/Wセキュリティ機能部332は、ソフトウェアを用いて、復号対象データの暗号処理、例えば、復号化処理及びハッシュ値計算処理を行う。
例えば、S/Wセキュリティ機能部332は、S/W復号化処理部351と、S/Wハッシュ値計算部335とを備える。
S/W復号化処理部351は、ソフトウェアを用いて、復号対象データを復号化する。ここで、S/W復号化処理部351は、複数の復号化アルゴリズム(復号化処理の処理内容)に対応している。
S/Wハッシュ値計算部335は、ソフトウェアを用いて、復号対象データの改竄を検知するためのハッシュ値を計算する。ここで、S/Wハッシュ値計算部335は、複数のハッシュ値計算アルゴリズム(ハッシュ値計算処理の処理内容)に対応している。
The S / W security function unit 332 uses software to perform encryption processing of the data to be decrypted, for example, decryption processing and hash value calculation processing.
For example, the S / W security function unit 332 includes an S / W decoding processing unit 351 and an S / W hash value calculation unit 335.
The S / W decoding processing unit 351 decodes the data to be decoded by using software. Here, the S / W decoding processing unit 351 corresponds to a plurality of decoding algorithms (processing contents of the decoding process).
The S / W hash value calculation unit 335 uses software to calculate a hash value for detecting falsification of the data to be decoded. Here, the S / W hash value calculation unit 335 corresponds to a plurality of hash value calculation algorithms (process contents of the hash value calculation process).

H/Wセキュリティ機能部336は、ハードウェアを用いて、復号対象データの暗号処理、例えば、復号化処理及びハッシュ値計算処理を行う。
例えば、H/Wセキュリティ機能部336は、H/W復号化処理部352と、H/Wハッシュ値計算部339とを備える。
H/W復号化処理部352は、ハードウェアを用いて、復号対象データを復号化する。ここで、H/W復号化処理部352は、複数の復号化アルゴリズムに対応している。
H/Wハッシュ値計算部339は、ハードウェアを用いて、復号対象データの改竄を検知するためのハッシュ値を計算する。ここで、H/Wハッシュ値計算部339は、複数のハッシュ値計算アルゴリズムに対応している。
The H / W security function unit 336 performs encryption processing of the data to be decrypted, for example, decryption processing and hash value calculation processing using hardware.
For example, the H / W security function unit 336 includes an H / W decoding processing unit 352 and an H / W hash value calculation unit 339.
The H / W decoding processing unit 352 decodes the data to be decoded by using the hardware. Here, the H / W decoding processing unit 352 corresponds to a plurality of decoding algorithms.
The H / W hash value calculation unit 339 uses hardware to calculate a hash value for detecting falsification of the data to be decoded. Here, the H / W hash value calculation unit 339 corresponds to a plurality of hash value calculation algorithms.

記憶部340は、切替情報としてのマッピングテーブルを記憶する。
マッピングテーブルは、暗号処理の処理内容とデータサイズとの組み合わせ毎に、ソフトウェアを選択するか、ハードウェアを選択するかを示す情報である。
The storage unit 340 stores a mapping table as switching information.
The mapping table is information indicating whether to select software or hardware for each combination of the processing content of the encryption process and the data size.

図13は、マッピングテーブルのデータ構造を説明するための概略図である。
図13に示されているように、マッピングテーブル345は、ハッシュ値を計算する複数のアルゴリズム(ハッシュ値を計算する複数の処理内容)の各々と複数のデータサイズの各々との組み合わせ毎、及び、復号化処理を行う複数のアルゴリズム(復号化処理の複数の処理内容)の各々と複数のデータサイズの各々との組み合わせ毎に、ソフトウェアを選択するか、ハードウェアを選択するかを示す。
FIG. 13 is a schematic diagram for explaining the data structure of the mapping table.
As shown in FIG. 13, the mapping table 345 is a combination of each of the plurality of algorithms for calculating the hash value (multiple processing contents for calculating the hash value) and each of the plurality of data sizes, and. It indicates whether to select software or hardware for each combination of each of the plurality of algorithms (multiple processing contents of the decoding process) for performing the decoding process and each of the plurality of data sizes.

ソフトウェアとハードウェアとの切替を行うために、暗号通信を行う機器上で事前に、データサイズ、ハッシュ値計算に用いるアルゴリズム、及び、暗号化処理に用いるアルゴリズムを基にして、ソフトウェアとハードウェアとのそれぞれで処理を行うことで、より処理の完了時間の短い方を選択して、選択された方を、図13に示されているようなマッピングテーブル345に格納する。
例えば、図13に示されている例では、復号対象データのデータサイズを、64byte、128byte、256byte、512byte、1024byte、・・・のように変更し、それぞれのデータサイズでの、MD5、SHA1又はSHA2等のハッシュ値計算アルゴリズムを用いたハッシュ計算処理、及び、DES、3DES、AES128、AES192又はAES256等の復号化アルゴリズムを用いた復号化処理において、S/Wセキュリティ機能部332を用いた処理時及びH/Wセキュリティ機能部336を用いた処理時のそれぞれのスループットの測定を行う。測定結果を基に、S/Wセキュリティ機能部332及びH/Wセキュリティ機能部336のどちらのスループット性能が高いか比較を行い、スループット性能が高い方を選択することで、マッピングテーブルが構築される。
In order to switch between software and hardware, software and hardware are based on the data size, the algorithm used for hash value calculation, and the algorithm used for encryption processing in advance on the device that performs encrypted communication. By performing the processing in each of the above, the one having the shorter processing completion time is selected, and the selected one is stored in the mapping table 345 as shown in FIG.
For example, in the example shown in FIG. 13, the data size of the data to be decoded is changed to 64 byte, 128 byte, 256 byte, 512 byte, 1024 byte, ..., And MD5, SHA1 or During processing using the S / W security function unit 332 in hash calculation processing using a hash value calculation algorithm such as SHA2 and decoding processing using a decoding algorithm such as DES, 3DES, AES128, AES192 or AES256. And, each throughput at the time of processing using the H / W security function unit 336 is measured. Based on the measurement results, a mapping table is constructed by comparing which of the S / W security function unit 332 and the H / W security function unit 336 has the higher throughput performance and selecting the one with the higher throughput performance. ..

なお、図13における「S or H」における「S」は、ソフトウェア(S/Wセキュリティ機能部332)を示し、「H」は、ハードウェア(H/Wセキュリティ機能部336)を示し、「S or H」は、ソフトウェア(S/Wセキュリティ機能部332)及びハードウェア(H/Wセキュリティ機能部336)の何れかが選択されることを示している。 In addition, "S" in "S or H" in FIG. 13 indicates software (S / W security function unit 332), "H" indicates hardware (H / W security function unit 336), and "S". "or H" indicates that either software (S / W security function unit 332) or hardware (H / W security function unit 336) is selected.

図14は、マッピングテーブルの一例を示す概略図である。
図14に示されているマッピングテーブル346は、H/Wセキュリティ機能部336に復号対象データを渡す際に、オーバーヘッドがかかり、データサイズが小さいときにはオーバーヘッドが処理時間の大部分を占めるため、S/Wセキュリティ機能部332の処理性能の方が良くなる例を示している。
FIG. 14 is a schematic diagram showing an example of a mapping table.
The mapping table 346 shown in FIG. 14 requires an overhead when passing the data to be decoded to the H / W security function unit 336, and when the data size is small, the overhead occupies most of the processing time. An example is shown in which the processing performance of the W security function unit 332 is improved.

以上のように、マッピングテーブルによれば、復号化処理では、復号対象データのデータサイズ及び復号化処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われ、ハッシュ値計算処理では、復号対象データのデータサイズ及びハッシュ値計算処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われる。 As described above, according to the mapping table, in the decoding process, switching is performed according to the combination of the data size of the data to be decoded and the processing content (algorithm) of the decoding process, and in the hash value calculation process, the decoding target is performed. Switching is performed according to the combination of the data size of the data and the processing content (algorithm) of the hash value calculation processing.

以上に記載された、ネットワーク処理部311、暗号通信トンネル構築処理部121、復号処理部324、処理切替部331及びH/Wセキュリティ機能部336の一部又は全部は、例えば、図5(A)に示されているように、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC又はFPGA等の処理回路10で構成することができる。 A part or all of the network processing unit 311, the encrypted communication tunnel construction processing unit 121, the decryption processing unit 324, the processing switching unit 331, and the H / W security function unit 336 described above may be, for example, FIG. 5A. As shown in, it can be composed of a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, and a processing circuit 10 such as an ASIC or FPGA.

また、S/Wセキュリティ機能部332は、例えば、図5(B)に示されているように、メモリ11と、メモリ11に記憶されているプログラムを実行するCPU等のプロセッサ12とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。 Further, the S / W security function unit 332 is composed of, for example, a memory 11 and a processor 12 such as a CPU that executes a program stored in the memory 11, as shown in FIG. 5 (B). be able to. Such a program may be provided through a network, or may be recorded and provided on a recording medium. That is, such a program may be provided, for example, as a program product.

なお、暗号通信トンネル構築処理部121、復号処理部324及び処理切替部331の一部又は全部は、図5(B)に示されているように、メモリ11と、プロセッサ12とにより構成することもできる。
また、暗号通信パラメータ記憶部122は、揮発性又は不揮発性のメモリにより構成することができ、記憶部340は、不揮発性のメモリにより構成することができる。
As shown in FIG. 5B, a part or all of the encrypted communication tunnel construction processing unit 121, the decryption processing unit 324, and the processing switching unit 331 shall be configured by the memory 11 and the processor 12. You can also.
Further, the encrypted communication parameter storage unit 122 can be configured by a volatile or non-volatile memory, and the storage unit 340 can be configured by a non-volatile memory.

次に動作について説明する。
図15は、実施の形態3のセキュリティ機能部330におけるS/W処理及びH/W処理の選択動作を示すフローチャートである。
Next, the operation will be described.
FIG. 15 is a flowchart showing a selection operation of S / W processing and H / W processing in the security function unit 330 of the third embodiment.

セキュリティ機能部330の処理切替部331は、暗号通信処理部320から復号対象データを受け取ると、記憶部340に記憶されているマッピングテーブルを参照して、送信対象データのデータサイズと使用するハッシュ値計算アルゴリズムとから、ハッシュ値の計算について、S/W処理を行うか、H/W処理を行うかを選択する(S40)。使用するハッシュ値計算アルゴリズムは、暗号通信処理部320から送られてくるパラメータを参照することで確認することができる。S/W処理が選択された場合は、処理はステップS41に進み、H/W処理が選択された場合には、処理はステップS42に進む。
ステップS41では、S/Wハッシュ値計算部335がハッシュ値計算処理を行う。言い換えると、ソフトウェアを用いたハッシュ値計算処理が行われる。そして、処理はステップS43に進む。
一方、ステップS42では、H/Wハッシュ値計算部339がハッシュ値計算処理を行う。言い換えると、ハードウェアを用いたハッシュ値計算処理が行われる。そして、処理はステップS43に進む。
When the processing switching unit 331 of the security function unit 330 receives the data to be decrypted from the encrypted communication processing unit 320, the processing switching unit 331 refers to the mapping table stored in the storage unit 340, and refers to the data size of the data to be transmitted and the hash value to be used. From the calculation algorithm, it is selected whether to perform S / W processing or H / W processing for the hash value calculation (S40). The hash value calculation algorithm to be used can be confirmed by referring to the parameters sent from the cryptographic communication processing unit 320. If the S / W process is selected, the process proceeds to step S41, and if the H / W process is selected, the process proceeds to step S42.
In step S41, the S / W hash value calculation unit 335 performs the hash value calculation process. In other words, the hash value calculation process using software is performed. Then, the process proceeds to step S43.
On the other hand, in step S42, the H / W hash value calculation unit 339 performs the hash value calculation process. In other words, the hash value calculation process using hardware is performed. Then, the process proceeds to step S43.

ステップS43では、処理切替部331は、マッピングテーブルを参照して、復号対象データのデータサイズと使用する復号化アルゴリズムとから、復号化処理について、S/W処理を行うか、H/W処理を行うかを選択する。使用する復号化アルゴリズムは、暗号通信処理部320から送られてくるパラメータを参照することで確認することができる。S/W処理が選択された場合は、処理はステップS44に進み、H/W処理が選択された場合には、処理はステップS45に進む。
ステップS44では、S/W復号化処理部351が復号化処理を行う。言い換えると、ソフトウェアを用いた復号化処理が行われる。
一方、ステップS45では、H/W復号化処理部352が復号化処理を行う。言い換えると、ハードウェアを用いた復号化処理が行われる。
In step S43, the process switching unit 331 refers to the mapping table and performs S / W processing or H / W processing for the decoding process based on the data size of the data to be decoded and the decoding algorithm to be used. Choose whether to do it. The decryption algorithm to be used can be confirmed by referring to the parameters sent from the encrypted communication processing unit 320. If the S / W process is selected, the process proceeds to step S44, and if the H / W process is selected, the process proceeds to step S45.
In step S44, the S / W decoding processing unit 351 performs the decoding process. In other words, the decryption process using software is performed.
On the other hand, in step S45, the H / W decoding processing unit 352 performs the decoding process. In other words, the decryption process using hardware is performed.

なお、セキュリティ機能部330での暗号処理が施された復号データは、暗号通信処理部320に戻される。 The decrypted data that has been encrypted by the security function unit 330 is returned to the encrypted communication processing unit 320.

以上のように、実施の形態3では、復号処理を行う際に機器の性能を最大限に引き出すことが可能となる。 As described above, in the third embodiment, it is possible to maximize the performance of the device when performing the decoding process.

なお、実施の形態1及び2において、S/W処理及びH/W処理共に出力されるデータは同じとなるため、暗号通信の対向先のゲートウェイ装置は、実施の形態3に記載の機能を有していなくてもよい。 Since the data output in both the S / W processing and the H / W processing are the same in the first and second embodiments, the gateway device to which the encrypted communication is opposed has the function described in the third embodiment. You don't have to.

また、実施の形態3におけるゲートウェイ装置310の機能が、実施の形態1又は2におけるゲートウェイ装置110、210に搭載されていてもよい。このような場合には、送信側及び受信側の暗号処理の両方において、通信の効率化を図ることができる。 Further, the function of the gateway device 310 according to the third embodiment may be mounted on the gateway devices 110 and 210 according to the first or second embodiment. In such a case, it is possible to improve the efficiency of communication in both the transmitting side and the receiving side encryption processing.

実施の形態1~3は、図16に示されているように、ゲートウェイ装置410Aの配下の配下端末403Aと、ゲートウェイ装置410Bの配下の配下端末403Bとが暗号通信を行う場合にも、適用可能である。
このような場合には、配下端末403A、403Bが、ネットワーク処理部111、311、暗号通信処理部120、320、及び、セキュリティ機能部130、230、330を備えればよい。
そして、ゲートウェイ装置410A、410Bは、上述のゲートウェイ装置110、210、310とは異なり、通常の装置でよい。
As shown in FIG. 16, the first to third embodiments can be applied even when the subordinate terminal 403A under the gateway device 410A and the subordinate terminal 403B under the gateway device 410B perform encrypted communication. Is.
In such a case, the subordinate terminals 403A and 403B may include network processing units 111 and 311, cryptographic communication processing units 120 and 320, and security function units 130, 230 and 330.
The gateway devices 410A and 410B may be ordinary devices, unlike the gateway devices 110, 210 and 310 described above.

また、実施の形態1~3は、図17に示されているように、ゲートウェイ装置110A、210A、310Aと、ゲートウェイ装置410Bの配下の配下端末403Bとが暗号通信を行う場合にも、適用可能である。
このような場合には、配下端末403Bが、ネットワーク処理部111、311、暗号通信処理部120、320、及び、セキュリティ機能部130、230、330を備えればよい。
そして、ゲートウェイ装置410Bは、上述のゲートウェイ装置110、210、310とは異なり、通常の装置でよい。
Further, the first to third embodiments can be applied even when the gateway devices 110A, 210A, 310A and the subordinate terminal 403B under the gateway device 410B perform encrypted communication, as shown in FIG. Is.
In such a case, the subordinate terminal 403B may include network processing units 111, 311 and cryptographic communication processing units 120 and 320, and security function units 130, 230 and 330.
The gateway device 410B may be a normal device, unlike the gateway devices 110, 210, and 310 described above.

即ち、実施の形態1~3は、ゲートウェイ装置110、210、310に限定されず、暗号通信を行う通信装置に適用することができる。 That is, the first to third embodiments are not limited to the gateway devices 110, 210, and 310, and can be applied to communication devices that perform encrypted communication.

100,200,300 通信システム、 101 インターネット、 102 暗号通信トンネル、 103 配下端末、 110,210,310 ゲートウェイ装置、 111,311 ネットワーク処理部、 120,320 暗号通信処理部、 121 暗号通信トンネル構築処理部、 122 暗号通信パラメータ記憶部、 123 暗号処理部、 324 復号処理部、 130,230,330 セキュリティ機能部、 131,231,331 処理切替部、 132,332 S/Wセキュリティ機能部、 133 S/W乱数生成部、 134 S/W暗号化処理部、 135,335 S/Wハッシュ値計算部、 136,336 H/Wセキュリティ機能部、 137 H/W乱数生成部、 138 H/W暗号化処理部、 139,339 H/Wハッシュ値計算部、 140,240,340 記憶部、 250 圧縮部、 351 S/W復号化処理部、 352 H/W復号化処理部。 100,200,300 Communication system, 101 Internet, 102 Cryptographic communication tunnel, 103 Subordinate terminal, 110,210,310 Gateway device, 111,311 Network processing unit, 120,320 Cryptographic communication processing unit, 121 Cryptographic communication tunnel construction processing unit , 122 Cryptographic communication parameter storage unit, 123 Cryptographic processing unit, 324 Decryption processing unit, 130, 230, 330 Security function unit, 131,231,331 Processing switching unit, 132,332 S / W security function unit, 133 S / W Random number generation unit, 134 S / W encryption processing unit, 135,335 S / W hash value calculation unit, 136,336 H / W security function unit, 137 H / W random number generation unit, 138 H / W encryption processing unit , 139, 339 H / W hash value calculation unit, 140, 240, 340 storage unit, 250 compression unit, 351 S / W decryption processing unit, 352 H / W decryption processing unit.

Claims (9)

データの暗号通信を行う暗号通信処理部と、
前記データの暗号処理として、前記データを暗号化する暗号化処理、前記データの暗号化に用いられる乱数を生成する乱数生成処理、及び、前記暗号化されたデータの改竄を検知するためのハッシュ値を計算するハッシュ値計算処理を行うセキュリティ機能部とを備え、
前記セキュリティ機能部は、
ソフトウェアを用いて、前記データの前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理を行うソフトウェアセキュリティ機能部と、
ハードウェアを用いて、前記データの前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理を行うハードウェアセキュリティ機能部と、
前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理のそれぞれについて、前記暗号化処理、前記乱数生成処理及び前記ハッシュ値計算処理のそれぞれを行わせる機能部を、前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替える処理切替部と、を備えること
を特徴とする通信装置。
Cryptographic communication processing unit that performs encrypted communication of data and
As the data encryption process, an encryption process for encrypting the data, a random number generation process for generating a random number used for encrypting the data, and a hash value for detecting falsification of the encrypted data. Equipped with a security function unit that performs hash value calculation processing to calculate
The security function unit
A software security function unit that performs the encryption processing, the random number generation processing, and the hash value calculation processing of the data using software.
A hardware security function unit that performs the encryption processing, the random number generation processing, and the hash value calculation processing of the data using hardware.
For each of the encryption process, the random number generation process, and the hash value calculation process, the software security function unit and the function unit that causes each of the encryption process, the random number generation process, and the hash value calculation process are performed. A communication device characterized by having a processing switching unit for switching between hardware security function units.
前記処理切替部は、前記暗号化処理のアルゴリズム及び前記データのデータサイズの組み合わせに応じて、前記暗号化処理を行わせる前記機能部を前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替えることThe processing switching unit causes the encryption processing to be performed between the software security function unit and the hardware security function unit according to the combination of the encryption processing algorithm and the data size of the data. Switching
を特徴とする請求項1に記載の通信装置。The communication device according to claim 1.
前記処理切替部は、前記データのデータサイズに応じて、前記乱数生成処理を行わせる前記機能部を前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替えることThe processing switching unit switches between the software security function unit and the hardware security function unit to perform the random number generation process according to the data size of the data.
を特徴とする請求項1又は2に記載の通信装置。The communication device according to claim 1 or 2.
前記処理切替部は、前記ハッシュ値計算処理のアルゴリズム及び前記データのデータサイズの組み合わせに応じて、前記ハッシュ値計算処理を行わせる前記機能部を前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替えることThe processing switching unit is a software security function unit and a hardware security function unit that causes the hash value calculation processing to be performed according to a combination of the hash value calculation processing algorithm and the data size of the data. Switching between
を特徴とする請求項1から3の何れか一項に記載の通信装置。The communication device according to any one of claims 1 to 3.
前記セキュリティ機能部は、前記データを圧縮する圧縮部をさらに備え、
前記処理切替部は、前記データの種類に応じて、前記データを圧縮するか否かを判断し、
前記ソフトウェアセキュリティ機能部又は前記ハードウェアセキュリティ機能部は、前記処理切替部が前記データを圧縮すると判断した場合には、前記圧縮部により圧縮された前記データに対して、前記暗号処理を行うこと
を特徴とする請求項1から4の何れか一項に記載の通信装置。
The security function unit further includes a compression unit that compresses the data.
The processing switching unit determines whether or not to compress the data according to the type of the data.
When the software security function unit or the hardware security function unit determines that the processing switching unit compresses the data, the software security function unit or the hardware security function unit performs the encryption processing on the data compressed by the compression unit. The communication device according to any one of claims 1 to 4, which is characterized.
データの暗号通信を行う暗号通信処理部と、Cryptographic communication processing unit that performs encrypted communication of data and
前記データの暗号処理として、前記データを復号化する復号化処理、及び、前記復号化されたデータの改竄を検知するためのハッシュ値を計算するハッシュ値計算処理を行うセキュリティ機能部とを備え、As the data encryption process, a security function unit that performs a decryption process for decrypting the data and a hash value calculation process for calculating a hash value for detecting falsification of the decrypted data is provided.
前記セキュリティ機能部は、The security function unit
ソフトウェアを用いて、前記データの前記復号化処理及び前記ハッシュ値計算処理を行うソフトウェアセキュリティ機能部と、A software security function unit that performs the decryption processing and the hash value calculation processing of the data using software.
ハードウェアを用いて、前記データの前記復号化処理及び前記ハッシュ値計算処理を行うハードウェアセキュリティ機能部と、A hardware security function unit that performs the decryption process and the hash value calculation process of the data using hardware.
前記復号化処理及び前記ハッシュ値計算処理のそれぞれについて、前記復号化処理及び前記ハッシュ値計算処理のそれぞれを行わせる機能部を、前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替える処理切替部と、を備えることFor each of the decryption process and the hash value calculation process, a process of switching between the software security function unit and the hardware security function unit for performing each of the decryption process and the hash value calculation process. To have a switching unit
を特徴とする通信装置。A communication device characterized by.
前記処理切替部は、前記復号化処理のアルゴリズム及び前記データのデータサイズの組み合わせに応じて、前記復号化処理を行わせる前記機能部を前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替えることThe processing switching unit moves the functional unit for performing the decoding process between the software security function unit and the hardware security function unit according to the combination of the decoding processing algorithm and the data size of the data. Switching
を特徴とする請求項6に記載の通信装置。The communication device according to claim 6.
前記処理切替部は、前記ハッシュ値計算処理のアルゴリズム及び前記データのデータサイズの組み合わせに応じて、前記ハッシュ値計算処理を行わせる前記機能部を前記ソフトウェアセキュリティ機能部及び前記ハードウェアセキュリティ機能部の間で切り替えることThe processing switching unit is a software security function unit and a hardware security function unit that causes the hash value calculation processing to be performed according to a combination of the hash value calculation processing algorithm and the data size of the data. Switching between
を特徴とする請求項6又は7に記載の通信装置。The communication device according to claim 6 or 7.
前記データとしてEthernetフレーム又はIPパケットを受信するネットワーク処理部をさらに備え、
前記暗号通信処理部は、前記暗号通信としてVPN通信を行い、
前記セキュリティ機能部は、前記Ethernetフレーム又は前記IPパケットに対して前記暗号処理を行うこと
を特徴とする請求項1からの何れか一項に記載の通信装置。
Further, a network processing unit that receives an Ethernet frame or an IP packet as the data is provided.
The encrypted communication processing unit performs VPN communication as the encrypted communication, and performs VPN communication.
The communication device according to any one of claims 1 to 8 , wherein the security function unit performs the encryption processing on the Ethernet frame or the IP packet.
JP2017153777A 2017-08-09 2017-08-09 Communication device Active JP7080024B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017153777A JP7080024B2 (en) 2017-08-09 2017-08-09 Communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017153777A JP7080024B2 (en) 2017-08-09 2017-08-09 Communication device

Publications (2)

Publication Number Publication Date
JP2019033402A JP2019033402A (en) 2019-02-28
JP7080024B2 true JP7080024B2 (en) 2022-06-03

Family

ID=65523744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017153777A Active JP7080024B2 (en) 2017-08-09 2017-08-09 Communication device

Country Status (1)

Country Link
JP (1) JP7080024B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111787534A (en) * 2020-07-01 2020-10-16 上海汽车集团股份有限公司 Data encryption and decryption method and device and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177516A (en) 1999-12-17 2001-06-29 Nec Corp Method and device for enciphering and decoding, and recording medium
JP2003084668A (en) 2001-09-12 2003-03-19 Sony Corp Random number generating device, random number generating method and random number generating program
JP2004304696A (en) 2003-04-01 2004-10-28 Matsushita Electric Ind Co Ltd Encryption communication apparatus
JP2005117232A (en) 2003-10-06 2005-04-28 Matsushita Electric Ind Co Ltd Data communication apparatus, data communication method, data converter, and conversion selection method
CN106326757A (en) 2016-08-26 2017-01-11 浪潮(北京)电子信息产业有限公司 Data encryption device of storage system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3085929B2 (en) * 1998-06-01 2000-09-11 松下電器産業株式会社 Data sending device and receiving device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177516A (en) 1999-12-17 2001-06-29 Nec Corp Method and device for enciphering and decoding, and recording medium
JP2003084668A (en) 2001-09-12 2003-03-19 Sony Corp Random number generating device, random number generating method and random number generating program
JP2004304696A (en) 2003-04-01 2004-10-28 Matsushita Electric Ind Co Ltd Encryption communication apparatus
JP2005117232A (en) 2003-10-06 2005-04-28 Matsushita Electric Ind Co Ltd Data communication apparatus, data communication method, data converter, and conversion selection method
CN106326757A (en) 2016-08-26 2017-01-11 浪潮(北京)电子信息产业有限公司 Data encryption device of storage system

Also Published As

Publication number Publication date
JP2019033402A (en) 2019-02-28

Similar Documents

Publication Publication Date Title
US20220191181A1 (en) Segmentation of encrypted segments in networks
EP3603003B1 (en) Hardware-accelerated secure communication management
US7398386B2 (en) Transparent IPSec processing inline between a framer and a network component
TWI499342B (en) Tunnel acceleration for wireless access points
US7774593B2 (en) Encrypted packet, processing device, method, program, and program recording medium
US8468337B2 (en) Secure data transfer over a network
US8873746B2 (en) Establishing, at least in part, secure communication channel between nodes so as to permit inspection, at least in part, of encrypted communication carried out, at least in part, between the nodes
CN108769740A (en) Video data encrypted transmission method, system, equipment and storage medium
US10986075B2 (en) Distributing packets across processing cores
US11451609B2 (en) Technologies for accelerated HTTP processing with hardware acceleration
CN103139222A (en) Internet protocol security (IPSEC) tunnel data transmission method and device thereof
US20130039487A1 (en) Coordinating compression information for unreliable encrypted streams through key establishment protocols
JP2002287620A (en) Security communication packet processor and security communication packet processing method
US8281122B2 (en) Generation and/or reception, at least in part, of packet including encrypted payload
CN106487802B (en) The method for detecting abnormal and device of IPSec SA based on DPD agreement
US20160105401A1 (en) System and method for internet protocol security processing
BRPI0207581B1 (en) encryption of a compressed video stream
JP7080024B2 (en) Communication device
CN105592030A (en) IP message processing method and device
JP4551112B2 (en) ENCRYPTED PACKET PROCESSING DEVICE, METHOD, PROGRAM, AND PROGRAM RECORDING MEDIUM
JP2004320533A (en) Data securing device, data communication device, and data securing method
US20240106647A1 (en) Methods and systems of a packet orchestration to provide data encryption at the ip layer, utilizing a data link layer encryption scheme
JP2004180234A (en) Encrypted packet processing system
US20220038443A1 (en) Methods and systems of a packet orchestration to provide data encryption at the ip layer, utilizing a data link layer encryption scheme
Pismenny et al. Securitization of cloud, edge and IoT communications through hardware accelerations/offloadings

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211126

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: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220524

R150 Certificate of patent or registration of utility model

Ref document number: 7080024

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150