(57)【要約】【課題】通信の発生と終了の特性を考慮してＳＡを高速なＳＲＡＭと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化を図る。【解決手段】ＩＰパケット長を元に、今後使用される可能性の高いＳＡ、あるいは使用されない可能性の高いＳＡを分析する。具体的には同一の通信対向相手に対して同一のＩＰパケット長が連続して送信されている場合、そのＳＡは今後も使用される可能性が高いと判断する。また、同一の通信対向相手に対して同一のＩＰパケット長が連続して送信された後に、短いＩＰパケットが送信された場合、そのＳＡは当面使用される可能性が低いと判断する。【選択図】図４
2013038695.tif 000002
【特許請求の範囲】
【請求項１】
暗号通信を行う暗号化処理装置であって、
受信したパケットの長さを計測する計測手段と、
前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持手段を切り替える管理手段とを具備することを特徴とする暗号化処理装置。
【請求項２】
前記管理手段は、
所定のパケット長を保持するパケット長保持手段と、
前記計測手段によって計測されたパケット長と前記パケット長保持手段に保持されたパケット長を比較するパケット長比較手段とを備え、
前記パケット長比較手段の比較結果に応じて前記保持手段を制御することを特徴とする請求項１に記載の暗号化処理装置。
【請求項３】
前記パケット長保持手段は、通信の対向相手ごとの1フレームの最大伝送単位を所定のパケット長として保持することを特徴とする請求項２に記載の暗号化処理装置。
【請求項４】
前記暗号通信を行うために必要となる情報は、セキュリティ・アソシエーションであることを特徴とする請求項１に記載の暗号化処理装置。
【請求項５】
暗号通信を行う暗号化処理方法であって、
受信したパケットの長さを計測する計測工程と、
前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持を切り替える工程とを具備することを特徴とする暗号化処理方法。
【請求項６】
請求項５に記載の方法の各工程をコンピュータにて実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の暗号通信接続を同時並行的に設立し、暗号化処理を行う技術に関するものである。
【背景技術】
【０００２】
近年、通信ネットワークは以前にも増して重要なインフラストラクチャとなりつつある。多様なサービスがネットワーク上のサービスとして提供されるようになり、各通信装置は複数のサイトやサービスに対して同時並行的に通信コネクションを設立し、高度かつ複雑なサービスを提供ができるようになった。一方で、不正アクセスの問題や情報漏洩問題が増加しており、通信の暗号化が必須の技術となっている。以上から、暗号化処理装置には従来以上に多くの接続を高速に処理することが求められている。
【０００３】
多数の暗号通信コネクションを高速に処理する手法として、例えば暗号処理回路を複数個並列に構成し、同時に複数本のコネクションを並列に処理することが考えられる。しかしながら、接続数に応じて暗号処理回路を増加させることは、回路面積や消費電力の観点から現実的な解決策とは言えない。そのため、一つの暗号処理回路で複数のコネクションに対するパケットを時分割多重で処理することが一般的である。
【０００４】
ところで、ＩＰｓｅｃプロトコルを用いた暗号通信の接続においては、送信側と受信側とで暗号アルゴリズムや暗号鍵を共有しなければならない。これらの情報は、セキュリティ・アソシエーション（ＳＡ）と呼ばれており、暗号アルゴリズムや暗号鍵の他に、イニシャルベクタなどの情報を含むデータコンテクストとして送信端及び受信端の装置で管理されている。ＳＡのコンテクストはＩＰｓｅｃのＲＦＣとして標準化されており、暗号化処理装置は送信端と受信端で共有されたＳＡをパケット毎に参照しながら暗号化及び復号化を行う。
【０００５】
暗号処理を時分割多重で実行した場合に、パケット単位に異なるＳＡを何らかの記憶領域から読み出す必要がある。このＳＡの読み出し速度が低速である場合には、暗号処理全体のボトルネックになってしまう。特にＳＡをシステム全体で共有する共有メモリに配置した場合には、ＳＡ情報を読み出すための遅延時間が大きくなり暗号処理の処理性能が低下するという課題がある。
【０００６】
この課題を解決する一手段として、ＳＡを高速な読み出しが可能な専用メモリ領域に配置することが考えられる。例えば、暗号化処理装置がＣＰＵ及び専用ハードウェア装置で構成される場合には、何れもが高速に読み出し可能なキャッシュ・メモリにＳＡを配置する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−９６１７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
例えば、特許文献１には、ＳＡ保持部及び退避ＳＡ保持部と称する２種類のＳＡ保持部を有し、アプリケーションからの情報に基づいてＳＡ情報をＳＡ保持部から退避ＳＡ保持部に置き換えることでキャッシュ動作を行うことが開示されている。また、使用するＳＡが退避ＳＡ保持部に配置されている場合は、当該ＳＡ情報を退避ＳＡ保持部からＳＡ保持部に置き換えることで同様にキャッシュ動作を行うことが開示されている。
【０００９】
しかしながら、特許文献１に開示された技術であっても、複数の接続先とのアクセスがランダムに発生している場合には、キャッシュミスが頻発しキャッシュの効果は限定的である。また、常にキャッシュ・ヒットするように大容量化することも考えられるが、組み込みシステムではキャッシュはチップ内にＳＲＡＭとして実装されるため、チップコストの上昇を招く。さらにはキャッシュ容量には現実的な限界が存在するため、最大接続数がキャッシュ容量に依存してしまう。
【００１０】
そこで、本発明の目的は、通信の発生と終了の特性を考慮してＳＡを高速なＳＲＡＭと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化を図ることにある。
【課題を解決するための手段】
【００１１】
本発明の暗号化処理装置は、暗号通信を行う暗号化処理装置であって、受信したパケットの長さを計測する計測手段と、前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持手段を切り替える管理手段とを具備することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、通信の発生と終了の特性を考慮してＳＡを高速なＳＲＡＭと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化が可能となる。
【図面の簡単な説明】
【００１３】
【図１】ＩＰ層における通信対象データ分割を示す図である。
【図２】第１の実施形態における暗号化処理装置を示す図である。
【図３】第１の実施形態における暗号化処理装置の処理を示すフローチャートである。
【図４】第２の実施形態における暗号化処理装置を示す図である。
【図５】第２の実施形態における暗号化処理装置の処理を示すフローチャートである。
【図６】第３の実施形態における暗号化処理装置を示す図である。
【図７】第３の実施形態における暗号化処理装置の処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１５】
先ず、本発明の第１の実施形態について、図１〜図３を参照しながら説明する。図２は、通信対象データを、ＩＰパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネット（登録商標）においては、許容される最大パケット長はＭＴＵと呼称されている。ＭＴＵの値は通信経路ごとにことなるが、一般的には大きくとも１．５ｋｂ程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がＭＴＵサイズ以下となるよう調整しなければならない。もし、通信対象データがＭＴＵサイズの整数倍の場合、通信対象データは所定のパケット長がＭＴＵのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてＭＴＵの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図２に示すように、データ長がＭＴＵのパケット複数個と、データ長がＭＴＵ未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に１パケットずつネットワーク上に送信されていき、最後にデータ長がＭＴＵ未満のパケットが送信されると全データの送信が完了する。換言すれば、ＭＴＵサイズのパケットを送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に１フレームの最大伝送単位であるＭＴＵサイズ未満のパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。本実施形態では、ＩＰｓｅｃの暗号認証処理、復号検証処理を行う際に、この予測を利用することでこれら処理の高速化を実現する。
【００１６】
図１は、第１の実施形態における暗号化処理装置の構成を示す図である。図１において、１０２は、暗号化の対象となる平文のＩＰパケット、あるいは復号の対象となる暗号化されたＩＰパケットを受信するパケット入力部である。１０３はパケット入力部１０２から取得したＩＰパケットに対して暗号化処理と認証処理、もしくは復号処理と認証処理を行うパケット処理部である。１０４はパケット入力部１０２から指定されたＩＰパケットのパケット長を計測するパケット長計測部である。１０５は通信対向相手毎のＭＴＵ値を保持し、パケット入力部１０２から指定された通信対向相手のＭＴＵ値を出力するＭＴＵ保持部である。１０６はパケット長計測部１０４から取得したパケット長とＭＴＵ保持部１０５から取得したＭＴＵ値を比較するパケット長比較部である。１０７は高速アクセス可能であるが価格が高価で大容量化が困難な高速なＳＡ保持部である。１０８は高速なＳＡ保持部１０７と比して低速であるが大容量化が比較的容易である低速なＳＡ保持部である。１０９はＩＰｓｅｃ通信対向相手毎のＳＡ情報を、高速なＳＡ保持部１０７もしくは低速なＳＡ保持部１０８に保持し、パケット処理部１０３から要求されたＳＡ ＩＤに基づきパケット処理部１０３に対してＳＡデータを供給するＳＡ管理部である。１１０はパケット処理部１０３から取得した暗号化済みもしくは復号済みのＩＰパケットを出力するパケット出力部である。
【００１７】
なお、上記ＳＡ情報は、パケットの長さに応じて暗号通信の確立に必要な情報であり、ＩＰｓｅｃやＩＰｖ６を利用した暗号化通信において、通信をはじめる前に暗号化方式や暗号鍵などの情報を交換・共有し、安全な通信路を確立するために必要となる情報である。
【００１８】
以下、図３のフローチャートを参照しながら、第１の実施形態における暗号化処理装置の処理について説明する。最初に、パケット入力ステップ（ステップＳ３０１）において、パケット入力部１０２は暗号化の対象となる平文のＩＰパケット、あるいは復号の対象となる暗号化されたＩＰパケットを受信する。そして、ＩＰパケットをパケット処理部１０３およびパケット長計測部１０４に対して入力する。また、パケット入力部１０２はＭＴＵ保持部１０５に対して通信対向相手を識別するためのＳＡ ＩＤを入力する。
【００１９】
パケット入力ステップ（ステップＳ３０１）が終わると、ＳＡ取得ステップ（ステップＳ３０２）から始まる３ステップ、およびパケット長計測ステップ（ステップＳ３０５）から始まる３ステップにフローが分岐する。ここでは、前者のフローから先に述べる。
【００２０】
ＳＡ取得ステップ（ステップＳ３０５）では、パケット処理部１０３はＳＡ管理部１０９からＳＡ情報を取得する。まず、パケット処理部１０３はＳＡ管理部１０９に対して通信対向相手を識別するＳＡ ＩＤを入力する。ＳＡ管理部１０９は、ＳＡ ＩＤを元に、高速なＳＡ保持部１０７、もしくは低速なＳＡ保持部１０８に保持されている当該ＳＡを検索し、パケット処理部１０３に対して出力する。それを受け、パケット処理ステップ（ステップＳ３０３）では、パケット処理部１０３は、ＳＡ管理部１０９から取得したＳＡ情報に従い、ＩＰパケットに対して暗号化処理と認証処理、もしくは復号処理と認証処理を実行する。
【００２１】
最後に、パケット出力ステップ（ステップＳ３０４）では、パケット出力部１１０は、パケット処理部１０３の生成した、暗号化されたＩＰパケット、もしくは平文のＩＰパケットを出力する。
【００２２】
以上がＳＡ取得ステップ（ステップＳ３０２）から始まる３ステップのフローである。続いて、パケット長計測ステップ（ステップＳ３０５）から始まる３ステップのフローについて述べる。
【００２３】
パケット長計測ステップ（ステップＳ３０５）では、パケット長計測部１０４は、パケット入力部１０２から指定されたＩＰパケットのパケット長を計測し、その結果をパケット長比較部１０６に対して出力する。また、ＭＴＵ保持部１０５は、パケット入力部１０２から取得したＳＡ ＩＤを元に当該通信対向相手のＭＴＵ値を検索し、パケット長比較部１０６に対して出力する。
【００２４】
続いて、パケット長比較ステップ（ステップＳ３０６）では、パケット長比較部１０６は、パケット長計測部１０４から取得したパケット長とＭＴＵ保持部１０５から取得したＭＴＵ値との比較結果に基づいて通信状況の予測を行う。もし、ＭＴＵ値とＩＰパケット長が等しいか数十バイト程度の差しかなかった場合、両者は一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、ＭＴＵ値と比してＩＰパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。
【００２５】
ＳＡ保持領域更新ステップ（ステップＳ３０７）では、ＳＡ管理部１０９が、パケット長比較部１０６から取得した通信状況の予測結果に応じてＳＡ情報の保持領域を更新する。パケット長比較部１０６は、通信継続と判断した場合で、かつ当該ＩＰパケットのＳＡが低速なＳＡ保持部１０８に保持されていた場合、ＳＡ管理部１０９は当該ＩＰパケットのＳＡを高速なＳＡ保持部１０７に移動させる。パケット長比較部１０６が、通信が終焉すると判断した場合で、かつ当該ＩＰパケットのＳＡが高速なＳＡ保持部１０７に保持されていた場合、ＳＡ管理部１０９は当該ＩＰパケットのＳＡを低速なＳＡ保持部１０８に移動させる。ＳＡ管理部１０９はこのような手法で近未来に使用される可能性の高いＳＡを高速なＳＡ管理部１０７に移動させると共に、使用されない可能性の高いＳＡを低速なＳＡ管理部１０８に移動させる。以上がパケット長計測ステップ（ステップＳ３０５）から始まる３ステップのフローである。
【００２６】
なお、これら二つのフロー（ＳＡ取得ステップ（ステップＳ３０２）から始まる３ステップ、およびパケット長計測ステップ（ステップＳ３０５）から始まる３ステップ）は基本的に並列に実行可能である。しかし、ＳＡ取得ステップ（ステップＳ３０２）はＳＡ保持領域更新ステップ（ステップＳ３０７）に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、ＩＰパケット処理の性能に直結するＳＡ取得から始まる３ステップが優先して実行されることが望ましい。
【００２７】
暗号化処理装置１０１は以上のような処理を行うことで、パケット処理部１０３が要求するＳＡが、高速なＳＡ保持部１０７に保持されている可能性を向上させる。結果として、ＳＡ管理部１０９がパケット処理部１０３に対してＳＡを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【００２８】
次に、本発明の第２の実施形態について説明する。第２の実施形態は、第１の実施形態においてＳＡ移動の指標としていたＭＴＵ値との比較を、以前送信したＩＰパケット長との比較に変更したものである。
【００２９】
以下、本発明の第２の実施形態を、図２、図４及び図５を参照しながら説明する。図２は通信対象データをＩＰパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネットにおいては、許容される最大パケット長はＭＴＵと呼称されている。ＭＴＵの値は通信経路ごとにことなるが、一般的には大きくとも１．５ｋｂ程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がＭＴＵサイズ以下となるよう調整しなければならない。もし、通信対象データがＭＴＵサイズの整数倍の場合、通信対象データはパケット長がＭＴＵのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてＭＴＵの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図２に示すように、データ長がＭＴＵのパケット複数個と、データ長がＭＴＵ未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に１パケットずつネットワーク上に送信されていき、最後にデータ長がＭＴＵ未満のパケットが送信されると全データの送信が完了する。換言すれば、同一の通信対向相手に対して、同一パケット長のＩＰパケットを連続して送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に同一の通信対向相手に対して前回送信したＩＰパケットのパケット長よりも短いＩＰパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。
【００３０】
本実施形態では、ＩＰｓｅｃの暗号認証処理、復号検証処理を行う暗号化処理装置に対してこの予測を適用することで、暗号通信の高速化を実現する。
【００３１】
図４は、第２の実施形態における暗号化処理装置の構成を示す図である。図４において、１０２、１０３、１０４、１０７、１０８、１０９及び１１０は、第１の実施形態の説明で用いた図１と同一であるため、説明を省略する。図４の４０５は通信対向相手毎の前回のＩＰパケット長を保持し、パケット入力部１０２から指定された通信対向相手の前回のＩＰパケット長を出力するパケット長保持部、４０６はパケット長計測部１０４から取得したパケット長とパケット長保持部４０５から取得したパケット長を比較するパケット長比較部である。
【００３２】
以下、図５のフローチャートを参照しながら、第２の実施形態における暗号化処理装置の処理について説明する。最初に、パケット入力ステップ（ステップＳ３０１）で、パケット入力部１０２は暗号化の対象となる平文のＩＰパケット、あるいは復号の対象となる暗号化されたＩＰパケットを受信する。そして、ＩＰパケットをパケット処理部１０３およびパケット長計測部１０４に対して入力する。また、パケット長保持部４０５に対して通信対向相手を識別するためのＳＡ ＩＤを入力する。
【００３３】
パケット入力ステップ（ステップＳ３０１）が終わると、ＳＡ取得ステップ（ステップＳ３０２）から始まる３ステップ、およびパケット長計測ステップ（ステップＳ５０５）から始まる３ステップにフローが分岐する。前者のフローは第１の実施形態の説明で用いた図３のフローチャートと同一であるため、説明を省略する。続いて、パケット長計測ステップ（ステップＳ５０５）から始まる３ステップのフローについて述べる。
【００３４】
パケット長計測ステップ（ステップＳ５０５）では、パケット長計測部１０４は、パケット入力部１０２から指定されたＩＰパケットのパケット長を計測し、その結果をパケット長比較部４０６に対して出力する。また、パケット長保持部４０５は、パケット入力部１０２から取得したＳＡ ＩＤを元に当該通信対向相手に前回送信したＩＰパケット長を検索し、その値をパケット長比較部４０６に対して出力する。
【００３５】
続いて、パケット長比較ステップ（ステップＳ５０６）では、パケット長比較部４０６は、パケット長計測部１０４から取得したパケット長と、パケット長保持部４０５から取得した前回送信したＩＰパケット長を元に通信状況の予測を行う。もし、ＩＰパケット長と前回送信したIPパケット長が等しいか数十バイト程度の差しかなかった場合、両者は一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、前回送信したＩＰパケット長と比してＩＰパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。さらに、パケット長比較部４０６は、ＩＰパケット長の比較後にパケット長計測部１０４から取得したパケット長を、パケット長保持部４０５に対して出力する。パケット長保持部４０５はパケット長比較部４０６から取得したパケット長を保持する。
【００３６】
ＳＡ保持領域更新ステップ（ステップＳ３０７）では、ＳＡ管理部１０９は、パケット長比較部４０６から取得した通信状況の予測結果に応じたＳＡ情報の保持領域の更新を行う。パケット長比較部４０６は、通信継続と判断した場合でかつ、当該ＩＰパケットのＳＡが低速なＳＡ保持部１０８に保持されていた場合、ＳＡ管理部１０９は当該ＩＰパケットのＳＡを高速なＳＡ保持部１０７に移動させる。パケット長比較部４０６は、通信が終焉すると判断した場合でかつ当該ＩＰパケットのＳＡが高速なＳＡ保持部１０７に保持されていた場合、ＳＡ管理部１０９は当該ＩＰパケットのＳＡを低速なＳＡ保持部１０８に移動させる。ＳＡ管理部１０９はこのような手法で近未来に使用される可能性の高いＳＡを高速なＳＡ管理部１０７に移動させると共に、使用されない可能性の高いＳＡを低速なＳＡ管理部１０８に移動させる。以上がパケット長計測ステップ（ステップＳ５０５）から始まる３ステップのフローである。
【００３７】
なお、これら二つのフロー、ＳＡ取得ステップ（ステップＳ３０２）から始まる３ステップ、およびパケット長計測ステップ（ステップＳ５０５）から始まる３ステップは基本的に並列に実行可能である。しかし、ＳＡ取得ステップ（ステップＳ３０２）はＳＡ保持領域更新ステップ（ステップＳ３０７）に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、ＩＰパケット処理の性能に直結するＳＡ取得から始まる３ステップが優先して実行されることが望ましい。
【００３８】
第２の実施形態における暗号化処理装置４０１は以上のような処理を行うことにより、パケット処理部１０３が要求するＳＡが、高速なＳＡ保持部１０７に保持されている可能性を向上させる。結果として、ＳＡ管理部１０９がパケット処理部１０３に対してＳＡを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【００３９】
次に、本発明の第３の実施形態について説明する。本発明の第３の実施形態は、第２の実施形態よりもパケット長保持部に保持する過去のパケット長を増やし、通信パターンを検出することで、より正確な判断を行うものである。以下、本発明の第３の実施形態を、図２、図６および図７を参照しながら説明する。
【００４０】
図２は、通信対象データをＩＰパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネットにおいては、許容される最大パケット長はＭＴＵと呼称されている。ＭＴＵの値は通信経路ごとにことなるが、一般的には大きくとも１．５ｋｂ程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がＭＴＵサイズ以下となるよう調整しなければならない。もし、通信対象データがＭＴＵサイズの整数倍の場合、通信対象データはパケット長がＭＴＵのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてＭＴＵの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図２に示すように、データ長がＭＴＵのパケット複数個と、データ長がＭＴＵ未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に１パケットずつネットワーク上に送信されていき、最後にデータ長がＭＴＵ未満のパケットが送信されると全データの送信が完了する。換言すれば、同一の通信対向相手に対して、同一パケット長のＩＰパケットを複数個連続して送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に同一の通信対向相手に対して同一パケット長のＩＰパケットを複数個連続して送信した後にそれらよりも短いＩＰパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。単純に同一通信対向相手に対して前回送信したＩＰパケット長と比較するだけでは、本発明が想定する大容量データ通信以外の用途（インターネット制御通知プロトコルＩＣＭＰなど）に対して、パフォーマンスを損なうＳＡ管理を実施してしまう可能性がある。しかし、同一の通信対向相手に対するＩＰパケット長を複数個用いてSA管理を実施することで、本発明が有効に働く用途のみに対して本発明を実施できる可能性が高まる。
【００４１】
本実施形態では、ＩＰｓｅｃの暗号認証処理、復号検証処理を行う暗号化処理装置に対してこの予測を適用することで、暗号通信の高速化を実現する。
【００４２】
図６は、第３の実施形態における暗号化処理装置の構成を示す図である。図６において、１０２、１０３、１０４、１０７、１０８、１０９、および１１０は、第１の実施形態の説明で用いた図１と同一であるため説明を省略する。図６中の６０５は通信対向相手ごとのＩＰパケット長の履歴を過去複数回分保持し、パケット入力部１０２から指定された通信対向相手のＩＰパケット長の履歴を出力するパケット長保持部、６０６はパケット長計測部１０４から取得したパケット長とパケット長保持部６０５から取得したパケット長の履歴を元に通信パターンを検出する通信パターン検出部である。以下、図7のフローチャートを参照しながら、第３の実施形態における暗号化処理装置の処理について説明する。
【００４３】
最初に、パケット入力ステップ（ステップＳ３０１）で、パケット入力部１０２は暗号化の対象となる平文のＩＰパケット、あるいは復号の対象となる暗号化されたＩＰパケットを受信する。そして、ＩＰパケットをパケット処理部１０３およびパケット長計測部１０４に対して入力する。また、パケット長保持部６０５に対して通信対向相手を識別するためのＳＡ ＩＤを入力する。パケット入力ステップ（ステップＳ３０１）が終わると、ＳＡ取得ステップ（ステップＳ３０２）から始まる３ステップ、およびパケット長計測ステップ（ステップＳ７０５）から始まる３ステップにフローが分岐する。
【００４４】
前者のフローは第１の実施形態の説明で用いた図３のフローと同一であるため、説明を省略する。続いて、パケット長計測ステップ（ステップＳ７０５）から始まる３ステップのフローについて述べる。
【００４５】
パケット長計測ステップ（ステップＳ７０５）では、パケット長計測部１０４が、パケット入力部１０２から指定されたＩＰパケットのパケット長を計測し、その結果を通信パターン検出部６０６に対して出力する。また、パケット長保持部６０５は、パケット入力部１０２から取得したＳＡ ＩＤを元に当該通信対向相手のＩＰパケット長の履歴を検索し、その結果を通信パターン検出部６０６に対して出力する。
【００４６】
続いて、パケット長比較ステップ（ステップＳ７０６）では、通信パターン検出部６０６が、パケット長計測部１０４から取得したＩＰパケット長とパケット長保持部６０５から取得したＩＰパケット長の履歴を元に通信状況の予測を行う。もし、ＩＰパケット長とＩＰパケット長の履歴がすべて等しいか数十バイト程度の差しかなかった場合、それらは一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、ＩＰパケット長の履歴がすべて等しいか数十バイト程度の差しかなく、かつそれらと比してＩＰパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。さらに、通信パターン検出部６０６は、通信パターンの検出後に、パケット長計測部１０４から取得したパケット長を、パケット長保持６０５に対して送信する。パケット長保持部６０５は通信パターン検出部６０６から取得したパケット長を新たに保持する。パケット長保持部６０５はＩＰパケット長の履歴の保持回数を超えた場合、もっとも古いものを削除する。
【００４７】
ＳＡ保持領域更新ステップ（ステップＳ３０７）では、ＳＡ管理部１０９が、通信パターン検出部６０６から取得した通信状況の予測結果に応じたＳＡ情報の保持領域の更新を行う。通信パターン検出部６０６が、通信継続と判断した場合で、かつ当該ＩＰパケットのＳＡが低速なＳＡ保持部１０８に保持されていた場合、ＳＡ管理部１０９は当該ＩＰパケットのＳＡを高速なＳＡ保持部１０７に移動させる。通信パターン検出部６０６が、通信が終焉すると判断した場合でかつ当該ＩＰパケットのＳＡが高速なＳＡ保持部１０７に保持されていた場合、ＳＡ管理部１０９は当該ＩＰパケットのＳＡを低速なＳＡ保持部１０８に移動させる。ＳＡ管理部１０９はこのような手法で近未来に使用される可能性の高いＳＡを高速なＳＡ管理部１０７に移動させると共に、使用されない可能性の高いＳＡを低速なＳＡ管理部１０８に移動させる。以上がパケット長計測ステップ（ステップＳ７０５）から始まる３ステップのフローである。
【００４８】
なお、これら二つのフロー（ＳＡ取得ステップ（ステップＳ３０２）から始まる３ステップ、およびパケット長計測ステップ（ステップＳ７０５）から始まる３ステップ）は基本的に並列に実行可能である。しかし、ＳＡ取得ステップ（ステップＳ３０２）はＳＡ保持領域更新ステップ（ステップＳ３０７）に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、ＩＰパケット処理の性能に直結するＳＡ取得から始まる３ステップが優先して実行されることが望ましい。
【００４９】
第３の実施形態における暗号化処理装置６０１は以上のような処理を行うことで、パケット処理部１０３が要求するＳＡが、高速なＳＡ保持部１０７に保持されている可能性を向上させる。結果として、ＳＡ管理部１０９がパケット処理部１０３に対してＳＡを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【００５０】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013038695.tif 000003
【図２】
2013038695.tif 000004
【図３】
2013038695.tif 000005
【図４】
2013038695.tif 000006
【図５】
2013038695.tif 000007
【図６】
2013038695.tif 000008
【図７】
2013038695.tif 000009