(57)【要約】【課題】パケット暗号処理の高速化を図る。【解決手段】パケット識別手段１１は、入力した対象パケットを解析し、対象パケットに適用するポリシーを識別する。そして、識別したポリシーに関するポリシー情報を生成し、対象パケットとともにヘッダ処理手段１２へ引き渡す。ヘッダ処理手段１２は、ポリシー情報が生成された対象パケットについて、ポリシー情報に基づいてヘッダ部の変換処理を行い、暗号処理手段１３へ引き継ぐ。暗号処理手段１３は、ヘッダ部が変換された対象パケットに対し、ポリシーに基づく所定の暗号処理を施し、出力する。パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３は、互いに独立して動作し、パイプライン的に上記の処理を行う。【選択図】図１
2008035300.tif 000002
【特許請求の範囲】
【請求項１】
入力したパケットに対して所定の暗号処理を施して出力するパケット暗号処理装置において、
入力された処理対象の対象パケットの内容を解析して前記対象パケットに適用するポリシーを識別し、前記ポリシーに関するポリシー情報を生成するパケット識別手段と、
前記パケット識別手段による識別処理が終了した前記対象パケットのヘッダ部を前記ポリシー情報に基づいて変換処理するヘッダ処理手段と、
前記対象パケットに対し、前記ポリシー情報に基づき、暗号処理、復号処理、及び認証処理のうち少なくともひとつを含む所定の暗号処理を施して出力する暗号処理手段と、
を具備し、前記パケット識別手段、前記ヘッダ処理手段、及び前記暗号処理手段は、互いに独立して動作することを特徴とするパケット暗号処理装置。
【請求項２】
前記パケット暗号処理装置は、前記パケット識別手段、前記ヘッダ処理手段、及び前記暗号処理手段間で次段へ引き継ぐ前記対象パケット及び前記ポリシー情報を含む引継情報を一時保存するパケットバッファを具備し、
前記パケット識別手段は、識別処理を行った前記対象パケットと前記引継情報を前記パケットバッファに格納して前記ヘッダ処理手段または前記暗号処理手段へ前記対象パケットに対する処理を引き継ぎ、
前記パケット識別手段の次段の前記ヘッダ処理手段または前記暗号処理手段は、処理を行った前記対象パケット及び前記引継情報を前記パケットバッファに格納して次段の前記暗号処理手段または前記ヘッダ処理手段へ前記対象パケットに対する処理を引き継ぐ、
ことを特徴とする請求項１記載のパケット暗号処理装置。
【請求項３】
前記パケットバッファは、
前記パケット識別手段から、前記パケット識別手段の次に起動される前記ヘッダ処理手段または前記暗号処理手段へ前記対象パケット及び前記引継情報を引き渡す第１のパケットバッファと、
前記パケット識別手段の次に起動される前記ヘッダ処理手段または前記暗号処理手段から、その後に起動される前記暗号処理手段または前記ヘッダ処理手段へ前記対象パケット及び前記引継情報を引き渡す第２のパケットバッファと、
をそれぞれ独立して有することを特徴とする請求項２記載のパケット暗号処理装置。
【請求項４】
前記パケットバッファは、
前記パケット識別手段から、前記パケット識別手段の次に起動される前記ヘッダ処理手段または前記暗号処理手段へ前記対象パケット及び前記引継情報を渡す時と、前記パケット識別手段の次に起動される前記ヘッダ処理手段または前記暗号処理手段から、その後に起動される前記暗号処理手段または前記ヘッダ処理手段へ前記対象パケット及び前記引継情報を渡す時に使用されるひとつのバッファで構成され、
前記パケット識別手段、前記ヘッダ処理手段、及び前記暗号処理手段は、調停を行って前記パケットバッファにアクセスする、
ことを特徴とする請求項２記載のパケット暗号処理装置。
【請求項５】
前記パケット識別手段は、前記パケットの内容を解析する際に、前記パケットのヘッダ部を解析して、ヘッダ情報の挿入位置や変換位置を含むヘッダ解析情報を生成し、前記ヘッダ処理手段へ通知する、
ことを特徴とする請求項１記載のパケット暗号処理装置。
【請求項６】
入力したパケットに対して所定の暗号処理を施して出力するパケット暗号処理方法において、
パケット識別手段が、入力された処理対象の対象パケットの内容を解析して前記対象パケットに適用するポリシーを識別し、前記ポリシーに関するポリシー情報を生成する工程と、
ヘッダ処理手段が、前記パケット識別手段による識別処理が終了した前記対象パケットのヘッダ部を前記ポリシー情報に基づいて変換処理する工程と、
暗号処理手段が、前記対象パケットに対し、前記ポリシー情報に基づき、暗号処理、復号処理、及び認証処理のうち少なくともひとつを含む所定の暗号処理を施して出力する工程と、
を互いに独立して実行することを特徴とするパケット暗号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパケット暗号処理装置及びパケット暗号処理方法に関し、特に入力したパケットに対して所定の暗号処理を施して出力するパケット暗号処理装置及びパケット暗号処理方法に関する。
【背景技術】
【０００２】
近年、インターネットを介して様々な情報が交換されているが、不特定多数が接続するインターネットを介した通信では、第三者が通信内容を盗聴・改竄する危険性が常につきまとう。このため、機密性が高く、改竄されてはならない情報をインターネット経由で送る場合には、暗号及び認証処理を行うことが必須となる。また、公開されているインターネットとは異なり、特定の利用者のみが接続できる閉じたネットワークを使用した通信サービスや、社内ＬＡＮ（Local Area Network）を利用した通信においても、万一の漏洩の危険性を考えて、暗号及び認証処理を行うことが広まりつつある。
【０００３】
暗号及び認証処理を行う従来のパケット暗号処理装置について説明する。図１４は、従来のパケット暗号処理装置の構成を示す構成図である。
従来のパケット暗号処理装置は、装置全体の制御とともにパケット処理を実行するＣＰＵ（Central Processing Unit）９１と、パケットなどのデータを一時保存するメモリ９２、暗号処理と認証処理を行う暗号認証専用アクセラレータ９３、及び通信パケットの入出力処理を行う外部インタフェース（Ｉ／Ｆ）９４，９５を有する。
【０００４】
このようなパケット暗号処理装置が、たとえば、ＶＰＮ（Virtual Private Network）を構成する場合には、以下の処理工程でパケットの暗号化処理が行われる。
（１）入力された該当パケットをどのようなポリシーで処理すればよいかを決める識別工程。なお、ポリシーとは、暗号／認証アルゴリズムや、暗号／認証鍵についての定義を意味する。
（２）識別されたポリシーによって、ヘッダの付加や変換を行うヘッダ処理工程。
（３）識別されたポリシーによって、保護するデータ部分に暗号／認証処理を行う工程。
【０００５】
このうち、（１）識別工程及び（２）ヘッダ処理工程は、ユーザが独自のポリシーを設定する場合があるなど、画一的な対応処理が難しく、ＣＰＵ９１がソフトウェアを実行することによって実現していた。続く（３）暗号／認証処理工程は、最近では暗号認証専用アクセラレータ９３によって処理を行うケースが増えてきている。暗号認証専用アクセラレータ９３は、暗号／認証アルゴリズムの計算のために作られた専用回路であり、暗号／認証処理の高速化が図れる。なお、安価な装置などでは、識別工程及びヘッダ処理工程と同様にＣＰＵ９１によって実行される場合もある。
【０００６】
このような構成のパケット暗号処理装置では、ＣＰＵ９１によって時系列的に識別処理工程と、ヘッダ処理工程とが実行される。その後、処理が施された対象パケットは、暗号認証専用アクセラレータ９３に入力される。暗号認証専用アクセラレータ９３では、専用回路によって暗号化処理が高速に実行されるため、スループットの向上を図ることができる。
【０００７】
また、暗号／認証処理のスループット向上のため、パケットを所定のデータブロックに分割し、データブロック単位で暗号処理部にデータブロックを順次入力するとともに、処理が終了したデータブロックを以降の認証処理部へ順次入力させることにより、暗号処理と認証処理を並行して動作させるセキュリティ通信パケット処理装置が提案されている（たとえば、特許文献１参照）。
【特許文献１】特開２００２−２８７６２０号公報（段落番号〔００１６〕〜〔００２４〕、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来のパケット暗号処理装置では、全体を制御するＣＰＵによるソフトウェア処理がボトルネックとなり、スループットの向上が図れないという問題点があった。
たとえば、前述のパケット暗号処理装置では、高速な暗号認証専用アクセラレータ９３を備えるなどして、暗号化処理及び認証処理を高速化することによって、全体のスループットの向上を図っていた。このような手法はパケット長が長く、暗号認証専用アクセラレータ９３の処理対象部分が大きい場合には効果的である。
【０００９】
一方、ソフトウェアによって実行される識別処理では、たとえば、識別情報とポリシーを対応付けた参照テーブルなどを予め用意しておき、参照テーブルを検索して該当するポリシーを抽出する処理が行われる。このような処理では、参照テーブルが大きい場合には、識別処理だけでもパケットの通信速度に追いつかない場合がある。また、パケット処理では、たとえば、トンネル用のヘッダ付加やＩＰＳＥＣ（IP Security Protocol）用のＥＳＰ（Encapsulating Security Payload）ヘッダやＡＨ（Authentication Header）ヘッダの付加を行う。このような処理もメモリアクセスによるオーバーヘッドなどのために、パケット長が短い場合には無視できない負荷となる場合がある。
【００１０】
このような識別処理及びパケット処理は、パケット長によらず一定の処理時間がかかる。このため、パケット長が短い場合には、パケット暗号処理全体に占める識別処理とヘッダ処理の割合が相対的に大きくなる。
【００１１】
図１５は、従来のパケット暗号処理装置における暗号処理手順を示したシーケンス図である。
従来のパケット暗号処理装置では、パケット１が入力されると、ＣＰＵ９１がパケット１に関する識別工程９６ａとヘッダ処理工程９６ｂを実行し、処理終了後のデータが暗号認証専用アクセラレータ９３に引き渡され暗号処理工程９６ｃが実行される。
【００１２】
パケット１の処理工程が終了する前に次のパケット２が入力されても、全体を制御するＣＰＵ９１が最初の処理を行うため、パケット１に対する処理が終了するまで、次のパケットに対する処理が開始されない。すなわち、パケット１の処理工程が終了し、ＣＰＵ９１が処理可能となった時点から、パケット２に対する識別工程９７ａ、ヘッダ処理工程９７ｂ、及び暗号処理工程９７ｃが実行される。このように、一連のパケット処理工程が終了するまで、次のパケット処理が行われなかった。このため、パケット長が短い場合など、識別処理やヘッダ処理のオーバーヘッドが占める割合が大きくなる場合には、これがボトルネックとなり、暗号処理工程を高速化しても、最終的なスループットの向上が図れない場合が生じる。
【００１３】
従来、このようなボトルネックが原因で、スループットが暗号認証専用アクセラレータの持つ能力の数分の１以下になってしまう場合も稀ではなかった。
本発明はこのような点に鑑みてなされたものであり、ボトルネックを解消し、パケット暗号処理の高速化を可能とするパケット暗号処理装置及びパケット暗号処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明では上記課題を解決するために、図１に示すようなパケット暗号処理装置１０が提供される。パケット暗号処理装置１０は、対象パケットを識別するパケット識別手段１１、ヘッダ変換処理を行うヘッダ処理手段１２、及び対象パケットに応じた所定の暗号処理を行う暗号処理手段１３を具備し、入力したパケットに対して所定の暗号処理を施して出力する。
【００１５】
パケット識別手段１１は、入力された処理対象の対象パケットの内容を解析して対象パケットに適用するポリシーを識別する。そして、識別されたポリシーに関するポリシー情報を生成する。ヘッダ処理手段１２は、パケット識別手段１１による識別処理が終了した対象パケットのヘッダ部をポリシー情報に基づいて変換処理する。暗号処理手段１３は、対象パケットを入力すると、ポリシー情報に基づき、対象パケットに暗号処理、復号処理、及び認証処理のうち、少なくともひとつを含む所定の暗号処理を施して出力する。なお、パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３は、互いに独立して動作する。
【００１６】
このようなパケット暗号処理装置１０によれば、処理対象の対象パケットが入力されると、最初にパケット識別手段１１が、取得した対象パケットの内容を解析して、対象パケットに適用するポリシーを識別する。ポリシーとは、暗号アルゴリズムなど、暗号／認証処理動作を決める各種定義を指す。そして、識別したポリシーに関するポリシー情報を生成し、対象パケットとともにヘッダ処理手段１２へ引き渡す。ヘッダ処理手段１２は、識別処理が終了し、ポリシー情報が生成された対象パケットについて、ポリシー情報に基づいてヘッダ部の変換処理を行う。暗号処理手段１３は、対象パケットに対し、ポリシーに基づく所定の暗号処理を施し、出力する。パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３は、互いに独立して動作し、パイプライン的に上記の処理を行う。
【００１７】
また、上記課題を解決するために、入力したパケットに対して所定の暗号処理を施して出力するパケット暗号処理方法において、パケット識別手段が、入力された処理対象の対象パケットの内容を解析して対象パケットに適用するポリシーを識別し、ポリシーに関するポリシー情報を生成する工程と、ヘッダ処理手段が、パケット識別手段による識別処理が終了した対象パケットのヘッダ部をポリシー情報に基づいて変換処理する工程と、暗号処理手段が、対象パケットに対し、ポリシー情報に基づき、暗号処理、復号処理、及び認証処理のうち少なくともひとつを含む所定の暗号処理を施して出力する工程と、を互いに独立して実行することを特徴とするパケット暗号処理方法、が提供される。
【００１８】
このようなパケット暗号処理方法によれば、パケット識別手段による対象パケットに適用するポリシーを対象パケットの内容を解析することによって識別する工程と、ヘッダ処理手段によるポリシーに基づく対象パケットのヘッダ部変換の処理工程と、暗号処理手段によるポリシーに基づく対象パケットに対する所定の暗号処理工程と、がパイプライン的に実行される。
【発明の効果】
【００１９】
本発明のパケット暗号処理では、パケット識別処理、ヘッダ変換処理、及び暗号処理を各々独立して動作する処理手段で構成する。これにより、パケット暗号処理における３段階の処理工程（識別工程、ヘッダ処理工程、及び暗号／認証処理工程）をパイプライン的に実行させることが可能となり、パケット暗号処理の高速化が図れる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。矢印の実線は、データの流れを示し、点線は、パケット暗号処理の工程を示している。
【００２１】
本発明に係るパケット暗号処理装置１０は、パケットからポリシーを識別するパケット識別手段１１、ポリシーに基づきパケットのヘッダ部を変換するヘッダ処理手段１２、ポリシーに基づく所定の暗号処理を行う暗号処理手段１３、及び各処理手段間の引継ぎ情報を一時保存するパケットバッファ１４ａ，１４ｂと、外部Ｉ／Ｆ１５ａ，１５ｂ、受信ポート１６ａ、送信ポート１６ｂ、受信バッファ１７ａ、及び送信バッファ１７ｂと、を具備する。
【００２２】
外部Ｉ／Ｆ１５ａ、受信ポート１６ａ、及び受信バッファ１７ａは、所定の通信回線に接続する外部Ｉ／Ｆ１５ａを介して入力されたパケットを、指定された受信ポート１６ａを経由して、受信バッファ１７ａに格納する。
【００２３】
一方、外部Ｉ／Ｆ１５ｂ、送信ポート１６ｂ、及び送信バッファ１７ｂは、送信バッファ１７ｂに格納されるパケットを、指定された送信ポート１６ｂを経由して、所定の通信回線に接続する外部Ｉ／Ｆ１５ｂより送信する。
【００２４】
パケット識別手段１１は、入力され、受信バッファ１７ａに格納される処理対象の対象パケットを読み込み、読み込んだ対象パケットの内容を解析して適用されるポリシーを識別する。パケット識別手段１１では、予め、宛先アドレス、送信元アドレスなど、入力されたパケットの識別に用いる参照データが格納されている。そして、パケットを入力すると、入力されたパケット内の比較対象データを解析し、参照テーブルと比較し、適用するポリシーを決定する。このとき、たとえば、本願出願人による特願２００４−５６７５２４号に記載のパケット識別方法を用いれば、パケット識別処理を高速に実行することができる。なお、パケット識別方法は、これに限定されるものではなく、必要とされる処理速度を得ることができれば、どのような方法でもよい。また、パケット識別と同時に、どの部分にヘッダの付加／除去を行うのか、あるいは、ヘッダのどの部分を変更しなければならないかなどの解析を行う。パケット識別のための参照動作を行う際には、ヘッダ解析を行う必要があるので、負荷を増やすことなくヘッダ変換処理のためのヘッダ解析を実行することができる。得られた解析結果は、対象パケットとポリシー情報とともに引継情報として、パケットバッファ１４ａへ書き込み、ヘッダ処理手段１２へ引き渡す。これにより、パケット識別手段１１は、次のパケットを入力することができるようになる。
【００２５】
ヘッダ処理手段１２は、パケット識別手段１１がパケットバッファ１４ａに格納した対象パケットと引継情報とを読み込み、引継情報に含まれるポリシー情報及びヘッダ解析情報に基づいて対象パケットのヘッダ部を変換する。ヘッダ処理には、たとえば、ポリシーに応じた各種ヘッダの付加や除去、変換処理などがある。変換した対象データは、ポリシー情報とともに、パケットバッファ１４ｂへ書き込み、暗号処理手段１３へ渡す。これにより、ヘッダ処理手段１２は、次のパケットを入力することができるようになる。
【００２６】
暗号処理手段１３は、ヘッダ処理手段１２が、パケットバッファ１４ｂに格納した対象パケット、ポリシー情報などを読み込み、ポリシー情報に基づいて、対象パケットの暗号処理、復号処理、及び認証処理のうち、少なくとも１つを含む所定の暗号処理を行う。すなわち、ポリシー情報に基づき、暗号処理のみが必要なパケットであると判断すれば、暗号処理のみを行う。復号処理と認証処理の両方を必要とするパケットであると判断すれば、両方の処理を行う。所定の暗号処理が終了した対象パケットは、送信バッファ１７ｂに格納する。これにより、暗号処理手段１３は、次のパケットを入力することができるようになる。
【００２７】
パケットバッファ１４ａ，１４ｂは、一連の暗号処理工程で使用されるメモリであり、処理対象のパケットと、ポリシー情報やヘッダ解析情報などの情報が格納される。パケット識別手段１１からヘッダ処理手段１２へ引き継ぐデータを格納するパケットバッファ１４ａと、ヘッダ処理手段１２から暗号処理手段１３へ引き継ぐデータを格納するパケットバッファ１４ｂとが、独立して設けられる構成をとることもできるし、パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３で１つのバッファを共有する構成とすることもできる。ただし、共有とする場合には、パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３間でアクセスの調停を行う必要がある。
【００２８】
このような構成のパケット暗号処理装置１０の動作及びパケット暗号処理方法について説明する。以下では、パケット暗号処理装置１０が、暗号化用の装置である場合で説明する。復号用の場合は、識別に使用するパラメータが異なるだけで、基本的には同様の処理を行う。
【００２９】
本発明に係るパケット暗号処理装置１０によれば、外部Ｉ／Ｆ１５ａ、及び受信ポート１６ａを介して、所定のパケットが入力され、受信バッファ１７ａに格納される。パケット識別手段１１は、受信バッファ１７ａに格納される対象パケットの内容を解析し、参照テーブルと比較し、対象パケットに適用するポリシーを決定する。そして、決定したポリシーに関するポリシー情報を生成し、対象パケットとともにパケットバッファ１４ａへ格納する。このとき、ヘッダ部の解析も同時に行い、ヘッダ部解析情報をパケットバッファ１４ａへ格納しておく。こうして、ヘッダ処理手段１２への引き継ぎが終了すると、次のパケット処理を実行することができるようになる。ヘッダ処理手段１２は、対象パケットに対し、ポリシー情報に基づいてヘッダ部の変換処理を行う。ヘッダ部の変換を施した対象パケットは、ポリシー情報とともにパケットバッファ１４ｂに格納する。暗号処理手段１３では、ポリシーに基づく暗号処理と、必要な場合は認証処理を行う。
【００３０】
パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３は、互いに独立して動作することができる。具体的には、パケット識別手段１１がパケット識別処理を行っている間に、ヘッダ処理手段１２は、既に識別が終了した別パケットのヘッダ処理を行う。また、この間、暗号処理手段１３は、ヘッダ処理手段１２による処理が終了した、さらに別のパケットの暗号／認証処理を実行する。
【００３１】
図２は、本発明に係るパケット暗号処理装置のパケット処理工程を示したシーケンス図である。
パケット暗号処理装置１０に、パケット１が入力されると、パケット識別手段１１は、パケット１の識別工程２１ａを行い、ヘッダ処理手段１２へ処理を引き継ぐ。ヘッダ処理手段１２は、パケット１に対しヘッダ処理工程２１ｂを実行し、暗号処理手段１３へ処理を引き継ぐ。暗号処理手段１３は、暗号処理工程２１ｃを実行し、パケット１の暗号化処理が終了する。
【００３２】
パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３は、互いに独立して動作する。したがって、パケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３は、同時刻に、それぞれ別のパケットの処理を行うことができる。図の例では、パケット識別手段１１は、パケット１に関する識別工程２１ａが終了すると、次に入力したパケット２の識別工程２２ａを開始する。このとき、ヘッダ処理手段１２は、パケット１に関するヘッダ処理工程２１ｂを実行している。その後、パケット１のヘッダ処理工程２１ｂが終了し、暗号処理手段１３による暗号処理工程２１ｃが開始される。暗号処理手段１３によるパケット１の暗号処理工程２１ｃが行われている間に、パケット識別手段１１によるパケット２の識別工程２２ａが終了し、続けて、ヘッダ処理手段１２によるヘッダ処理工程２２ｂが開始される。パケット識別手段１１は、パケット２の識別工程２２ａが終了したので、次に入力されたパケット３の識別工程２３ａを開始する。このとき、ヘッダ処理手段１２は、パケット２のヘッダ処理工程２２ｂを実行しており、暗号処理手段１３は、パケット１の暗号処理工程２１ｃを実行している。以降、ヘッダ処理手段１２は、パケット２のヘッダ処理工程２２ｂが終了し、かつ、パケット３の識別工程２３ａが終了したら、パケット３のヘッダ処理工程２３ｂを実行する。同様に、暗号処理手段１３は、パケット１の暗号処理工程２１ｃが終了、かつ、パケット２のヘッダ処理工程２２ｂが終了したら、パケット２の暗号処理工程２２ｃを実行し、これが終了、かつ、パケット３のヘッダ処理工程２３ｂが終了したらパケット３の暗号処理工程２３ｃを行うという手順を繰り返す。パケット識別手段１１も、識別工程が終了し、次のパケットが入力したら、新たな入力パケットについての識別工程を実行する手順を繰り返す。
【００３３】
このように、本発明に係るパケット暗号処理装置１０は、別々に動作するパケット識別手段１１、ヘッダ処理手段１２、及び暗号処理手段１３によって、識別工程、ヘッダ処理工程、及び暗号処理工程をパイプライン処理することができる。これにより、パケット暗号処理を高速化することが可能となる。特に、識別工程やヘッダ処理工程が占める割合が相対的に大きくなるパケット長の短いパケットの処理についても高速化が可能となる。
【００３４】
なお、上記の説明では、ヘッダ処理手段１２によるヘッダ変換処理が終了した後、暗号処理手段１３による暗号化処理を行うとしたが、処理順序は本質的なものではなく、この処理手順を入れ替えることもできる。
【００３５】
以下、実施の形態を、インターネット上のＶＰＮ装置に適用した場合を例に図面を参照して詳細に説明する。
図３は、本発明の実施の形態に係るシステム構成例を示す図である。
【００３６】
本発明の実施の形態では、ＶＰＮ装置１００に、暗号化用のパケット暗号処理部１１０と、復号用のパケット暗号処理部１２０とが組み込まれている。同様に、ＶＰＮ装置２００に、暗号化用のパケット暗号処理部２１０と、復号用のパケット暗号処理部２２０とが組み込まれている。パケット暗号処理部１１０，１２０，２１０，２２０には、図１に示したパケット暗号処理装置の処理機能が組み込まれている。
【００３７】
各ＶＰＮ装置１００，２００は、ＬＡＮ側インタフェースと、インターネット３０側インタフェースとを有しており、インターネット３０を介して接続されている。ＶＰＮ装置１００側には、ルータ３１経由で端末装置３３が接続されている。一方、ＶＰＮ装置２００側には、ルータ３２経由で端末装置３４が接続されている。ＶＰＮ装置１００，２００は、端末装置３３，３４側からインターネット３０側へ送信されるパケットを暗号化し、インターネット３０側から受信した暗号化されたパケットを復号し、端末装置３３，３４側に送信する。
【００３８】
なお、図３の例では、ＶＰＮ装置１００，２００と、ルータ３１，３２とを個別の装置としているが、一体の装置で構成することもできる。
以下、説明を単純化するために、パケットの認証は行わないものとするが、認証用の機能を追加することは容易である。
【００３９】
図４は、本発明の実施の形態のＶＰＮ装置の内部構成を示す図である。図は、ＶＰＮ装置１００の構成であるが、ＶＰＮ装置２００も同様の内部構成を有する。
ＶＰＮ装置１００は、ＬＡＮ側から受信したパケットを暗号化し、インターネット３０側に送信する暗号化用のパケット暗号処理部１１０と、インターネット３０側から受信したパケットを復号し、ＬＡＮ側に送信する復号用のパケット暗号処理部１２０とを有する。
【００４０】
暗号化用のパケット暗号処理部１１０は、ルータ側イーサネット（登録商標）受信ポート１１１、バッファ１１２、識別モジュール１１３、バッファ１１４、ヘッダ処理モジュール１１５、バッファ１１６、暗号処理モジュール１１７、バッファ１１８、及びインターネット側ネットワーク送信ポート１１９、を具備し、ルータ３１側から受信したパケットを暗号化して、インターネット３０側へ出力する。
【００４１】
ルータ側イーサネット受信ポート１１１は、イーサネットに接続されており、イーサネット経由で受信したパケットを図示しないパケット受信回路に対して出力する。パケット受信回路は、ルータ側イーサネット受信ポート１１１から入力されたパケットを受け取り、順次バッファ１１２を介して識別モジュール１１３へ出力する。
【００４２】
識別モジュール１１３は、パケットのデータから適用すべきＳＡポリシー（Security Association ポリシー）を識別する。そして、識別結果として、適用すべきＳＡポリシーを示すＳＡＩＤ（Security Association ID）をパケットに付加し、バッファ１１４を介してヘッダ処理モジュール１１５に渡す。ＳＡＩＤを受け取ったヘッダ処理モジュール１１５は、ＳＡＩＤで指定されたポリシーをＳＡＤＢ（Security Association DataBase；ポリシーの具体的な内容を示すデータベース）から取り出す。そして、そのポリシーにしたがって、トンネル用のヘッダやＩＰＳＥＣ用のＥＳＰヘッダを付加する。その後、ＳＡＤＢのうち、暗号処理モジュール１１７で使用する暗号プロトコル情報や暗号鍵情報を付加し、そのパケットを、バッファ１１６を介して暗号処理モジュール１１７へ出力する。暗号処理モジュール１１７は、ヘッダ処理モジュール１１５から送られた暗号プロトコルや暗号鍵を使用して、パケットのペイロード部分を暗号化する。このパケットは、バッファ１１８を介して図示しないパケット送信回路に送られる。パケット送信回路は、バッファ１１８を介して入力した暗号化パケットをインターネット側ネットワーク送信ポート１１９からインターネット３０へと出力する。
【００４３】
一方、復号用のパケット暗号処理部１２０は、インターネット側ネットワーク受信ポート１２１、バッファ１２２、識別モジュール１２３、バッファ１２４、ヘッダ処理モジュール１２５、バッファ１２６、暗号処理モジュール１２７、バッファ１２８、及びルータ側イーサネット送信ポート１２９を具備し、インターネット３０側から受信した暗号化パケットを復号し、ルータ３１側へ出力する。
【００４４】
インターネット側ネットワーク受信ポート１２１は、インターネット３０に接続されており、インターネット３０経由で受信したパケットを図示しないパケット受信回路に対して出力する。パケット受信回路は、バッファ１２２を介してパケットを識別モジュール１２３へ出力する。識別モジュール１２３、バッファ１２４、ヘッダ処理モジュール１２５、バッファ１２６、及び暗号処理モジュール１２７によって実行される復号処理は、識別に使用するパラメータが異なることと、暗号処理モジュール１２７において復号処理を行うことを除き、基本的に同一の処理を行う。
【００４５】
このような構成の暗号化用のパケット暗号処理部１１０、及び復号用のパケット暗号処理部１２０では、識別モジュール１１３，１２３、ヘッダ処理モジュール１１５，１２５、及び暗号処理モジュール１１７，１２７は、それぞれ独立に動作することができる。また、識別モジュール１１３，１２３と、ヘッダ処理モジュール１１５，１２５との間がバッファ１１４，１２４によって区切られており、ヘッダ処理モジュール１１５，１２５と、暗号処理モジュール１１７，１２７との間が、バッファ１１６，１２６によって区切られている。これにより、各モジュールは、自モジュールの処理が終了すれば、バッファを介して対象パケットを次段のモジュールに送って、次のパケットを処理するパイプライン処理を行うことができる。
【００４６】
以下、各構成要素の詳細な動作を暗号化用のパケット暗号処理部１１０の構成要素を例にとり、説明する。
図５は、本発明の実施の形態の識別モジュールの内部構成を示す図である。
【００４７】
識別モジュール１１３は、プロトコルの解析を行うプロトコル解析ロジック１１３１と、パケット識別装置１１３２とを有する。なお、プロトコル解析ロジック１１３１とパケット識別装置１１３２との間の情報交換は、パケット識別装置１１３２を制御する制御ロジックを介して行われる。
【００４８】
プロトコル解析ロジック１１３１は、受信されたパケットを解析し、受信パケットのＩＰ（Internet Protocol）ヘッダに含まれるＩＰアドレスや、ＴＣＰ（Transmission Control Protocol）ヘッダ中のポート番号など、パケット識別のための比較対象に必要な比較用データを抽出する。抽出した比較用データは、パケット識別装置１１３２の制御ロジックに出力する。このプロトコル解析ロジック１１３１は、ＭＩＰＳ（Microprocessor without Interlocked Pipeline Stages）やＡＲＭ（Acorn RISC Machine）などの一般的なＣＰＵコア、プロトコル解析に最適化された独自開発コア、ＩＰヘッダなどの各フィールドを認識するステートマシンなどで構成された専用ロジックなどで構成される。一般的なＣＰＵコアの長所としてソフトウェアの開発環境が整っていることが挙げられる。しかし、ゲート規模が大きくなること、及びプロトコル解析やパケット識別に最適化されていないために、内部処理のオーバーヘッドが大きく、結果的に動作周波数を高くしなければ高速処理を達成できないという短所がある。専用ロジックの長所としては、ゲート規模が小さく周波数当たりの処理能力を最も高くできることが挙げられる。しかし、処理動作に柔軟性がかけることは大きな短所である。また、独自開発したコアの場合は、ソフトウェアの開発環境が整っていないことが短所である。しかし、柔軟な処理が可能な点、低い周波数でも十分な処理能力が得られるように最適化できること、汎用のＣＰＵに比べてゲート規模を小さくできることから、最もバランスのとれた実装方法である。
【００４９】
パケット識別装置１１３２は、属性ごとの単位データに分割された複数の参照データが設定される参照テーブルを具備し、プロトコル解析ロジック１１３１が抽出した比較用データの属性に応じて参照テーブルから対応する単位データを取得し、単位データと比較用データを比較する。そして、比較結果をプロトコル解析ロジック１１３１に返す。以下、パケット識別装置１１３２を、本願出願人による特願２００４−５６７５２４号のパケット識別装置で構成することとする。
【００５０】
図６は、本発明の実施の形態の識別モジュールを最適化されたコアで構成する実装例を示した図である。図の例では、プロトコル解析ロジック１１３１及びパケット識別装置１１３２を、それぞれの処理に最適化されたコアを用いて構成している。
【００５１】
識別モジュール１１３を構成するプロトコル解析ロジック１１３１は、最適化されたプロトコル解析用コア１１３１ａと、プロトコル解析用コア１１３１ａが実行する命令データが格納される命令バッファ１１３１ｂを有する。
【００５２】
プロトコル解析用コア１１３１ａは、命令バッファ１１３１ｂから読み出した命令データに従って、受信されたパケットが格納されるバッファ１１２から受信パケットを読み出し、ヘッダ処理モジュール１１５が使用するバッファ１１４へコピーする。このとき、データをコピーしながら、パケットのプロトコル解析を行い、比較に必要なデータを抽出し、パケット識別装置１１３２へ送る。また、同時にヘッダ部の解析を行い、ＩＰＳＥＣ用のヘッダの挿入位置などを決める。そして、パケット識別装置１１３２から得られた比較結果やヘッダ部の解析結果など、得られた情報の一部をバッファ１１４へ書き込む。
【００５３】
同様に識別モジュール１１３を構成するパケット識別装置１１３２は、命令バッファ１１３２ａ、参照テーブル制御用コア１１３２ｂ、参照テーブル１１３２ｃ、及び単位比較回路１１３２ｄ，・・・，単位比較回路１１３２ｎを具備する。
【００５４】
参照テーブル制御用コア１１３２ｂは、命令バッファ１１３２ａに格納される命令データに従って処理を行う。参照テーブル１１３２ｃには、属性ごとの単位データに分割された複数の参照データが設定されている。単位比較回路１１３２ｄ，・・・，単位比較回路１１３２ｎは、単位ごとに参照テーブル１１３２ｃの取り出したデータと、プロトコル解析ロジック１１３１から入力された比較用データを比較し、結果を出力する。参照テーブル制御用コア１１３２ｂは、単位比較回路１１３２ｄ，・・・，単位比較回路１１３２ｎの比較結果に基づいて最終的な比較結果を生成し、プロトコル解析ロジック１１３１へ出力する。
【００５５】
このようなパケット識別装置１１３２では、参照テーブル制御用コア１１３２ｂは、プロトコル解析ロジック１１３１から取得した比較用データの属性を認識し、認識された属性に対応する参照テーブル１１３２ｃのアドレスを読み出しアドレスとして指定し、イネーブル（ＥＮ）信号とともに参照テーブル１１３２ｃへ出力する。また、比較用データと比較制御信号を単位比較回路１１３２ｄ，・・・，単位比較回路１１３２ｎへ出力し、比較処理を実行させる。単位比較回路１１３２ｄ，・・・，単位比較回路１１３２ｎは、参照テーブル１１３２ｃから取り出された参照データと、比較用データとを照合し、比較結果を出力する。たとえば、ＩＰＳＥＣにおけるＳＡの識別を行う場合、保護対象となる端末装置のＩＰアドレスなどが参照データとして参照テーブル１１３２ｃに格納されている。そして、転送されるパケットのＩＰアドレスがプロトコル解析ロジック１１３１から比較用データとして入力される。一致する場合は、比較結果として、一致した参照データに登録されているＳＡＩＤが出力される。
【００５６】
なお、参照テーブル制御用コア１１３２ｂは、参照テーブルからのデータ取り出し処理に最適化されたコアで、プロトコル解析回路、参照テーブルから取り出すデータを制御するアドレス制御回路、単位比較回路の制御などの機能を有する。このように最適化されたコアを用いることにより、柔軟性、動作周波数、及びゲート規模の３点を満たす実装が可能となる。
【００５７】
ここで、識別モジュール１１３によって、バッファ１１４へ書き込まれるデータについて説明する。このデータは、ヘッダ処理モジュール１１５へ送られる。
図７は、本発明の実施の形態の識別モジュールからヘッダ処理モジュールへ送られるデータ構成例を示した図である。
【００５８】
図の例では、バッファ１１４には、識別モジュール１１３によって、識別モジュール１１３が付加した付加情報１１４ａと、入力されたパケット情報１１４ｂが書き込まれる。
付加情報１１４ａには、「パケット長」「識別結果」「ＩＰヘッダ先頭アドレス」及び「ＩＰＳＥＣヘッダ挿入アドレス」がある。アドレス０の「パケット長」には、ペイロードまでを含むパケット長が格納される。アドレス１の「識別結果」には、識別モジュール１１３が参照データと比較を行った結果（一致したかどうか）や、一致した参照データに登録されているＳＡＩＤなどが格納される。アドレス２の「ＩＰヘッダ先頭アドレス」は、ＩＰヘッダが格納されるバッファ１１４の先頭アドレスであり、図の例では、「８」が設定される。アドレス３の「ＩＰＳＥＣヘッダ挿入アドレス」は、ＩＰＳＥＣヘッダを挿入するバッファ１１４のアドレスであり、図の例では、「１３」が設定される。「ＩＰヘッダ先頭アドレス」及び「ＩＰＳＥＣヘッダ挿入アドレス」は、ヘッダ部解析により算出される。
【００５９】
パケット情報１１４ｂには、受信されたパケットがそのまま格納される。アドレス４〜７には「イーサヘッダ」、アドレス８〜２には「ＩＰヘッダ」、アドレス１３〜１７には「ＴＣＰヘッダ」の各ヘッダが格納される。以上が、パケットのヘッダ部に相当する。そして、アドレス１８以降には、「ペイロード」が格納される。
【００６０】
次に、ヘッダ処理モジュール１１５について説明する。
図８は、本発明の実施の形態のヘッダ処理モジュールの内部構成を示した図である。
本発明の実施の形態のヘッダ処理モジュール１１５は、ＳＡＤＢ１１５１と、ヘッダ処理を行うヘッダ処理用ロジック１１５２とを有する。
【００６１】
ＳＡＤＢ１１５１は、ポリシーの具体的な内容を示すデータベースであり、暗号アルゴリズム、暗号鍵、ＩＰＳＥＣモード指定などの情報が格納される。また、ヘッダ処理モジュール１１５内に専用のメモリを配置してＳＡＤＢ１１５１を構成すれば、ＳＡＤＢ１１５１からデータを取得する際のメモリアクセスによるオーバーヘッドを少なくすることができる。
【００６２】
ヘッダ処理用ロジック１１５２は、ＳＡＤＢ１１５１から取得したＳＡポリシーに従って、受信したパケットにトンネル用ヘッダやＩＰＳＥＣ用のヘッダを追加する。このヘッダ処理用ロジック１１５２は、識別モジュール１１３の各ロジックと同様に、ＭＩＰＳやＡＲＭなどの一般的なＣＰＵコアや、プロトコル解析に最適化された独自開発コアを使用してもよいし、専用ロジックを開発してもよい。しかし、識別モジュール１１３と同様の理由から、最適化されたコアが最もバランスのとれた実装になる。
【００６３】
図９は、本発明の実施の形態のヘッダ処理モジュールを最適化されたコアで構成する実装例を示した図である。
ヘッダ処理用ロジック１１５２は、ヘッダ処理用コア１１５２ａと、命令バッファ１１５２ｂとを有する。命令バッファ１１５２ｂには、ヘッダ処理のための命令群が格納されており、ヘッダ処理用コア１１５２ａは、命令バッファ１１５２ｂから読み出した命令データに従ってヘッダ処理を行う。
【００６４】
ヘッダ処理用コア１１５２ａは、バッファ１１４に識別モジュール１１３が設定した付加情報１１４ａを読み出し、ＳＡＩＤで指示されるポリシーの内容をＳＡＤＢ１１５１から取り出す。このとき、たとえば、ＳＡＩＤに基づき、ＳＡＩＤに対応するＳＡＤＢ１１５１のアドレスを算出してＳＡＤＢ１１５１に指示する。あるいは、直接ＩＤデータを指示するとしてもよい。ＳＡＤＢ１１５１からは、パケットを処理するために必要なすべてのパラメータが取り出せる。ヘッダ処理用コア１１５２ａは、バッファ１１４からバッファ１１６へパケット情報をコピーしながら、読み出したポリシーに従って、ヘッダの挿入を行う。また、必要であれば、ＩＰヘッダ中のパケット長フィールドや、次ヘッダフィールドの書き換えを行う。
【００６５】
ここで、ヘッダ処理モジュール１１５によって、バッファ１１６へ書き込まれるデータについて説明する。このデータは、暗号処理モジュール１１７へ送られる。
図１０は、本発明の実施の形態のヘッダ処理モジュールから暗号処理モジュールへ送られるデータ構成例を示した図である。図は、トランスポートモードでＩＰＳＥＣを適用する場合の例を示している。以下、ヘッダ処理モジュール１１５によって、図７に示したバッファ１１４の構成から付加または変更された部分について説明する。
【００６６】
付加情報１１６ａには、アドレス２の「暗号化対象開始アドレス」と、アドレス３の「暗号アルゴリズム」、及びアドレス４〜９の「暗号鍵」が新たに設定されている。これらの情報は、ＳＡＩＤに応じてＳＡＤＢ１１５１から読み出したポリシーに基づいて設定される。たとえば、「暗号化対象開始アドレス」には、ペイロードの先頭アドレス（ここでは、アドレス２３）が設定される。また、「暗号アルゴリズム」は、ＳＡＤＢ１１５１より取り出された適用される暗号化手法、たとえば、「３ＤＥＳ」などが設定される。「暗号鍵」は、暗号化処理用の鍵で、「３ＤＥＳ」の場合６ワードの長さの鍵が設定される。
【００６７】
パケット情報１１６ｂには、図７の付加情報１１４ａでＩＰＳＥＣヘッダ挿入アドレスとして指定された位置にＩＰＳＥＣ用のＥＳＰヘッダ（アドレス１９〜２２）が挿入されている。なお、アドレス２３からのペイロードには、パディング用のデータが付加されている。
【００６８】
次に、暗号処理モジュール１１７について説明する。
図１１は、本発明の実施の形態の暗号処理モジュールの内部構成を示した図である。
本発明の実施の形態の暗号処理モジュール１１７は、暗号認証専用回路１１７１と、暗号処理を制御する暗号処理用ロジック１１７２とを有する。
【００６９】
暗号認証専用回路１１７１は、使用するアルゴリズムに応じて必要なものを用意する。この暗号認証専用回路１１７１は、各暗号アルゴリズムを高速に行うための専用回路で、従来の暗号認証専用アクセラレータに相当するものである。
【００７０】
暗号処理用ロジック１１７２は、ヘッダ処理モジュール１１５からバッファ１１６を介して渡された「暗号アルゴリズム」と「暗号鍵」の情報に従って、パケット中の暗号化対象部分を暗号化する。この暗号処理用ロジック１１７２は、他のモジュールの各ロジックと同様に、ＭＩＰＳやＡＲＭなどの一般的なＣＰＵコアや、プロトコル解析に最適化された独自開発コアを使用してもよいし、専用ロジックを開発してもよい。しかし、識別モジュール１１３と同様の理由から、最適化されたコアが最もバランスのとれた実装になる。
【００７１】
図１２は、本発明の実施の形態の暗号処理モジュールを最適化されたコアで構成する実装例を示した図である。
暗号処理用ロジック１１７２は、暗号処理用コア１１７２ａと、命令バッファ１１７２ｂとを有する。命令バッファ１１７２ｂには、暗号処理のための命令群が格納されており、暗号処理用コア１１７２ａは、命令バッファ１１７２ｂから読み出した命令データに従って暗号処理を制御する。高速処理を達成するためには、暗号認証専用回路１１７１を効率よく動かすことが重要であり、暗号処理用コア１１７２ａには、そのためのロジックが実装される。
【００７２】
暗号処理モジュール１１７の動作について説明する。暗号処理用コア１１７２ａは、ヘッダ処理モジュール１１５がバッファ１１６に設定した付加情報１１６ａを読み出し、「暗号化対象開始アドレス」、「暗号アルゴリズム」、及び「暗号鍵」を取得する。そして、暗号処理用コア１１７２ａは、バッファ１１６に格納されるパケット情報１１６ｂのうち、暗号化の対象でない部分をバッファ１１８へコピーする。この場合、「暗号化対象開始アドレス」で指定されるペイロードより前（イーサヘッダからＥＳＰヘッダまで）をコピーする。以降の暗号化対象部分は、暗号認証専用回路１１７１へ出力して暗号化処理を行う。暗号認証専用回路１１７１を通して暗号化されたデータは、バッファ１１８へ書き込まれる。
【００７３】
バッファ１１８に書き込まれたパケットデータは最終的な形式であり、そのまま送信回路を通してインターネット３０側へ出力される。
以上のように、本発明の実施の形態では、それぞれが最適化されたコアで実装され、高速処理が可能な識別モジュール１１３、ヘッダ処理モジュール１１５、及び暗号処理モジュール１１７を、さらに、独立して動作させて、パケットをパイプライン処理させる。これにより、パケット長が短い場合などでも、処理、特に、従来ひとつのＣＰＵで実行されていた識別処理とヘッダ処理のオーバーヘッドがボトルネックとならず、高速な暗号処理を行うことが可能となる。
【００７４】
なお、復号処理においても同様であり、識別工程、ヘッダ処理工程、及び復号工程を独立して実行させることにより、高速な復号処理を行うことが可能となる。
ところで、上記の実施の形態の構成では、識別モジュール１１３、ヘッダ処理モジュール１１５、及び暗号処理モジュール１１７間を、それぞれ、バッファ１１４とバッファ１１６とで区切る構成としたが、バッファをひとつの共有バッファで構成することもできる。
【００７５】
図１３は、本発明の第２の実施の形態のＶＰＮ装置の構成例を示した図である。図４と同じものには同じ番号を付し、説明は省略する。
第２の実施の形態のＶＰＮ装置１０１は、暗号化用のパケット暗号処理部の各モジュール共有のバッファ１５１と、復号用のパケット暗号処理部の各モジュール共有のバッファ１５２とを具備する。
【００７６】
暗号化側のパケット暗号処理部では、受信回路が、まず、ルータ側ネットワーク受信ポート１１１を介して入力したパケットをバッファ１５１に格納する。続いて、識別モジュール１１３、ヘッダ処理モジュール１１５、及び暗号処理モジュール１１７が、バッファ１５１に格納された対象パケットを用いて順次処理を行い、バッファ１５１上で付加情報の添付処理や、パケット変換処理を行う。最終的に、出力形式となったパケットが、インターネット側ネットワーク送信ポート１１９から出力される。なお、次のパケットが入力された場合は、このパケットを使用されていない領域に格納し、同様の処理手順を実行する。したがって、共有のバッファ１５１を用いて、各工程のパイプライン処理が実行される。
【００７７】
復号側も同様に、識別モジュール１２３、ヘッダ処理モジュール１２５、及び暗号処理モジュール１２７が、共有のバッファ１５２を用いて、パイプライン処理を行う。
ただし、共有のバッファの場合には、ひとつのバッファに対し、複数のモジュールがアクセスするので、アクセスの調停を行う必要がある。また、メモリのバンド幅を確保することが難しいといった問題もある。
【００７８】
なお、上記説明では、ＶＰＮ装置の暗号処理を例にとったが、本発明の適用はこれに限定されないことは言うまでもない。たとえば、ＩＰパケットに限らず、データの識別、ヘッダ処理に相当する処理、及び暗号処理が必要なプロセスはすべて含まれる。
【００７９】
また、パケットを暗号化する際には、暗号処理以外にも補足的な処理として、ＶＬＡＮ（Virtual Local Area Network）タグやユーザ定義されたヘッダなどの付加、パケットのエラーチェック、フラグメント処理、統計データの記録などの処理が必要となる場合がある。これらの処理を上記３モジュールのいずれかに実行させること、または、別モジュールを加えて処理することも本発明の範囲に含まれる。また、前述したように、ヘッダ処理モジュールと暗号処理モジュールの処理順序は本質的なものではなく、これらを入れ替えることも本発明の範囲に含まれる。さらに、ヘッダ処理モジュールで行う処理のうち、たとえば、ＥＳＰヘッダの付加を暗号処理モジュールで行うようにするなど、各モジュールで行う処理の一部を他のモジュールに移した実装も本発明の範囲に含まれる。
【図面の簡単な説明】
【００８０】
【図１】実施の形態に適用される発明の概念図である。
【図２】本発明に係るパケット暗号処理装置のパケット処理工程を示したシーケンス図である。
【図３】本発明の実施の形態に係るシステム構成例を示す図である。
【図４】本発明の実施の形態のＶＰＮ装置の内部構成を示す図である。
【図５】本発明の実施の形態の識別モジュールの内部構成を示す図である。
【図６】本発明の実施の形態の識別モジュールを最適化されたコアで構成する実装例を示した図である。
【図７】本発明の実施の形態の識別モジュールからヘッダ処理モジュールへ送られるデータ構成例を示した図である。
【図８】本発明の実施の形態のヘッダ処理モジュールの内部構成を示した図である。
【図９】本発明の実施の形態のヘッダ処理モジュールを最適化されたコアで構成する実装例を示した図である。
【図１０】本発明の実施の形態のヘッダ処理モジュールから暗号処理モジュールへ送られるデータ構成例を示した図である。
【図１１】本発明の実施の形態の暗号処理モジュールの内部構成を示した図である。
【図１２】本発明の実施の形態の暗号処理モジュールを最適化されたコアで構成する実装例を示した図である。
【図１３】本発明の第２の実施の形態のＶＰＮ装置の構成例を示した図である。
【図１４】従来のパケット暗号処理装置の構成を示す構成図である。
【図１５】従来のパケット暗号処理装置における暗号処理手順を示したシーケンス図である。
【符号の説明】
【００８１】
１０  パケット暗号処理装置
１１  パケット識別手段
１２  ヘッダ処理手段
１３  暗号処理手段
１４ａ，１４ｂ  パケットバッファ
１５ａ，１５ｂ  外部インタフェース（Ｉ／Ｆ）
１６ａ  受信ポート
１６ｂ  送信ポート
１７ａ  受信バッファ
１７ｂ  送信バッファ
【図１】
2008035300.tif 000003
【図２】
2008035300.tif 000004
【図３】
2008035300.tif 000005
【図４】
2008035300.tif 000006
【図５】
2008035300.tif 000007
【図６】
2008035300.tif 000008
【図７】
2008035300.tif 000009
【図８】
2008035300.tif 000010
【図９】
2008035300.tif 000011
【図１０】
2008035300.tif 000012
【図１１】
2008035300.tif 000013
【図１２】
2008035300.tif 000014
【図１３】
2008035300.tif 000015
【図１４】
2008035300.tif 000016
【図１５】
2008035300.tif 000017