JP2010268293A - 通信装置及び通信処理方法 - Google Patents

通信装置及び通信処理方法 Download PDF

Info

Publication number
JP2010268293A
JP2010268293A JP2009118889A JP2009118889A JP2010268293A JP 2010268293 A JP2010268293 A JP 2010268293A JP 2009118889 A JP2009118889 A JP 2009118889A JP 2009118889 A JP2009118889 A JP 2009118889A JP 2010268293 A JP2010268293 A JP 2010268293A
Authority
JP
Japan
Prior art keywords
unit
data
generation
analysis
information
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.)
Granted
Application number
JP2009118889A
Other languages
English (en)
Other versions
JP5149863B2 (ja
Inventor
Nobuhiro Yokoi
伸浩 横井
Shigeki Taira
重喜 平
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009118889A priority Critical patent/JP5149863B2/ja
Publication of JP2010268293A publication Critical patent/JP2010268293A/ja
Application granted granted Critical
Publication of JP5149863B2 publication Critical patent/JP5149863B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】暗復号処理及び認証処理を必要とする通信パケットデータの送受信処理を効率的に実行するハードウェア処理回路(アクセラレータ)を提供する。
【解決手段】データを受信し、及びデータを送信する通信装置であって、受信したデータを解析する受信解析部を備え、受信解析部は、受信情報を受信する受信部と、受信情報を格納するレジスタと、受信情報を一時的に格納する一以上の第1の一時レジスタから構成される、第1の遅延レジスタと、遅延レジスタから選択された所定の長さの受信情報を出力する第1のデータセレクタ部と、認証処理を実行する認証部と、復号処理を実行する復号部と、解析処理を実行し、認証処理の結果、復号処理の結果、及び解析処理の結果を解析結果として出力する解析部と、処理を実行するためのマイクロプログラムと、解釈されたマイクロプログラムを出力する第1の解釈部と、を備えることを特徴とする。
【選択図】図2

Description

本発明は、通信装置及び通信処理方法に関し、特に、暗復号・認証処理が必要な通信プロトコルに則した受信パケットの解析及び送信パケットの生成をする技術に関する。
現在、サーバ及びパーソナルコンピュータのみならず、テレビを代表とするAV機器、携帯電話を代表とするモバイル機器、さらに、冷蔵庫を代表とする白物家電等、様々な機器がデジタル通信のための通信インタフェース及び通信機能を備え、通信ネットワーク網を構成している。
これら通信の分野では、安全にデータを送受信するための秘匿技術として、送信側でデータを暗号化して配信し、受信側で配信されたデータを復号化することによって、盗聴、改竄、及びなりすましを防止し、機密性、完全性、及び可用性を確保する方法が知られている。
例えば、ネットワークを用いたデータ通信では、データの機密性及び完全性を確保するために暗復号及びメッセージ認証の技術が用いられている。暗復号及びメッセージ認証等の処理アルゴリズムは様々存在する。
ネットワークを用いたデータ通信において代表的なセキュリティプロトコルとして、例えば、IPsec(Security Architecture for Internet Protocol)がある。IPsecでは、DES(Data Encryption Standard)やAES(Advanced Encryption Standard)などの共通鍵暗号を用いた暗復号処理と、MD5(Message Digest 5)やSHA−1(Secure Hash Algorithm 1)等、ハッシュアルゴリズムを用いたメッセージ認証処理が義務付けられている。
従来、前述した暗復号、又はメッセージ認証を含む通信パケットデータ処理の技術は、主にソフトウェアで実行されていた。前述したような処理をソフトウェアが行う仕組みでは、柔軟な運用が可能であるが、所定の処理が複雑になるにつれて処理時間が長くなり、処理スループットの低下が問題となる。
これを解決する一つの方法として、暗復号やメッセージ認証の処理をハードウェア処理回路で行うことによってアクセラレート(高速化)する手法が考えられている(例えば、特許文献1参照)。特許文献1によれば、特定の処理が複雑であっても、処理スループットの低下を防ぐことができる。
特開2007−166279号公報
しかし、従来技術のハードウェア処理回路を用いた通信パケットデータの処理を実行する場合、以下のような課題がある。
特許文献1に記載の技術は、IPsecの暗復号及び認証の処理に特化したアクセラレータについて記載されているが、通信パケットデータの解析及び生成の処理をするに当たって、同一データに対して複数種類の処理が実行される場合等には、十分な高速化が実現されない。
例えば、通信パケットデータを処理する場合、同一のデータ部分に対して、IPsecの処理以外にチェックサム等の処理が必要となる。また、通信パケットデータ処理には、コネクション情報からのパケットの生成、及び受信したパケットの解析なども合わせて必要である。
従来技術では、前述したIPsec以外の処理するためのソフトウェア又は各種アクセラレータが個々に必要である。また、従来技術では、前述したように複数種類の処理が実行される場合、各々の処理が実行される度に同一のデータにアクセスする必要がある。そのため、例えば、メモリの同一アドレスに対するデータ読み出しや書き込みの重複によって、処理効率が低くなるという問題がある。
さらに、データ処理のステップごとにデータ全体をバッファに保持しているため、バッファの大きさが問題となる。また、バッファにデータ全体が保持されるまで処理が実行されないという問題がある。
本発明は、通信パケットデータの処理をハードウェア処理回路(アクセラレータ)が実行する構成において、通信パケットデータの処理に対して、データ処理に使用されるバッファの低減と、データへのアクセスの低減とによって、低コストで、かつ、通信パケット処理の高速化及び処理スループットの低下の防止が可能となる技術を提供することである。
本発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークに接続され、前記ネットワークからデータを受信し、及び前記ネットワークにデータを送信する通信装置であって、プロセッサと、前記プロセッサと接続されるメモリと、前記プロセッサに接続され、前記通信装置に機器を接続するための周辺インタフェースと、前記受信したデータ及び前記送信すべきデータを制御及び管理する制御部と、前記受信したデータ及び前記送信すべきデータを格納するバッファ部と、前記プロセッサと前記制御部及び前記バッファ部とを接続するためのホストバスインタフェースと、前記受信したデータを解析する受信解析部と、前記ネットワークからデータを受信し、又は前記ネットワークにデータを送信する通信部と、を備え、前記通信部は、前記ネットワークから受信したデータを所定の長さに分割し、前記所定の長さに分割されたデータを受信情報として前記受信解析部に出力し、前記受信解析部は、前記制御部、前記バッファ部、及び前記通信部とそれぞれ接続され、前記制御部から入力される情報又は前記受信情報を受信する受信部と、前記受信情報を格納するレジスタと、前記受信情報を一時的に格納する一以上の第1の一時レジスタから構成される、第1の遅延レジスタと、所定の長さの前記受信情報を前記第1の遅延レジスタから選択し、前記選択された所定の長さの受信情報を出力する第1のデータセレクタ部と、前記第1のデータセレクタ部から入力された受信情報に対して認証処理を実行する認証部と、前記第1のデータセレクタ部から入力された受信情報に対して復号処理を実行する復号部と、前記第1のデータセレクタ部から入力された受信情報に対して解析処理を実行し、前記認証処理の結果、前記復号処理の結果、及び前記解析処理の結果を解析結果として出力する第1の解析部と、前記認証部、前記復号部、及び前記第1の解析部の処理を実行するためのマイクロプログラムと、前記マイクロプログラムを解釈し、前記認証部、前記復号部、及び前記第1の解析部の少なくとも一つに、前記解釈されたマイクロプログラムを出力する第1の解釈部と、前記制御部と接続するための制御部インタフェースと、前記バッファ部に接続するためのインタフェースと、前記通信部と接続するためのインタフェースと、を備えることを特徴とする。
本発明によれば、低コストで、かつ、スループットの低減を防ぐことのできる、通信装置及び通信処理方法を提供することができる。
本発明の実施形態のネットワーク機器の構成を説明するブロック図である。 本発明の実施形態の受信解析部の構成を示すブロック図である。 本発明の実施形態の送信生成部の構成を示すブロック図である。 本発明の実施形態の受信解析部の処理の流れの一例を説明するシーケンス図である。 本発明の実施形態の送信生成部の処理の流れの一例を説明するシーケンス図である。 本発明の実施形態におけるIPsecパケットの構成を示す説明図である。
以下、本発明の実施形態を図面に基づいて詳細に説明する。なお、本発明の実施形態を説明する図において、同一部には同一の符号を付し、その繰り返しの説明は、省略する事とする。
最初にIPsecについて説明する。
図6は、本発明の実施形態におけるIPsecパケットの構成を示す説明図である。なお、IPsecには、トンネルモードとトランスポートモードとがあるが、本実施形態ではトンネルモードについて説明する。ただし、本発明は、トランスポートモードの場合であっても適用可能である。
IPsecは、IPパケットにESP(Encapsulating Security Payload)610などのヘッダフィールドを追加して構成される。
本実施例で示すトンネルモードにおいてESPが用いられる場合、まずIPパケット630にパディング635とトレーラ640とが付加されて暗号化される。
パディング635の長さは、生成された暗号化パケット660とトレーラ640とを合わせた長さが、所定のバイト数の整数倍となるように決められる。トレーラ640はパディング長645と次ヘッダ650とを含むデータである。
パディング長645は、パディング635の長さである。次ヘッダ650は、パケット内でIPsecヘッダ(ここ場合、ESPヘッダ610を示す)の次にくるヘッダのプロトコル種別を示す。図6に示す例では、トンネルモードであるため、ヘッダ650には、IPv4を示す「4」又はIPv6を示す「41」が設定される。IPパケット630、パディング635、トレーラ640が暗号化範囲となる。
暗号化されたIPパケットには、ESPヘッダ610、メッセージ認証のための初期化ベクタ(Initial Vector:IV)625、及び完全性検証値(Integrity Check Value:ICV)655と呼ばれる認証データが付加される。
さらに、IPsecパケットには、新たに外側IPヘッダ605が設定され、ESPヘッダ610以下がカプセル化されることで、IPsecパケットが生成される。
ESPヘッダ610は、SPI(Security Parameter Index)615とシーケンス番号620とからなる。
SPI615は、セキュリティアソシエーションデータベース(Security Association Database:SAD)で管理されているIPsecに関するセキュリティの各種パラメータである、セキュリティアソシエーション(Security Association:SA)を検索するための値である。シーケンス番号620は、パケットの順番を示す値である。
IPsecパケットの暗号化に用いられるアルゴリズムには、NULL暗号アルゴリズム(暗号機能を使用しない)、DES(Data Encryption Standard)、3DES(triple−DES)、AES(Advanced Encryption Standard)などがある。
前述したアルゴリズムは、ある特定のビット数のまとまり(ブロック長)で平文をまとめて暗号処理するブロック暗号である。例えば、NULL暗号アルゴリズムのブロック長は1バイトであり、DESや3DESのブロック長は8バイト、AESのブロック長は16バイトである。
ブロック暗号アルゴリズムは、固定長のブロックを暗号化するアルゴリズムであるが、暗号化したい平文がブロック長に収まらない場合、ブロック暗号アルゴリズムを繰り返して、長い平文全てを暗号化することとなる。
前述の繰り返しの方法(モード)についてはさまざまな種類があるが、IPsecでは主に暗号ブロック連鎖モード(Cipher Block Chaining mode:CBCモード)が用いられる。
CBCモードとは、1つ前の暗号文ブロックと平文ブロックのXOR(exclusive or)を取得してから暗号化を行うモードである。最初の平文を暗号化するときは、1つ前の暗号文ブロックは存在しないため、1つ前の暗号文ブロックの代わりにIV625が使用される。
IPsecパケットのメッセージ認証に用いられるハッシュ関数アルゴリズムには、MD5(Message Digest 5)、SHA−1(Secure Hash Algorithm 1)、SHA−224、SHA−256、SHA−384、SHA−512などがある。
これらはすべてハッシュ値からメッセージを逆算できない一方向性の性質を持つ。MD5は16バイト、SHA−1は20バイト、SHA−224は28バイト、SHA−256は32バイト、SHA−384は48バイト、及びSHA−512は64バイトのハッシュ値が計算される。
ハッシュ値は、メッセージ(認証計算範囲となるデータ)に対して64バイト単位の区切りで算出される。対象データが64バイトに満たない場合、ハッシュ値は、パディングを付加して算出される。メッセージの末尾には必ずメッセージの終端を表す1とメッセージの長さを表す8バイトの値が挿入されるため、メッセージ本体とメッセージの終端表示(1ビット)とメッセージ長(8バイト)との合計が64バイトの倍数になるように、メッセージ終端表示とメッセージ長の間に必要なビット数分0が挿入される。
これらハッシュ関数アルゴリズムに鍵付きハッシュ関数アルゴリズム(Keyed−Hashing for Message Authentication code:HMAC)を組み込んだメッセージ認証アルゴリズムがIPsecでは使用される。MD5、SHA−1を使うHMACをそれぞれHMAC−MD5、HMAC−SHA1と呼ぶ。これらによって算出された値がICV655値として使用される。
IPsecの処理は、RFC(Request for Comments)2406準拠のIPsec処理に基づいて、送信パケットについては暗号化とメッセージ認証とが付加され、受信パケットについては復号化とメッセージ認証とがチェックされる。ここで、RFC2406準拠のIPsec処理とは、RFC2403、RFC2404準拠のHMAC−MD5やHMAC−SHA−1の認証機能及び、RFC2410、RFC2451のNULL、CBC−AESの暗号機能などによるIPv4及びIPv6パケットに対する暗号及び復号処理である。
図1は、本発明の実施形態のネットワーク機器100の構成を説明するブロック図である。
ネットワーク機器100は、ネットワーク155を介して、通信相手のネットワーク機器(図示省略)と通信する。
ネットワーク機器100は、ホストCPU105、ホストメモリ110、周辺I/F115、アクセラレータ125、通信データ変調・復調部150、及びホストバスI/F部120を備える。なお、ネットワーク機器100は、適用される通信サービスに応じて、任意の専用回路、表示パネル、又は磁気ディスクを備えていてもよい。
ホストCPU105は、ホストメモリ110に展開されたプログラム等と実行する。ホストメモリ110は、ネットワーク機器100が実行する処理を実現するためのプログラム等を格納する。周辺I/F115は、ネットワーク機器100に接続されたキーボード、又はモニタなどと接続するためのインタフェースである。
ホストバスI/F部120は、ホストCPU105、ホストメモリ110、及び周辺I/F115と、アクセラレータ125とを接続するためのインタフェースである。
通信データ変調・復調部150は、ネットワーク機器100とネットワーク155とを接続するための回路である。つまり、ネットワーク機器100は、通信データ変調・復調部150を介してネットワーク155と接続される。なお、ネットワーク機器100とネットワーク155との間の接続の形態は有線接続でもよいし、無線接続でもよい。
アクセラレータ125は、通信パケットデータの処理を実行する。具体的には、アクセラレータ125は、受信パケットの解析、送信パケットの生成、セッション情報の管理、暗復号処理、及びメッセージ認証処理等を実行する。アクセラレータ125は、通信情報管理・制御部130、送受信一時バッファ部135、送信生成部140、及び受信解析部145を備える。
通信データ変調・復調部150、送信生成部140、受信解析部145、通信情報管理・制御部130、及び送受信一時バッファ部135は、一定の動作周期で処理を実行している。以下の説明において、一定の動作周期をサイクルと記載する。例えば、動作周期の数を表す場合、1サイクルと記載し、また、動作周期の順番を表す場合、1サイクル目と記載する。
通信データ変調・復調部150は、ネットワーク155から受信した信号を復調し、復調された受信信号を任意のバイト数で区切り、当該区切られた受信信号を受信パケットとして受信解析部145に出力する。なお、受信信号は、1サイクル毎に、任意のバイト数で区切られる。
また、通信データ変調・復調部150は、送信生成部140から送信され、任意のバイト数で区切られた送信パケットを変調し、変調された送信パケットをネットワーク155へ送信する。
以下、アクセラレータ125が備える各構成について説明する。
受信解析部145は、通信データ変調・復調部150から入力された受信パケットに含まれるヘッダ部分を解析する。なお、受信パケットに含まれるヘッダ部分には、受信相手のアドレス、及び受信パケットの種別等のパケット自体の通信情報が格納される。
受信解析部145は、解析結果として送信相手のアドレス情報、及びポート番号等を通信情報管理・制御部130に出力する。このとき、処理対象とする受信パケットが暗号化されており、復号処理及びメッセージ認証処理が必要な場合、受信解析部145は、復号処理及びメッセージ認証処理を実行し、前述した通信情報を取得する。
また、受信解析部145は、受信パケットに含まれるデータ本体の情報を格納するペイロード部分の位置を特定し、特定されたペイロードの位置、ペイロード長、及び受信パケットのパケット長等を通信情報管理・制御部130に出力する。また、受信解析部145は、受信パケットを送受信一時バッファ部135に出力する。
また、受信解析部145は、ホストCPU105、ホストメモリ110、周辺I/F、又はホストバスI/F部120を介してアクセラレータ125から、送受信一時バッファ部135に格納されるデータ、ヘッダを含むデータ、又は通信情報などを取得することができる。
送信生成部140は、通信情報管理・制御部130から入力された送信相手のアドレス情報、ポート番号、及び送受信一時バッファ部135に格納された送信用データの位置等の情報に基づいて送信パケットのヘッダを生成する。送信生成部140は、処理対象とする送信パケットについて暗号処理及びメッセージ認証処理が必要な場合、暗号処理及びメッセージ認証処理を実行し、送信パケットを生成する。
さらに、送信生成部140は、生成されたヘッダと送受信一時バッファ部135に格納された送信用データとを、送信パケットとして、通信データ変調・復調部150に出力する。なお、当該送信パケットは、生成されたヘッダ及び送受信一時バッファ部135に格納された送信用データを含む信号を、1サイクルごとに任意のバイト数に区切ったものである。
通信情報管理・制御部130は、受信解析部145の解析結果に含まれる、コネクション情報、ポート管理、及び受信したデータ等、更にSAを含むSADを管理する。また、通信情報管理・制御部130は、対象となるペイロードデータが送受信一時バッファ部135のどの位置に格納されているかを管理する。
送受信一時バッファ部135は、受信パケット、及び送信用のペイロードデータを格納する記憶領域である。なお、送受信一時バッファ部135は、通信情報管理・制御部130との間で、格納状況を入出力する。
以下、送信生成部140及び受信解析部145の詳細について説明する。
<受信解析部145>
図2は、本発明の実施形態の受信解析部145の構成を示すブロック図である。
図2に示す例では、受信解析部145が、受信パケットA200、受信パケットB205及び受信パケットC210を受信した場合を例に説明する。なお、受信パケットA200及び受信パケットB205はIPsecパケットを示し、受信パケットC210はIPsec以外のパケットを示す。
受信解析部145は、通信データ変調・復調部I/F215、ワーキングレジスタ220、受信解析部本体225、通信情報管理・制御部I/F230、及び送受信一時バッファ部I/F290を備える。
通信データ変調・復調部I/F215は、ネットワーク155から受信した信号を復調し、復調された受信信号を任意のバイト数で区切り、当該区切られた受信信号を受信パケットとして、受信解析部145に出力するインタフェースである。具体的には、受信パケットは、Nバイトレジスタ235とデータセレクタ240とに入力される。
図2に示す例では、通信データ変調・復調部I/F215は、受信パケットA200、受信パケットB205及び受信パケットC210を、それぞれNバイトずつに区切り、当該区切られた受信パケットをNバイトレジスタ235に出力する。
ワーキングレジスタ220は、受信解析部145の状態を制御するための情報、メッセージ認証処理及び復号処理中に使用される一時データ、並びに、受信パケットの長さ及びチェックサム計算値途中の一時データを格納する。
具体的には、ワーキングレジスタ220は、プログラムカウンタ、制御レジスタ、パケット種別、パケット長、ペイロードオフセット、ペイロード長、最終入出力パケット長、桁上循環加算結果、及び計算途中データを格納する。
プログラムカウンタは、次に読み出されるマイクロプログラムを指定するアドレスを格納する。制御レジスタは、受信解析部145の状態を格納する。パケット種別は、受信パケットの種別を格納する。
パケット長は、受信パケットの長さを格納する。ペイロードオフセットは、パケットにおけるヘッダとペイロードとの境界の位置を格納する。ペイロード長は、ペイロードの長さを格納する。
最終入出力パケット長は、実際に受信したデータの長さを格納する。つまり、任意のバイト数で区切られていない場合のデータの長さが格納される。桁上循環加算結果は、チェックサムの値を格納する。計算途中データは、受信解析部145における演算途中のデータを格納する。
通信情報管理・制御部I/F230は、受信解析部145を制御するマイクロプログラム、メッセージ認証のための情報、復号化のためのカギ情報を受信解析部145に入力し、受信解析部145が受信パケットを解析した結果を通信情報管理・制御部130へ出力するインタフェースである。
送受信一時バッファ部I/F290は、解析が完了した受信パケットを送受信一時バッファ部135へ出力するインタフェースである。
受信解析部本体225は、受信解析部145における各種処理を実行する。受信解析部本体225は、Nバイトレジスタ235、データセレクタ240、マイクロプログラム解釈器A245、受信解析部エンジン250、Mバイトレジスタ270、データセレクタ275、解析エンジンB280、及びマイクロプログラム解釈器B285を備える。
Nバイトレジスタ235は、通信データ変調・復調部I/F215から入力されるNバイトのデータ(受信パケット)を逐次格納するレジスタである。Nバイトレジスタ235は、ワーキングレジスタ220上に構成される。また、J段のNバイトレジスタ235から遅延レジスタ295−1が構成される。なお、Jは、1以上の整数である。
本実施形態では、Nバイトレジスタ235には、以下に示すようにデータが格納される。
1サイクル目に入力されたNバイトのデータ1は、2サイクル目にNバイトレジスタ1(235)に格納される。さらに、データ1は、3サイクル目にNバイトレジスタ2(235)に格納される。また、データ1がNバイトレジスタ2(235)に格納されるのと同時に、Nバイトレジスタ1(235)には、次に入力されたデータ2が格納される。
前述したように、入力されたデータは、1サイクル毎に、Nバイトレジスタ1〜Jまで順次推移し、当該データが入力されてからJ+1サイクル後に破棄される。
データセレクタ240は、受信解析部エンジン250が必要とするデータを選択し、選択されたデータを受信解析部本体225に出力する。
具体的には、データセレクタ240は、マイクロプログラム解釈器A245から入力されたマイクロプログラムに基づいて、通信データ変調・復調部I/F215から入力されたNバイトのデータ(受信パケット)及び遅延レジスタ295−1から受信解析部本体225が必要とするデータを選択する。さらに、データセレクタ240は、選択されたデータを受信解析部本体225に出力する。このとき、遅延レジスタ295−1の任意のNバイトレジスタ235が選択された場合、当該Nバイトレジスタ235に格納されたデータが受信解析部本体225に出力される。
なお、データセレクタ240は、通信データ変調・復調部I/F215から入力されたデータ(受信パケット)を参照することによって、Nバイトレジスタ235に格納されているデータ内容を把握することができる。
例えば、前述のデータ1がNバイトレジスタ235に入力されてから3サイクル目において、データセレクタ240は、Nバイトレジスタ2(235)に格納されたデータ1、Nバイトレジスタ1(235)に格納されたデータ2、さらに、3サイクル目に受信したデータ3のなかから必要となるデータを選択し、当該選択されたデータを受信解析部145に出力する。これによって、受信解析部145は任意の処理を行うことができる。
受信解析部145が実行する受信解析処理に応じてN及びJを的確に設定することによって、無駄のない最適な容量のレジスタで、受信解析処理が可能となる。N及びJの設定方法については後述する。
また、受信解析部145が遅延レジスタ295−1を備えることによって、受信解析部エンジン250は、受信パケットをNバイトずつ逐次処理することが可能となり、受信パケットの受信直後に当該受信パケットの解析を完了することができる。したがって、従来の受信パケット全体がバッファに格納された後に解析する場合と比較して、本発明の受信解析部145は、より早くパケットの受信処理及び解析処理を完了することができる。また、受信解析部エンジン250が受信パケットを逐次処理できるため、ワーキングレジスタ220の容量を小さくでき、コストを削減できる。
マイクロプログラム解釈器A245は、1サイクル毎に通信情報管理・制御部130に格納されるマイクロプログラムを読み出し、読み出されたマイクロプログラムを解釈する。また、マイクロプログラム解釈器A245は、読み出されたマイクロプログラムを所定のデータ長に振り分け、解釈されたマイクロプログラムに基づいて、当該振り分けられた所定のデータ長のマイクロプログラムを受信解析部エンジン250に出力する。また、マイクロプログラム解釈器A245は、解釈されたマイクロプログラムをデータセレクタ240に出力する。
図2に示す例では、通信情報管理・制御部130がマイクロプログラムを格納し、管理しているが、受信解析部145にマイクロプログラム格納用のメモリを備え、当該メモリからマイクロプログラムが呼び出されるようにしてもよい。
なお、マイクロプログラムは、書き換えが可能であり、適用される通信サービスに応じて設定を変更できる。
受信解析部エンジン250は、各種処理を実行する。受信解析部エンジン250は、解析エンジンA255、認証エンジン260、及び復号エンジン265を備える。解析エンジンA255、認証エンジン260、及び復号エンジン265は、互いに処理結果を出力することができる。
解析エンジンA255は、演算ロジックを備え、入力されたマイクロプログラムに基づいて、内部の処理動作が決定される状態遷移エンジンである。なお、解析エンジンA255は、通信サービスに応じて、任意の専用回路等を備えてもよい。
解析エンジンA255は、マイクロプログラム解釈器A245から入力されたマイクロプログラム、データセレクタ240及びワーキングレジスタ220から入力されたデータに基づいて、受信解析部145に入力されたデータの解析処理を実行する。具体的には、解析エンジンA255は、入力された受信パケットを解析し、アドレス情報や長さ情報などの解析結果を取得する。
解析結果は、ワーキングレジスタ220、通信情報管理・制御部I/F230、又は、送受信一時バッファ部I/F290に出力される。なお、解析結果には、認証エンジン260が実行した処理の結果及び復号エンジン265が実行した処理の結果が含まれる。
解析エンジンA255は、演算ロジックとして、一以上の比較器、一以上の格納器、一以上の加減算器、及び一以上の桁上循環加算器を備える。なお、解析エンジンA255は、他の機能を実現するための部位を備えてもよい。
解析エンジンA255は、マイクロプログラムの解釈結果に基づいて、前述の各構成要素を動作させる。具体的には、マイクロプログラム解釈結果に基づいて、解析エンジンA255内部の演算ロジックの各構成要素の接続が変更される。
比較器は、マイクロプログラムの定数、入力データ又はレジスタ値の各々を比較し、比較結果を出力する。つまり、比較器は、二つの入力に対して、一つの結果を出力する。
格納器は、ワーキングレジスタ220、通信情報管理・制御部I/F230又は送受信一時バッファ部I/F290にデータ及び演算結果を出力する。
加減算器は、入力データ及びレジスタ値を加算又は減算する。桁上循環加算器は、TCP/IPなどで使用されるチェックサムを計算する。
認証エンジン260は、マイクロプログラムに基づいて、受信解析部145に入力されたデータの認証処理を実行する。なお、認証結果は、解析エンジンA255が出力する解析結果に含めて送信される。
認証エンジン260には、通信情報管理・制御部130から解析エンジンA255によって解析された情報に基づいて選択されたメッセージ認証のためのハッシュ関数アルゴリズム及び認証鍵が入力される。
認証エンジン260は、通信情報管理・制御部130から入力された各情報を用いて、データセレクタ240から入力された所定ブロック長分のデータの認証処理を実行する。
認証処理の結果、受信パケットが正常であると判定された場合、認証エンジン260は、通信情報管理・制御部130に有効受信パケットであることを通知する。
認証処理の結果、認証を失敗した場合、認証エンジン260は、受信パケットが不正受信パケットであること、並びに、解析エンジンA255及び解析エンジンB280によって通信情報管理・制御部130に出力された解析結果が不正受信パケットの解析結果であることを、通信情報管理・制御部130に通知する。
また、認証エンジン260は、通信情報管理・制御部130及び送受信一時バッファ部135に、送受信一時バッファ部135に格納されたデータが認証失敗したデータであることを通知することも可能である。認証失敗の通知を受けた通信情報管理・制御部130及び送受信一時バッファ部135は、それぞれ入力されたデータをどう処理するかを決定する。なお、受信解析部145は、通信情報管理・制御部130及び送受信一時バッファ部135に受信解析部145から入力されたデータを破棄する旨の命令を出力することもできる。
復号エンジン265は、マイクロプログラムに基づいて、受信解析部145に入力されたデータの復号処理を実行する。
復号エンジン265には、通信情報管理・制御部130から解析エンジンA255によって解析された情報に基づいて選択された復号のためのアルゴリズム及び復号鍵が入力される。
復号エンジン265は、通信情報管理・制御部130から入力された各情報を用いて、データセレクタ240から入力された所定のブロック長分のデータの復号処理を実行する。復号エンジン265は、Mバイトレジスタ1〜K(270)で構成される遅延レジスタ295−2に復号処理の結果を出力する。
Mバイトレジスタ270は、復号エンジン265から出力され、復号が完了した受信パケットを逐次格納するレジスタである。Mバイトレジスタ270は、ワーキングレジスタ220上に構成される。また、K段のMバイトレジスタ270から遅延レジスタ295−2が構成される。なお、Kは1以上の整数である。
Nバイトレジスタ235と同様に、Mバイトレジスタ270に入力されたデータは、1サイクル毎に、Mバイトレジスタ1〜K(270)まで順次推移し、当該データが入力されてからK+1サイクル後に破棄される。
データセレクタ275は、データセレクタ240と同一の構成である。データセレクタ275は、解析エンジンB280が必要とするデータを選択し、選択されたデータを解析エンジンB280に出力する。
解析エンジンB280は、解析エンジンA255と同一の構成である。データセレクタ275から入力されたデータに基づいて、当該データの解析処理を実行する。
マイクロプログラム解釈器B285は、マイクロプログラム解釈器A245と同一の構成である。マイクロプログラム解釈器B285は、通信情報管理・制御部130に格納されるマイクロプログラムを読み出し、読み出されたマイクロプログラムを解釈する。また、マイクロプログラム解釈器B285は、読み出されたマイクロプログラムを所定のデータ長に振り分け、解釈されたマイクロプログラムに基づいて、当該振り分けられた所定のデータ長のマイクロプログラムを解析エンジンB280に出力する。また、マイクロプログラム解釈器B285は、解釈されたマイクロプログラムをデータセレクタ275に出力する。
以下、Nバイトレジスタ235のバイト幅N、Mバイトレジスタ270のバイト幅M、遅延レジスタ295−1の段数J、及び遅延レジスタ295−2の段数Kの設定方法の一例を説明する。
Nバイトレジスタ235のバイト幅Nは、パケットを構成するアドレスデータやサイズデータを考慮し、解析エンジンA255が処理するのに最適な幅が設定される。遅延レジスタ295−1の段数Jは、N×Jの値が、一度に処理しなければならないバイト長X以上となるように設定される。バイト幅Nと段数Jとは、予め設定されていてもよいし、外部から設定を変更できる構成であってもよい。
例えば、受信パケットが解析される場合、解析エンジンA255が処理するチェックサム計算のブロック長、認証エンジン260が処理するメッセージ認証のブロック長、及び復号エンジン265が処理する復号計算のブロック長の最小公倍数が一度に扱うバイト長の最大値となるため、当該最小公倍数をバイト長Xとして、N及びJが設定される。
さらに、遅延レジスタ295−1の段数Jを増やすことによって、受信パケットを処理するにあたって処理遅延が起きる場合、処理遅延を保証することが可能となる。具体的には、受信解析部145は、1サイクル目に入力されたデータの処理を実行し、次のサイクルで入力されたデータに対して、されに何らかの処理を実行する場合、遅延レジスタを1段設けることで、当該データの処理が可能となる。つまり、処理の度にホストメモリ110等にアクセスする必要がなくなる。
なお、認証処理及び復号処理が必要ない場合、遅延レジスタ295の段数Jは1であってもよい。Jが1以上であるのは、前述したように、任意サイクルで入力されたデータの処理後に、参照することができるようにするためである。
Mバイトレジスタ270のバイト幅Mは、解析エンジンA255が処理するチェックサム計算のブロック長、認証エンジン260が処理するメッセージ認証のブロック長、及び復号エンジン265が処理する復号計算のブロック長の最小公倍数であるバイト長X以上となるように設定される。
遅延レジスタ295−2の段数Kは、解析エンジンB280が必要とする処理遅延のサイクル数分以上に設定される。これによって、データセレクタ275は、遅延レジスタ295−2から解析対象データを選択し、選択された解析対象データを用いて解析することができ、解析エンジンB280は遅延解析が可能となる。
本実施形態では、受信解析部145は、図2に示すように解析エンジンA255及び解析エンジンB280を備えている。これによって、受信パケットが、復号処理及びメッセージ認証処理が必要なIPsecなどのパケットであった場合、解析エンジンA255が復号しなければならない領域までを解析し、解析エンジンB280が復号後の部分について解析する。
受信パケットの復号処理が必要でない場合、解析エンジンA255は、受信パケット全体の解析を行う。この場合、受信解析部145は、解析エンジンB280を備えていなくてもよい。
図2に示す例では、受信解析部145は、解析エンジンA255と解析エンジンB280とをそれぞれ備えているが、一つの解析エンジンだけを備えていてもよい。
また、解析エンジンA255は復号化する前の受信パケット部分を処理する専用の機能のみを備え、解析エンジンB280は復号後の受信パケットを解析する処理機能のみを備える構成であってもよい。
例えば、図6に示したIPsecパケットにおいて、L2ヘッダ600、外側IPヘッダ605、ESPヘッダ610、IV625、及びICV655を処理する機能を解析エンジンA255が備え、IPパケット630、パディング635、トレーラ640を処理する機能を解析エンジンB280が備える等が考えられる。
また、IPsecの中にIPsecが含まれるパケットを処理する場合、受信解析部145は、解析エンジンB280、認証エンジン、及び復号エンジンを備える受信解析部本体を備えていてもよい。
受信解析処理の場合、ネットワーク機器100は、通信データ変調・復調部150を介してIPsecが適用されたTCP/IPパケットを受信する。
図4は、本発明の実施形態の受信解析部145の処理の流れの一例を説明するシーケンス図である。T400〜T470は、それぞれ各処理の区切りの時間を示している。
ネットワーク機器100は、IPsecを受信すると受信解析処理を開始する。
まず、通信データ変調・復調部150はネットワーク155からデータを受信し、受信したデータを遅延レジスタ295−1に含まれるNバイトレジスタ1(235)に格納し、また、受信したデータをデータセレクタ240に出力する。前述の処理によって、データセレクタ240は、受信解析部本体225が必要とするデータを選択できる状態となり、解析エンジンA255で処理が開始される(T400)。
なお、データセレクタ240は、マイクロプログラム解釈器A245が出力するマイクロプログラムに基づいて、所定のNバイトレジスタ235を選択し、選択されたNバイトレジスタ235に格納されたデータを解析エンジンA255、認証エンジン260、及び復号エンジン265に出力する。なお、データセレクタ240は、データセレクタ240に入力され、かつ、まだNバイトレジスタ235に格納されていないデータを出力することをできる。
解析エンジンA255は、受信したデータがIPsecパケットであると判定した後、当該データを認証エンジン260及び復号エンジン265にそれぞれ出力する。解析エンジンA255からの入力を受け、認証エンジン260はメッセージ認証処理を開始し(T410)、また、復号エンジン265は復号処理を開始する(T420)。なお、受信したデータの解析処理、認証処理、及び復号処理は並行して実行される。
復号エンジン265は、復号結果を遅延レジスタ295−2に含まれるMバイトレジスタ1(270)に格納し、また、復号結果をデータセレクタ275に出力する。前述の処理によって、データセレクタ275は、解析エンジンB280が必要とするデータを選択できる状態となり、解析エンジンB280で処理が開始される(T430)。
なお、データセレクタ275は、マイクロプログラム解釈器B285が出力するマイクロプログラムに基づいて、所定のMバイトレジスタ270を選択し、選択されたMバイトレジスタ270に格納されたデータを解析エンジンB280に出力する。なお、データセレクタ275は、データセレクタ275に入力され、かつ、まだMバイトレジスタ270に格納されていないデータを出力することをできる。
また、認証エンジン260及び復号エンジン265は、データセレクタ240から出力されるデータ、及び通信データ変調・復調部150から出力されるデータを用いて、それぞれ処理を実行する。解析エンジンB280は、データセレクタ275から出力されるデータ、通信データ変調・復調部150から出力されるデータ、及び復号エンジン265から出力されるデータを用いて、処理を実行する。
認証エンジン260、復号エンジン265、及び解析エンジンB280は、それぞれ、ワーキングレジスタ220、通信情報管理・制御部130及び送受信一時バッファ部135に処理結果を出力する。
ネットワーク機器100が暗号化されたデータの受信を完了し、復号エンジン265が当該暗号化されたデータの復号処理を完了させた後(T440)、解析エンジンB280は、復号データの解析処理を完了する(T450)。
ネットワーク機器100が全受信パケットの受信を完了するのに合わせて(T460)、認証エンジン260及び解析エンジンA255は、それぞれ処理を完了する(T470)。なお、認証エンジン260及び解析エンジンA255が実行する処理の完了は、同時でなくてもよい。図4においては、解析エンジンA255が受信パケットの最終処理を行っている例を示しているが、解析エンジンA255の代わりに、解析エンジンB280が受信パケットの最終処理を行ってもよい。
以上のように、受信解析部145が、J段のNバイトレジスタ235から構成される遅延レジスタ295−1と、K段のMバイトレジスタ270から構成される遅延レジスタ295−2とを備えることによって、図4に示すような逐次処理を実現することができる。
また、バイト幅N及びバイト幅Mを、各エンジン(解析エンジンA255、認証エンジン260、復号エンジン265、及び解析エンジンB280)で処理されるブロック長を考慮して(例えば、各エンジンで処理されるブロック長の最小公倍数以上)設定することによって、効率よく処理を実行することができる。
また、前述したように受信解析部145が逐次処理を実行できるため、ネットワーク機器100は、全パケットを格納することのできる容量のバッファを備える必要がない。
なお、データセレクタ240及びデータセレクタ275は、遅延レジスタ295−1及び遅延レジスタ295−2から必要となるバイト幅のデータを出力することができる。出力されるデータのバイト幅は、N又はMより小さくてもよい。
<送信生成部140>
図3は、本発明の実施形態の送信生成部140の構成を示すブロック図である。
図3に示す例では、送信生成部140、送信パケットA300、送信パケットB305及び送信パケットC310を生成し、生成されたパケットを送信する場合を例に説明する。なお、送信パケットA300及び送信パケットB305はIPsecパケットを示し、送信パケットC310はIPsec以外のパケットを示す。
送信生成部140は、通信情報管理・制御部I/F315、通信データ変調・復調部I/F320、ワーキングレジスタ325、送受信一時バッファ部I/F375、及び送信生成部本体385を備える。
通信データ変調・復調部I/F320は、送信生成部140が生成した信号を変調し、変調された送信任意のバイト数の区切り、当該区切られた送信信号を送信パケットとして変調し、さらに、当該送信パケットをネットワーク155に出力するインタフェースである。
ワーキングレジスタ325は、送信生成部140の状態を制御する情報、メッセージ認証、暗号化中に使用する一時データ、並びに、送信パケットの長さ及びチェックサム計算値途中の一時データを格納する。前述した各情報は、例えば、通信情報管理・制御部130又は送受信一時バッファ部135から入力される。
具体的には、ワーキングレジスタ325は、プログラムカウンタ、制御レジスタ、パケット種別、パケット長、ペイロード長、送信データが格納されている送受信一時バッファ部135の先頭アドレス、最終入出力パケット長、桁上循環加算結果、及び計算途中データを格納する。
プログラムカウンタは、次に読み出されるマイクロプログラムを指定するアドレスを格納する。制御レジスタは、送信生成部140の状態を格納する。パケット種別は、生成される送信パケットの種別を格納する。
パケット長は、生成パケットの長さを格納する。ペイロード長は、ペイロードの長さを格納する。最終入出力パケット長は、実際に送信するデータの長さを格納する。つまり、任意のバイト数で区切られていない場合のデータの長さが格納される。桁上循環加算結果は、チェックサムの値を格納する。計算途中データは、送信生成部140における演算途中のデータを格納する。
通信情報管理・制御部I/F315は、送信生成部140を制御するマイクロプログラム、メッセージ認証のための情報、及び暗号化のためのカギ情報を送信生成部140に入力し、通信情報管理・制御部130が送信生成部140に送信パケットを生成するためのアドレスなどの情報を入力するインタフェースである。
送受信一時バッファ部I/F375は、パケット生成するためのペイロードデータ部分を送信生成部140へ出力するインタフェースである。
送信生成部本体385は、送信生成部140における各種処理を実行する。送信生成部本体385は、マイクロプログラム解釈器330、送信生成部エンジン335、Mバイトレジスタ355、データセレクタ360、Nバイトレジスタ365、及びデータセレクタ370を備える。
Mバイトレジスタ355は、暗号化されたデータを逐次格納するレジスタである。Mバイトレジスタ355は、ワーキングレジスタ325上に構成される。また、K段のMバイトレジスタ355から遅延レジスタ380−1が構成される。なお、Kは、1以上の整数である。
ここで、受信解析部145におけるNバイトレジスタ235及びMバイトレジスタ270と送信生成部140におけるNバイトレジスタ365及びMバイトレジスタ355とのレジスタ幅を示すNバイト、Mバイト及び段数を示すJ段、K段は、送信処理が受信処理の逆処理であることを踏まえ同一の値に設定してもよいし、それぞれ受信解析部145と送信生成部140とで異なる値を設定してもよいものとする。
Mバイトレジスタ355のデータ格納方法は、Nバイトレジスタ235と同一である。例えば、入力されたデータは、1サイクル毎に、Mバイトレジスタ1〜K(355)まで順次推移し、当該データが入力されてからK+1サイクル後に破棄される。
データセレクタ360は、送信生成部エンジン335が必要とするデータを選択し、送信生成部エンジン335に選択されたデータを出力する。
具体的には、データセレクタ360は、マイクロプログラム解釈器330から入力されたマイクロプログラムに基づいて、暗号エンジン340から入力されたデータ及び遅延レジスタ380−1から送信生成部エンジン335が必要とするデータを選択する。さらに、データセレクタ360は、選択されたデータを送信生成部エンジン335に出力する。このとき、遅延レジスタ380−1の任意のMバイトレジスタ355が選択された場合、当該Mバイトレジスタ355に格納されたデータが送信生成部エンジン335に出力される。
MとKを的確に選択することによって、無駄のない最適な容量のレジスタで、生成送信処理が可能となる。
さらに、送信生成部エンジン335は、送信パケットをMバイトずつ逐次生成することが可能となり、送信パケットの生成直後に当該送信パケットの送信が完了となる。したがって、従来の逐次生成された情報をバッファに格納し、送信パケット全体がバッファに格納された後に送信する場合と比較して、本発明の送信生成部140は、より速くパケットの生成処理及び送信処理を完了することができる。
マイクロプログラム解釈器330は、1サイクル毎に通信情報管理・制御部130に格納されているマイクロプログラムを読み出し、当該マイクロプログラムを解釈する。また、マイクロプログラム解釈器330は、読み出されたマイクロプログラムを所定のデータ長に振り分け、解釈されたマイクロプログラムにしたがって、当該振り分けられた所定のデータ長のマイクロプログラムを送信生成部エンジン335に出力する。また、マイクロプログラム解釈器330は、解釈されたマイクロプログラムをデータセレクタ360に出力する。
図3に示す例では、通信情報管理・制御部130がマイクロプログラムを格納し、管理しているが、送信生成部140にマイクロプログラム格納用のメモリを備え、当該メモリからマイクロプログラムが呼び出されるようにしてもよい。
なお、マイクロプログラムは、書き換えが可能であり、適用される通信サービスに応じて、設定を変更できる。
送信生成部エンジン335は、各種処理を実行する。送信生成部エンジン335は、暗号エンジン340、生成エンジン345、及び認証エンジン350を備える。
暗号エンジン340は、マイクロプログラムに基づいて、生成エンジン345が生成したデータ、並び、通信情報管理・制御部130及び送受信一時バッファ部135から入力されたデータの暗号処理を実行する。
暗号エンジン340には、通信情報管理・制御部130から暗号化のアルゴリズム及び暗号鍵が入力される。
暗号エンジン340は、通信情報管理・制御部130から入力された各情報を用いて、生成エンジン345から入力された所定のブロック長分のデータについて暗号処理を実行する。
暗号エンジン340は、Mバイトレジスタ1〜K(355)で構成される遅延レジスタ380−1に暗号化処理の結果を出力する。
生成エンジン345は、演算ロジックを備え、マイクロプログラムに基づいて、内部の処理機構の動作が決定される状態遷移エンジンである。なお、生成エンジン345は、通信サービスに応じて、任意の専用回路等を備えてもよい。
生成エンジン345は、マイクロプログラム解釈器330から入力されたマイクロプログラム、並びに、データセレクタ360、ワーキングレジスタ325及び送受信一時バッファ部I/F375から入力された情報に基づいて、各種処理を実行する。具体的には、生成エンジン345は、例えば、宛先アドレスなどを用いて送信パケットを生成する。
なお、処理の結果はワーキングレジスタ325、遅延レジスタ380−1に格納され、また、送信パケットは通信データ変調・復調部I/F320に出力される。
生成エンジン345は、演算ロジックとして、一以上の比較器、一以上の格納器、一以上の加減算器、及び一以上の桁上循環加算器を備える。なお、生成エンジン345は、他の機能を実現するための部位を備えてもよい。
生成エンジン345は、マイクロプログラムの解釈結果に基づいて、前述の各構成要素を動作させる。具体的には、マイクロプログラム解釈結果に基づいて、生成エンジン345内部の演算ロジックの各構成要素の接続が変更される。
比較器は、マイクロプログラムの定数、入力データ又はレジスタ値の各々を比較し、比較結果を出力する。つまり、比較器は、二つの入力に対して、一つの結果を出力する。
格納器は、ワーキングレジスタ325、遅延レジスタ380−1に含まれるMバイトレジスタ355又は通信データ変調・復調部I/F320に入力データ及び演算結果を出力する。
加減算器は、入力データ及びレジスタ値を加算又は減算する。桁上循環加算器は、TCP/IPなどで使用されるチェックサムを計算する。
認証エンジン350は、マイクロプログラムに基づいて、送信生成部140に入力されたデータ及び暗号エンジン340から入力されたデータの認証処理を実行する。
認証エンジン350には、通信情報管理・制御部130から、暗号エンジン340によって暗号化された情報に基づいて選択されたメッセージ認証のハッシュ関数アルゴリズム及び認証鍵が入力される。
認証エンジン350は、通信情報管理・制御部130から入力された各情報を用いて、データセレクタ360から入力された所定のブロック長分のデータの認証処理を実行する。認証エンジン350は、認証処理の結果を生成エンジン345に出力する。生成エンジン345は、当該認証処理の結果を用いて送信パケットを生成する。
Nバイトレジスタ365は、通信データ変調・復調部I/F320に出力されるデータを逐次格納するレジスタである。Nバイトレジスタ365は、ワーキングレジスタ325上に構成される。また、J段のNバイトレジスタ365から遅延レジスタ380−2が構成される。なお、Jは、1以上の整数である。
Mバイトレジスタ355と同様に、入力されたデータは、1サイクル毎に、Nバイトレジスタ1〜J(365)まで順次推移し、当該データが入力されてからJ+1サイクル後に破棄される。
データセレクタ370は、マイクロプログラム解釈器330から送信されるマイクロプログラムに基づいて、必要となる情報を選択し、選択された情報を送信パケットとして通信データ変調・復調部I/F320に出力する。
以下、Mバイトレジスタ355のバイト幅M、Nバイトレジスタ365のバイト幅N、遅延レジスタ380−1の段数K、及び遅延レジスタ380−2の段数Jの設定方法の一例を説明する。
Mバイトレジスタ355のバイト幅Mは、暗号エンジン340が実行する暗号処理のブロック長となるように設定される。遅延レジスタ380−1の段数Kは、M×Kの値が、認証エンジン350が実行する認証処理に必要とするブロック長以上になるように設定される。
さらに、段数Kは、認証処理による遅延を考慮して決定される。具体的には、暗号エンジン340が暗号処理を完了する速度と認証エンジン350が認証処理を完了する速度とを考慮して、遅延レジスタ380−1の段数Kが決定される。
なお、認証処理及び暗号処理が必要ない場合、遅延レジスタ380−1の段数Kは1であってもよい。
Nバイトレジスタ365のバイト幅Nは、パケットを構成するアドレスデータ及びサイズデータを考慮し、生成エンジン345が送信パケットを生成するのに最適なバイト幅が設定される。
遅延レジスタ380−2の段数Jは、生成エンジン345が送信パケットを生成するにあたって、どれだけ生成遅延が発生するかを考慮して設定される。段数Jを増やすことによって、対応できる生成遅延の長さが増加する。
本実施形態では、送信生成部140は、図3に示すように生成エンジン345及びマイクロプログラム解釈器330を、それぞれ一つずつ備えているが、本発明はこれに限定されない。送信生成部140は、機能ごとに分けて2つ以上の生成エンジン345及びマイクロプログラム解釈器330を備えていてもよい。
例えば、送信パケットが暗号処理及びメッセージ認証処理が必要なIPsecなどパケットであった場合、一つ目の生成エンジンが暗号化しなければならない領域までの送信パケットを生成し、二つ目の生成エンジンが暗号化後の部分を用いて送信データを生成する。
また、送信パケットの暗号化が必要でない場合は、一つ目の生成エンジンが送信パケット全体を生成する。
また、一つ目の生成エンジンは暗号化する前の送信パケット部分を生成する専用の機能のみを備え、二つ目の生成エンジンは暗号化後の送信パケット部分を生成する機能のみを備える構成であってもよい。
例えば、図6に示したIPsecパケットにおいて、IPパケット630、パディング635、及びトレーラ640を処理する機構を一つ目の生成エンジンが備え、L2ヘッダ600、外側IPヘッダ605、ESPヘッダ610、IV625、及びICV655を処理する機構を二つ目の生成エンジンが備える等が考えられる。
送信生成処理の場合、ネットワーク機器100は、通信データ変調・復調部150を介してIPsecが適用されたTCP/IPパケットを送信する。
図5は、本発明の実施形態の送信生成部140の処理の流れの一例を説明するシーケンス図である。T500〜T550は、それぞれが各処理の区切りの時間を示している。なお、以下送信生成部140がIPsecパケットを送信する場合を例に説明する。
まず、通信情報管理・制御部130が生成エンジン345に生成情報を出力し、生成エンジン345が送信パケットの生成を開始する(T500)。
生成エンジン345は、通信情報管理・制御部130から入力された生成情報からIPsecパケットであると判定した後、入力された生成情報を暗号エンジン340に出力する。生成エンジン345からの入力を受け、暗号エンジン340は、入力された生成情報について暗号処理を開始する(T510)。なお、暗号処理と送信パケットの生成処理とは同時に開始されてもよい。
暗号エンジン340は、暗号化されたデータを遅延レジスタ380−1に格納する。生成エンジン345及び認証エンジン350は、データセレクタ360から選択されたデータを受け取って、生成処理及び認証処理を開始する(T520)。なお、生成処理、暗号処理、及び認証処理は並行して実行される。
生成エンジン345は、通信情報管理・制御部130、送受信一時バッファ部135、暗号エンジン340、認証エンジン350、データセレクタ370、及びワーキングレジスタ325から入力されたデータを用いて処理を実行する。
また、暗号エンジン340は、通信情報管理・制御部130、送受信一時バッファ部135、生成エンジン345、及びワーキングレジスタ325から出力されるデータを用いて処理を実行する。また、認証エンジン350は、通信情報管理・制御部130、データセレクタ360、及びワーキングレジスタ325から出力されるデータを用いて処理を実行する。
生成エンジン345、暗号エンジン340、及び認証エンジン350は、それぞれ、ワーキングレジスタ325、遅延レジスタ380−1、遅延レジスタ380−2及び通信データ変調・復調部150へ処理結果を出力する。
暗号エンジン340が送信データの暗号処理を完了し(T530)、認証エンジン350が認証処理を完了し(T540)、その後、生成エンジン345が送信パケットの生成処理を完了する(T550)。送信パケットの生成の完了と同時に当該送信パケットの送信も完了する(T550)。ここで、生成エンジン345の生成処理の完了とパケットの送信完了とは同時でもよいし、生成エンジン345の生成処理が完了した後に送信が完了してもよい。
以上のように、送信生成部140が、K段のMバイトレジスタ355から構成される遅延レジスタ380−1と、J段のNバイトレジスタ365から構成される遅延レジスタ380−2とを備えることによって、図5に示すような逐次処理を実現することができる。
バイト幅Nは、パケットを構成するアドレスデータ及びサイズデータを考慮して、生成エンジン345がデータを生成するのに最適なバイト幅が設定される。また、段数Jは、送信パケットを生成するにあたって、どれだけ生成遅延が起きるかを考慮して設定される。
バイト幅Mは、暗号エンジン340が処理する暗号化計算のブロック長となるように設定さる。また、段数Kは、M×Kの値が認証エンジンが認証処理に必要とするブロック長以上になり、さらに、認証処理による処理遅延を考慮して、暗号エンジン340が暗号化したデータを生成する速度と認証エンジン350が認証計算完了する速度とを考慮して決定される。
前述したように、バイト幅N、M及び段数J、Kが設定されることによって、送信生成部140は、効率よく処理を実行することができる。
また、前述したように送信生成部140が逐次処理を実行することができるため、ネットワーク機器100は、全パケットがバッファに格納される前に各種処理を実行できる。そのため、ネットワーク機器100は、全パケットを格納するために必要となる容量のバッファを備える必要がない。
なお、データセレクタ360及びデータセレクタ370は、遅延レジスタ380−1及び遅延レジスタ380−2から必要となるバイト幅のデータを出力することができる。出力されるデータのバイト幅は、M又はNより小さくてもよい。
本実施形態では、ネットワーク機器100は、送信生成部140及び受信解析部145を備えていたが、本発明はこれに限定されない。例えば、ソフトウェアが送信生成部140の代わりに処理を実行する場合、ネットワーク機器100は、受信解析部145だけを備える構成であってもよい。
本発明の一実施形態によれば、本発明のアクセラレータ125を搭載したネットワーク機器100は、遅延レジスタ(295−1、295−2、380−1、380−2)を備えることによって通信パケットを逐次処理することができるため、暗復号処理及びメッセージ認証処理が必要な、受信フレームの解析処理及び送信フレームの生成処理を実行することができる。
これによって、ネットワーク機器100は、ホストメモリ110等へのアクセスを抑え、かつ、小容量バッファで、暗復号処理及び認証処理を必要とする通信パケットの送受信処理を高速に実行することができる。
以上、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
以上のように、本発明の一実施形態によれば、受信データを処理する通信装置は、一以上の一時レジスタから構成される遅延レジスタを用いた逐次処理を実行することによって、メモリ等へのデータアクセスの回数を低減しつつ、暗復号処理及びメッセージ認証処理を含む受信データの処理が実行できる。これによって、バッファの容量を抑え、かつ、低周波数動作で、効率よいデータ処理が可能となる。したがって、低コストで、かつ、スループットの低減を防ぐことができる、通信装置及び通信処理方法を提供することができる。
100 ネットワーク機器
105 ホストCPU
110 ホストメモリ
115 周辺I/F
120 ホストバスI/F部
125 アクセラレータ
130 通信情報管理・制御部
135 送受信一時バッファ部
140 送信生成部
145 受信解析部
150 通信データ変調・復調部
155 ネットワーク
200 受信パケットA
205 受信パケットB
210 受信パケットC
215 通信データ変調・復調部I/F
220 ワーキングレジスタ
225 受信解析部本体
230 通信情報管理・制御部I/F
235 Nバイトレジスタ
240 データセレクタ
245 マイクロプログラム解釈器A
250 受信解析部エンジン
255 解析エンジンA
260 認証エンジン
265 復号エンジン
270 Mバイトレジスタ
275 データセレクタ
280 解析エンジンB
285 マイクロプログラム解釈器B
290 送受信一時バッファ部I/F
295 遅延レジスタ
300 送信パケットA
305 送信パケットB
310 送信パケットC
315 通信情報管理・制御部I/F
320 通信データ変調・復調部I/F
325 ワーキングレジスタ
330 マイクロプログラム解釈器
335 送信生成部エンジン
340 暗号エンジン
345 生成エンジン
350 認証エンジン
355 Mバイトレジスタ
360 データセレクタ
365 Nバイトレジスタ
370 データセレクタ
375 送受信一時バッファ部I/F
380 遅延レジスタ
385 送信生成部本体
600 L2ヘッダ
605 外側IPヘッダ
610 ESP(Encapsulating Security Payload)
615 SPI(Security Parameter Index)(1)
620 シーケンス番号
625 IV
630 IPパケット
635 パディング
640 トレーラ
645 パディング長
650 ヘッダ
655 ICV
660 暗号化パケット

Claims (13)

  1. ネットワークに接続され、前記ネットワークからデータを受信し、及び前記ネットワークにデータを送信する通信装置であって、
    プロセッサと、前記プロセッサと接続されるメモリと、前記プロセッサに接続され、前記通信装置に機器を接続するための周辺インタフェースと、前記受信したデータ及び前記送信すべきデータを制御及び管理する制御部と、前記受信したデータ及び前記送信すべきデータを格納するバッファ部と、前記プロセッサと前記制御部及び前記バッファ部とを接続するためのホストバスインタフェースと、前記受信したデータを解析する受信解析部と、前記ネットワークからデータを受信し、又は前記ネットワークにデータを送信する通信部と、を備え、
    前記通信部は、前記ネットワークから受信したデータを所定の長さに分割し、前記所定の長さに分割されたデータを受信情報として前記受信解析部に出力し、
    前記受信解析部は、
    前記制御部、前記バッファ部、及び前記通信部とそれぞれ接続され、
    前記制御部から入力される情報又は前記受信情報を受信する受信部と、
    前記受信情報を格納するレジスタと、
    前記受信情報を一時的に格納する一以上の第1の一時レジスタから構成される、第1の遅延レジスタと、
    所定の長さの前記受信情報を前記第1の遅延レジスタから選択し、前記選択された所定の長さの受信情報を出力する第1のデータセレクタ部と、
    前記第1のデータセレクタ部から入力された受信情報に対して認証処理を実行する認証部と、
    前記第1のデータセレクタ部から入力された受信情報に対して復号処理を実行する復号部と、
    前記第1のデータセレクタ部から入力された受信情報に対して解析処理を実行し、前記認証処理の結果、前記復号処理の結果、及び前記解析処理の結果を解析結果として出力する第1の解析部と、
    前記認証部、前記復号部、及び前記第1の解析部の処理を実行するためのマイクロプログラムと、
    前記マイクロプログラムを解釈し、前記認証部、前記復号部、及び前記第1の解析部の少なくとも一つに、前記解釈されたマイクロプログラムを出力する第1の解釈部と、
    前記制御部と接続するための制御部インタフェースと、
    前記バッファ部に接続するためのインタフェースと、
    前記通信部と接続するためのインタフェースと、を備えることを特徴とする通信装置。
  2. 前記受信解析部は、周期的に処理を実行し、
    前記第1の遅延レジスタは、
    前記受信情報が入力された場合、一つの前記第1の一時レジスタに前記受信情報を格納し、
    次の周期に、前記受信情報を次の前記第1の一時レジスタに格納し、次に入力された前記受信情報を前記第1の一時レジスタに格納し、
    所定の時間が経過した後に、前記受信情報を破棄することを特徴とする請求項1に記載の通信装置。
  3. 前記第1の一時レジスタは、第1数のバイト長の前記受信情報を格納し、
    前記第1の遅延レジスタは、第2数の前記第1の一時レジスタを含み、
    前記第1数は、前記第1の解析部が処理する前記受信情報のデータ長以上に設定され、
    前記第2数は、前記第1数と前記第2数との積が、前記認証部、前記復号部、及び前記第1の解析部のそれぞれが処理する前記受信情報のデータ長の最小公倍数以上の数に設定されることを特徴とする請求項1に記載の通信装置。
  4. 前記第1の解析部は、前記受信情報のうち暗号化されていない部分について解析処理を実行し、
    前記受信解析部は、
    前記復号部から入力される復号結果を一時的に格納する一以上の第2の一時レジスタから構成される、第2の遅延レジスタと、
    所定の長さの前記復号結果を前記第2の遅延レジスタから選択し、前記選択された復号結果を出力する第2のデータセレクタ部と、
    前記第2のデータセレクタ部から入力された復号結果に対して解析処理を実行する第2の解析部と、
    前記マイクロプログラムを解釈し、前記第2の解析部に前記解釈されたマイクロプログラムを出力する第2の解釈部と、
    を備えることを特徴とする請求項1に記載の通信装置。
  5. ネットワークに接続され、前記ネットワークからデータを受信し、及び前記ネットワークにデータを送信する通信装置であって、
    プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記通信装置に機器を接続するための周辺インタフェースと、前記受信したデータ及び前記送信すべきデータを制御及び管理する制御部と、前記受信したデータ及び前記送信すべきデータを格納するバッファ部と、前記プロセッサと前記制御部及び前記バッファ部とを接続するためのホストバスインタフェースと、前記送信すべきデータを生成する送信生成部と、前記ネットワークからデータを受信し、又は前記ネットワークにデータを送信する通信部と、を備え、
    前記送信生成部は、
    前記制御部、前記バッファ部、及び前記通信部とそれぞれ接続され、
    前記制御部又は前記バッファ部から入力された情報を格納するレジスタと、
    入力された情報に対して認証処理を実行する認証部と、
    入力された情報に対して暗号処理を実行する暗号部と、
    入力された情報に基づいて前記送信すべきデータの生成処理を実行し、前記認証処理の結果、前記暗号処理の結果、及び前記生成処理の結果を生成結果として出力する第1の生成部と、
    前記認証部、前記暗号部、及び前記第1の生成部の処理内容を実行するためのマイクロプログラムと、
    前記マイクロプログラムを解釈し、前記認証部、前記暗号部、及び前記第1の生成部の少なくとも一つに、前記解釈されたマイクロプログラムを出力する第1の解釈部と、
    前記暗号部から入力される暗号化された情報を一時的に格納する一以上の第1の一時レジスタから構成される、第1の遅延レジスタと、
    前記認証部及び前記第1の生成部が必要とする、所定の長さの前記暗号化された情報を前記第1の遅延レジスタから選択し、前記選択され、暗号化された情報を前記認証部及び前記第1の生成部に出力する第1のデータセレクタ部と、
    前記制御部と接続するための制御部インタフェースと、
    前記バッファ部に接続するためのインタフェースと、
    前記通信部と接続するためのインタフェースと、
    を備えることを特徴とする通信装置。
  6. 前記送信生成部は、周期的に処理を実行し、
    前記第1の遅延レジスタは、
    前記暗号化された情報が入力された場合、一つの前記第1の一時レジスタに前記暗号化された情報を格納し、
    次の周期に、前記暗号化された情報を次の前記1時レジスタに格納し、次に入力された前記暗号化された情報を前記第1の一時レジスタに格納し、
    所定の時間が経過した後に、前記暗号化された情報を破棄することを特徴とする請求項5に記載の通信装置。
  7. 前記第1の一時レジスタは、第1数のバイト長の前記暗号化された情報を格納し、
    前記第1の遅延レジスタは、第2数の前記第1の一時レジスタを含み、
    前記第1数は、前記暗号部が処理する前記入力された情報のデータ長と同一に設定され、
    前記第2数は、前記認証処理の遅延及び前記暗号処理の遅延を考慮し、かつ、前記第1数と前記第2数との積が、前記認証部が処理する前記入力された情報のデータ長以上の数に設定されることを特徴とする請求項5に記載の通信装置。
  8. 前記第1の生成部は、前記送信すべきデータのうち暗号化しない部分の生成処理を実行し、
    前記送信生成部は、
    前記生成結果を一時的に格納する一以上の第2の一時レジスタから構成される、第2の遅延レジスタと、
    所定の長さの前記生成結果を前記第2の遅延レジスタから選択し、前記選択された生成結果を出力する第2のデータセレクタ部と、
    前記第2のデータセレクタ部から入力された生成結果に基づいて前記送信データの生成処理を実行する第2の生成部と、
    前記マイクロプログラムを解釈し、前記第2の生成部に前記解釈されたマイクロプログラムを出力する第2の解釈部と、
    を備えることを特徴とする請求項5に記載の通信装置。
  9. ネットワークに接続され、前記ネットワークからデータを受信し、及び前記ネットワークにデータを送信する通信装置における通信処理方法であって、
    前記通信装置は、
    プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、前記通信装置に機器を接続するための周辺インタフェースと、前記受信したデータ及び前記送信すべきデータを制御及び管理する制御部と、前記受信したデータ及び前記送信すべきデータを格納するバッファ部と、前記プロセッサと前記制御部及び前記バッファ部とを接続するためのホストバスインタフェースと、前記受信したデータを解析する受信解析部と、前記ネットワークからデータを受信し、又は前記ネットワークにデータを送信する通信部と、を備え、
    前記通信部は、前記ネットワークから受信したデータを所定の長さに分割し、前記所定の長さに分割されたデータを受信情報として前記受信解析部に出力し、
    前記受信解析部は、
    前記制御部、前記バッファ部、及び前記通信部とそれぞれ接続され、
    前記制御部から入力される情報又は前記受信情報を受信する受信部と、
    前記受信情報を格納する第1のレジスタと、
    前記受信情報を一時的に格納する一以上の第1の一時レジスタから構成される、第1の遅延レジスタと、
    所定の長さの前記受信情報を出力する第1のデータセレクタ部と、
    前記受信情報に対して認証処理を実行する第1の認証部と、
    前記受信情報に対して復号処理を実行する復号部と、
    前記受信情報に対して解析処理を実行する第1の解析部と、
    前記第1の認証部、前記復号部、前記第1の解析部の処理を実行するための第1のマイクロプログラムと、
    前記第1のマイクロプログラムを解釈し、前記第1の認証部、前記復号部、及び前記第1の解析部の少なくとも一つに、前記解釈された第1のマイクロプログラムを出力する第1の解釈部と、
    前記制御部と接続するための第1の制御部インタフェースと、
    前記バッファ部に接続するための第1のバッファ部インタフェースと、
    前記通信部と接続するための第1の通信部インタフェースと、
    を備え、
    前記方法は、
    前記第1のデータセレクタ部が、前記第1の認証部、前記復号部、及び前記第1の解析部が必要とする所定の長さの前記受信情報を前記第1の遅延レジスタから選択するステップと、
    前記第1のデータセレクタ部が、前記選択された所定の長さの受信情報を前記第1の認証部、前記復号部、及び前記第1の解析部にそれぞれ出力するステップと、
    前記第1の認証部が、前記第1のデータセレクタ部から入力された前記所定の長さの受信情報に対して前記認証処理を実行するステップと、
    前記復号部が、前記第の1データセレクタ部から入力された前記所定の長さの受信情報に対して前記復号処理を実行するステップと、
    前記第1の解析部が、前記第の1データセレクタ部から入力された前記所定の長さの受信情報に対して前記解析処理を実行するステップと、
    前記第1の解析部が、前記認証処理の結果、前記復号処理の結果、及び前記解析処理の結果を解析結果として出力するステップと、を含むことを特徴とする通信処理方法。
  10. 前記通信装置は、さらに、前記送信すべきデータを生成する送信生成部を備え、
    前記送信生成部は、
    前記制御部、前記バッファ部及び前記通信部とそれぞれ接続され、
    前記制御部又は前記バッファ部から入力された情報を格納する第2のレジスタと、
    前記制御部又は前記バッファ部から入力された情報に対して認証処理を実行する第2の認証部と、
    前記制御部又は前記バッファ部から入力された情報に対して暗号処理を実行する暗号部と、
    前記制御部又は前記バッファ部から入力された情報に基づいて前記送信すべきデータの生成処理を実行する第1の生成部と、
    前記第2の認証部、前記暗号部、及び前記第1の生成部の処理を実行するための第2のマイクロプログラムと、
    前記第2のマイクロプログラムを解釈し、前記第2の認証部、前記暗号部、及び前記第1の生成部の少なくとも一つに、前記解釈された第2のマイクロプログラムを出力する第2の解釈部と、
    前記暗号部から入力される暗号化された情報を一時的に格納する一以上の第2の一時レジスタから構成される、第2の遅延レジスタと、
    所定の長さの前記暗号化された情報を出力する第2のデータセレクタ部と、
    前記制御部と接続するための第2の制御部インタフェースと、
    前記バッファ部に接続するための第2のバッファ部インタフェースと、
    前記通信部と接続するための第2の通信部インタフェースと、
    を備え、
    前記方法は、
    前記第2のデータセレクタ部が、前記認証部及び前記第1の生成部が必要とする所定の長さの前記暗号化された情報を選択するステップと、
    前記第2のデータセレクタ部が、前記選択され、暗号化された情報を前記認証部及び前記第1の生成部にそれぞれ出力するステップと、
    前記第1の生成部が、前記制御部又は前記バッファ部から入力された情報、及び前記第2のデータセレクタ部から入力された前記所定の長さの暗号化された情報とに基づいて、前記送信データの生成処理を実行するステップと、
    前記第2の認証部が、前記制御部又は前記バッファ部から入力された情報、及び前記第2のデータセレクタ部から入力された前記所定の長さの暗号化された情報に対して認証処理を実行するステップと、
    前記第1の生成部が、前記認証処理の結果、前記暗号処理の結果、及び前記生成処理の結果を生成結果として出力するステップと、を含むことを特徴とする請求項9に記載の通信処理方法。
  11. 前記受信解析部及び前記送信生成部は、周期的に処理を実行し、
    前記第1の遅延レジスタは、
    前記受信情報が入力された場合、一つの前記第1の一時レジスタに前記受信情報を格納し、
    次の周期に、前記受信情報を次の前記第1の一時レジスタに格納し、
    次に入力された前記受信情報を前記第1の一時レジスタに格納し、
    所定の時間が経過した後に、前記受信情報を破棄し、
    前記第2の遅延レジスタは、
    前記暗号化された情報が入力された場合、一つの前記第2の一時レジスタに前記暗号化された情報を格納し、
    次の周期に、前記暗号化された情報を次の前記第2の一時レジスタに格納し、次に入力された前記暗号化された情報を前記第2の一時レジスタに格納し、
    所定の時間が経過した後に、前記暗号化された情報を破棄することを特徴とする請求項10に記載の通信処理方法。
  12. 前記第1の一時レジスタは、第1数のバイト長の前記受信情報を格納し、
    前記第1の遅延レジスタは、第2数の前記第1の一時レジスタを含み、
    前記第1数は、前記第1の解析部が処理する前記受信情報のデータ長以上に設定され、
    前記第2数は、前記第1数と前記第2数との積が、前記第1の認証部、前記復号部、及び前記第1の解析部のそれぞれが処理する前記受信情報のデータ長の最小公倍数以上の数に設定され、
    前記第2の一時レジスタは、第3数のバイト長の前記暗号化された情報を格納し、
    前記第2の遅延レジスタは、第4数の前記第2の一時レジスタを含み、
    前記第3数は、前記暗号部が処理する前記入力された情報のデータ長と同一に設定され、
    前記第4数は、前記第2の認証部が実行する認証処理の遅延及び前記暗号部が実行する暗号処理の遅延を考慮し、かつ、前記第3数と前記第4数との積が、前記第2の認証部が処理する、前記制御部又は前記バッファ部から入力された情報のデータ長以上の数に設定されることを特徴とする請求項10に記載の通信処理方法。
  13. 前記第1の解析部は、前記受信情報のうち暗号化されていない部分について解析処理を実行し、
    前記受信解析部は、前記復号部から入力される復号結果を一時的に格納する一以上の第3の一時レジスタから構成される、第3の遅延レジスタと、前記復号結果に対して解析処理を実行する第2の解析部と、前記復号結果を出力する第3のデータセレクタ部と、前記第1のマイクロプログラムを解釈し、前記第2の解析部に前記解釈された第1のマイクロプログラムを出力する第3の解釈部と、を備え、
    前記第1の生成部は、前記送信すべきデータのうち暗号化しない部分の生成処理を実行し、
    前記送信生成部は、前記生成結果を一時的に格納する一以上の第4の一時レジスタから構成される、第4の遅延レジスタと、前記生成結果に基づいて前記送信データの生成処理を実行する第2の生成部と、前記生成結果を出力する第4のデータセレクタ部と、前記第2のマイクロプログラムを解釈し、前記第2の生成部に前記解釈された第2のマイクロプログラムを出力する第4の解釈部と、を備え、
    前記方法は、
    前記第3のデータセレクタ部が、前記第2の解析部が必要とする所定の長さの前記復号結果を前記第3の遅延レジスタから選択するステップと、
    前記第3のデータセレクタ部が、前記選択された所定の長さの復号結果を前記第2の解析部に出力するステップと、
    前記第3の解析部が、前記第の3データセレクタ部から入力された前記所定の長さの復号結果に対して前記解析処理を実行するステップと、
    前記第4のデータセレクタ部が、前記第2の生成部が必要とする所定の長さの前記生成結果を前記第4の遅延レジスタから選択するステップと、
    前記第4のデータセレクタ部が、前記選択された所定の長さの生成結果を前記第2の生成部に出力するステップと、
    前記第2の生成部が、前記第4のデータセレクタ部から入力された前記所定の長さの生成結果に基づいて、前記送信データの生成処理を実行するステップと、を含むことを特徴とする請求項10に記載の通信処理方法。
JP2009118889A 2009-05-15 2009-05-15 通信装置及び通信処理方法 Expired - Fee Related JP5149863B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009118889A JP5149863B2 (ja) 2009-05-15 2009-05-15 通信装置及び通信処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009118889A JP5149863B2 (ja) 2009-05-15 2009-05-15 通信装置及び通信処理方法

Publications (2)

Publication Number Publication Date
JP2010268293A true JP2010268293A (ja) 2010-11-25
JP5149863B2 JP5149863B2 (ja) 2013-02-20

Family

ID=43364899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009118889A Expired - Fee Related JP5149863B2 (ja) 2009-05-15 2009-05-15 通信装置及び通信処理方法

Country Status (1)

Country Link
JP (1) JP5149863B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095069A (zh) * 2021-10-29 2022-02-25 中国电子科技集团公司第五十四研究所 一种星载综合化有效载荷装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09107523A (ja) * 1995-10-09 1997-04-22 Nippon Telegr & Teleph Corp <Ntt> 映像蓄積変換方法及び装置
JP2004180234A (ja) * 2002-11-29 2004-06-24 Matsushita Electric Ind Co Ltd 暗号パケット処理装置
JP2005167870A (ja) * 2003-12-05 2005-06-23 Sony Corp データ処理方法およびデータ処理装置
JP2006018426A (ja) * 2004-06-30 2006-01-19 Alpine Electronics Inc データ処理装置及びデータ転送方法
JP2007166279A (ja) * 2005-12-14 2007-06-28 Nippon Telegr & Teleph Corp <Ntt> IPsec回路及びIPsec処理方法
JP2008067152A (ja) * 2006-09-08 2008-03-21 Renesas Technology Corp データ処理装置
JP2010193364A (ja) * 2009-02-20 2010-09-02 Hitachi Ltd 通信プロトコル処理回路、情報処理装置及び通信プロトコル処理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09107523A (ja) * 1995-10-09 1997-04-22 Nippon Telegr & Teleph Corp <Ntt> 映像蓄積変換方法及び装置
JP2004180234A (ja) * 2002-11-29 2004-06-24 Matsushita Electric Ind Co Ltd 暗号パケット処理装置
JP2005167870A (ja) * 2003-12-05 2005-06-23 Sony Corp データ処理方法およびデータ処理装置
JP2006018426A (ja) * 2004-06-30 2006-01-19 Alpine Electronics Inc データ処理装置及びデータ転送方法
JP2007166279A (ja) * 2005-12-14 2007-06-28 Nippon Telegr & Teleph Corp <Ntt> IPsec回路及びIPsec処理方法
JP2008067152A (ja) * 2006-09-08 2008-03-21 Renesas Technology Corp データ処理装置
JP2010193364A (ja) * 2009-02-20 2010-09-02 Hitachi Ltd 通信プロトコル処理回路、情報処理装置及び通信プロトコル処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095069A (zh) * 2021-10-29 2022-02-25 中国电子科技集团公司第五十四研究所 一种星载综合化有效载荷装置
CN114095069B (zh) * 2021-10-29 2023-12-29 中国电子科技集团公司第五十四研究所 一种星载综合化有效载荷装置

Also Published As

Publication number Publication date
JP5149863B2 (ja) 2013-02-20

Similar Documents

Publication Publication Date Title
US8458461B2 (en) Methods and apparatus for performing authentication and decryption
Dierks et al. RFC 5246: The transport layer security (TLS) protocol version 1.2
US9832015B2 (en) Efficient key derivation for end-to-end network security with traffic visibility
Dierks et al. The transport layer security (TLS) protocol version 1.2
US11658803B2 (en) Method and apparatus for decrypting and authenticating a data record
US7685434B2 (en) Two parallel engines for high speed transmit IPsec processing
US11870761B1 (en) Hardware security accelerator
US8121284B2 (en) Information processing system, information processing method, and information processing program
EP1203477B1 (en) Protection of communications
CN109428867B (zh) 一种报文加解密方法、网路设备及系统
US20100306540A1 (en) Encryption processing method and encryption processing device
US8281122B2 (en) Generation and/or reception, at least in part, of packet including encrypted payload
Dierks et al. RFC 4346: The transport layer security (TLS) protocol version 1.1
US20180176230A1 (en) Data packet transmission method, apparatus, and system, and node device
US8793505B2 (en) Encryption processing apparatus
EP3808026A1 (en) Device for data encryption and integrity
Agosta et al. Cyber-security analysis and evaluation for smart home management solutions
KR101707602B1 (ko) 해시 트리 기반 보안 메시지 인증 방법 및 이를 위한 장치
JP5149863B2 (ja) 通信装置及び通信処理方法
JP4212339B2 (ja) メッセージダイジェスト生成回路およびパディング回路
Kiningham et al. CESEL: Securing a Mote for 20 Years.
JP2009098321A (ja) 情報処理装置
Bäumer et al. Terrapin Attack: Breaking SSH Channel Integrity By Sequence Number Manipulation
Birrane, III et al. RFC 9173: Default Security Contexts for Bundle Protocol Security (BPSec)
de Boer Secure communication channels for the mTask system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121130

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees