WO2010023950A1 - Cryptographic processor, cryptographic processing method and program - Google Patents

Cryptographic processor, cryptographic processing method and program Download PDF

Info

Publication number
WO2010023950A1
WO2010023950A1 PCT/JP2009/004237 JP2009004237W WO2010023950A1 WO 2010023950 A1 WO2010023950 A1 WO 2010023950A1 JP 2009004237 W JP2009004237 W JP 2009004237W WO 2010023950 A1 WO2010023950 A1 WO 2010023950A1
Authority
WO
WIPO (PCT)
Prior art keywords
encryption
authentication
decryption
authentication processing
processing
Prior art date
Application number
PCT/JP2009/004237
Other languages
French (fr)
Japanese (ja)
Inventor
一成 山田
諭 千賀
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2010023950A1 publication Critical patent/WO2010023950A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer

Definitions

  • the present invention relates to a cryptographic processing device, a cryptographic processing method, and a program.
  • IP secure communication is generally used as a means for encrypting information flowing on the network.
  • IPsec for performing encrypted communication is standardized by RFC (Request For Comment) as a standard function.
  • SSL Secure Socket Layer
  • HTTP Hyper Text Transfer Protocol
  • HTTP Hyper Text Transfer Protocol
  • reverse proxy server a reverse proxy server
  • HW hardware
  • FIG. 1 is a block diagram showing the configuration of the cryptographic processing apparatus.
  • the cryptographic processing apparatus 10 includes a control unit 11 that implements IPsec or SSL using the encryption / decryption processing and authentication processing results, and a HW encryption / decryption / authentication processing unit 12 that executes the encryption / decryption processing and authentication processing. It is prepared for.
  • the control unit 11 includes an encryption / decryption algorithm, an encryption / decryption processing method (CBC, ECB, etc.), an encryption / decryption target region, an encryption / decryption target region size, an authentication algorithm, an authentication processing method (HASH, HMAC, etc.), an authentication target region, and an authentication
  • the target area size and the like are sent to the HW encryption / decryption / authentication processing unit 12 (see (1)), and the processing result is received from the HW encryption / decryption / authentication processing unit 12 (see (2)).
  • the HW encryption / decryption / authentication processing unit 12 includes an encryption / decryption algorithm, an encryption / decryption processing method, an encryption / decryption target region, an encryption / decryption target region size, an authentication algorithm, an authentication processing method, an authentication target region, and an authentication sent from the control unit 11.
  • the encryption / decryption process and the authentication process are executed according to the target area size.
  • the HW encryption / decryption / authentication processing unit 12 preferably executes a one-pass process for performing encryption / decryption and authentication at a time.
  • As the encryption authentication IP it is considered that one corresponding to one-pass processing of encryption / decryption / authentication processing appears.
  • FIG. 2 is a block diagram showing another configuration of the cryptographic processing apparatus.
  • the cryptographic processing device 20 executes a control unit 21 that implements IPsec or SSL using a result of the encryption / decryption processing and the authentication processing, a HW encryption / decryption processing unit 22 that executes the encryption / decryption processing, and an authentication process. And an HW authentication processing unit 23.
  • the control unit 21 sends the decoding algorithm, the decoding processing method (CBC, ECB, etc.), the decoding target region, the decoding target region size, and the like to the HW encryption / decryption processing unit 22 (see (1)), and the HW encryption / decryption processing unit
  • the processing result is received from 22 (see (2)).
  • the control unit 21 sends an authentication algorithm, an authentication processing method (HASH, HMAC, etc.), an authentication target area, an authentication target area size, and the like to the HW authentication processing unit 23 (see (4)).
  • the processing result is received from 23 (see (3)).
  • the HW encryption / decryption processing unit 22 executes the decoding process according to the decoding algorithm, the decoding processing method, the decoding target region, and the decoding target region size transmitted from the control unit 21.
  • the HW authentication processing unit 23 executes authentication processing according to the authentication algorithm, the authentication processing method, the authentication target area, and the authentication target area size sent from the control unit 21.
  • the cryptographic processing device 20 can realize the SSL reception processing with HW by processing the decryption processing and the authentication processing in two stages.
  • the authentication target area size is also encrypted at the time of the SSL reception process, the authentication target area size cannot be specified at the time of the 1-pass processing request. Cannot be processed in one pass.
  • the parameters necessary for calculating the authentication target area size used for the authentication processing are also encrypted in the encrypted data.
  • the authentication processing parameter encrypted together with the data is temporarily decrypted to obtain an unencrypted authentication processing parameter, and the authentication target area size is calculated based on the authentication processing parameter.
  • a calculation step is required.
  • decryption authentication processing such as SSL
  • decryption can be performed only for each block. The last 1 block is decoded, and the last 1 byte in the last 1 block is extracted.
  • control unit 21 controls the HW encryption / decryption processing unit 22 and the HW authentication processing unit 23, respectively, and performs decryption processing and authentication processing in two stages, thereby receiving SSL reception. Processing can be realized by HW. However, since the decryption / authentication process cannot be performed in one pass, there is a problem that the throughput is lowered.
  • An object of the present invention is to provide a cryptographic processing apparatus and a cryptographic processing method that can decrypt and authenticate a secure protocol such as SSL at high speed.
  • the encryption processing apparatus of the present invention includes an encryption / decryption authentication processing means for performing encryption / decryption authentication processing, and an authentication processing parameter necessary for calculating an authentication target area size used for the authentication processing from encrypted data as an encryption / decryption authentication target.
  • Authentication processing parameter acquisition means for decrypting and acquiring the encryption processing parameter setting means, and encryption / decryption authentication processing control means for setting the acquired authentication processing parameter in the encryption / decryption authentication processing means and instructing the start of encryption / decryption authentication processing Take.
  • the encryption processing method includes a step of previously acquiring and acquiring an authentication processing parameter necessary for calculating an authentication target area size used for authentication processing from encrypted data as an encryption / decryption authentication target, A step of setting authentication processing parameters and instructing start of encryption / decryption authentication processing and a step of performing encryption / decryption processing or authentication processing in accordance with the start instruction of encryption / decryption authentication processing are sequentially executed.
  • the present invention is a program for causing a computer to execute each step of the cryptographic processing method.
  • the secure protocol processing such as SSL in which the authentication target area size is encrypted by decrypting and acquiring the authentication processing parameters necessary for calculating the authentication target area size used for the authentication processing in advance.
  • the decrypting and authenticating a received packet it can be processed without the assistance of software or hardware function blocks and without interrupting the decryption process and the authentication process, realizing high speed encryption / decryption process or authentication process can do. For the same reason, one-pass processing can be performed, so that throughput can be improved.
  • FIG. 1 Block diagram showing the configuration of a conventional cryptographic processing apparatus
  • the block diagram which shows another structure of the conventional encryption processing apparatus The figure which shows the structure of the encryption processing apparatus which concerns on Embodiment 1 of this invention.
  • FIG. 2 The figure which shows the structure of the encryption processing apparatus which concerns on Embodiment 2 of this invention.
  • FIG. 3 is a diagram showing the configuration of the cryptographic processing apparatus according to Embodiment 1 of the present invention.
  • the cryptographic processing device 100 sets the acquired authentication target area size (authentication processing parameter) in the HW encryption / decryption / authentication processing unit 130 and instructs the start of the encryption / decryption authentication processing, and the authentication target
  • An authentication target area size acquisition unit 120 that acquires an area size and an HW encryption / decryption / authentication processing unit 130 that executes encryption / decryption processing or authentication processing are configured.
  • the control unit 110 receives the authentication target area size from the authentication target area size acquisition unit 120 (see (1)), sets (sets up) the acquired authentication processing parameter in the HW encryption / decryption processing unit 130, and then performs encryption / decryption. Instructs the start of the authentication process.
  • control unit 110 includes an encryption / decryption algorithm, an encryption / decryption processing method (CBC, ECB, etc.), an encryption / decryption target area, an encryption / decryption target area size, an authentication algorithm, an authentication processing method (HASH, HMAC, etc.), an authentication target area,
  • the authentication target area size and the like are sent to the HW encryption / decryption / authentication processing unit 130 (see (2)), and the processing result is received from the HW encryption / decryption / authentication processing unit 130 (see (3)).
  • the control unit 110 implements IPsec or SSL using the encryption / decryption process and the authentication process result.
  • the authentication target area size acquisition unit 120 decrypts a block in which data necessary for calculation of information used for authentication processing is stored in encrypted data in advance by software or hardware, and the acquired data , SHA1 (Secure Hash Algorithm 1), MAC (Media Access Control) length corresponding to an algorithm such as SHA256, the start position of the decryption target area, and the start position of the authentication target area are used for authentication processing. Calculate information.
  • SHA1 Secure Hash Algorithm 1
  • MAC Media Access Control
  • the authentication target area size acquisition unit 120 previously decrypts, with software or hardware, a block in which data necessary for calculating information used for authentication processing is stored among the encrypted data. . Then, if the encryption method is CBC (Cipher Block Chaining) mode among the decrypted blocks, the authentication target area size acquisition unit 120 performs XOR operation of only the last 1 byte with the immediately preceding block, and acquires the acquired data. Then, the information used for the authentication process is calculated from one or more of the MAC length according to the algorithm such as SHA1, SHA256, the start position of the decryption target area, and the start position of the authentication target area.
  • the algorithm such as SHA1, SHA256
  • CBC In decryption authentication processing such as SSL, CBC is also used as one of the encryption methods. When encryption is performed by the CBC processing procedure, it is necessary to perform the EOR operation with the previous block one byte at a time for decryption.
  • the HW encryption / decryption / authentication processing unit 130 receives the encryption / decryption algorithm, encryption / decryption processing method, encryption / decryption target region, encryption / decryption target region size, authentication algorithm, authentication processing method, authentication target region, and authentication sent from the control unit 110. In accordance with the target area size, a one-pass process for performing encryption / decryption processing and authentication processing at a time is executed.
  • FIG. 4 is a diagram showing the data structure of the SSL reception packet.
  • the SSL reception packet 200 includes a plurality of blocks, and the authentication target area size 211 is stored in the last 1 block 210.
  • the upper predetermined block is the authentication target area 220
  • the lower predetermined block is the encryption area 230.
  • a part of the authentication target area 220 is encrypted as an encryption area 230.
  • the authentication target area size acquisition unit 120 acquires the authentication target area size 211 by previously decrypting the last block 210 of the encryption area 230 with software or hardware. Then, the authentication target area size acquisition unit 120 passes the acquired authentication target area size 211 to the control unit 110.
  • the control unit 110 receives the authentication target region size from the authentication target region size acquisition unit 120, sets up the acquired authentication processing parameter, and requests the HW encryption / decryption / authentication processing unit 130 to perform one-pass processing.
  • the authentication target area size acquisition unit 120 needs to XOR the decryption result with the immediately preceding block when encrypted in the CBC mode. In this case, the authentication target area size acquisition unit 120 can further reduce the calculation by performing an XOR operation on only the last one byte in which the authentication target area size 211 is stored.
  • the decryption processing and authentication are not performed without the assistance of software or hardware function blocks. Processing can be performed without interrupting the processing. Therefore, even in the SSL reception process in which the authentication target area size is encrypted, the one-pass process can be performed, which has an effect of improving the throughput.
  • FIG. 5 is a diagram showing the configuration of the cryptographic processing apparatus according to Embodiment 2 of the present invention.
  • the cryptographic processing apparatus 300 includes a higher-level program 310, an encryption / decryption authentication processing control unit 320, an authentication target area length acquisition unit 330, an encryption / decryption authentication processing unit 340, and an encryption / decryption authentication request storage unit 350.
  • the encryption / decryption authentication processing control unit 320 and the encryption / decryption authentication request accumulation unit 350 correspond to the control unit 110 in FIG. 3, and the authentication target region length acquisition unit 330 corresponds to the authentication target region size acquisition unit 120 in FIG.
  • the encryption / decryption authentication processing unit 340 corresponds to the HW encryption / decryption / authentication processing unit 130 of FIG.
  • the host program 310 is an application or other program that is actually transmitting / receiving encrypted data.
  • the encryption / decryption authentication processing control unit 320 acquires the authentication area size from the authentication target area length acquisition unit 330 in advance, and stores the acquired authentication area size in the encryption / decryption authentication request.
  • the encryption / decryption authentication processing control unit 320 instructs the encryption / decryption authentication processing unit 340 of the plaintext / encrypted data stored in the encryption / decryption authentication request to perform encryption / decryption authentication processing.
  • the encryption / decryption authentication processing control unit 320 performs the encryption / decryption authentication processing of the encryption / decryption authentication request stored previously.
  • the encryption / decryption authentication request requested by the higher-level program 310 is stored in the encryption / decryption authentication request accumulation unit 350 in response to the request from 340. If the encryption / decryption authentication processing unit 340 is processing, the encryption / decryption authentication processing control unit 320 stores the encryption / decryption authentication request in the encryption / decryption authentication request accumulation unit 350 and ends the process.
  • the authentication target area length acquisition unit 330 uses an encryption / decryption processing unit (not shown) whose entity is different from the encryption / decryption processing unit 340 based on an instruction from the encryption / decryption authentication processing control unit 320 to end the end of the encrypted packet.
  • One block (the last 16 bytes in the case of SSL) is decoded.
  • the authentication target area length acquisition unit 330 includes the payload length of the encrypted packet, the padding (extra data for size adjustment) length stored in the last 1 byte of one decrypted block, and the MAC length according to the algorithm.
  • the digest calculation target area is calculated from the start position of the decryption target area and the start position of the authentication target area, and is returned to the encryption / decryption authentication processing control unit 320.
  • the authentication target area length acquisition unit 330 performs XOR operation on only the last 1 byte in which the padding length is stored with the immediately preceding block, thereby obtaining all the blocks. It is not necessary to perform an XOR operation, and the operation speed can be increased.
  • the encryption / decryption authentication processing unit 340 performs encryption / decryption processing or authentication processing.
  • the encryption / decryption authentication processing unit 340 starts the encryption / decryption authentication process in response to the encryption / decryption authentication start instruction from the encryption / decryption authentication process control unit 320, and notifies the encryption / decryption authentication process control unit 320 of the completion of the encryption / decryption authentication process. I do.
  • it is desirable that the encryption / decryption authentication processing unit 340 notifies the processing completion by a software interrupt that is woken up by the hardware interrupt processing.
  • the encryption / decryption authentication processing unit 340 performs a completion process for acquiring the result and accompanying data according to the encryption / decryption authentication completion process instruction of the encryption / decryption authentication process control unit 320. Details of the processing will be described later.
  • the encryption / decryption authentication request accumulating unit 350 has a queue structure for putting in / out the encryption / decryption authentication request. Usually composed of FIFO (First-In First-Out), but priority is given to encryption / decryption authentication requests to be dequeued based on information such as TOS (Type of Service) field of packet, transmission / reception address, transmission / reception port, protocol, etc. Other configurations, such as adding a degree, may be used.
  • the TOS field is 8-bit information included in the IP header, and the upper 3 bits are IP precedence indicating the priority.
  • FIG. 6 is a flowchart for explaining the operation of the cryptographic processing apparatus 300 during the transmission process.
  • S indicates each step of the flow.
  • step S101 the higher-level program 310 uses the ioctl call (I / O control call) or the like as the encryption / decryption authentication request together with the parameters required for the encryption / decryption authentication process, for the data to be decrypted received through the IP network or the like. It is copied to a space (Kernel Space), stored in the encryption / decryption authentication request accumulation unit 350, and the encryption / decryption authentication processing control unit 320 is instructed to perform encryption / decryption authentication processing.
  • a space Kernel Space
  • step S102 the encryption / decryption authentication processing control unit 320 instructs the authentication target area length acquisition unit 330 to calculate the authentication target area size 211 (see FIG. 4) in the data part of the encryption / decryption authentication request. .
  • the authentication target area length acquisition unit 330 performs decryption processing of the last block in the encrypted packet (the last 16 bytes in the case of SSL) based on the instruction of the encryption / decryption authentication processing control unit 320.
  • the authentication target area length acquisition unit 330 includes the payload length of the encrypted packet, the length of padding (extra data for size adjustment) stored in the last 1 byte of one decrypted block, and an algorithm such as SHA1, SHA256, etc.
  • the authentication target area is calculated from the MAC length corresponding to the above, the start position of the decryption target area, and the start position of the authentication target area, and returned to the encryption / decryption authentication processing control unit 320.
  • step S104 the encryption / decryption authentication processing control unit 320 stores the authentication target area size 211 (see FIG. 4) received from the authentication target area length acquisition unit 330 in the encryption / decryption authentication request.
  • step S105 the encryption / decryption authentication processing control unit 320 determines that the encryption / decryption authentication processing unit 340 is not processing. If the encryption / decryption authentication processing unit 340 is processing, the processing ends.
  • the encryption / decryption authentication processing control unit 320 determines in step S106 whether there is an encryption / decryption authentication request for which the encryption / decryption authentication processing unit 340 has already completed encryption / decryption authentication processing. Determine whether or not.
  • the encryption / decryption authentication processing control unit 320 performs encryption / decryption authentication processing by the encryption / decryption authentication processing unit 340 in step S107.
  • the encryption / decryption authentication completion processing of the completed encryption / decryption authentication request is performed.
  • step S106 If there is an encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S106, or encryption / decryption authentication completion processing has been performed for the encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S107. If so, the process proceeds to step S108.
  • step S108 the encryption / decryption authentication processing control unit 320 determines whether or not the encryption / decryption authentication request is stored in the encryption / decryption authentication request accumulation unit 350.
  • the encryption / decryption authentication processing control unit 320 sets up the encryption / decryption authentication processing unit 340 in step S109. Specifically, the encryption / decryption authentication processing control unit 320 uses the plaintext / encrypted data stored in the encryption / decryption authentication request and the parameters necessary for the encryption / decryption authentication processing to perform the encryption / decryption authentication processing. The unit 340 is instructed.
  • step S110 the encryption / decryption authentication processing unit 340 starts the encryption / decryption authentication processing based on an instruction from the encryption / decryption authentication processing control unit 320.
  • the encryption / decryption authentication process is executed asynchronously with the process of the encryption / decryption authentication process control unit 320 and does not wait for the completion of the process.
  • step S111 If the encryption / decryption authentication request is not stored in the encryption / decryption authentication request accumulation unit 350 in step S108, or if the encryption / decryption authentication processing unit 340 is set up in step S109, the process proceeds to step S111.
  • step S111 if there is an encryption / decryption authentication request for which the encryption / decryption authentication completion process has been performed in step S107, the encryption / decryption authentication processing control unit 320 returns the processing result to the upper program 310. If there is no encryption / decryption authentication request for which encryption / decryption authentication completion processing has been performed, this flow ends.
  • FIG. 7 is a flowchart illustrating an operation when the encryption / decryption authentication processing unit 340 of the encryption processing apparatus 300 completes the encryption / decryption authentication processing.
  • step S201 the encryption / decryption authentication processing unit 340 instructs the encryption / decryption authentication processing control unit 320 to start the software delay interrupt process so as to start the processes in and after step S202.
  • the processing after step S202 is the same as the processing of step S105 in FIG.
  • step S202 the encryption / decryption authentication processing control unit 320 determines whether the encryption / decryption authentication processing unit 340 is processing. If the encryption / decryption authentication processing unit 340 is processing, the processing ends.
  • the encryption / decryption authentication processing control unit 320 determines in step S203 whether there is an encryption / decryption authentication request for which the encryption / decryption authentication processing unit 340 has already completed encryption / decryption authentication processing. Determine whether or not.
  • the encryption / decryption authentication processing control unit 320 performs encryption / decryption authentication processing by the encryption / decryption authentication processing unit 340 in step S204. Encryption / decryption authentication completion processing of the completed encryption / decryption authentication request is performed.
  • step S203 If there is an encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S203, or encryption / decryption authentication completion processing has been performed for the encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S204. If so, the process proceeds to step S205.
  • step S205 the encryption / decryption authentication processing control unit 320 determines whether or not the encryption / decryption authentication request is stored in the encryption / decryption authentication request accumulation unit 350.
  • the encryption / decryption authentication processing control unit 320 sets up the encryption / decryption authentication processing unit 340 in step S206. Specifically, the encryption / decryption authentication processing control unit 320 uses the plaintext / encrypted data stored in the encryption / decryption authentication request and the parameters necessary for the encryption / decryption authentication processing to perform the encryption / decryption authentication processing. The unit 340 is instructed.
  • step S207 the encryption / decryption authentication processing unit 340 starts the encryption / decryption authentication processing based on an instruction from the encryption / decryption authentication processing control unit 320.
  • the encryption / decryption authentication process is executed asynchronously with the process of the encryption / decryption authentication process control unit 320 and does not wait for the completion of the process.
  • step S208 If the encryption / decryption authentication request is not stored in the encryption / decryption authentication request accumulation unit 350 in step S205 or if the encryption / decryption authentication processing unit 340 is set up in step S206, the process proceeds to step S208.
  • step S208 if there is an encryption / decryption authentication request for which the encryption / decryption authentication completion processing has been performed in step S204, the encryption / decryption authentication processing control unit 320 returns the processing result to the upper program 310. If there is no encryption / decryption authentication request for which encryption / decryption authentication completion processing has been performed, this flow ends.
  • the authentication target area length acquisition unit 330 of the cryptographic processing device 300 first performs the decryption process on the last one block in the encrypted packet to obtain the authentication target area size (
  • the encryption / decryption authentication processing control unit 320 sets up the acquired authentication processing parameter in the encryption / decryption authentication processing unit 340, and the encryption / decryption authentication processing unit 340 is based on the set-up authentication processing parameter. Since the encryption / decryption authentication process is performed, the decryption process and the authentication process are interrupted without the assistance of software or hardware function blocks when decrypting and authenticating the received packet in the SSL reception process in which the authentication target area size is encrypted. Can be processed without doing. Since one-pass processing can be performed, throughput can be improved.
  • the present invention can be applied to an encrypted information communication system that performs encrypted communication using the IPsec protocol via an IPv6 network, but may be an IPv network, and if an upper version including the IPv6 network function is formulated, this is also used. It is included.
  • Each functional block used in the above embodiment is typically realized as an LSI which is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them. Depending on the degree of integration, it may be called IC, system LSI, super LSI, or ultra LSI.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • any part of the encryption processing apparatus for example, the type, number and connection method of the encryption / decryption authentication processing part may be used.
  • the cryptographic processing method described above can also be realized by a program for causing this cryptographic processing method to function.
  • This program is stored in a computer-readable recording medium.
  • the cryptographic processing apparatus, cryptographic processing method, and program according to the present invention have the effect of enabling high-speed IP secure communication processing by software processing or hardware processing. It is useful for processing methods.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed is a cryptographic processor that can quickly decode and authenticate SSL or other secure protocol. With the device, a region to be authenticated length acquisition unit (330) in the cryptographic processor (300) first decodes the last block of an encrypted packet to acquire the size of the region to be authenticated (authentication processing parameter). An encryption/decryption and authentication processing control unit (320) sets up the acquired authentication processing parameter in an encryption/decryption and authentication processing unit (340), and the encryption/decryption and authentication processing unit (340) carries out encryption/decryption and authentication processing based on the authentication processing parameter.

Description

暗号処理装置、暗号処理方法及びプログラムCryptographic processing apparatus, cryptographic processing method, and program
 本発明は、暗号処理装置、暗号処理方法及びプログラムに関する。 The present invention relates to a cryptographic processing device, a cryptographic processing method, and a program.
 ネットワーク上を流れる情報を暗号化するための手段としてIPセキュア通信が一般的である。IPv6においては暗号化通信を行うIPsecが標準機能としてRFC(Request For Comment)にて規格化されている。 IP secure communication is generally used as a means for encrypting information flowing on the network. In IPv6, IPsec for performing encrypted communication is standardized by RFC (Request For Comment) as a standard function.
 ネットワークで送受信する情報を暗号化するための手段の1つとしてSSL(Secure Socket Layer)が知られている。SSLのようなセキュア処理には、高負荷処理である暗復号認証処理を必要とするため、HTTP(Hyper Text Transfer Protocol)サーバ、リバースプロキシサーバ等のように特別に高速化が求められる場合や、組み込み機器のように非力なマシンでセキュア処理を実現する場合、暗号認証処理を行う特別なハードウェア(以後、暗復号認証処理エンジンと呼ぶ)を用いて実現することがある(例えば、特許文献1参照)。なお、以後ハードウェアのことをHWと略記する場合がある。 SSL (Secure Socket Layer) is known as one of means for encrypting information transmitted and received on the network. Since secure processing such as SSL requires encryption / decryption authentication processing, which is a high-load processing, special speed-up is required such as an HTTP (Hyper Text Transfer Protocol) server, a reverse proxy server, etc. When secure processing is realized by a weak machine such as an embedded device, it may be realized by using special hardware (hereinafter referred to as an encryption / decryption authentication processing engine) that performs encryption authentication processing (for example, Patent Document 1). reference). Hereinafter, hardware may be abbreviated as HW.
 図1は、暗号処理装置の構成を示すブロック図である。 FIG. 1 is a block diagram showing the configuration of the cryptographic processing apparatus.
 図1において、暗号処理装置10は、暗復号処理及び認証処理結果を用いてIPsec又はSSLを実現する制御部11と、暗復号処理及び認証処理を実行するHW暗復号/認証処理部12とを備えて構成される。 In FIG. 1, the cryptographic processing apparatus 10 includes a control unit 11 that implements IPsec or SSL using the encryption / decryption processing and authentication processing results, and a HW encryption / decryption / authentication processing unit 12 that executes the encryption / decryption processing and authentication processing. It is prepared for.
 制御部11は、暗復号アルゴリズム、暗復号処理方式(CBC、ECB等)、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式(HASH、HMAC等)、認証対象領域、及び認証対象領域サイズなどをHW暗復号/認証処理部12に送出し((1)参照)、HW暗復号/認証処理部12から、処理結果を受け取る((2)参照)。 The control unit 11 includes an encryption / decryption algorithm, an encryption / decryption processing method (CBC, ECB, etc.), an encryption / decryption target region, an encryption / decryption target region size, an authentication algorithm, an authentication processing method (HASH, HMAC, etc.), an authentication target region, and an authentication The target area size and the like are sent to the HW encryption / decryption / authentication processing unit 12 (see (1)), and the processing result is received from the HW encryption / decryption / authentication processing unit 12 (see (2)).
 HW暗復号/認証処理部12は、制御部11から送出された暗復号アルゴリズム、暗復号処理方式、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って暗復号処理及び認証処理をそれぞれ実行する。 The HW encryption / decryption / authentication processing unit 12 includes an encryption / decryption algorithm, an encryption / decryption processing method, an encryption / decryption target region, an encryption / decryption target region size, an authentication algorithm, an authentication processing method, an authentication target region, and an authentication sent from the control unit 11. The encryption / decryption process and the authentication process are executed according to the target area size.
 HW暗復号/認証処理部12は、暗復号と認証処理を一度に行う1パス処理を実行することが好ましい。暗号認証IPは、暗復号/認証処理の1パス処理に対応するものが登場すると考えられる。 The HW encryption / decryption / authentication processing unit 12 preferably executes a one-pass process for performing encryption / decryption and authentication at a time. As the encryption authentication IP, it is considered that one corresponding to one-pass processing of encryption / decryption / authentication processing appears.
 図2は、暗号処理装置の別の構成を示すブロック図である。 FIG. 2 is a block diagram showing another configuration of the cryptographic processing apparatus.
 図2において、暗号処理装置20は、暗復号処理及び認証処理結果を用いてIPsec又はSSLを実現する制御部21と、暗復号処理を実行するHW暗復号処理部22と、認証処理を実行するHW認証処理部23とを備えて構成される。 In FIG. 2, the cryptographic processing device 20 executes a control unit 21 that implements IPsec or SSL using a result of the encryption / decryption processing and the authentication processing, a HW encryption / decryption processing unit 22 that executes the encryption / decryption processing, and an authentication process. And an HW authentication processing unit 23.
 制御部21は、復号アルゴリズム、復号処理方式(CBC、ECB等)、復号対象領域、及び復号対象領域サイズなどをHW暗復号処理部22に送出し((1)参照)、HW暗復号処理部22から、処理結果を受け取る((2)参照)。また、制御部21は、認証アルゴリズム、認証処理方式(HASH、HMAC等)、認証対象領域、及び認証対象領域サイズなどをHW認証処理部23に送出し((4)参照)、HW認証処理部23から、処理結果を受け取る((3)参照)。 The control unit 21 sends the decoding algorithm, the decoding processing method (CBC, ECB, etc.), the decoding target region, the decoding target region size, and the like to the HW encryption / decryption processing unit 22 (see (1)), and the HW encryption / decryption processing unit The processing result is received from 22 (see (2)). In addition, the control unit 21 sends an authentication algorithm, an authentication processing method (HASH, HMAC, etc.), an authentication target area, an authentication target area size, and the like to the HW authentication processing unit 23 (see (4)). The processing result is received from 23 (see (3)).
 HW暗復号処理部22は、制御部21から送出された復号アルゴリズム、復号処理方式、復号対象領域、及び復号対象領域サイズに従って復号処理を実行する。 The HW encryption / decryption processing unit 22 executes the decoding process according to the decoding algorithm, the decoding processing method, the decoding target region, and the decoding target region size transmitted from the control unit 21.
 HW認証処理部23は、制御部21から送出された認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って認証処理を実行する。 The HW authentication processing unit 23 executes authentication processing according to the authentication algorithm, the authentication processing method, the authentication target area, and the authentication target area size sent from the control unit 21.
 暗号処理装置20は、復号処理と認証処理を2段階に分けて処理することで、SSL受信処理をHWで実現することができる。 The cryptographic processing device 20 can realize the SSL reception processing with HW by processing the decryption processing and the authentication processing in two stages.
特表2005-503699号公報JP 2005-503699 A
 しかしながら、このような従来の暗号処理装置にあっては、以下の問題があった。 However, such a conventional cryptographic processor has the following problems.
 (1)図1の暗号処理装置では、SSL受信処理時は、認証対象領域サイズも暗号化されているため、1パス処理依頼時に認証対象領域サイズを指定することができず、復号/認証処理を1パス処理することができない。 (1) In the encryption processing apparatus of FIG. 1, since the authentication target area size is also encrypted at the time of the SSL reception process, the authentication target area size cannot be specified at the time of the 1-pass processing request. Cannot be processed in one pass.
 すなわち、SSLなど一部のセキュアプロトコルでは、暗号化されたデータには認証処理に用いる認証対象領域サイズの算出に必要となるパラメータも暗号化されてしまっている。上記認証対象領域サイズを算出するためには、データと共に暗号化されている認証処理パラメータを一旦復号化して暗号化されていない認証処理パラメータを得、この認証処理パラメータを元に認証対象領域サイズを算出するステップが必要となる。SSL等の復号認証処理では、1ブロック毎にしか暗号解読はできない。ラスト1ブロックを解読して、ラスト1ブロックのなかの最後1バイトを取り出すことになる。このため、汎用の暗復号認証処理エンジンを用いてSSL等の復号認証処理を行う場合、復号処理後に一度処理を中断し、認証対象領域サイズを暗復号認証処理エンジンのレジスタにセットアップしてから再度認証処理を行う必要があった。 That is, in some secure protocols such as SSL, the parameters necessary for calculating the authentication target area size used for the authentication processing are also encrypted in the encrypted data. In order to calculate the authentication target area size, the authentication processing parameter encrypted together with the data is temporarily decrypted to obtain an unencrypted authentication processing parameter, and the authentication target area size is calculated based on the authentication processing parameter. A calculation step is required. In decryption authentication processing such as SSL, decryption can be performed only for each block. The last 1 block is decoded, and the last 1 byte in the last 1 block is extracted. For this reason, when performing a decryption authentication process such as SSL using a general-purpose encryption / decryption authentication processing engine, the process is interrupted once after the decryption process, and the authentication target area size is set up in the register of the encryption / decryption authentication process engine and then again. It was necessary to perform authentication processing.
 (2)図2の暗号処理装置では、制御部21がHW暗復号処理部22,HW認証処理部23をそれぞれ制御し、復号処理と認証処理を2段階に分けて処理することで、SSL受信処理をHWで実現することができる。しかし、復号/認証処理を1パス処理できないため、スループットが低下してしまう問題がある。 (2) In the cryptographic processing apparatus of FIG. 2, the control unit 21 controls the HW encryption / decryption processing unit 22 and the HW authentication processing unit 23, respectively, and performs decryption processing and authentication processing in two stages, thereby receiving SSL reception. Processing can be realized by HW. However, since the decryption / authentication process cannot be performed in one pass, there is a problem that the throughput is lowered.
 本発明の目的は、SSLなどのセキュアプロトコルを高速に復号認証することができる暗号処理装置及び暗号処理方法を提供することである。 An object of the present invention is to provide a cryptographic processing apparatus and a cryptographic processing method that can decrypt and authenticate a secure protocol such as SSL at high speed.
 本発明の暗号処理装置は、暗復号認証処理を行う暗復号認証処理手段と、暗復号認証対象としての暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを復号して取得する認証処理パラメータ取得手段と、取得した認証処理パラメータを、前記暗復号認証処理手段に設定して暗復号認証処理の開始を指示する暗復号認証処理制御手段と、を備える構成を採る。 The encryption processing apparatus of the present invention includes an encryption / decryption authentication processing means for performing encryption / decryption authentication processing, and an authentication processing parameter necessary for calculating an authentication target area size used for the authentication processing from encrypted data as an encryption / decryption authentication target. Authentication processing parameter acquisition means for decrypting and acquiring the encryption processing parameter setting means, and encryption / decryption authentication processing control means for setting the acquired authentication processing parameter in the encryption / decryption authentication processing means and instructing the start of encryption / decryption authentication processing Take.
 本発明の暗号処理方法は、暗復号認証対象としての暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得するステップと、取得した認証処理パラメータを設定して暗復号認証処理の開始を指示するステップと、暗復号認証処理の開始指示に従って暗復号処理又は認証処理を行うステップとを順次実行する。 The encryption processing method according to the present invention includes a step of previously acquiring and acquiring an authentication processing parameter necessary for calculating an authentication target area size used for authentication processing from encrypted data as an encryption / decryption authentication target, A step of setting authentication processing parameters and instructing start of encryption / decryption authentication processing and a step of performing encryption / decryption processing or authentication processing in accordance with the start instruction of encryption / decryption authentication processing are sequentially executed.
 また他の観点から、本発明は、上記暗号処理方法の各ステップをコンピュータに実行させるためのプログラムである。 From another point of view, the present invention is a program for causing a computer to execute each step of the cryptographic processing method.
 本発明によれば、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得することにより、認証対象領域サイズが暗号化されているSSLなどのセキュアプロトコル処理において、受信したパケットを復号認証する際、ソフトウェアやハードウェア機能ブロックの補助なしで、かつ復号処理と認証処理を中断することなしに処理することができ、暗復号処理又は認証処理の高速化を実現することができる。同様の理由により、1パス処理を行うことができるため、スループットの向上を図ることができる。 According to the present invention, in the secure protocol processing such as SSL in which the authentication target area size is encrypted by decrypting and acquiring the authentication processing parameters necessary for calculating the authentication target area size used for the authentication processing in advance. When decrypting and authenticating a received packet, it can be processed without the assistance of software or hardware function blocks and without interrupting the decryption process and the authentication process, realizing high speed encryption / decryption process or authentication process can do. For the same reason, one-pass processing can be performed, so that throughput can be improved.
従来の暗号処理装置の構成を示すブロック図Block diagram showing the configuration of a conventional cryptographic processing apparatus 従来の暗号処理装置の別の構成を示すブロック図The block diagram which shows another structure of the conventional encryption processing apparatus 本発明の実施の形態1に係る暗号処理装置の構成を示す図The figure which shows the structure of the encryption processing apparatus which concerns on Embodiment 1 of this invention. 上記実施の形態1に係る暗号処理装置のSSL受信パケットのデータ構造を示す図The figure which shows the data structure of the SSL reception packet of the encryption processing apparatus which concerns on the said Embodiment 1. FIG. 本発明の実施の形態2に係る暗号処理装置の構成を示す図The figure which shows the structure of the encryption processing apparatus which concerns on Embodiment 2 of this invention. 上記実施の形態2に係る暗号処理装置の送信処理時の動作を説明するフロー図The flowchart explaining the operation | movement at the time of the transmission process of the encryption processing apparatus which concerns on the said Embodiment 2. FIG. 上記実施の形態2に係る暗号処理装置の暗復号認証処理部で暗復号認証処理が終了した際の動作を説明するフロー図The flowchart explaining operation | movement when the encryption / decryption authentication process is complete | finished in the encryption / decryption authentication process part of the encryption processing apparatus concerning the said Embodiment 2. FIG.
 以下、本発明の実施の形態について図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
 (実施の形態1)
 図3は、本発明の実施の形態1に係る暗号処理装置の構成を示す図である。
(Embodiment 1)
FIG. 3 is a diagram showing the configuration of the cryptographic processing apparatus according to Embodiment 1 of the present invention.
 図3において、暗号処理装置100は、取得した認証対象領域サイズ(認証処理パラメータ)をHW暗復号/認証処理部130に設定して暗復号認証処理の開始を指示する制御部110と、認証対象領域サイズを取得する認証対象領域サイズ取得部120と、暗復号処理又は認証処理を実行するHW暗復号/認証処理部130とを備えて構成される。 In FIG. 3, the cryptographic processing device 100 sets the acquired authentication target area size (authentication processing parameter) in the HW encryption / decryption / authentication processing unit 130 and instructs the start of the encryption / decryption authentication processing, and the authentication target An authentication target area size acquisition unit 120 that acquires an area size and an HW encryption / decryption / authentication processing unit 130 that executes encryption / decryption processing or authentication processing are configured.
 制御部110は、認証対象領域サイズ取得部120から認証対象領域サイズを受け取り((1)参照)、HW暗復号/認証処理部130に取得した認証処理パラメータを設定(セットアップ)してから暗復号認証処理の開始を指示する。また、制御部110は、暗復号アルゴリズム、暗復号処理方式(CBC、ECB等)、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式(HASH、HMAC等)、認証対象領域、及び認証対象領域サイズなどをHW暗復号/認証処理部130に送出し((2)参照)、HW暗復号/認証処理部130から、処理結果を受け取る((3)参照)。制御部110は、暗復号処理及び認証処理結果を用いてIPsec又はSSLを実現する。 The control unit 110 receives the authentication target area size from the authentication target area size acquisition unit 120 (see (1)), sets (sets up) the acquired authentication processing parameter in the HW encryption / decryption processing unit 130, and then performs encryption / decryption. Instructs the start of the authentication process. In addition, the control unit 110 includes an encryption / decryption algorithm, an encryption / decryption processing method (CBC, ECB, etc.), an encryption / decryption target area, an encryption / decryption target area size, an authentication algorithm, an authentication processing method (HASH, HMAC, etc.), an authentication target area, The authentication target area size and the like are sent to the HW encryption / decryption / authentication processing unit 130 (see (2)), and the processing result is received from the HW encryption / decryption / authentication processing unit 130 (see (3)). The control unit 110 implements IPsec or SSL using the encryption / decryption process and the authentication process result.
 認証対象領域サイズ取得部120は、暗号化されたデータのうち、認証処理に用いる情報の算出に必要なデータが格納されているブロックを、ソフトウェア又はハードウェアにより事前に復号し、取得したデータと、SHA1(Secure Hash Algorithm 1)、SHA256などのアルゴリズムに応じたMAC(Media Access Control)長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する。 The authentication target area size acquisition unit 120 decrypts a block in which data necessary for calculation of information used for authentication processing is stored in encrypted data in advance by software or hardware, and the acquired data , SHA1 (Secure Hash Algorithm 1), MAC (Media Access Control) length corresponding to an algorithm such as SHA256, the start position of the decryption target area, and the start position of the authentication target area are used for authentication processing. Calculate information.
 具体的には、認証対象領域サイズ取得部120は、暗号化されたデータのうち、認証処理に用いる情報の算出に必要なデータが格納されているブロックを、ソフトウェア又はハードウェアで事前に復号する。そして、認証対象領域サイズ取得部120は、復号したブロックのうち、暗号化方式がCBC(Cipher Block Chaining)モードであった場合は、ラスト1バイトのみを直前のブロックとXOR演算し、取得したデータと、SHA1、SHA256などのアルゴリズムに応じたMAC長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する。 Specifically, the authentication target area size acquisition unit 120 previously decrypts, with software or hardware, a block in which data necessary for calculating information used for authentication processing is stored among the encrypted data. . Then, if the encryption method is CBC (Cipher Block Chaining) mode among the decrypted blocks, the authentication target area size acquisition unit 120 performs XOR operation of only the last 1 byte with the immediately preceding block, and acquires the acquired data. Then, the information used for the authentication process is calculated from one or more of the MAC length according to the algorithm such as SHA1, SHA256, the start position of the decryption target area, and the start position of the authentication target area.
 SSL等の復号認証処理では、暗号化方式の1つとしてCBCも使用する。CBC処理手順で暗号化されているときは1つ前のブロックとEOR演算を1バイトずつ行って復号する必要がある。 In decryption authentication processing such as SSL, CBC is also used as one of the encryption methods. When encryption is performed by the CBC processing procedure, it is necessary to perform the EOR operation with the previous block one byte at a time for decryption.
 本実施の形態では、暗号化方式がCBCモードであった場合は、ラスト1バイトのみを直前のブロックとXOR演算する。この構成により、受信したパケットがCBCモードで暗号化されていた場合は、演算を短縮でき、さらなる復号認証処理を実現することができる。 In this embodiment, when the encryption method is the CBC mode, only the last one byte is XORed with the immediately preceding block. With this configuration, when the received packet is encrypted in the CBC mode, the calculation can be shortened and further decryption authentication processing can be realized.
 HW暗復号/認証処理部130は、制御部110から送出された暗復号アルゴリズム、暗復号処理方式、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って、暗復号処理と認証処理とを一度に行う1パス処理を実行する。 The HW encryption / decryption / authentication processing unit 130 receives the encryption / decryption algorithm, encryption / decryption processing method, encryption / decryption target region, encryption / decryption target region size, authentication algorithm, authentication processing method, authentication target region, and authentication sent from the control unit 110. In accordance with the target area size, a one-pass process for performing encryption / decryption processing and authentication processing at a time is executed.
 以下、上述のように構成された暗号処理装置100の動作について説明する。 Hereinafter, the operation of the cryptographic processing apparatus 100 configured as described above will be described.
 図4は、SSL受信パケットのデータ構造を示す図である。 FIG. 4 is a diagram showing the data structure of the SSL reception packet.
 図4において、SSL受信パケット200は、複数ブロックからなり、ラスト1ブロック210には認証対象領域サイズ211が格納される。SSL受信パケット200のうち、上位の所定ブロックは認証対象領域220、下位の所定ブロックは暗号化領域230である。認証対象領域220の一部は、暗号化領域230として暗号化されている。 4, the SSL reception packet 200 includes a plurality of blocks, and the authentication target area size 211 is stored in the last 1 block 210. Of the SSL received packet 200, the upper predetermined block is the authentication target area 220, and the lower predetermined block is the encryption area 230. A part of the authentication target area 220 is encrypted as an encryption area 230.
 認証対象領域サイズ取得部120は、暗号化領域230のラスト1ブロック210をソフトウェア又はハードウェアによりあらかじめ復号し、認証対象領域サイズ211を取得する。そして、認証対象領域サイズ取得部120は、取得した認証対象領域サイズ211を制御部110に渡す。制御部110は、認証対象領域サイズ取得部120から認証対象領域サイズを受け取り、取得した認証処理パラメータをセットアップしてからHW暗復号/認証処理部130に1パス処理を依頼する。 The authentication target area size acquisition unit 120 acquires the authentication target area size 211 by previously decrypting the last block 210 of the encryption area 230 with software or hardware. Then, the authentication target area size acquisition unit 120 passes the acquired authentication target area size 211 to the control unit 110. The control unit 110 receives the authentication target region size from the authentication target region size acquisition unit 120, sets up the acquired authentication processing parameter, and requests the HW encryption / decryption / authentication processing unit 130 to perform one-pass processing.
 ここで、認証対象領域サイズ取得部120は、CBCモードで暗号化されている場合、復号結果を直前の1ブロックとXOR演算する必要がある。この場合、認証対象領域サイズ取得部120は、認証対象領域サイズ211が格納されている最後の1バイトのみXOR演算することで、さらに演算を短縮することができる。 Here, the authentication target area size acquisition unit 120 needs to XOR the decryption result with the immediately preceding block when encrypted in the CBC mode. In this case, the authentication target area size acquisition unit 120 can further reduce the calculation by performing an XOR operation on only the last one byte in which the authentication target area size 211 is stored.
 このように、本実施の形態によれば、受信したパケットを復号認証する際、認証処理パラメータの一部が暗号化されていても、ソフトウェア又はハードウェア機能ブロックの補助なしに、復号処理と認証処理を中断することなしに処理することができるようになる。したがって、認証対象領域サイズが暗号化されているSSL受信処理であっても、1パス処理を行うことができるため、スループットの向上が見込まれる効果がある。 As described above, according to the present embodiment, when decrypting and authenticating a received packet, even if a part of the authentication processing parameter is encrypted, the decryption processing and authentication are not performed without the assistance of software or hardware function blocks. Processing can be performed without interrupting the processing. Therefore, even in the SSL reception process in which the authentication target area size is encrypted, the one-pass process can be performed, which has an effect of improving the throughput.
 (実施の形態2)
 図5は、本発明の実施の形態2に係る暗号処理装置の構成を示す図である。
(Embodiment 2)
FIG. 5 is a diagram showing the configuration of the cryptographic processing apparatus according to Embodiment 2 of the present invention.
 図5において、暗号処理装置300は、上位プログラム310、暗復号認証処理制御部320、認証対象領域長取得部330、暗復号認証処理部340、及び暗復号認証リクエスト蓄積部350を備えて構成される。 In FIG. 5, the cryptographic processing apparatus 300 includes a higher-level program 310, an encryption / decryption authentication processing control unit 320, an authentication target area length acquisition unit 330, an encryption / decryption authentication processing unit 340, and an encryption / decryption authentication request storage unit 350. The
 上記暗復号認証処理制御部320及び暗復号認証リクエスト蓄積部350は、図3の制御部110に対応し、認証対象領域長取得部330は、図3の認証対象領域サイズ取得部120対応する。また、暗復号認証処理部340は、図3のHW暗復号/認証処理部130に対応する。 The encryption / decryption authentication processing control unit 320 and the encryption / decryption authentication request accumulation unit 350 correspond to the control unit 110 in FIG. 3, and the authentication target region length acquisition unit 330 corresponds to the authentication target region size acquisition unit 120 in FIG. The encryption / decryption authentication processing unit 340 corresponds to the HW encryption / decryption / authentication processing unit 130 of FIG.
 上位プログラム310は、実際に暗号化されたデータの送受信を行おうとしているアプリケーション、もしくは、その他のプログラムである。 The host program 310 is an application or other program that is actually transmitting / receiving encrypted data.
 暗復号認証処理制御部320は、あらかじめ認証対象領域長取得部330から認証領域サイズを取得し、暗復号認証リクエストに取得した認証領域サイズを格納する。暗復号認証処理制御部320は、暗復号認証リクエストに格納されている平文・暗号化データを、暗復号認証処理部340に指示して暗復号認証処理を行う。暗復号認証処理制御部320は、暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されている場合は、先に格納されている暗復号認証リクエストの暗復号認証処理を暗復号認証処理部340に依頼して、上位プログラム310から依頼された暗復号認証リクエストは暗復号認証リクエスト蓄積部350に格納する。また、暗復号認証処理制御部320は、暗復号認証処理部340が処理中の場合、暗復号認証リクエストを暗復号認証リクエスト蓄積部350に格納して処理を終了する。 The encryption / decryption authentication processing control unit 320 acquires the authentication area size from the authentication target area length acquisition unit 330 in advance, and stores the acquired authentication area size in the encryption / decryption authentication request. The encryption / decryption authentication processing control unit 320 instructs the encryption / decryption authentication processing unit 340 of the plaintext / encrypted data stored in the encryption / decryption authentication request to perform encryption / decryption authentication processing. When the encryption / decryption authentication request is stored in the encryption / decryption authentication request storage unit 350, the encryption / decryption authentication processing control unit 320 performs the encryption / decryption authentication processing of the encryption / decryption authentication request stored previously. The encryption / decryption authentication request requested by the higher-level program 310 is stored in the encryption / decryption authentication request accumulation unit 350 in response to the request from 340. If the encryption / decryption authentication processing unit 340 is processing, the encryption / decryption authentication processing control unit 320 stores the encryption / decryption authentication request in the encryption / decryption authentication request accumulation unit 350 and ends the process.
 認証対象領域長取得部330は、暗復号認証処理制御部320の指示に基づき、暗復号処理部340とは実体が異なる暗復号処理部(図示せず)を用いて、暗号化パケット中の末尾1ブロック(SSLの場合は末尾16バイト)の復号処理を行う。認証対象領域長取得部330は、暗号化パケットのペイロード長と、復号された1ブロックの末尾1バイトに格納されたパディング(サイズ調節のための余分なデータ)長と、アルゴリズムに応じたMAC長、復号対象領域の開始位置、認証対象領域の開始位置からダイジェスト計算対象領域を算出し、暗復号認証処理制御部320に返却する。認証対象領域長取得部330は、暗号化パケットがCBCモードで暗号化されていた場合には、パディング長が格納された末尾1バイトのみを直前のブロックとXOR演算することで、1ブロックすべてをXOR演算する必要がなくなり、演算の高速化を図ることが可能である。 The authentication target area length acquisition unit 330 uses an encryption / decryption processing unit (not shown) whose entity is different from the encryption / decryption processing unit 340 based on an instruction from the encryption / decryption authentication processing control unit 320 to end the end of the encrypted packet. One block (the last 16 bytes in the case of SSL) is decoded. The authentication target area length acquisition unit 330 includes the payload length of the encrypted packet, the padding (extra data for size adjustment) length stored in the last 1 byte of one decrypted block, and the MAC length according to the algorithm. The digest calculation target area is calculated from the start position of the decryption target area and the start position of the authentication target area, and is returned to the encryption / decryption authentication processing control unit 320. If the encrypted packet is encrypted in the CBC mode, the authentication target area length acquisition unit 330 performs XOR operation on only the last 1 byte in which the padding length is stored with the immediately preceding block, thereby obtaining all the blocks. It is not necessary to perform an XOR operation, and the operation speed can be increased.
 暗復号認証処理部340は、暗復号処理又は認証処理を行う。暗復号認証処理部340は、暗復号認証処理制御部320の暗復号認証開始指示によって暗復号認証処理を開始し、暗復号認証処理が完了した時点で暗復号認証処理制御部320に処理完了通知を行う。例えば、暗復号認証処理部340は、ハードウェア割り込み処理にて起床されたソフトウェア割り込みによって処理完了通知をすることが望ましい。その後、暗復号認証処理部340は、暗復号認証処理制御部320の、暗復号認証完了処理指示によって、結果や付随データを取得するための完了処理を行う。処理の詳細については後述する。 The encryption / decryption authentication processing unit 340 performs encryption / decryption processing or authentication processing. The encryption / decryption authentication processing unit 340 starts the encryption / decryption authentication process in response to the encryption / decryption authentication start instruction from the encryption / decryption authentication process control unit 320, and notifies the encryption / decryption authentication process control unit 320 of the completion of the encryption / decryption authentication process. I do. For example, it is desirable that the encryption / decryption authentication processing unit 340 notifies the processing completion by a software interrupt that is woken up by the hardware interrupt processing. Thereafter, the encryption / decryption authentication processing unit 340 performs a completion process for acquiring the result and accompanying data according to the encryption / decryption authentication completion process instruction of the encryption / decryption authentication process control unit 320. Details of the processing will be described later.
 暗復号認証リクエスト蓄積部350は、暗復号認証リクエストを出し入れするためのキュー構造である。通常FIFO(First-In First-Out)で構成されるが、例えばパケットのTOS(Type of Service)フィールドや、送受信アドレス、送受信ポート、プロトコルなどの情報を元に、デキューする暗復号認証リクエストに優先度をつけるようにするなど、その他の構成であってもよい。なお、TOSフィールドは、IPヘッダに含まれる長さ8ビットの情報であり、上位3ビットが優先度を表示するIPプレシデンスである。 The encryption / decryption authentication request accumulating unit 350 has a queue structure for putting in / out the encryption / decryption authentication request. Usually composed of FIFO (First-In First-Out), but priority is given to encryption / decryption authentication requests to be dequeued based on information such as TOS (Type of Service) field of packet, transmission / reception address, transmission / reception port, protocol, etc. Other configurations, such as adding a degree, may be used. The TOS field is 8-bit information included in the IP header, and the upper 3 bits are IP precedence indicating the priority.
 以下、上述のように構成された暗号処理装置300の動作について説明する。 Hereinafter, the operation of the cryptographic processing apparatus 300 configured as described above will be described.
 図6は、暗号処理装置300の送信処理時の動作を説明するフローチャートである。図中、Sはフローの各ステップを示す。 FIG. 6 is a flowchart for explaining the operation of the cryptographic processing apparatus 300 during the transmission process. In the figure, S indicates each step of the flow.
 ステップS101では、上位プログラム310は、IPネットワーク等を通して受け取った復号化したいデータを、暗復号認証処理に必要なパラメータと共に暗復号認証リクエストとして、ioctlコール(I/O control call)等を用いてカーネル空間(Kernel Space)にコピーし、暗復号認証リクエスト蓄積部350に格納し、暗復号認証処理制御部320に暗復号認証処理を指示する。 In step S101, the higher-level program 310 uses the ioctl call (I / O control call) or the like as the encryption / decryption authentication request together with the parameters required for the encryption / decryption authentication process, for the data to be decrypted received through the IP network or the like. It is copied to a space (Kernel Space), stored in the encryption / decryption authentication request accumulation unit 350, and the encryption / decryption authentication processing control unit 320 is instructed to perform encryption / decryption authentication processing.
 ステップS102では、暗復号認証処理制御部320は、認証対象領域長取得部330に対して、暗復号認証リクエストのデータ部分のうち、認証対象領域サイズ211(図4参照)を算出するよう指示する。 In step S102, the encryption / decryption authentication processing control unit 320 instructs the authentication target area length acquisition unit 330 to calculate the authentication target area size 211 (see FIG. 4) in the data part of the encryption / decryption authentication request. .
 ステップS103では、認証対象領域長取得部330は、暗復号認証処理制御部320の指示に基づき、暗号化パケット中の末尾1ブロック(SSLの場合は末尾16バイト)の復号処理を行う。認証対象領域長取得部330は、暗号化パケットのペイロード長と、復号された1ブロックの末尾1バイトに格納されたパディング(サイズ調節のための余分なデータ)長と、SHA1、SHA256等のアルゴリズムに応じたMAC長、復号対象領域の開始位置、及び認証対象領域の開始位置から認証対象領域を算出し、暗復号認証処理制御部320に返却する。 In step S103, the authentication target area length acquisition unit 330 performs decryption processing of the last block in the encrypted packet (the last 16 bytes in the case of SSL) based on the instruction of the encryption / decryption authentication processing control unit 320. The authentication target area length acquisition unit 330 includes the payload length of the encrypted packet, the length of padding (extra data for size adjustment) stored in the last 1 byte of one decrypted block, and an algorithm such as SHA1, SHA256, etc. The authentication target area is calculated from the MAC length corresponding to the above, the start position of the decryption target area, and the start position of the authentication target area, and returned to the encryption / decryption authentication processing control unit 320.
 ステップS104では、暗復号認証処理制御部320は、認証対象領域長取得部330から受けとった認証対象領域サイズ211(図4参照)を暗復号認証リクエストに格納する。 In step S104, the encryption / decryption authentication processing control unit 320 stores the authentication target area size 211 (see FIG. 4) received from the authentication target area length acquisition unit 330 in the encryption / decryption authentication request.
 ステップS105では、暗復号認証処理制御部320は、暗復号認証処理部340が処理中でないことを判別する。暗復号認証処理部340が処理中であった場合は、処理を終了する。 In step S105, the encryption / decryption authentication processing control unit 320 determines that the encryption / decryption authentication processing unit 340 is not processing. If the encryption / decryption authentication processing unit 340 is processing, the processing ends.
 暗復号認証処理部340が処理中でなかった場合、ステップS106で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがないか否かを判別する。 If the encryption / decryption authentication processing unit 340 is not processing, the encryption / decryption authentication processing control unit 320 determines in step S106 whether there is an encryption / decryption authentication request for which the encryption / decryption authentication processing unit 340 has already completed encryption / decryption authentication processing. Determine whether or not.
 暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがない場合、ステップS107で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行う。 If there is no encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed by the encryption / decryption authentication processing unit 340, the encryption / decryption authentication processing control unit 320 performs encryption / decryption authentication processing by the encryption / decryption authentication processing unit 340 in step S107. The encryption / decryption authentication completion processing of the completed encryption / decryption authentication request is performed.
 上記ステップS106で既に暗復号認証処理が終了している暗復号認証リクエストがある場合、あるいは上記ステップS107で既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行った場合は、ステップS108に進む。 If there is an encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S106, or encryption / decryption authentication completion processing has been performed for the encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S107. If so, the process proceeds to step S108.
 ステップS108では、暗復号認証処理制御部320は、暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されているか否かを判別する。 In step S108, the encryption / decryption authentication processing control unit 320 determines whether or not the encryption / decryption authentication request is stored in the encryption / decryption authentication request accumulation unit 350.
 暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されている場合、ステップS109で暗復号認証処理制御部320は、暗復号認証処理部340のセットアップを行う。具体的には、暗復号認証処理制御部320は、暗復号認証リクエストに格納されている平文・暗号化データと暗復号認証処理に必要なパラメータを用いて、暗復号認証処理を暗復号認証処理部340に指示する。 When the encryption / decryption authentication request is stored in the encryption / decryption authentication request accumulation unit 350, the encryption / decryption authentication processing control unit 320 sets up the encryption / decryption authentication processing unit 340 in step S109. Specifically, the encryption / decryption authentication processing control unit 320 uses the plaintext / encrypted data stored in the encryption / decryption authentication request and the parameters necessary for the encryption / decryption authentication processing to perform the encryption / decryption authentication processing. The unit 340 is instructed.
 ステップS110では、暗復号認証処理部340は、暗復号認証処理制御部320の指示に基づき、暗復号認証処理を開始する。ここで、暗復号認証処理は暗復号認証処理制御部320の処理とは非同期に実行され、処理の完了を待ち合わせることはしない。 In step S110, the encryption / decryption authentication processing unit 340 starts the encryption / decryption authentication processing based on an instruction from the encryption / decryption authentication processing control unit 320. Here, the encryption / decryption authentication process is executed asynchronously with the process of the encryption / decryption authentication process control unit 320 and does not wait for the completion of the process.
 上記ステップS108で暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されていなかった場合、あるいは上記ステップS109で暗復号認証処理部340のセットアップを行った場合は、ステップS111に進む。 If the encryption / decryption authentication request is not stored in the encryption / decryption authentication request accumulation unit 350 in step S108, or if the encryption / decryption authentication processing unit 340 is set up in step S109, the process proceeds to step S111.
 ステップS111では、暗復号認証処理制御部320は、上記ステップS107で暗復号認証完了処理を行った暗復号認証リクエストがあれば、上位プログラム310に処理結果を返却する。暗復号認証完了処理を行った暗復号認証リクエストがなければ、本フローを終了する。 In step S111, if there is an encryption / decryption authentication request for which the encryption / decryption authentication completion process has been performed in step S107, the encryption / decryption authentication processing control unit 320 returns the processing result to the upper program 310. If there is no encryption / decryption authentication request for which encryption / decryption authentication completion processing has been performed, this flow ends.
 図7は、暗号処理装置300の暗復号認証処理部340で暗復号認証処理が終了した際の動作を説明するフローチャートである。 FIG. 7 is a flowchart illustrating an operation when the encryption / decryption authentication processing unit 340 of the encryption processing apparatus 300 completes the encryption / decryption authentication processing.
 ステップS201では、暗復号認証処理部340は、暗復号認証処理制御部320に対してステップS202以降の処理を開始するようソフトウェア遅延割り込み処理の開始を指示する。ステップS202以降の処理は、図6のステップS105の処理と同じである。 In step S201, the encryption / decryption authentication processing unit 340 instructs the encryption / decryption authentication processing control unit 320 to start the software delay interrupt process so as to start the processes in and after step S202. The processing after step S202 is the same as the processing of step S105 in FIG.
 すなわち、ステップS202では、暗復号認証処理制御部320は、暗復号認証処理部340が処理中でないかを判別する。暗復号認証処理部340が処理中であった場合は、処理を終了する。 That is, in step S202, the encryption / decryption authentication processing control unit 320 determines whether the encryption / decryption authentication processing unit 340 is processing. If the encryption / decryption authentication processing unit 340 is processing, the processing ends.
 暗復号認証処理部340が処理中でなかった場合、ステップS203で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがないか否かを判別する。 If the encryption / decryption authentication processing unit 340 is not processing, the encryption / decryption authentication processing control unit 320 determines in step S203 whether there is an encryption / decryption authentication request for which the encryption / decryption authentication processing unit 340 has already completed encryption / decryption authentication processing. Determine whether or not.
 暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがない場合、ステップS204で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行う。 If there is no encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed by the encryption / decryption authentication processing unit 340, the encryption / decryption authentication processing control unit 320 performs encryption / decryption authentication processing by the encryption / decryption authentication processing unit 340 in step S204. Encryption / decryption authentication completion processing of the completed encryption / decryption authentication request is performed.
 上記ステップS203で既に暗復号認証処理が終了している暗復号認証リクエストがある場合、あるいは上記ステップS204で既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行った場合は、ステップS205に進む。 If there is an encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S203, or encryption / decryption authentication completion processing has been performed for the encryption / decryption authentication request for which encryption / decryption authentication processing has already been completed in step S204. If so, the process proceeds to step S205.
 ステップS205では、暗復号認証処理制御部320は、暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されているか否かを判別する。 In step S205, the encryption / decryption authentication processing control unit 320 determines whether or not the encryption / decryption authentication request is stored in the encryption / decryption authentication request accumulation unit 350.
 暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されている場合、ステップS206で暗復号認証処理制御部320は、暗復号認証処理部340のセットアップを行う。具体的には、暗復号認証処理制御部320は、暗復号認証リクエストに格納されている平文・暗号化データと暗復号認証処理に必要なパラメータを用いて、暗復号認証処理を暗復号認証処理部340に指示する。 If the encryption / decryption authentication request is stored in the encryption / decryption authentication request accumulation unit 350, the encryption / decryption authentication processing control unit 320 sets up the encryption / decryption authentication processing unit 340 in step S206. Specifically, the encryption / decryption authentication processing control unit 320 uses the plaintext / encrypted data stored in the encryption / decryption authentication request and the parameters necessary for the encryption / decryption authentication processing to perform the encryption / decryption authentication processing. The unit 340 is instructed.
 ステップS207では、暗復号認証処理部340は、暗復号認証処理制御部320の指示に基づき、暗復号認証処理を開始する。ここで、暗復号認証処理は暗復号認証処理制御部320の処理とは非同期に実行され、処理の完了を待ち合わせることはしない。 In step S207, the encryption / decryption authentication processing unit 340 starts the encryption / decryption authentication processing based on an instruction from the encryption / decryption authentication processing control unit 320. Here, the encryption / decryption authentication process is executed asynchronously with the process of the encryption / decryption authentication process control unit 320 and does not wait for the completion of the process.
 上記ステップS205で暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されていなかった場合、あるいは上記ステップS206で暗復号認証処理部340のセットアップを行った場合は、ステップS208に進む。 If the encryption / decryption authentication request is not stored in the encryption / decryption authentication request accumulation unit 350 in step S205 or if the encryption / decryption authentication processing unit 340 is set up in step S206, the process proceeds to step S208.
 ステップS208では、暗復号認証処理制御部320は、上記ステップS204で暗復号認証完了処理を行った暗復号認証リクエストがあれば、上位プログラム310に処理結果を返却する。暗復号認証完了処理を行った暗復号認証リクエストがなければ、本フローを終了する。 In step S208, if there is an encryption / decryption authentication request for which the encryption / decryption authentication completion processing has been performed in step S204, the encryption / decryption authentication processing control unit 320 returns the processing result to the upper program 310. If there is no encryption / decryption authentication request for which encryption / decryption authentication completion processing has been performed, this flow ends.
 以上詳細に説明したように、本実施の形態によれば、暗号処理装置300の認証対象領域長取得部330は、まず暗号化パケット中の末尾1ブロックの復号処理を行って認証対象領域サイズ(認証処理パラメータ)を取得し、暗復号認証処理制御部320は、取得した認証処理パラメータを暗復号認証処理部340にセットアップし、暗復号認証処理部340は、セットアップされた認証処理パラメータを元に暗復号認証処理を行うので、認証対象領域サイズが暗号化されているSSL受信処理において、受信したパケットを復号認証する際、ソフトウェア又はハードウェア機能ブロックの補助なく、かつ復号処理と認証処理を中断することなしに処理することができる。1パス処理を行うことができるため、スループットの向上を図ることができる。 As described above in detail, according to the present embodiment, the authentication target area length acquisition unit 330 of the cryptographic processing device 300 first performs the decryption process on the last one block in the encrypted packet to obtain the authentication target area size ( The encryption / decryption authentication processing control unit 320 sets up the acquired authentication processing parameter in the encryption / decryption authentication processing unit 340, and the encryption / decryption authentication processing unit 340 is based on the set-up authentication processing parameter. Since the encryption / decryption authentication process is performed, the decryption process and the authentication process are interrupted without the assistance of software or hardware function blocks when decrypting and authenticating the received packet in the SSL reception process in which the authentication target area size is encrypted. Can be processed without doing. Since one-pass processing can be performed, throughput can be improved.
 以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。例えば、IPv6ネットワークを介してIPsecプロトコルにより暗号化通信を行う暗号化情報通信システムに適用可能であるが、IPvネットワークであればよく、IPv6ネットワークの機能を含む上位バージョンが策定された場合はこれも包含するものである。 The above description is an illustration of a preferred embodiment of the present invention, and the scope of the present invention is not limited to this. For example, the present invention can be applied to an encrypted information communication system that performs encrypted communication using the IPsec protocol via an IPv6 network, but may be an IPv network, and if an upper version including the IPv6 network function is formulated, this is also used. It is included.
 また、上記実施の形態に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。 Each functional block used in the above embodiment is typically realized as an LSI which is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them. Depending on the degree of integration, it may be called IC, system LSI, super LSI, or ultra LSI.
 また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。 Also, the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
 さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。 Furthermore, if integrated circuit technology that replaces LSI emerges as a result of advances in semiconductor technology or other derived technology, it is naturally also possible to integrate functional blocks using this technology. Biotechnology can be applied.
 また、本実施の形態では暗号処理装置及び暗号処理方法という名称を用いたが、これは説明の便宜上であり、暗号化情報通信装置、通信処理方法等であってもよいことは勿論である。 In addition, although the names of the cryptographic processing device and the cryptographic processing method are used in the present embodiment, this is for convenience of explanation, and it goes without saying that the encrypted information communication device, the communication processing method, and the like may be used.
 さらに、上記暗号処理装置を構成する各部、例えば暗復号認証処理部の種類、その数及び接続方法などはどのようなものでもよい。 Further, any part of the encryption processing apparatus, for example, the type, number and connection method of the encryption / decryption authentication processing part may be used.
 以上説明した暗号処理方法は、この暗号処理方法を機能させるためのプログラムでも実現される。このプログラムはコンピュータで読み取り可能な記録媒体に格納されている。 The cryptographic processing method described above can also be realized by a program for causing this cryptographic processing method to function. This program is stored in a computer-readable recording medium.
 2008年8月29日出願の特願2008-222555の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。 The disclosure of the specification, drawings, and abstract contained in the Japanese application of Japanese Patent Application No. 2008-222555 filed on August 29, 2008 is incorporated herein by reference.
 以上のように、本発明に係る暗号処理装置、暗号処理方法及びプログラムは、ソフトウェア処理、又は、ハードウェア処理によって高速なIPセキュア通信処理を行うことができる効果を有し、セキュア通信機器及び暗号処理方法等に有用である。 As described above, the cryptographic processing apparatus, cryptographic processing method, and program according to the present invention have the effect of enabling high-speed IP secure communication processing by software processing or hardware processing. It is useful for processing methods.
 100,300 暗号処理装置
 110 制御部
 120 認証対象領域サイズ取得部
 130 HW暗復号/認証処理部
 310 上位プログラム
 320 暗復号認証処理制御部
 330 認証対象領域長取得部
 340 暗復号認証処理部
 350 暗復号認証リクエスト蓄積部
DESCRIPTION OF SYMBOLS 100,300 Cryptographic processing apparatus 110 Control part 120 Authentication object area | region size acquisition part 130 HW encryption / decryption / authentication processing part 310 High-order program 320 Encryption / decryption authentication process control part 330 Authentication object area | region length acquisition part 340 Encryption / decryption authentication process part 350 Encryption / decryption Authentication request accumulator

Claims (6)

  1.  暗復号認証処理を行う暗復号認証処理手段と、
     暗復号認証対象としての暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを復号して取得する認証処理パラメータ取得手段と、
     取得した認証処理パラメータを、前記暗復号認証処理手段に設定して暗復号認証処理の開始を指示する暗復号認証処理制御手段と、
     を備える暗号処理装置。
    Encryption / decryption authentication processing means for performing encryption / decryption authentication processing;
    An authentication processing parameter acquisition means for decrypting and acquiring an authentication processing parameter necessary for calculating an authentication target area size used for the authentication processing from the encrypted data as the encryption / decryption authentication target;
    An encryption / decryption authentication processing control means for setting the acquired authentication processing parameter in the encryption / decryption authentication processing means and instructing the start of the encryption / decryption authentication process;
    A cryptographic processing apparatus comprising:
  2.  前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されている最小単位を復号する請求項1記載の暗号処理装置。 The cryptographic processing apparatus according to claim 1, wherein the authentication processing parameter acquisition unit decrypts, from the encrypted data, a minimum unit in which an authentication processing parameter necessary for calculating an authentication target area size used for the authentication processing is stored.
  3.  前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されているブロックを復号して取得したデータと、SHA1(Secure Hash Algorithm 1)又はSHA256のアルゴリズムに応じたMAC(Media Access Control)長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する請求項1記載の暗号処理装置。 The authentication processing parameter acquisition means decrypts a block storing an authentication processing parameter necessary for calculating an authentication target area size used for the authentication processing from the encrypted data, and SHA1 (Secure Hash The information used for the authentication process is calculated from at least one of MAC (Media Access Control) length according to Algorithm 1) or SHA256 algorithm, start position of the decryption target area, and start position of the authentication target area. 1. The cryptographic processing apparatus according to 1.
  4.  前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されているブロックを復号し、復号したブロックのうち、暗号化方式がCBC(Cipher Block Chaining)モードであった場合は、前記復号したブロックのラスト1バイトのみを直前のブロックとXOR演算し、取得したデータと、SHA1又はSHA256のアルゴリズムに応じたMAC長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する請求項1記載の暗号処理装置。 The authentication processing parameter acquisition means decrypts a block in which authentication processing parameters necessary for calculation of an authentication target area size used for the authentication processing are stored from the encrypted data, and an encryption method among the decrypted blocks Is CBC (Cipher Block Chaining) mode, XOR operation is performed on the last 1 byte of the decoded block with the immediately preceding block, and the obtained data, the MAC length according to the SHA1 or SHA256 algorithm, and the decoding The cryptographic processing apparatus according to claim 1, wherein information used for authentication processing is calculated from at least one of a start position of the target area and a start position of the authentication target area.
  5.  暗復号認証対象としての暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得するステップと、
     取得した認証処理パラメータを設定して暗復号認証処理の開始を指示するステップと、
     暗復号認証処理の開始指示に従って暗復号処理又は認証処理を行うステップと
     を順次実行する暗号処理方法。
    A step of obtaining in advance authentication processing parameters necessary for calculating an authentication target area size used for authentication processing from encrypted data as encryption / decryption authentication targets;
    Setting the acquired authentication processing parameters and instructing the start of encryption / decryption authentication processing;
    An encryption processing method for sequentially executing encryption / decryption processing or authentication processing in accordance with an instruction to start encryption / decryption authentication processing.
  6.  請求項5記載の暗号処理方法の各ステップをコンピュータに実行させるためのプログラム。
     
    A program for causing a computer to execute each step of the cryptographic processing method according to claim 5.
PCT/JP2009/004237 2008-08-29 2009-08-28 Cryptographic processor, cryptographic processing method and program WO2010023950A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008222555A JP2010057123A (en) 2008-08-29 2008-08-29 Encryption processing device, encryption processing method and program
JP2008-222555 2008-08-29

Publications (1)

Publication Number Publication Date
WO2010023950A1 true WO2010023950A1 (en) 2010-03-04

Family

ID=41721131

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/004237 WO2010023950A1 (en) 2008-08-29 2009-08-28 Cryptographic processor, cryptographic processing method and program

Country Status (2)

Country Link
JP (1) JP2010057123A (en)
WO (1) WO2010023950A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5930619B2 (en) * 2011-06-27 2016-06-08 キヤノン株式会社 Cryptographic processing device
JP6246516B2 (en) * 2013-07-24 2017-12-13 株式会社メガチップス Information processing system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295891A (en) * 2003-03-27 2004-10-21 Avaya Technology Corp Method for authenticating packet payload
JP2005167942A (en) * 2003-12-05 2005-06-23 Denso Corp Communication system and packet structure
JP2007140956A (en) * 2005-11-18 2007-06-07 Hitachi Ltd Information processing system, management server, terminal and information processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295891A (en) * 2003-03-27 2004-10-21 Avaya Technology Corp Method for authenticating packet payload
JP2005167942A (en) * 2003-12-05 2005-06-23 Denso Corp Communication system and packet structure
JP2007140956A (en) * 2005-11-18 2007-06-07 Hitachi Ltd Information processing system, management server, terminal and information processor

Also Published As

Publication number Publication date
JP2010057123A (en) 2010-03-11

Similar Documents

Publication Publication Date Title
US8458461B2 (en) Methods and apparatus for performing authentication and decryption
US7774593B2 (en) Encrypted packet, processing device, method, program, and program recording medium
TWI499342B (en) Tunnel acceleration for wireless access points
US7400722B2 (en) Methods and apparatus for performing hash operations in a cryptography accelerator
US6970446B2 (en) Method and apparatus to provide inline encryption and decryption for a wireless station via data streaming over a fast network
US7007163B2 (en) Methods and apparatus for accelerating secure session processing
US7548532B2 (en) Method and apparatus to provide inline encryption and decryption for a wireless station via data streaming over a fast network
US20030223585A1 (en) Methods and apparatus for performing encryption and authentication
JP5205075B2 (en) Encryption processing method, encryption processing device, decryption processing method, and decryption processing device
US9003202B2 (en) Memory control device, semiconductor memory device, memory system, and memory control method
US8281122B2 (en) Generation and/or reception, at least in part, of packet including encrypted payload
JP2003204326A (en) Communication system, lan controller equipped with encryption function and communication control program
WO2010023950A1 (en) Cryptographic processor, cryptographic processing method and program
EP2558946B1 (en) Method and system for cryptographic processing core
JP5294761B2 (en) Secure communication device, secure communication method, and program
US11677727B2 (en) Low-latency MACsec authentication
JP2009098321A (en) Information processor
JP5149863B2 (en) Communication device and communication processing method
CN118138275A (en) Remote direct memory access method, device, equipment and storage medium
JP2017060083A (en) Communication device and encryption communication method
CN117997514A (en) Flexible cryptographic architecture in a network device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09809605

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09809605

Country of ref document: EP

Kind code of ref document: A1