JP7080024B2 - Communication device - Google Patents
Communication device Download PDFInfo
- 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
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.
従来の暗号通信機能を有するゲートウェイ装置の暗号通信処理方式には、一般的に用いられている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.
図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
The first embodiment is an example in which the encrypted communication function is mounted on the
ゲートウェイ装置110A、110Bは、ネットワークとしてのインターネット101に接続され、ゲートウェイ装置110A、110Bの間に、暗号通信トンネル102を構成している。
ここで、ゲートウェイ装置110A、110Bは、同じように構成されているため、以下、ゲートウェイ装置110A、110Bの各々を特に区別する必要がない場合には、ゲートウェイ装置110という。
The
Here, since the
通信システム100では、配下端末103Aから送信されたデータは、ゲートウェイ装置110Aで暗号化されて、暗号化されたデータがゲートウェイ装置110Bに送られる。ゲートウェイ装置110Bは、暗号化されたデータを復号し、復号されたデータが配下端末103Bに送られる。
また、配下端末103Bから送信されたデータは、ゲートウェイ装置110Bで暗号化されて、暗号化されたデータがゲートウェイ装置110Aに送られる。ゲートウェイ装置110Aは、暗号化されたデータを復号し、復号されたデータが配下端末103Aに送られる。
なお、配下端末103A、103Bの各々を特に区別する必要がない場合には、配下端末103という。
In the communication system 100, the data transmitted from the
Further, the data transmitted from the
When it is not necessary to distinguish each of the
暗号通信には、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
The
The
暗号通信処理部120は、データの暗号通信を行う。例えば、暗号通信処理部120は、インターネット101において暗号通信を行うために、暗号通信トンネル構築処理及び暗号通信処理を行う。
暗号通信処理部120は、暗号通信トンネル構築処理部121と、暗号通信パラメータ記憶部122と、暗号処理部123とを備える。
The encrypted
The cryptographic
暗号通信トンネル構築処理部121は、暗号通信を行うために、対向するゲートウェイ装置110の暗号通信処理部120と暗号通信トンネル102を構築する暗号通信トンネル構築処理を行う。暗号通信トンネル102の構築処理では、暗号通信トンネル構築処理部121は、ネットワーク処理部111を介して、対向するゲートウェイ装置110の暗号通信処理部120と、暗号通信処理に用いる、暗号化キー、暗号化アルゴリズム、ハッシュ値計算アルゴリズム、ゲートウェイ装置110のIPアドレス、ゲートウェイ装置110の配下の配下端末103のネットワークアドレス等のパラメータのネゴシエーションを行う。
暗号通信パラメータ記憶部122は、暗号通信トンネル構築処理部121によるネゴシエーションで決定されたパラメータを記憶する。
The encrypted communication tunnel
The cryptographic communication
暗号処理部123は、暗号通信トンネル構築処理部121によるネゴシエーションで決定されたパラメータを用いて、送信対象データの暗号通信処理を行う。
例えば、ゲートウェイ装置110の図示しない他のプロセス部が送出したデータ及び配下端末103から受信した受信データを含む送信対象データは、暗号通信処理を行うため、ネットワーク処理部111から暗号通信処理部120に渡される。なお、他のプロセス部は、Webサーバプロセスを実行するWebサーバプロセス部又はFTP(File Transfer Protocol)プロセスを実行するFTPプロセス部等である。暗号通信処理部120は、送信対象データを受け取ったのち、暗号処理を行うため、暗号通信パラメータ記憶部122に記憶されているパラメータとともに、送信対象データをセキュリティ機能部130に渡す。
The
For example, the transmission target data including the data transmitted by another process unit (not shown) of the
そして、暗号処理部123は、セキュリティ機能部130で暗号化された送信対象データである暗号化送信対象データを受け取り、暗号通信パラメータ記憶部122に記憶されているパラメータに基づいて、データのカプセル化、対向するゲートウェイ装置110のIPアドレス情報の付与を行った後、処理後のデータをネットワーク処理部111に渡す。ネットワーク処理部111に渡されたデータは、送信データとして対向先のゲートウェイ装置110に送信される。
Then, the
セキュリティ機能部130は、送信対象データの暗号処理を行う。
セキュリティ機能部130は、処理切替部131と、S/Wセキュリティ機能部132と、H/Wセキュリティ機能部136とを備える。
The
The
処理切替部131は、データの暗号処理を行わせる機能部を、S/Wセキュリティ機能部132と、H/Wセキュリティ機能部136との間で切り替える。例えば、処理切替部131は、記憶部140に記憶されているマッピングテーブルを参照し、暗号通信処理部120から渡された送信対象データの暗号処理を、S/Wセキュリティ機能部132で行うか、又は、H/Wセキュリティ機能部136で行うかを切り替える。
The
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
For example, the S / W
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
The S / W hash
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
For example, the H / W
The H / W random
The H / W
The H / W hash
記憶部140は、切替情報としてのマッピングテーブルを記憶する。
マッピングテーブルは、暗号処理の処理内容とデータサイズとの組み合わせ毎に、ソフトウェアを選択するか、ハードウェアを選択するかを示す切替情報である。
The
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
なお、図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
例えば、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
以上のように、マッピングテーブルによれば、暗号処理の処理内容である乱数生成処理では、送信対象データのデータサイズに応じて切り替えが行われ、暗号化処理では、送信対象データのデータサイズ及び暗号化処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われ、ハッシュ値計算処理では、送信対象データのデータサイズ及びハッシュ値計算処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われる。 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
また、S/Wセキュリティ機能部132は、例えば、図5(B)に示されているように、メモリ11と、メモリ11に記憶されているプログラムを実行するCPU等のプロセッサ12とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
Further, the S / W
なお、暗号通信トンネル構築処理部121、暗号処理部123及び処理切替部131の一部又は全部は、図5(B)に示されているように、メモリ11と、プロセッサ12とにより構成することもできる。
また、暗号通信パラメータ記憶部122は、揮発性又は不揮発性のメモリにより構成することができ、記憶部140は、不揮発性のメモリにより構成することができる。
As shown in FIG. 5B, a part or all of the encrypted communication tunnel
Further, the encrypted communication
次に動作について説明する。
図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
セキュリティ機能部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
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
ステップ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
In step S14, the S / W
On the other hand, in step S15, the H / W
ステップ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
In step S17, the S / W hash
On the other hand, in step S18, the H / W hash
なお、セキュリティ機能部130での暗号処理が施された暗号化送信対象データは、暗号通信処理部120に戻される。
The encrypted transmission target data that has been encrypted by the
暗号通信処理部120に戻された暗号化送信対象データは、暗号通信パラメータ記憶部122に記憶されているパラメータに基づいて、データのカプセル化、対向するゲートウェイ装置110のIPアドレス情報の付与が行われた後、ネットワーク処理部111に渡され、対向先のゲートウェイ装置110に送信データとして送信される。
The encrypted transmission target data returned to the encrypted
暗号通信処理された送信データを受け取った対向先のゲートウェイ装置110は、復号処理を行い、配下端末103又は対向先のゲートウェイ装置110内部へ転送を行う。
The
以上のように、実施の形態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
実施の形態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
または、図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
If only S / W processing is selected for the entire mapping table in step S24, the
なお、ステップ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
なお、実施形態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
また、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
The second embodiment is also an example in which the encrypted communication function is mounted on the
ゲートウェイ装置210A、210Bは、ネットワークとしてのインターネット101に接続され、ゲートウェイ装置210A、210Bの間に、暗号通信トンネル102を構成している。
ここで、ゲートウェイ装置210A、210Bは、同じように構成されているため、以下、ゲートウェイ装置210A、210Bの各々を特に区別する必要がない場合には、ゲートウェイ装置210という。
The
Here, since the
図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
The
The
セキュリティ機能部230は、送信対象データの圧縮処理及び暗号処理を行う。
セキュリティ機能部230は、処理切替部231と、S/Wセキュリティ機能部132と、H/Wセキュリティ機能部136と、圧縮部250とを備える。
実施の形態2におけるセキュリティ機能部230のS/Wセキュリティ機能部132及びH/Wセキュリティ機能部136は、実施の形態1と同様である。
The
The
The S / W
処理切替部231は、実施の形態1と同様の処理を行うほか、暗号処理の選択を行う前に、記憶部240に記憶されている圧縮テーブルを参照し、暗号通信処理部120から渡された送信対象データの圧縮処理を行うか否かを切り替える。
圧縮部250は、処理切替部231の判断に従って、送信対象データの圧縮を行う。
The
The
記憶部240は、切替情報としてのマッピングテーブル及び圧縮情報としての圧縮テーブルを記憶する。
マッピングテーブルについては、実施の形態1と同様である。
The
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
まず、セキュリティ機能部230の処理切替部231は、暗号通信処理部120から送信対象データを受け取ると、記憶部240に記憶されている圧縮テーブルを参照することで、送信対象データのデータ内容に応じて、データ圧縮の使用の有無を選択する(S30)。データ圧縮を使用する場合は、処理はステップS31に進み、データ圧縮を使用しない場合には、処理はステップS10に進む。
First, when the
データ圧縮の使用の有無の判断には、送信対象データ内のヘッダ部分、又は、通信に用いているポート番号等の確認が行われる。
送信対象データ内のヘッダ部分には、そのデータ種類の識別情報が記載されている。例えば、ヘッダ部分に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
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
また、通信に用いているポート番号は、プロトコル毎に決まっているため、処理切替部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
図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
実施の形態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
The third embodiment is also an example in which the encrypted communication function is mounted on the
ゲートウェイ装置310A、310Bは、ネットワークとしてのインターネット101に接続され、ゲートウェイ装置310A、310Bの間に、暗号通信トンネル102を構成している。
ここで、ゲートウェイ装置310A、310Bは、同じように構成されているため、以下、ゲートウェイ装置310A、310Bの各々を特に区別する必要がない場合には、ゲートウェイ装置310という。
The
Here, since the
図12は、ゲートウェイ装置310の構成を概略的に示すブロック図である。
ゲートウェイ装置310は、ネットワーク処理部311と、暗号通信処理部320と、セキュリティ機能部330と、記憶部340とを備える。
ネットワーク処理部311は、インターネット101とのインターフェースとして機能する。例えば、ネットワーク処理部311は、Ethernetフレーム又はIPパケットを受信する。
FIG. 12 is a block diagram schematically showing the configuration of the
The
The
暗号通信処理部320は、インターネット101において暗号通信を行うために、暗号通信トンネル構築処理及び暗号通信処理を行う。
暗号通信処理部320は、暗号通信トンネル構築処理部121と、暗号通信パラメータ記憶部122と、復号処理部324とを備える。
実施の形態3における暗号通信処理部320の暗号通信トンネル構築処理部121及び暗号通信パラメータ記憶部122は、実施の形態1と同様である。
The encrypted
The cryptographic
The cryptographic communication tunnel
復号処理部324は、暗号通信トンネル構築処理部121によるネゴシエーションで決定されたパラメータを用いて、復号対象データの暗号通信処理を行う。
例えば、インターネット101から受信した受信データを含む復号対象データは、暗号通信処理を行うためネットワーク処理部311から暗号通信処理部320に渡される。暗号通信処理部320は、復号対象データを受け取ったのち、暗号処理を行うため、暗号通信パラメータ記憶部122に記憶されているパラメータとともに、復号対象データをセキュリティ機能部330に渡す。
The
For example, the decryption target data including the received data received from the
そして、復号処理部324は、セキュリティ機能部330で復号された復号データを受け取り、宛先に応じて、処理を行った後、処理後のデータを、送信データとして宛先に送る。例えば、宛先がゲートウェイ装置310である場合には、復号処理部324は、復号されたデータを、ネットワーク処理部311からゲートウェイ装置310の他のプロセス部(図示せず)に送る。また、復号データの宛先が、配下端末103である場合には、データのカプセル化、宛先となる配下端末103のIPアドレス情報の付与が行われた後、ネットワーク処理部111に渡され、配下端末103に送信データとして送信される。
Then, the
セキュリティ機能部330は、送信対象データの暗号処理を行う。
セキュリティ機能部330は、処理切替部331と、S/Wセキュリティ機能部332と、H/Wセキュリティ機能部336とを備える。
The
The
処理切替部331は、記憶部340に記憶されているマッピングテーブルを参照し、暗号通信処理部320から渡された復号対象データの暗号処理を、S/Wセキュリティ機能部332で行うか、又は、H/Wセキュリティ機能部336で行うかを切り替える。
The
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
For example, the S / W
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
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
For example, the H / W
The H / W
The H / W hash
記憶部340は、切替情報としてのマッピングテーブルを記憶する。
マッピングテーブルは、暗号処理の処理内容とデータサイズとの組み合わせ毎に、ソフトウェアを選択するか、ハードウェアを選択するかを示す情報である。
The
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
なお、図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
以上のように、マッピングテーブルによれば、復号化処理では、復号対象データのデータサイズ及び復号化処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われ、ハッシュ値計算処理では、復号対象データのデータサイズ及びハッシュ値計算処理の処理内容(アルゴリズム)の組み合わせに応じて切り替えが行われる。 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
また、S/Wセキュリティ機能部332は、例えば、図5(B)に示されているように、メモリ11と、メモリ11に記憶されているプログラムを実行するCPU等のプロセッサ12とにより構成することができる。このようなプログラムは、ネットワークを通じて提供されてもよく、また、記録媒体に記録されて提供されてもよい。即ち、このようなプログラムは、例えば、プログラムプロダクトとして提供されてもよい。
Further, the S / W
なお、暗号通信トンネル構築処理部121、復号処理部324及び処理切替部331の一部又は全部は、図5(B)に示されているように、メモリ11と、プロセッサ12とにより構成することもできる。
また、暗号通信パラメータ記憶部122は、揮発性又は不揮発性のメモリにより構成することができ、記憶部340は、不揮発性のメモリにより構成することができる。
As shown in FIG. 5B, a part or all of the encrypted communication tunnel
Further, the encrypted communication
次に動作について説明する。
図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
セキュリティ機能部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
In step S41, the S / W hash
On the other hand, in step S42, the H / W hash
ステップ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
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
なお、セキュリティ機能部330での暗号処理が施された復号データは、暗号通信処理部320に戻される。
The decrypted data that has been encrypted by the
以上のように、実施の形態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
実施の形態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
In such a case, the
The
また、実施の形態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
In such a case, the
The
即ち、実施の形態1~3は、ゲートウェイ装置110、210、310に限定されず、暗号通信を行う通信装置に適用することができる。
That is, the first to third embodiments are not limited to the
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.
を特徴とする請求項1に記載の通信装置。The communication device according to claim 1.
を特徴とする請求項1又は2に記載の通信装置。The communication device according to claim 1 or 2.
を特徴とする請求項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.
前記データの暗号処理として、前記データを復号化する復号化処理、及び、前記復号化されたデータの改竄を検知するためのハッシュ値を計算するハッシュ値計算処理を行うセキュリティ機能部とを備え、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.
を特徴とする請求項6に記載の通信装置。The communication device according to claim 6.
を特徴とする請求項6又は7に記載の通信装置。The communication device according to claim 6 or 7.
前記暗号通信処理部は、前記暗号通信としてVPN通信を行い、
前記セキュリティ機能部は、前記Ethernetフレーム又は前記IPパケットに対して前記暗号処理を行うこと
を特徴とする請求項1から8の何れか一項に記載の通信装置。 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.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3085929B2 (en) * | 1998-06-01 | 2000-09-11 | 松下電器産業株式会社 | Data sending device and receiving device |
-
2017
- 2017-08-09 JP JP2017153777A patent/JP7080024B2/en active Active
Patent Citations (5)
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 |