JP7289709B2 - Information processing device, information processing method and program - Google Patents

Information processing device, information processing method and program Download PDF

Info

Publication number
JP7289709B2
JP7289709B2 JP2019077125A JP2019077125A JP7289709B2 JP 7289709 B2 JP7289709 B2 JP 7289709B2 JP 2019077125 A JP2019077125 A JP 2019077125A JP 2019077125 A JP2019077125 A JP 2019077125A JP 7289709 B2 JP7289709 B2 JP 7289709B2
Authority
JP
Japan
Prior art keywords
header
data output
memory area
packet
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019077125A
Other languages
Japanese (ja)
Other versions
JP2020178169A (en
Inventor
昭好 桃井
学 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019077125A priority Critical patent/JP7289709B2/en
Publication of JP2020178169A publication Critical patent/JP2020178169A/en
Application granted granted Critical
Publication of JP7289709B2 publication Critical patent/JP7289709B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、暗号化されたパケットを復号する情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program for decrypting encrypted packets.

インターネット上のデータを暗号化し、セキュアに伝送するためのプロトコルが広く使用されている。代表的なものに、非特許文献1で開示されているSSL(Secure Socket Layer)や、その後継の非特許文献2で開示されているTLS(Transport Layer Security)がある。 Protocols are widely used to encrypt and securely transmit data on the Internet. Typical examples include SSL (Secure Socket Layer) disclosed in Non-Patent Document 1 and TLS (Transport Layer Security) disclosed in its successor, Non-Patent Document 2.

インターネット通信におけるセキュア通信の占める割合は増加している一方で、プロトコルの脆弱性をついた攻撃手法も増加している。例えば、非特許文献3で開示されているPOODLE(Padding Oracle On Downgraded Legacy Encryption)と呼ばれる攻撃手法がある。この攻撃手法では、攻撃者が、脆弱性のあるSSL3.0にバージョンを落とし、通信させることが可能である。 While the proportion of secure communications in Internet communications is increasing, the number of attack methods that exploit protocol vulnerabilities is also increasing. For example, there is an attack method called POODLE (Padding Oracle On Downgraded Legacy Encryption) disclosed in Non-Patent Document 3. In this attack technique, an attacker can drop the version to vulnerable SSL 3.0 and cause communication.

こうしたプロトコルの脆弱性をついた攻撃手法の増加に対応するために、非特許文献4で開示されているTLS1.3においては、通信のセキュリティ性を向上させるための規格変更が加えられた。TLS1.3のレコードレイヤープロトコルにおいては、2つの大きな変更点がある。 In order to deal with the increasing number of attack methods exploiting the vulnerability of such protocols, TLS 1.3 disclosed in Non-Patent Document 4 has been modified to improve communication security. There are two major changes in the TLS 1.3 record layer protocol.

1つ目の変更点は、パケットの種別を示すTypeフィールドが、暗号化されることである。レコードレイヤーパケットのHeaderには、パケットの種別にかかわらず、常に固定値“23”がOpaqueTypeとして設定される。実際のパケットの種別を示すTypeフィールドは、暗号化されたCiphertextFragmentに含まれる。これにより、実際のパケットの種別は、暗号化されたCiphertextFragmentを復号しなければ知ることができない。 The first change is that the Type field, which indicates the type of packet, is encrypted. A fixed value “23” is always set as OpaqueType in the Header of the record layer packet regardless of the packet type. A Type field indicating the actual packet type is included in the encrypted CiphertextFragment. As a result, the actual packet type cannot be known unless the encrypted CiphertextFragment is decrypted.

2つ目の変更点は、Paddingの変更である。実際のContentのサイズを秘匿するために、最大のPaddingサイズが(214-1)バイトに拡張され、かつPaddingサイズはランダム値をとることが可能である。さらに、パケット内からPaddingサイズを示すフィールドが削除され、レコードレイヤーパケットのHeaderには、Paddingを含むCiphertextFragmentのサイズが設定される。このため、暗号化されたCiphertextFragmentをすべて復号しなければ、実際のContentのサイズを知ることができない。 The second change is the change of padding. To hide the actual Content size, the maximum Padding size is extended to (2 14 −1) bytes, and the Padding size can take random values. Furthermore, the field indicating the padding size is deleted from the packet, and the size of the CiphertextFragment including the padding is set in the Header of the record layer packet. Therefore, the actual Content size cannot be known unless all encrypted CiphertextFragments are decrypted.

A. Freier, P. Karlton, P. Kocher: "The Secure Sockets Layer (SSL) Protocol Version 3.0", RFC 6101, 1996.A. Freier, P. Karlton, P. Kocher: "The Secure Sockets Layer (SSL) Protocol Version 3.0", RFC 6101, 1996. T. Dierks, E. Rescorla: "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, 2008.T. Dierks, E. Rescorla: "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, 2008. Bodo Moller, Thai Duong, Krzysztof Kotowicz: "This POODLE Bites: Exploiting The SSL 3.0 Fallback", Google Security AdvisoryBodo Moller, Thai Duong, Krzysztof Kotowicz: "This POODLE Bites: Exploiting The SSL 3.0 Fallback", Google Security Advisory E. Reacorla: "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, 2018.E. Reacorla: "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, 2018.

TLS1.3においては、レコードレイヤーパケットのHeaderのOpaqueTypeは、実際のパケットの種別を示しておらず、CiphertextFragmentを復号した後に得られるTypeで上書きする必要がある。また、HeaderのCiphertextFragmentのサイズは、Paddingを含んだサイズであるため、CiphertextFragmentを復号してPaddingを除去した後に得られるContentサイズで上書きする必要がある。これらの上書きの処理をCPUにより実行した場合にはメモリコピーに時間がかかる。 In TLS 1.3, the OpaqueType in the Header of the record layer packet does not indicate the actual packet type, and must be overwritten with the Type obtained after decoding the CiphertextFragment. In addition, since the size of the CiphertextFragment of the Header is the size including padding, it is necessary to overwrite with the Content size obtained after decoding the CiphertextFragment and removing the padding. When these overwriting processes are executed by the CPU, memory copying takes time.

本発明は、このような事情に鑑みてなされたものであり、暗号化されたパケットを復号して得られる情報でパケットのHeaderを上書きする場合に、Headerの上書きに要する処理時間を削減することを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of such circumstances. With the goal.

本発明に係る情報処理装置は、暗号化されたパケットを読み込む入力手段と、前記入力手段により読み込まれた前記暗号化されたパケットを復号する復号手段と、前記入力手段により読み込まれた前記暗号化されたパケットが有する第1のヘッダ及び前記復号手段より出力されたデータを、指定されるメモリ領域に出力する出力手段と、前記復号手段よ出力されたデータを用いて該パケットに係る第2のヘッダを生成する制御手段とを有し、前記出力手段は、前記第1のヘッダ及び前記復号手段より出力されたデータを前記メモリ領域に出力した後に、生成された前記第2のヘッダで前記メモリ領域の前記第1のヘッダを上書きすることを特徴とする。 An information processing apparatus according to the present invention includes input means for reading an encrypted packet, decryption means for decrypting the encrypted packet read by the input means, and the encrypted packet read by the input means. output means for outputting the first header of the received packet and the data output from the decoding means to a specified memory area; and a control means for generating a second header, wherein the output means generates the generated second header after outputting the data output from the first header and the decoding means to the memory area. to overwrite the first header in the memory area.

本発明によれば、暗号化されたパケットを復号して得られる情報でパケットのHeaderを上書きする処理時間を削減することができる。 According to the present invention, it is possible to reduce processing time for overwriting a header of a packet with information obtained by decrypting an encrypted packet.

本発明の実施形態における通信処理用の集積回路のシステム構成例を示す図である。1 is a diagram showing a system configuration example of an integrated circuit for communication processing in an embodiment of the present invention; FIG. 本実施形態における暗号復号処理部の構成例を示す図である。It is a figure which shows the structural example of the encryption/decryption process part in this embodiment. TLS1.3におけるレコードレイヤーパケットの構造を示す図である。It is a figure which shows the structure of the record layer packet in TLS1.3. 本実施形態における再生成されたヘッダの構造を示す図である。FIG. 4 is a diagram showing the structure of a regenerated header in this embodiment; 本実施形態における暗号復号処理部の動作例を説明するフローチャートである。4 is a flowchart for explaining an operation example of an encryption/decryption processing unit according to the embodiment; 本実施形態におけるデータ出力部の動作例を示すフローチャートである。4 is a flow chart showing an operation example of a data output unit according to the embodiment; 本実施形態における暗号復号処理を説明する図である。It is a figure explaining the encryption/decryption process in this embodiment.

以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。 BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described below with reference to the drawings. It should be noted that the embodiments described below are merely examples, and are not intended to limit the scope of the present invention.

図1は、本発明の一実施形態における通信処理用の集積回路のシステム構成例を示すブロック図である。通信処理用の集積回路100は、CPU101、暗号復号処理部102、DRAMコントローラ103、通信処理部104、SRAM105、DRAM107、及びネットワークインタフェース部108を有する。 FIG. 1 is a block diagram showing a system configuration example of an integrated circuit for communication processing in one embodiment of the present invention. A communication processing integrated circuit 100 includes a CPU 101 , an encryption/decryption processing unit 102 , a DRAM controller 103 , a communication processing unit 104 , an SRAM 105 , a DRAM 107 , and a network interface unit 108 .

CPU101、暗号復号処理部102、DRAMコントローラ103、通信処理部104、及びSRAM105は、システムバス106に接続され、システムバス106を介して相互にデータ転送を行う。DRAMコントローラ103は、DRAM107に対するデータの書き込みやデータの読み出しを行う。通信処理部104は、ネットワークインタフェース部108を介してインターネット等の通信ネットワークに接続され、外部機器との間でパケットの送受信等を行う。この構成は、System―On―A―Chip(SoC)とよばれる集積回路で代表的な構成である。 The CPU 101 , the encryption/decryption processing unit 102 , the DRAM controller 103 , the communication processing unit 104 and the SRAM 105 are connected to the system bus 106 and exchange data with each other via the system bus 106 . The DRAM controller 103 writes data to and reads data from the DRAM 107 . The communication processing unit 104 is connected to a communication network such as the Internet via a network interface unit 108, and transmits and receives packets to and from external devices. This configuration is a typical configuration in an integrated circuit called System-On-A-Chip (SoC).

図2は、本実施形態における暗号復号処理部102の構成例を示すブロック図である。暗号復号処理部102は、データ入力部201、暗号処理部202、パディング処理部203、データ出力部204、及び全体制御部205を有する。暗号復号処理部102は、パケットに対する暗号化処理及び復号処理を行うことが可能な情報処理部であるが、以下では主に復号処理について説明する。 FIG. 2 is a block diagram showing a configuration example of the encryption/decryption processing unit 102 in this embodiment. The encryption/decryption processing unit 102 has a data input unit 201 , an encryption processing unit 202 , a padding processing unit 203 , a data output unit 204 and an overall control unit 205 . The encryption/decryption processing unit 102 is an information processing unit capable of performing encryption processing and decryption processing on packets, and the decryption processing will be mainly described below.

暗号復号処理部102におけるレコードレイヤーパケットの典型的な復号処理の流れを説明する。以下の説明では、TLS(Transport Layer Security)1.3の規格に準拠したレコードレイヤーパケットを一例に説明するが、これに限定されるものではない。例えば、暗号化されたパケットを復号することでヘッダに格納すべき実際の情報が取得されるパケットを通信するシステムに対して本実施形態は適用可能である。 A typical decryption processing flow of a record layer packet in the encryption/decryption processing unit 102 will be described. In the following description, a record layer packet conforming to the TLS (Transport Layer Security) 1.3 standard will be described as an example, but the present invention is not limited to this. For example, this embodiment can be applied to a system that communicates a packet from which actual information to be stored in the header is obtained by decrypting the encrypted packet.

全体制御部205は、CPU101から、暗号処理か復号処理かを示すモードや、暗号処理やMAC処理で使用するアルゴリズムや、TLSのVersion情報や、入力データや出力データの転送アドレス等の設定値が設定される。TLS1.3の場合、Version情報は固定値“1.3”となる。全体制御部205は、CPU101から設定された各種設定値を、データ入力部201、暗号処理部202、パディング処理部203、及びデータ出力部204に転送する。その後、全体制御部205は、CPU101から処理の開始要求を受けて、各モジュールに対して処理の開始を指示する。 The overall control unit 205 receives from the CPU 101 settings such as a mode indicating encryption processing or decryption processing, algorithms used in encryption processing and MAC processing, TLS version information, and transfer addresses for input data and output data. set. In the case of TLS1.3, the version information is a fixed value "1.3". The general control unit 205 transfers various setting values set by the CPU 101 to the data input unit 201 , encryption processing unit 202 , padding processing unit 203 and data output unit 204 . After that, the overall control unit 205 receives a processing start request from the CPU 101 and instructs each module to start processing.

処理の開始指示を受けて、データ入力部201は、全体制御部205から指示された入力データの転送元アドレスが示すSRAM105又はDRAM107等のメモリ領域から、システムバス106を経由して暗号化されたレコードレイヤーパケットを読み込む。ここでは、データ入力部201は、暗号化されたTLS1.3のレコードレイヤーパケットを分割して読み込む。 In response to the instruction to start processing, the data input unit 201 transfers encrypted Read a record layer packet. Here, the data input unit 201 divides and reads the encrypted TLS1.3 record layer packet.

図3は、TLS1.3のレコードレイヤーパケットのフォーマットを示す図である。レコードレイヤーパケットは、5バイトのHeader(310)、及び“CiphertextLength”バイトのCiphertextFragment(320)を有する。 FIG. 3 is a diagram showing the format of a TLS1.3 record layer packet. A record layer packet has a Header (310) of 5 bytes and a CiphertextFragment (320) of "CiphertextLength" bytes.

Header(310)は、1バイトのOpaqueType(311)、2バイトのLegacy Record Version(312)、及び2バイトのCiphertextLength(313)を有する。OpaqueType(311)は、実際のパケットの種別(Type)によらず、常に固定値“23”である。また、Legacy Record Version(312)は、実際のTLSバージョンによらず、常に固定値“3.1”である。CiphertextLength(313)は、CiphertextFragment(320)のサイズを示す。 Header (310) has 1-byte OpaqueType (311), 2-byte Legacy Record Version (312), and 2-byte CiphertextLength (313). OpaqueType (311) is always a fixed value "23" regardless of the actual packet type (Type). Also, Legacy Record Version (312) is always a fixed value "3.1" regardless of the actual TLS version. CiphertextLength (313) indicates the size of CiphertextFragment (320).

CiphertextFragment(320)は、暗号化された領域である。CiphertextFragment(320)は、“MSGLEN”バイトのContent(321)、及び1バイトのType(322)を有する。さらに、CiphertextFragment(320)は、“Cpadlength”バイトのPadding(323)、及び“MACLEN”バイトのMAC(324)を有する。 CiphertextFragment (320) is the encrypted area. CiphertextFragment (320) has Content (321) of "MSGLEN" bytes and Type (322) of 1 byte. In addition, CiphertextFragment (320) has Padding (323) of "Cpadlength" bytes and MAC (324) of "MACLEN" bytes.

Content(321)は、暗号化通信で転送される実データである。Type(322)は、転送されるレコードレイヤーパケットの種別を示し、パケットの種別に応じた非“0”の値をとる。Padding(323)は、固定値“0”で、(214-1)バイト以下の任意のランダムなサイズである。MAC(324)は、CiphertextFragment(320)のMAC(Message Authentication Code)値である。詳細には、MAC(324)は、Content(321)とType(322)とPadding(323)とに格納された暗号化前のデータを基に得られるMAC値である。 Content (321) is actual data transferred by encrypted communication. Type (322) indicates the type of record layer packet to be transferred, and takes a non-“0” value according to the packet type. Padding (323) is a fixed value “0” and an arbitrary random size of (2 14 −1) bytes or less. MAC (324) is the MAC (Message Authentication Code) value of CiphertextFragment (320). Specifically, MAC (324) is a MAC value obtained based on the data before encryption stored in Content (321), Type (322), and Padding (323).

データ入力部201は、任意の処理単位で、レコードレイヤーパケットを分割して受信する。データ入力部201は、まずレコードレイヤーパケットのHeaderを受信して、全体制御部205に送信する。その後、データ入力部201は、レコードレイヤーパケットのCiphertextFragmentを処理単位で分割して受信し、暗号処理部202に送信する。 The data input unit 201 divides and receives the record layer packet in arbitrary processing units. The data input unit 201 first receives the header of the record layer packet and transmits it to the overall control unit 205 . After that, the data input unit 201 divides the CiphertextFragment of the record layer packet into units of processing, receives them, and transmits them to the encryption processing unit 202 .

全体制御部205は、データ入力部201から受信したHeaderをデータ出力部204に送信する。データ出力部204は、全体制御部205から受信したHeaderを、システムバス106を経由して、全体制御部205から指示された出力データの転送先アドレスが示すSRAM105又はDRAM107等のメモリ領域に出力する。 General control section 205 transmits the header received from data input section 201 to data output section 204 . The data output unit 204 outputs the header received from the overall control unit 205 to a memory area such as the SRAM 105 or the DRAM 107 indicated by the transfer destination address of the output data instructed by the overall control unit 205 via the system bus 106 . .

暗号処理部202は、データ入力部201から入力されたCiphertextFragmentの暗号処理や復号処理を行う。また、暗号処理部202は、MAC処理に係る演算等を行う。暗号処理、復号処理、及びMAC処理で使用するアルゴリズムは、全体制御部205により指定されたアルゴリズムを使用する。暗号処理部202は、復号されたCiphertextFragmentのうち、MACを除く復号データを、パディング処理部203に出力する。また、暗号処理部202は、復号されたMACと、MAC処理で生成されたMACとを比較することで改竄検知を行う。暗号処理部202は、MACエラーが発生したか否かを全体制御部205に通知する。 The encryption processing unit 202 performs encryption processing and decryption processing of the CiphertextFragment input from the data input unit 201 . Further, the cryptographic processing unit 202 performs calculations and the like related to MAC processing. Algorithms used in encryption processing, decryption processing, and MAC processing are those specified by the overall control unit 205 . The encryption processing unit 202 outputs the decrypted data of the decrypted CiphertextFragment excluding the MAC to the padding processing unit 203 . Further, the encryption processing unit 202 performs tampering detection by comparing the decrypted MAC with the MAC generated by the MAC processing. The encryption processing unit 202 notifies the general control unit 205 whether or not a MAC error has occurred.

パディング処理部203は、暗号処理部202から入力される復号された分割データに対し、そのデータがContentであるか、Typeであるか、Paddingであるかの判断を行うとともに、“MSGLEN”を取得するためのカウントを行う。パディング処理部203においてContentと判断されたデータは、データ出力部204から、システムバス106を経由してSRAM105又はDRAM107等に出力される。また、パディング処理部203においてPaddingと判断されたデータは、不要なデータであるのでパディング処理部203で破棄される。また、パディング処理部203においてTypeと判断されたデータ及び“MSGLEN”は、全体制御部205に出力される。 The padding processing unit 203 determines whether the decrypted divided data input from the encryption processing unit 202 is Content, Type, or Padding, and acquires “MSGLEN”. count for Data determined as Content by the padding processing unit 203 is output from the data output unit 204 to the SRAM 105, DRAM 107, or the like via the system bus 106. FIG. Data determined as padding by the padding processing unit 203 is discarded by the padding processing unit 203 because it is unnecessary data. Data determined to be Type in the padding processing unit 203 and “MSGLEN” are output to the overall control unit 205 .

全体制御部205は、Typeと判断されたデータ、“MSGLEN”の値、及びCPU101から設定されたTLSのVersion情報を基に、パケットのヘッダを再生成する。図4は、全体制御部205により再生成されるHeaderの例を示す図である。再生成されたHeader(410)は、パケットの実際の種別を示す1バイトのType(411)、CPU101から設定された2バイトの固定値“1.3”であるVersion(412)、及び2バイトのMSGLEN(413)を有する。 The overall control unit 205 regenerates the packet header based on the data determined as Type, the value of “MSGLEN”, and the TLS version information set by the CPU 101 . FIG. 4 is a diagram showing an example of a header regenerated by the overall control unit 205. As shown in FIG. The regenerated Header (410) consists of a 1-byte Type (411) indicating the actual type of the packet, a 2-byte fixed value "1.3" set by the CPU 101 Version (412), and a 2-byte of MSGLEN (413).

暗号処理部202におけるMAC処理の結果がMACエラーでなければ、再生成されたHeaderで元のHeaderを上書きするために、全体制御部205は、データ出力部204にデータ出力先のアドレスを元の出力データの転送先アドレスに再設定する。その後、全体制御部205は、再生成したHeaderをデータ出力部204に送信する。データ出力部204は、再設定された出力データの転送先アドレスに基づいて、再生成されたHeaderを先に出力したHeaderと同じ領域に出力し、Headerを再生成されたHeaderで上書きする。全体制御部205は、再生成されたHeaderをデータ出力部204がSRAM105又はDRAM107等に転送完了した後に、CPU101に処理完了を割り込みで通知する。 If the result of the MAC processing in the encryption processing unit 202 is not a MAC error, the general control unit 205 sends the data output unit 204 the address of the data output destination in order to overwrite the original header with the regenerated header. Reset to the transfer destination address of the output data. After that, the overall control unit 205 transmits the regenerated header to the data output unit 204 . The data output unit 204 outputs the regenerated header to the same area as the previously output header based on the reset destination address of the output data, and overwrites the regenerated header with the regenerated header. After the data output unit 204 has completed transferring the regenerated header to the SRAM 105, DRAM 107, or the like, the overall control unit 205 notifies the CPU 101 of the completion of processing by an interrupt.

図5は、本実施形態における暗号復号処理部102の動作を説明するフローチャートである。図5には、暗号復号処理部102の全体制御部205の動作例を示している。なお、図5に示す処理は、1パケットに係る処理である。 FIG. 5 is a flow chart for explaining the operation of the encryption/decryption processing unit 102 in this embodiment. FIG. 5 shows an operation example of the general control unit 205 of the encryption/decryption processing unit 102 . Note that the processing shown in FIG. 5 is processing for one packet.

ステップS501では、全体制御部205は、CPU101から、処理に必要な設定値を受信する。処理に必要な設定値には、前述したように暗号処理か復号処理かを示すモードや、暗号処理やMAC処理で使用するアルゴリズムや、TLSのVersion情報や、入力データや出力データの転送アドレス等が含まれる。 In step S<b>501 , the overall control unit 205 receives setting values necessary for processing from the CPU 101 . The setting values required for processing include the mode indicating encryption processing or decryption processing as described above, algorithms used in encryption processing and MAC processing, TLS version information, transfer addresses for input data and output data, etc. is included.

ステップS501において設定値の受信が完了した後、ステップS502では、全体制御部205は、CPU101から設定された各種設定値を、データ入力部201、暗号処理部202、パディング処理部203、及びデータ出力部204に転送する。 After receiving the setting values in step S501, in step S502, the general control unit 205 receives various setting values set by the CPU 101 through the data input unit 201, the encryption processing unit 202, the padding processing unit 203, and the data output unit 201. transfer to unit 204;

次に、ステップS503では、全体制御部205は、CPU101から、処理の開始要求を受信する。続いて、ステップS504では、全体制御部205は、データ入力部201、暗号処理部202、パディング処理部203、及びデータ出力部204に、処理の開始を指示する。 Next, in step S<b>503 , the overall control unit 205 receives a request to start processing from the CPU 101 . Subsequently, in step S504, the overall control unit 205 instructs the data input unit 201, encryption processing unit 202, padding processing unit 203, and data output unit 204 to start processing.

次に、ステップS505では、全体制御部205は、データ入力部201が受信したレコードレイヤーパケットのHeaderを、データ入力部201から受信する。続いて、ステップS506では、全体制御部205は、データ入力部201から受信したHeaderをSRAM105又はDRAM107に転送するために、データ出力部204に送信する。 Next, in step S<b>505 , the overall control unit 205 receives from the data input unit 201 the Header of the record layer packet received by the data input unit 201 . Subsequently, in step S<b>506 , the overall control unit 205 transmits the Header received from the data input unit 201 to the data output unit 204 in order to transfer it to the SRAM 105 or DRAM 107 .

次に、ステップS507では、全体制御部205は、暗号化されたパケットを復号処理して得られた、Typeと判断されたデータと“MSGLEN”の値をパディング処理部203から受信する。続いて、ステップS508では、全体制御部205は、ステップS507において受信したTypeと判断されたデータ、“MSGLEN”の値、及びCPU101から設定されたVersion情報を基に、パケットのHeaderを再生成する。 Next, in step S507, the overall control unit 205 receives from the padding processing unit 203 the data determined to be Type and the value of "MSGLEN" obtained by decrypting the encrypted packet. Subsequently, in step S508, the overall control unit 205 regenerates the header of the packet based on the data determined to be Type received in step S507, the value of "MSGLEN", and the version information set by the CPU 101. .

次に、ステップS509では、全体制御部205は、CPU101からの設定に応じてHeader上書きモードであるか否かの判定を行う。ここで、Header上書きモードは、先に出力したHeaderを、再生成されたHeaderで上書きする処理を行うモードである。全体制御部205が、Header上書きモードであると判定した場合には(Yes)、処理はステップS510へ進み、Header上書きモードでないと判定した場合には(No)、処理はステップS514へ進む。 Next, in step S<b>509 , the overall control unit 205 determines whether or not the Header overwrite mode is set according to the setting from the CPU 101 . Here, the Header overwrite mode is a mode in which the previously output Header is overwritten with the regenerated Header. If the overall control unit 205 determines that the mode is the Header overwrite mode (Yes), the process proceeds to step S510, and if it determines that the mode is not the Header overwrite mode (No), the process proceeds to step S514.

Header上書きモードであると全体制御部205が判定した場合に進むステップS510では、全体制御部205は、暗号処理部202でのMAC処理の結果がMACエラーであるか否かの判定を行う。全体制御部205が、MACエラーがないと判定した場合には(No)、処理はステップS511に進み、MACエラーと判断した場合には(Yes)、処理はステップS511をスキップしてステップS512へ進む。 In step S510 to which the overall control unit 205 proceeds when it determines that it is the Header overwrite mode, the overall control unit 205 determines whether the result of MAC processing in the encryption processing unit 202 is a MAC error. If the overall control unit 205 determines that there is no MAC error (No), the process proceeds to step S511, and if it determines that there is a MAC error (Yes), the process skips step S511 and proceeds to step S512. move on.

ステップS511では、全体制御部205は、先に出力された元のHeaderを再生成したHeaderで上書きするために、データ出力部204の転送先のアドレスを、出力データの転送先アドレス(開始アドレス)で再設定する。ステップS511の処理後、処理はステップS512へ進む。 In step S511, the overall control unit 205 changes the transfer destination address of the data output unit 204 to the transfer destination address (start address) of the output data in order to overwrite the previously output original header with the regenerated header. to reset. After the process of step S511, the process proceeds to step S512.

ステップS512では、全体制御部205は、再生成したHeaderをデータ出力部204に出力する。続いて、ステップS513では、全体制御部205は、データ出力部204が再生成されたHeaderの転送を完了するまで待つ。ステップS513において、再生成されたHeaderの転送が完了したと全体制御部205が判定した後、ステップS515では、全体制御部205は、CPU101に処理完了を割り込みで通知して処理を完了する。 In step S<b>512 , the overall control unit 205 outputs the regenerated Header to the data output unit 204 . Subsequently, in step S513, the overall control unit 205 waits until the data output unit 204 completes transfer of the regenerated Header. After the overall control unit 205 determines in step S513 that the transfer of the regenerated Header is complete, in step S515 the overall control unit 205 notifies the CPU 101 of the completion of processing by an interrupt and completes the processing.

ステップS509においてHeader上書きモードでないと全体制御部205が判定した場合に進むステップS514では、全体制御部205は、再生成したHeaderを内部のレジスタに保持する。続いて、ステップS515では、全体制御部205は、CPU101に処理完了を割り込みで通知して処理を完了する。 In step S514, to which the overall control unit 205 proceeds when it determines in step S509 that the Header overwrite mode is not set, the overall control unit 205 holds the regenerated Header in an internal register. Subsequently, in step S515, the overall control unit 205 notifies the CPU 101 of the completion of the processing by an interrupt, and completes the processing.

図6は、本実施形態におけるデータ出力部204の動作例を示すフローチャートである。なお、図6に示す処理は、1パケットに係るデータ出力部204での処理である。パケットに係る処理を開始する際、ステップS601では、データ出力部204は、転送先のメモリ領域を示すアドレス(Address)を、全体制御部205から指定された転送先アドレス(Start Address)で初期化する。ここで、指定された転送先アドレス(Start Address)で示されるメモリ領域は、SRAM105又はDRAM107の領域である。 FIG. 6 is a flow chart showing an operation example of the data output unit 204 in this embodiment. Note that the processing shown in FIG. 6 is processing in the data output unit 204 for one packet. When starting processing related to a packet, in step S601, the data output unit 204 initializes the address (Address) indicating the memory area of the transfer destination with the transfer destination address (Start Address) specified by the overall control unit 205. do. Here, the memory area indicated by the designated transfer destination address (Start Address) is the SRAM 105 or DRAM 107 area.

次に、ステップS602では、データ出力部204は、全体制御部205から受信したHeaderを転送先アドレス(Start Address)が示すメモリ領域に転送する。このステップS602において転送されるHeaderは、データ入力部201が受信した復号処理される前のレコードレイヤーパケットのHeaderである。続いて、ステップS603では、データ出力部204は、転送先のアドレス(Address)をHeaderのサイズである5バイト分だけ加算する。 Next, in step S602, the data output unit 204 transfers the Header received from the overall control unit 205 to the memory area indicated by the transfer destination address (Start Address). The Header transferred in step S602 is the Header of the record layer packet received by the data input unit 201 before being decoded. Subsequently, in step S603, the data output unit 204 adds 5 bytes, which is the size of the Header, to the transfer destination address (Address).

次に、ステップS604では、データ出力部204は、全データペイロードの処理が完了したか否かを判定する。全データペイロードの処理が完了したか否かは、全体制御部205より通知される。データ出力部204は、この全体制御部205からの通知に基づいて、全データペイロードの処理が完了したか否かを判定する。データ出力部204が、全データペイロードの処理が完了していないと判定した場合には(No)、処理はステップS605へ進み、全データペイロードの処理が完了したと判定した場合には(Yes)、処理はステップS608へ進む。 Next, in step S604, the data output unit 204 determines whether processing of all data payloads has been completed. The overall control unit 205 notifies whether or not the processing of all data payloads has been completed. Based on this notification from the overall control unit 205, the data output unit 204 determines whether or not the processing of all data payloads has been completed. If the data output unit 204 determines that the processing of all data payloads has not been completed (No), the process proceeds to step S605, and if it determines that the processing of all data payloads has been completed (Yes). , the process proceeds to step S608.

全データペイロードの処理が完了していないとデータ出力部204が判定した場合に進むステップS605では、データ出力部204は、パディング処理部203より単位データペイロードを受信する。続いて、ステップS606では、データ出力部204は、受信した単位データペイロードを転送先のアドレス(Address)が示すメモリ領域に転送する。 In step S<b>605 to which the data output unit 204 proceeds when it determines that the processing of all data payloads has not been completed, the data output unit 204 receives unit data payloads from the padding processing unit 203 . Subsequently, in step S606, the data output unit 204 transfers the received unit data payload to the memory area indicated by the transfer destination address (Address).

続いて、ステップS607では、データ出力部204は、転送先のアドレス(Address)に単位データペイロードのサイズのバイト数を加算する。その後、ステップS604に戻り、データ出力部204は、後続のデータペイロードがあるか否かの判定を再び行う。 Subsequently, in step S607, the data output unit 204 adds the number of bytes of the unit data payload size to the transfer destination address (Address). Thereafter, returning to step S604, the data output unit 204 again determines whether or not there is a subsequent data payload.

ステップS604において全データペイロードの処理が完了したとデータ出力部204が判定した場合に進むステップS608では、データ出力部204は、MACエラーが発生したか否かの判定を行う。MACエラーが発生したか否かは、暗号処理部202におけるMAC処理の結果を受けて、全体制御部205より通知される。データ出力部204は、この全体制御部205からの通知に基づいて、MACエラーが発生したか否かを判定する。データ出力部204が、MACエラーが発生していないと判定した場合には(No)、処理はステップS609へ進み、MACエラーが発生したと判定した場合には(Yes)、処理はステップS609をスキップしてステップS610へ進む。 In step S608, to which the data output unit 204 proceeds when it determines in step S604 that processing of all data payloads has been completed, the data output unit 204 determines whether or not a MAC error has occurred. Whether or not a MAC error has occurred is notified by the overall control unit 205 upon receiving the result of MAC processing in the encryption processing unit 202 . The data output unit 204 determines whether or not a MAC error has occurred based on this notification from the overall control unit 205 . If the data output unit 204 determines that no MAC error has occurred (No), the process proceeds to step S609; if it determines that a MAC error has occurred (Yes), the process proceeds to step S609. Skip to step S610.

ステップS609では、データ出力部204は、転送先のアドレス(Address)を全体制御部205から指定された転送先アドレス(Start Address)で再度初期化する。続いて、ステップS610では、データ出力部204は、全体制御部205において再生成されたHeaderを転送先のアドレス(Address)が示すメモリ領域に転送する。これにより、先に出力されている元のレコードレイヤーパケットのHeaderを再生成後のHeaderで上書きすることができる。元のレコードレイヤーパケットのHeaderを再生成されたHeaderで上書きするか否かは、CPU101からの設定に応じて切り替えるようにしてもよい。例えば、その切り替え動作は、CPU101から設定される、パケットを暗号化する規格に基づいて切り替えてもよい。例えば、CPU101から設定されるTLSのVersion情報によってTLS1.3であるならば上書きを行い、それ以外であるならば上書きを行わないように切り替えてもよい。 In step S<b>609 , the data output unit 204 reinitializes the transfer destination address (Address) with the transfer destination address (Start Address) specified by the overall control unit 205 . Subsequently, in step S610, the data output unit 204 transfers the Header regenerated by the overall control unit 205 to the memory area indicated by the transfer destination address (Address). As a result, the header of the original record layer packet that has been output earlier can be overwritten with the regenerated header. Whether or not to overwrite the header of the original record layer packet with the regenerated header may be switched according to the setting from the CPU 101 . For example, the switching operation may be based on a packet encryption standard set by the CPU 101 . For example, if the TLS version information set by the CPU 101 is TLS 1.3, overwriting may be performed, and if otherwise, overwriting may not be performed.

ステップS608においてMACエラーが発生したとデータ出力部204が判定した場合、ステップS610では、データ出力部204は、全体制御部205により再生成されたHeaderを転送先のアドレス(Address)が示すメモリ領域に転送する。これにより、再生成されたHeaderは、既に転送済みのデータペイロードに続くメモリ領域に転送される。MACエラーが発生した場合、パケットに対して何らかの改ざんが加えられた可能性もある。この場合には、再生成されたHeaderで元のHeaderを上書きしないことで、MACエラーの原因の解析に役立てることができる。本実施形態では、MACエラーが発生したとデータ出力部204が判定した場合、再生成されたHeaderを転送済みのデータペイロードに続くメモリ領域に転送しているが、別途CPU101から指定された所定のメモリ領域に転送するようにしてもよい。 If the data output unit 204 determines in step S608 that a MAC error has occurred, in step S610 the data output unit 204 stores the header regenerated by the overall control unit 205 in the memory area indicated by the transfer destination address (Address). transfer to As a result, the regenerated Header is transferred to the memory area following the already transferred data payload. If a MAC error occurs, it is also possible that some tampering was made to the packet. In this case, by not overwriting the original Header with the regenerated Header, the cause of the MAC error can be analyzed. In this embodiment, when the data output unit 204 determines that a MAC error has occurred, the regenerated header is transferred to the memory area following the transferred data payload. You may make it transfer to a memory area.

図7を参照して、本実施形態における暗号復号処理の処理サイクル数について説明する。図7(a)には、従来例による処理サイクル数の例を示しており、図7(b)には、本実施形態における処理サイクル数の例を示している。図7(a)及び図7(b)において、OHは受信した(復号処理される前の)レコードレイヤーパケットのHeaderを示し、D0~D3はContentを示し、P0、P1はパディングデータを示し、MHは再生成されたHeaderを示している。 The number of processing cycles for the encryption/decryption processing in this embodiment will be described with reference to FIG. FIG. 7A shows an example of the number of processing cycles according to the conventional example, and FIG. 7B shows an example of the number of processing cycles in this embodiment. In FIGS. 7(a) and 7(b), OH indicates the Header of the received record layer packet (before decoding processing), D0 to D3 indicate Content, P0 and P1 indicate padding data, MH indicates a regenerated Header.

図7(a)に示すように従来例では、t0でHeader(OH)を読み込み、t1で読み込んだOHを出力する。続いて、t1で入力データD0を読み込み、t2でデータD0の復号処理を行う。t1以降、入力データD0~D3、P0、P1を順次読み込んで復号処理を行う。全パケット処理がt7で完了すると、t8でHeader(MH)が再生成されてレジスタに格納され、t9で処理の完了がCPU101に割り込みINTで通知される。CPU101は、処理の完了の通知を受けて、レジスタに格納されている再生成されたHeader(MH)をOHの領域にメモリコピーする。この処理によって、無駄なメモリコピーが発生してしまう。 As shown in FIG. 7A, in the conventional example, the Header (OH) is read at t0, and the read OH is output at t1. Subsequently, the input data D0 is read at t1, and the data D0 is decoded at t2. After t1, the input data D0 to D3, P0 and P1 are sequentially read and decoded. When all packet processing is completed at t7, the Header (MH) is regenerated and stored in the register at t8, and the completion of processing is notified to the CPU 101 by an interrupt INT at t9. The CPU 101 receives the notification of the completion of processing, and memory copies the regenerated Header (MH) stored in the register to the OH area. This processing causes useless memory copying.

それに対して、図7(b)に示すように、本実施形態では、全パケット処理がt7で完了した後、t8において再生成されたHeader(MH)がOHの領域に転送される。これによって、CPU101によるメモリコピーを削減することができる。通常、CPU101によるメモリコピーは、専用のハードウェアによるメモリコピーに対して時間がかかる。ハードウェアによって、再生成されたHeaderが自動でコピーされることで、本実施形態では、Headerの上書きに要する処理時間を削減することが可能である。また、再生成されたHeaderを格納するレジスタを設ける必要もないので、Headerの上書きに要するハードウェア資源を削減することもできる。 On the other hand, as shown in FIG. 7B, in this embodiment, after all packet processing is completed at t7, the regenerated Header (MH) is transferred to the OH area at t8. As a result, memory copying by the CPU 101 can be reduced. Normally, memory copying by the CPU 101 takes longer than memory copying by dedicated hardware. By automatically copying the regenerated header by hardware, in this embodiment, it is possible to reduce the processing time required for overwriting the header. Moreover, since there is no need to provide a register for storing the regenerated Header, hardware resources required for overwriting the Header can be reduced.

(本発明の他の実施形態)
本発明は、前述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Another embodiment of the present invention)
The present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in the computer of the system or apparatus reads and executes the program. It can also be realized by processing to It can also be implemented by a circuit (for example, ASIC) that implements one or more functions.

なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 It should be noted that the above-described embodiments are merely examples of specific implementations of the present invention, and the technical scope of the present invention should not be construed to be limited by these. That is, the present invention can be embodied in various forms without departing from its technical concept or main features.

100:CPU 102:暗号復号処理部 103:DRAMコントローラ 104:通信処理部 105:SRAM 106:システムバス 107:DRAM 108:ネットワークインタフェース 201:データ入力部 202:暗号処理部 203:パディング処理部 204:データ出力部 205:全体制御部 100: CPU 102: Encryption/decryption processing unit 103: DRAM controller 104: Communication processing unit 105: SRAM 106: System bus 107: DRAM 108: Network interface 201: Data input unit 202: Encryption processing unit 203: Padding processing unit 204: Data Output unit 205: overall control unit

Claims (10)

暗号化されたパケットを読み込む入力手段と、
前記入力手段により読み込まれた前記暗号化されたパケットを復号する復号手段と、
前記入力手段により読み込まれた前記暗号化されたパケットが有する第1のヘッダ及び前記復号手段より出力されたデータを、指定されるメモリ領域に出力する出力手段と、
記復号手段よ出力されたデータを用いて該パケットに係る第2のヘッダを生成する制御手段とを有し、
前記出力手段は、前記第1のヘッダ及び前記復号手段より出力されたデータを前記メモリ領域に出力した後に、生成された前記第2のヘッダで前記メモリ領域の前記第1のヘッダを上書きすることを特徴とする情報処理装置。
input means for reading encrypted packets;
decryption means for decrypting the encrypted packet read by the input means;
output means for outputting the first header of the encrypted packet read by the input means and the data output from the decryption means to a designated memory area;
a control means for generating a second header related to the packet using the data output from the decoding means ;
The output means overwrites the first header in the memory area with the generated second header after outputting the first header and the data output from the decoding means to the memory area. An information processing device characterized by:
前記第2のヘッダは、前記復号手段より出力されたデータのサイズを示す情報を有することを特徴とする請求項1記載の情報処理装置。 2. An information processing apparatus according to claim 1, wherein said second header has information indicating the size of the data output from said decoding means. 前記復号手段より出力されたデータのサイズは、前記暗号化されたパケットが有するパディングデータを除いたサイズであることを特徴とする請求項2記載の情報処理装置。 3. The information processing apparatus according to claim 2, wherein the size of the data output from said decryption means is a size excluding padding data contained in said encrypted packet. 前記暗号化されたパケットは、TLS(Transport Layer Security)1.3の規格に従って暗号化されたパケットであることを特徴とする請求項1~3の何れか1項に記載の情報処理装置。 4. The information processing apparatus according to claim 1, wherein the encrypted packet is a packet encrypted according to TLS (Transport Layer Security) 1.3 standard. 前記出力手段は、前記復号手段による前記暗号化されたパケットの復号においてエラーが発生した場合、生成された前記第2のヘッダで前記メモリ領域の前記第1のヘッダを上書きしないことを特徴とする請求項1~4の何れか1項に記載の情報処理装置。 The output means does not overwrite the first header in the memory area with the generated second header when an error occurs in decoding the encrypted packet by the decryption means. The information processing apparatus according to any one of claims 1 to 4. 前記出力手段は、前記復号手段による前記暗号化されたパケットの復号においてエラーが発生した場合、生成された前記第2のヘッダを前記第1のヘッダと異なるメモリ領域に出力することを特徴とする請求項1~5の何れか1項に記載の情報処理装置。 The output means outputs the generated second header to a memory area different from that of the first header when an error occurs in decoding the encrypted packet by the decryption means. The information processing apparatus according to any one of claims 1 to 5. 生成された前記第2のヘッダで前記メモリ領域の前記第1のヘッダを上書きするか否かを、CPUからの設定によって切り替え可能であることを特徴とする請求項1~6の何れか1項に記載の情報処理装置。 7. Whether or not to overwrite the first header in the memory area with the generated second header can be switched by a setting from a CPU. The information processing device according to . 前記CPUからの切り替え設定は、前記パケットを暗号化する規格に基づいて切り替えることを特徴とする請求項7記載の情報処理装置。 8. The information processing apparatus according to claim 7, wherein the switching setting from the CPU is based on a standard for encrypting the packet. 暗号化されたパケットを読み込む入力工程と、
前記入力工程にて読み込まれた前記暗号化されたパケットを復号手段により復号する復号工程と、
前記入力工程にて読み込まれた前記暗号化されたパケットが有する第1のヘッダ及び前記復号手段より出力されたデータを、指定されるメモリ領域に出力する出力工程と、
記復号手段より出力されたデータを用いて該パケットに係る第2のヘッダを生成する制御工程とを有し、
前記出力工程では、前記第1のヘッダ及び前記復号手段より出力されたデータを前記メモリ領域に出力した後に、生成された前記第2のヘッダで前記メモリ領域の前記第1のヘッダを上書きすることを特徴とする情報処理方法。
an input step of reading the encrypted packet;
a decryption step of decrypting the encrypted packet read in the input step by decryption means;
an output step of outputting the first header of the encrypted packet read in the input step and the data output from the decryption means to a designated memory area;
a control step of generating a second header related to the packet using the data output from the decoding means ;
In the output step, after outputting the first header and the data output from the decoding means to the memory area, overwriting the first header in the memory area with the generated second header. An information processing method characterized by:
暗号化されたパケットを読み込む入力ステップと、
前記入力ステップにて読み込まれた前記暗号化されたパケットを復号手段により復号する復号ステップと、
前記入力ステップにて読み込まれた前記暗号化されたパケットが有する第1のヘッダ及び前記復号手段より出力されたデータを、指定されるメモリ領域に出力する出力ステップと、
記復号手段より出力されたデータを用いて該パケットに係る第2のヘッダを生成する制御ステップとをコンピュータに実行させ、
かつ前記出力ステップでは、前記第1のヘッダ及び前記復号手段より出力されたデータを前記メモリ領域に出力した後に、生成された前記第2のヘッダで前記メモリ領域の前記第1のヘッダを上書きする処理をコンピュータに実行させるためのプログラム。
an input step of reading the encrypted packet;
a decryption step of decrypting the encrypted packet read in the input step by decryption means;
an output step of outputting the first header of the encrypted packet read in the input step and the data output from the decryption means to a designated memory area;
causing a computer to execute a control step of generating a second header related to the packet using the data output from the decoding means ;
and in the output step, after outputting the first header and the data output from the decoding means to the memory area, the generated second header overwrites the first header in the memory area. A program that causes a computer to execute a process.
JP2019077125A 2019-04-15 2019-04-15 Information processing device, information processing method and program Active JP7289709B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019077125A JP7289709B2 (en) 2019-04-15 2019-04-15 Information processing device, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019077125A JP7289709B2 (en) 2019-04-15 2019-04-15 Information processing device, information processing method and program

Publications (2)

Publication Number Publication Date
JP2020178169A JP2020178169A (en) 2020-10-29
JP7289709B2 true JP7289709B2 (en) 2023-06-12

Family

ID=72936317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019077125A Active JP7289709B2 (en) 2019-04-15 2019-04-15 Information processing device, information processing method and program

Country Status (1)

Country Link
JP (1) JP7289709B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100064137A1 (en) 2008-09-05 2010-03-11 Cisco Technology, Inc. Inspection and rewriting of cryptographically protected data from group VPNs
JP2013143641A (en) 2012-01-10 2013-07-22 Ricoh Co Ltd Network communication device
JP2018007200A (en) 2016-07-08 2018-01-11 パナソニックIpマネジメント株式会社 Content decryption device, content decryption method, receiver, and program
JP2018182400A (en) 2017-04-04 2018-11-15 キヤノン株式会社 Information processing device, information processing method and computer program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100064137A1 (en) 2008-09-05 2010-03-11 Cisco Technology, Inc. Inspection and rewriting of cryptographically protected data from group VPNs
JP2013143641A (en) 2012-01-10 2013-07-22 Ricoh Co Ltd Network communication device
JP2018007200A (en) 2016-07-08 2018-01-11 パナソニックIpマネジメント株式会社 Content decryption device, content decryption method, receiver, and program
JP2018182400A (en) 2017-04-04 2018-11-15 キヤノン株式会社 Information processing device, information processing method and computer program

Also Published As

Publication number Publication date
JP2020178169A (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US7392399B2 (en) Methods and systems for efficiently integrating a cryptographic co-processor
US10135739B2 (en) Network-based computational accelerator
US7885405B1 (en) Multi-gigabit per second concurrent encryption in block cipher modes
JP5074558B2 (en) Network processing using IPSec
US7941662B2 (en) Data transfer efficiency in a cryptography accelerator system
US7961882B2 (en) Methods and apparatus for initialization vector pressing
JP2018529271A (en) Key generation method and apparatus using double encryption
US11658803B2 (en) Method and apparatus for decrypting and authenticating a data record
JP6600241B2 (en) Arithmetic apparatus, arithmetic method, and communication apparatus
US20210216665A1 (en) Memory-efficient hardware cryptographic engine
US11722467B2 (en) Secured communication from within non-volatile memory device
KR100560658B1 (en) Apparatus and method for high performance offset codebook mode with block-level operation
US6980649B1 (en) Hardware-based encryption/decryption employing dual ported memory and fast table initialization
US7603549B1 (en) Network security protocol processor and method thereof
JP7289709B2 (en) Information processing device, information processing method and program
JP4408648B2 (en) Encryption / authentication processing apparatus, data communication apparatus, and encryption / authentication processing method
JP2010011122A (en) Encrypted packet processing system
JP2006041684A (en) Encryption processing apparatus and encryption processing method
JP6818618B2 (en) Information processing equipment, information processing methods and computer programs
KR101653956B1 (en) Method for monitoring encoded traffic and apparatus using the same
JP2010057123A (en) Encryption processing device, encryption processing method and program
JP2018205505A (en) Encryption processing device and control method thereof
JP2019145889A (en) Switching hub and control communication network system
JP2010268293A (en) Communications apparatus and communication processing method
CN118138275A (en) Remote direct memory access method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230531

R151 Written notification of patent or utility model registration

Ref document number: 7289709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151