暗号化処理装置、暗号化処理方法及びプログラム
【課題】通信の発生と終了の特性を考慮してSAを高速なSRAMと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化を図る。
【解決手段】IPパケット長を元に、今後使用される可能性の高いSA、あるいは使用されない可能性の高いSAを分析する。具体的には同一の通信対向相手に対して同一のIPパケット長が連続して送信されている場合、そのSAは今後も使用される可能性が高いと判断する。また、同一の通信対向相手に対して同一のIPパケット長が連続して送信された後に、短いIPパケットが送信された場合、そのSAは当面使用される可能性が低いと判断する。
【解決手段】IPパケット長を元に、今後使用される可能性の高いSA、あるいは使用されない可能性の高いSAを分析する。具体的には同一の通信対向相手に対して同一のIPパケット長が連続して送信されている場合、そのSAは今後も使用される可能性が高いと判断する。また、同一の通信対向相手に対して同一のIPパケット長が連続して送信された後に、短いIPパケットが送信された場合、そのSAは当面使用される可能性が低いと判断する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の暗号通信接続を同時並行的に設立し、暗号化処理を行う技術に関するものである。
【背景技術】
【0002】
近年、通信ネットワークは以前にも増して重要なインフラストラクチャとなりつつある。多様なサービスがネットワーク上のサービスとして提供されるようになり、各通信装置は複数のサイトやサービスに対して同時並行的に通信コネクションを設立し、高度かつ複雑なサービスを提供ができるようになった。一方で、不正アクセスの問題や情報漏洩問題が増加しており、通信の暗号化が必須の技術となっている。以上から、暗号化処理装置には従来以上に多くの接続を高速に処理することが求められている。
【0003】
多数の暗号通信コネクションを高速に処理する手法として、例えば暗号処理回路を複数個並列に構成し、同時に複数本のコネクションを並列に処理することが考えられる。しかしながら、接続数に応じて暗号処理回路を増加させることは、回路面積や消費電力の観点から現実的な解決策とは言えない。そのため、一つの暗号処理回路で複数のコネクションに対するパケットを時分割多重で処理することが一般的である。
【0004】
ところで、IPsecプロトコルを用いた暗号通信の接続においては、送信側と受信側とで暗号アルゴリズムや暗号鍵を共有しなければならない。これらの情報は、セキュリティ・アソシエーション(SA)と呼ばれており、暗号アルゴリズムや暗号鍵の他に、イニシャルベクタなどの情報を含むデータコンテクストとして送信端及び受信端の装置で管理されている。SAのコンテクストはIPsecのRFCとして標準化されており、暗号化処理装置は送信端と受信端で共有されたSAをパケット毎に参照しながら暗号化及び復号化を行う。
【0005】
暗号処理を時分割多重で実行した場合に、パケット単位に異なるSAを何らかの記憶領域から読み出す必要がある。このSAの読み出し速度が低速である場合には、暗号処理全体のボトルネックになってしまう。特にSAをシステム全体で共有する共有メモリに配置した場合には、SA情報を読み出すための遅延時間が大きくなり暗号処理の処理性能が低下するという課題がある。
【0006】
この課題を解決する一手段として、SAを高速な読み出しが可能な専用メモリ領域に配置することが考えられる。例えば、暗号化処理装置がCPU及び専用ハードウェア装置で構成される場合には、何れもが高速に読み出し可能なキャッシュ・メモリにSAを配置する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−96178号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
例えば、特許文献1には、SA保持部及び退避SA保持部と称する2種類のSA保持部を有し、アプリケーションからの情報に基づいてSA情報をSA保持部から退避SA保持部に置き換えることでキャッシュ動作を行うことが開示されている。また、使用するSAが退避SA保持部に配置されている場合は、当該SA情報を退避SA保持部からSA保持部に置き換えることで同様にキャッシュ動作を行うことが開示されている。
【0009】
しかしながら、特許文献1に開示された技術であっても、複数の接続先とのアクセスがランダムに発生している場合には、キャッシュミスが頻発しキャッシュの効果は限定的である。また、常にキャッシュ・ヒットするように大容量化することも考えられるが、組み込みシステムではキャッシュはチップ内にSRAMとして実装されるため、チップコストの上昇を招く。さらにはキャッシュ容量には現実的な限界が存在するため、最大接続数がキャッシュ容量に依存してしまう。
【0010】
そこで、本発明の目的は、通信の発生と終了の特性を考慮してSAを高速なSRAMと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化を図ることにある。
【課題を解決するための手段】
【0011】
本発明の暗号化処理装置は、暗号通信を行う暗号化処理装置であって、受信したパケットの長さを計測する計測手段と、前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持手段を切り替える管理手段とを具備することを特徴とする。
【発明の効果】
【0012】
本発明によれば、通信の発生と終了の特性を考慮してSAを高速なSRAMと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化が可能となる。
【図面の簡単な説明】
【0013】
【図1】IP層における通信対象データ分割を示す図である。
【図2】第1の実施形態における暗号化処理装置を示す図である。
【図3】第1の実施形態における暗号化処理装置の処理を示すフローチャートである。
【図4】第2の実施形態における暗号化処理装置を示す図である。
【図5】第2の実施形態における暗号化処理装置の処理を示すフローチャートである。
【図6】第3の実施形態における暗号化処理装置を示す図である。
【図7】第3の実施形態における暗号化処理装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0015】
先ず、本発明の第1の実施形態について、図1〜図3を参照しながら説明する。図2は、通信対象データを、IPパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネット(登録商標)においては、許容される最大パケット長はMTUと呼称されている。MTUの値は通信経路ごとにことなるが、一般的には大きくとも1.5kb程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がMTUサイズ以下となるよう調整しなければならない。もし、通信対象データがMTUサイズの整数倍の場合、通信対象データは所定のパケット長がMTUのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてMTUの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図2に示すように、データ長がMTUのパケット複数個と、データ長がMTU未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に1パケットずつネットワーク上に送信されていき、最後にデータ長がMTU未満のパケットが送信されると全データの送信が完了する。換言すれば、MTUサイズのパケットを送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に1フレームの最大伝送単位であるMTUサイズ未満のパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。本実施形態では、IPsecの暗号認証処理、復号検証処理を行う際に、この予測を利用することでこれら処理の高速化を実現する。
【0016】
図1は、第1の実施形態における暗号化処理装置の構成を示す図である。図1において、102は、暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信するパケット入力部である。103はパケット入力部102から取得したIPパケットに対して暗号化処理と認証処理、もしくは復号処理と認証処理を行うパケット処理部である。104はパケット入力部102から指定されたIPパケットのパケット長を計測するパケット長計測部である。105は通信対向相手毎のMTU値を保持し、パケット入力部102から指定された通信対向相手のMTU値を出力するMTU保持部である。106はパケット長計測部104から取得したパケット長とMTU保持部105から取得したMTU値を比較するパケット長比較部である。107は高速アクセス可能であるが価格が高価で大容量化が困難な高速なSA保持部である。108は高速なSA保持部107と比して低速であるが大容量化が比較的容易である低速なSA保持部である。109はIPsec通信対向相手毎のSA情報を、高速なSA保持部107もしくは低速なSA保持部108に保持し、パケット処理部103から要求されたSA IDに基づきパケット処理部103に対してSAデータを供給するSA管理部である。110はパケット処理部103から取得した暗号化済みもしくは復号済みのIPパケットを出力するパケット出力部である。
【0017】
なお、上記SA情報は、パケットの長さに応じて暗号通信の確立に必要な情報であり、IPsecやIPv6を利用した暗号化通信において、通信をはじめる前に暗号化方式や暗号鍵などの情報を交換・共有し、安全な通信路を確立するために必要となる情報である。
【0018】
以下、図3のフローチャートを参照しながら、第1の実施形態における暗号化処理装置の処理について説明する。最初に、パケット入力ステップ(ステップS301)において、パケット入力部102は暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信する。そして、IPパケットをパケット処理部103およびパケット長計測部104に対して入力する。また、パケット入力部102はMTU保持部105に対して通信対向相手を識別するためのSA IDを入力する。
【0019】
パケット入力ステップ(ステップS301)が終わると、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS305)から始まる3ステップにフローが分岐する。ここでは、前者のフローから先に述べる。
【0020】
SA取得ステップ(ステップS305)では、パケット処理部103はSA管理部109からSA情報を取得する。まず、パケット処理部103はSA管理部109に対して通信対向相手を識別するSA IDを入力する。SA管理部109は、SA IDを元に、高速なSA保持部107、もしくは低速なSA保持部108に保持されている当該SAを検索し、パケット処理部103に対して出力する。それを受け、パケット処理ステップ(ステップS303)では、パケット処理部103は、SA管理部109から取得したSA情報に従い、IPパケットに対して暗号化処理と認証処理、もしくは復号処理と認証処理を実行する。
【0021】
最後に、パケット出力ステップ(ステップS304)では、パケット出力部110は、パケット処理部103の生成した、暗号化されたIPパケット、もしくは平文のIPパケットを出力する。
【0022】
以上がSA取得ステップ(ステップS302)から始まる3ステップのフローである。続いて、パケット長計測ステップ(ステップS305)から始まる3ステップのフローについて述べる。
【0023】
パケット長計測ステップ(ステップS305)では、パケット長計測部104は、パケット入力部102から指定されたIPパケットのパケット長を計測し、その結果をパケット長比較部106に対して出力する。また、MTU保持部105は、パケット入力部102から取得したSA IDを元に当該通信対向相手のMTU値を検索し、パケット長比較部106に対して出力する。
【0024】
続いて、パケット長比較ステップ(ステップS306)では、パケット長比較部106は、パケット長計測部104から取得したパケット長とMTU保持部105から取得したMTU値との比較結果に基づいて通信状況の予測を行う。もし、MTU値とIPパケット長が等しいか数十バイト程度の差しかなかった場合、両者は一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、MTU値と比してIPパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。
【0025】
SA保持領域更新ステップ(ステップS307)では、SA管理部109が、パケット長比較部106から取得した通信状況の予測結果に応じてSA情報の保持領域を更新する。パケット長比較部106は、通信継続と判断した場合で、かつ当該IPパケットのSAが低速なSA保持部108に保持されていた場合、SA管理部109は当該IPパケットのSAを高速なSA保持部107に移動させる。パケット長比較部106が、通信が終焉すると判断した場合で、かつ当該IPパケットのSAが高速なSA保持部107に保持されていた場合、SA管理部109は当該IPパケットのSAを低速なSA保持部108に移動させる。SA管理部109はこのような手法で近未来に使用される可能性の高いSAを高速なSA管理部107に移動させると共に、使用されない可能性の高いSAを低速なSA管理部108に移動させる。以上がパケット長計測ステップ(ステップS305)から始まる3ステップのフローである。
【0026】
なお、これら二つのフロー(SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS305)から始まる3ステップ)は基本的に並列に実行可能である。しかし、SA取得ステップ(ステップS302)はSA保持領域更新ステップ(ステップS307)に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、IPパケット処理の性能に直結するSA取得から始まる3ステップが優先して実行されることが望ましい。
【0027】
暗号化処理装置101は以上のような処理を行うことで、パケット処理部103が要求するSAが、高速なSA保持部107に保持されている可能性を向上させる。結果として、SA管理部109がパケット処理部103に対してSAを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【0028】
次に、本発明の第2の実施形態について説明する。第2の実施形態は、第1の実施形態においてSA移動の指標としていたMTU値との比較を、以前送信したIPパケット長との比較に変更したものである。
【0029】
以下、本発明の第2の実施形態を、図2、図4及び図5を参照しながら説明する。図2は通信対象データをIPパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネットにおいては、許容される最大パケット長はMTUと呼称されている。MTUの値は通信経路ごとにことなるが、一般的には大きくとも1.5kb程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がMTUサイズ以下となるよう調整しなければならない。もし、通信対象データがMTUサイズの整数倍の場合、通信対象データはパケット長がMTUのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてMTUの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図2に示すように、データ長がMTUのパケット複数個と、データ長がMTU未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に1パケットずつネットワーク上に送信されていき、最後にデータ長がMTU未満のパケットが送信されると全データの送信が完了する。換言すれば、同一の通信対向相手に対して、同一パケット長のIPパケットを連続して送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に同一の通信対向相手に対して前回送信したIPパケットのパケット長よりも短いIPパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。
【0030】
本実施形態では、IPsecの暗号認証処理、復号検証処理を行う暗号化処理装置に対してこの予測を適用することで、暗号通信の高速化を実現する。
【0031】
図4は、第2の実施形態における暗号化処理装置の構成を示す図である。図4において、102、103、104、107、108、109及び110は、第1の実施形態の説明で用いた図1と同一であるため、説明を省略する。図4の405は通信対向相手毎の前回のIPパケット長を保持し、パケット入力部102から指定された通信対向相手の前回のIPパケット長を出力するパケット長保持部、406はパケット長計測部104から取得したパケット長とパケット長保持部405から取得したパケット長を比較するパケット長比較部である。
【0032】
以下、図5のフローチャートを参照しながら、第2の実施形態における暗号化処理装置の処理について説明する。最初に、パケット入力ステップ(ステップS301)で、パケット入力部102は暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信する。そして、IPパケットをパケット処理部103およびパケット長計測部104に対して入力する。また、パケット長保持部405に対して通信対向相手を識別するためのSA IDを入力する。
【0033】
パケット入力ステップ(ステップS301)が終わると、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS505)から始まる3ステップにフローが分岐する。前者のフローは第1の実施形態の説明で用いた図3のフローチャートと同一であるため、説明を省略する。続いて、パケット長計測ステップ(ステップS505)から始まる3ステップのフローについて述べる。
【0034】
パケット長計測ステップ(ステップS505)では、パケット長計測部104は、パケット入力部102から指定されたIPパケットのパケット長を計測し、その結果をパケット長比較部406に対して出力する。また、パケット長保持部405は、パケット入力部102から取得したSA IDを元に当該通信対向相手に前回送信したIPパケット長を検索し、その値をパケット長比較部406に対して出力する。
【0035】
続いて、パケット長比較ステップ(ステップS506)では、パケット長比較部406は、パケット長計測部104から取得したパケット長と、パケット長保持部405から取得した前回送信したIPパケット長を元に通信状況の予測を行う。もし、IPパケット長と前回送信したIPパケット長が等しいか数十バイト程度の差しかなかった場合、両者は一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、前回送信したIPパケット長と比してIPパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。さらに、パケット長比較部406は、IPパケット長の比較後にパケット長計測部104から取得したパケット長を、パケット長保持部405に対して出力する。パケット長保持部405はパケット長比較部406から取得したパケット長を保持する。
【0036】
SA保持領域更新ステップ(ステップS307)では、SA管理部109は、パケット長比較部406から取得した通信状況の予測結果に応じたSA情報の保持領域の更新を行う。パケット長比較部406は、通信継続と判断した場合でかつ、当該IPパケットのSAが低速なSA保持部108に保持されていた場合、SA管理部109は当該IPパケットのSAを高速なSA保持部107に移動させる。パケット長比較部406は、通信が終焉すると判断した場合でかつ当該IPパケットのSAが高速なSA保持部107に保持されていた場合、SA管理部109は当該IPパケットのSAを低速なSA保持部108に移動させる。SA管理部109はこのような手法で近未来に使用される可能性の高いSAを高速なSA管理部107に移動させると共に、使用されない可能性の高いSAを低速なSA管理部108に移動させる。以上がパケット長計測ステップ(ステップS505)から始まる3ステップのフローである。
【0037】
なお、これら二つのフロー、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS505)から始まる3ステップは基本的に並列に実行可能である。しかし、SA取得ステップ(ステップS302)はSA保持領域更新ステップ(ステップS307)に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、IPパケット処理の性能に直結するSA取得から始まる3ステップが優先して実行されることが望ましい。
【0038】
第2の実施形態における暗号化処理装置401は以上のような処理を行うことにより、パケット処理部103が要求するSAが、高速なSA保持部107に保持されている可能性を向上させる。結果として、SA管理部109がパケット処理部103に対してSAを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【0039】
次に、本発明の第3の実施形態について説明する。本発明の第3の実施形態は、第2の実施形態よりもパケット長保持部に保持する過去のパケット長を増やし、通信パターンを検出することで、より正確な判断を行うものである。以下、本発明の第3の実施形態を、図2、図6および図7を参照しながら説明する。
【0040】
図2は、通信対象データをIPパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネットにおいては、許容される最大パケット長はMTUと呼称されている。MTUの値は通信経路ごとにことなるが、一般的には大きくとも1.5kb程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がMTUサイズ以下となるよう調整しなければならない。もし、通信対象データがMTUサイズの整数倍の場合、通信対象データはパケット長がMTUのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてMTUの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図2に示すように、データ長がMTUのパケット複数個と、データ長がMTU未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に1パケットずつネットワーク上に送信されていき、最後にデータ長がMTU未満のパケットが送信されると全データの送信が完了する。換言すれば、同一の通信対向相手に対して、同一パケット長のIPパケットを複数個連続して送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に同一の通信対向相手に対して同一パケット長のIPパケットを複数個連続して送信した後にそれらよりも短いIPパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。単純に同一通信対向相手に対して前回送信したIPパケット長と比較するだけでは、本発明が想定する大容量データ通信以外の用途(インターネット制御通知プロトコルICMPなど)に対して、パフォーマンスを損なうSA管理を実施してしまう可能性がある。しかし、同一の通信対向相手に対するIPパケット長を複数個用いてSA管理を実施することで、本発明が有効に働く用途のみに対して本発明を実施できる可能性が高まる。
【0041】
本実施形態では、IPsecの暗号認証処理、復号検証処理を行う暗号化処理装置に対してこの予測を適用することで、暗号通信の高速化を実現する。
【0042】
図6は、第3の実施形態における暗号化処理装置の構成を示す図である。図6において、102、103、104、107、108、109、および110は、第1の実施形態の説明で用いた図1と同一であるため説明を省略する。図6中の605は通信対向相手ごとのIPパケット長の履歴を過去複数回分保持し、パケット入力部102から指定された通信対向相手のIPパケット長の履歴を出力するパケット長保持部、606はパケット長計測部104から取得したパケット長とパケット長保持部605から取得したパケット長の履歴を元に通信パターンを検出する通信パターン検出部である。以下、図7のフローチャートを参照しながら、第3の実施形態における暗号化処理装置の処理について説明する。
【0043】
最初に、パケット入力ステップ(ステップS301)で、パケット入力部102は暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信する。そして、IPパケットをパケット処理部103およびパケット長計測部104に対して入力する。また、パケット長保持部605に対して通信対向相手を識別するためのSA IDを入力する。パケット入力ステップ(ステップS301)が終わると、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS705)から始まる3ステップにフローが分岐する。
【0044】
前者のフローは第1の実施形態の説明で用いた図3のフローと同一であるため、説明を省略する。続いて、パケット長計測ステップ(ステップS705)から始まる3ステップのフローについて述べる。
【0045】
パケット長計測ステップ(ステップS705)では、パケット長計測部104が、パケット入力部102から指定されたIPパケットのパケット長を計測し、その結果を通信パターン検出部606に対して出力する。また、パケット長保持部605は、パケット入力部102から取得したSA IDを元に当該通信対向相手のIPパケット長の履歴を検索し、その結果を通信パターン検出部606に対して出力する。
【0046】
続いて、パケット長比較ステップ(ステップS706)では、通信パターン検出部606が、パケット長計測部104から取得したIPパケット長とパケット長保持部605から取得したIPパケット長の履歴を元に通信状況の予測を行う。もし、IPパケット長とIPパケット長の履歴がすべて等しいか数十バイト程度の差しかなかった場合、それらは一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、IPパケット長の履歴がすべて等しいか数十バイト程度の差しかなく、かつそれらと比してIPパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。さらに、通信パターン検出部606は、通信パターンの検出後に、パケット長計測部104から取得したパケット長を、パケット長保持605に対して送信する。パケット長保持部605は通信パターン検出部606から取得したパケット長を新たに保持する。パケット長保持部605はIPパケット長の履歴の保持回数を超えた場合、もっとも古いものを削除する。
【0047】
SA保持領域更新ステップ(ステップS307)では、SA管理部109が、通信パターン検出部606から取得した通信状況の予測結果に応じたSA情報の保持領域の更新を行う。通信パターン検出部606が、通信継続と判断した場合で、かつ当該IPパケットのSAが低速なSA保持部108に保持されていた場合、SA管理部109は当該IPパケットのSAを高速なSA保持部107に移動させる。通信パターン検出部606が、通信が終焉すると判断した場合でかつ当該IPパケットのSAが高速なSA保持部107に保持されていた場合、SA管理部109は当該IPパケットのSAを低速なSA保持部108に移動させる。SA管理部109はこのような手法で近未来に使用される可能性の高いSAを高速なSA管理部107に移動させると共に、使用されない可能性の高いSAを低速なSA管理部108に移動させる。以上がパケット長計測ステップ(ステップS705)から始まる3ステップのフローである。
【0048】
なお、これら二つのフロー(SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS705)から始まる3ステップ)は基本的に並列に実行可能である。しかし、SA取得ステップ(ステップS302)はSA保持領域更新ステップ(ステップS307)に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、IPパケット処理の性能に直結するSA取得から始まる3ステップが優先して実行されることが望ましい。
【0049】
第3の実施形態における暗号化処理装置601は以上のような処理を行うことで、パケット処理部103が要求するSAが、高速なSA保持部107に保持されている可能性を向上させる。結果として、SA管理部109がパケット処理部103に対してSAを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【0050】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、複数の暗号通信接続を同時並行的に設立し、暗号化処理を行う技術に関するものである。
【背景技術】
【0002】
近年、通信ネットワークは以前にも増して重要なインフラストラクチャとなりつつある。多様なサービスがネットワーク上のサービスとして提供されるようになり、各通信装置は複数のサイトやサービスに対して同時並行的に通信コネクションを設立し、高度かつ複雑なサービスを提供ができるようになった。一方で、不正アクセスの問題や情報漏洩問題が増加しており、通信の暗号化が必須の技術となっている。以上から、暗号化処理装置には従来以上に多くの接続を高速に処理することが求められている。
【0003】
多数の暗号通信コネクションを高速に処理する手法として、例えば暗号処理回路を複数個並列に構成し、同時に複数本のコネクションを並列に処理することが考えられる。しかしながら、接続数に応じて暗号処理回路を増加させることは、回路面積や消費電力の観点から現実的な解決策とは言えない。そのため、一つの暗号処理回路で複数のコネクションに対するパケットを時分割多重で処理することが一般的である。
【0004】
ところで、IPsecプロトコルを用いた暗号通信の接続においては、送信側と受信側とで暗号アルゴリズムや暗号鍵を共有しなければならない。これらの情報は、セキュリティ・アソシエーション(SA)と呼ばれており、暗号アルゴリズムや暗号鍵の他に、イニシャルベクタなどの情報を含むデータコンテクストとして送信端及び受信端の装置で管理されている。SAのコンテクストはIPsecのRFCとして標準化されており、暗号化処理装置は送信端と受信端で共有されたSAをパケット毎に参照しながら暗号化及び復号化を行う。
【0005】
暗号処理を時分割多重で実行した場合に、パケット単位に異なるSAを何らかの記憶領域から読み出す必要がある。このSAの読み出し速度が低速である場合には、暗号処理全体のボトルネックになってしまう。特にSAをシステム全体で共有する共有メモリに配置した場合には、SA情報を読み出すための遅延時間が大きくなり暗号処理の処理性能が低下するという課題がある。
【0006】
この課題を解決する一手段として、SAを高速な読み出しが可能な専用メモリ領域に配置することが考えられる。例えば、暗号化処理装置がCPU及び専用ハードウェア装置で構成される場合には、何れもが高速に読み出し可能なキャッシュ・メモリにSAを配置する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−96178号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
例えば、特許文献1には、SA保持部及び退避SA保持部と称する2種類のSA保持部を有し、アプリケーションからの情報に基づいてSA情報をSA保持部から退避SA保持部に置き換えることでキャッシュ動作を行うことが開示されている。また、使用するSAが退避SA保持部に配置されている場合は、当該SA情報を退避SA保持部からSA保持部に置き換えることで同様にキャッシュ動作を行うことが開示されている。
【0009】
しかしながら、特許文献1に開示された技術であっても、複数の接続先とのアクセスがランダムに発生している場合には、キャッシュミスが頻発しキャッシュの効果は限定的である。また、常にキャッシュ・ヒットするように大容量化することも考えられるが、組み込みシステムではキャッシュはチップ内にSRAMとして実装されるため、チップコストの上昇を招く。さらにはキャッシュ容量には現実的な限界が存在するため、最大接続数がキャッシュ容量に依存してしまう。
【0010】
そこで、本発明の目的は、通信の発生と終了の特性を考慮してSAを高速なSRAMと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化を図ることにある。
【課題を解決するための手段】
【0011】
本発明の暗号化処理装置は、暗号通信を行う暗号化処理装置であって、受信したパケットの長さを計測する計測手段と、前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持手段を切り替える管理手段とを具備することを特徴とする。
【発明の効果】
【0012】
本発明によれば、通信の発生と終了の特性を考慮してSAを高速なSRAMと大容量なシステム共有メモリに適応的に配置する手法を活用し、暗号通信の高速化が可能となる。
【図面の簡単な説明】
【0013】
【図1】IP層における通信対象データ分割を示す図である。
【図2】第1の実施形態における暗号化処理装置を示す図である。
【図3】第1の実施形態における暗号化処理装置の処理を示すフローチャートである。
【図4】第2の実施形態における暗号化処理装置を示す図である。
【図5】第2の実施形態における暗号化処理装置の処理を示すフローチャートである。
【図6】第3の実施形態における暗号化処理装置を示す図である。
【図7】第3の実施形態における暗号化処理装置の処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0015】
先ず、本発明の第1の実施形態について、図1〜図3を参照しながら説明する。図2は、通信対象データを、IPパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネット(登録商標)においては、許容される最大パケット長はMTUと呼称されている。MTUの値は通信経路ごとにことなるが、一般的には大きくとも1.5kb程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がMTUサイズ以下となるよう調整しなければならない。もし、通信対象データがMTUサイズの整数倍の場合、通信対象データは所定のパケット長がMTUのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてMTUの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図2に示すように、データ長がMTUのパケット複数個と、データ長がMTU未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に1パケットずつネットワーク上に送信されていき、最後にデータ長がMTU未満のパケットが送信されると全データの送信が完了する。換言すれば、MTUサイズのパケットを送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に1フレームの最大伝送単位であるMTUサイズ未満のパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。本実施形態では、IPsecの暗号認証処理、復号検証処理を行う際に、この予測を利用することでこれら処理の高速化を実現する。
【0016】
図1は、第1の実施形態における暗号化処理装置の構成を示す図である。図1において、102は、暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信するパケット入力部である。103はパケット入力部102から取得したIPパケットに対して暗号化処理と認証処理、もしくは復号処理と認証処理を行うパケット処理部である。104はパケット入力部102から指定されたIPパケットのパケット長を計測するパケット長計測部である。105は通信対向相手毎のMTU値を保持し、パケット入力部102から指定された通信対向相手のMTU値を出力するMTU保持部である。106はパケット長計測部104から取得したパケット長とMTU保持部105から取得したMTU値を比較するパケット長比較部である。107は高速アクセス可能であるが価格が高価で大容量化が困難な高速なSA保持部である。108は高速なSA保持部107と比して低速であるが大容量化が比較的容易である低速なSA保持部である。109はIPsec通信対向相手毎のSA情報を、高速なSA保持部107もしくは低速なSA保持部108に保持し、パケット処理部103から要求されたSA IDに基づきパケット処理部103に対してSAデータを供給するSA管理部である。110はパケット処理部103から取得した暗号化済みもしくは復号済みのIPパケットを出力するパケット出力部である。
【0017】
なお、上記SA情報は、パケットの長さに応じて暗号通信の確立に必要な情報であり、IPsecやIPv6を利用した暗号化通信において、通信をはじめる前に暗号化方式や暗号鍵などの情報を交換・共有し、安全な通信路を確立するために必要となる情報である。
【0018】
以下、図3のフローチャートを参照しながら、第1の実施形態における暗号化処理装置の処理について説明する。最初に、パケット入力ステップ(ステップS301)において、パケット入力部102は暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信する。そして、IPパケットをパケット処理部103およびパケット長計測部104に対して入力する。また、パケット入力部102はMTU保持部105に対して通信対向相手を識別するためのSA IDを入力する。
【0019】
パケット入力ステップ(ステップS301)が終わると、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS305)から始まる3ステップにフローが分岐する。ここでは、前者のフローから先に述べる。
【0020】
SA取得ステップ(ステップS305)では、パケット処理部103はSA管理部109からSA情報を取得する。まず、パケット処理部103はSA管理部109に対して通信対向相手を識別するSA IDを入力する。SA管理部109は、SA IDを元に、高速なSA保持部107、もしくは低速なSA保持部108に保持されている当該SAを検索し、パケット処理部103に対して出力する。それを受け、パケット処理ステップ(ステップS303)では、パケット処理部103は、SA管理部109から取得したSA情報に従い、IPパケットに対して暗号化処理と認証処理、もしくは復号処理と認証処理を実行する。
【0021】
最後に、パケット出力ステップ(ステップS304)では、パケット出力部110は、パケット処理部103の生成した、暗号化されたIPパケット、もしくは平文のIPパケットを出力する。
【0022】
以上がSA取得ステップ(ステップS302)から始まる3ステップのフローである。続いて、パケット長計測ステップ(ステップS305)から始まる3ステップのフローについて述べる。
【0023】
パケット長計測ステップ(ステップS305)では、パケット長計測部104は、パケット入力部102から指定されたIPパケットのパケット長を計測し、その結果をパケット長比較部106に対して出力する。また、MTU保持部105は、パケット入力部102から取得したSA IDを元に当該通信対向相手のMTU値を検索し、パケット長比較部106に対して出力する。
【0024】
続いて、パケット長比較ステップ(ステップS306)では、パケット長比較部106は、パケット長計測部104から取得したパケット長とMTU保持部105から取得したMTU値との比較結果に基づいて通信状況の予測を行う。もし、MTU値とIPパケット長が等しいか数十バイト程度の差しかなかった場合、両者は一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、MTU値と比してIPパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。
【0025】
SA保持領域更新ステップ(ステップS307)では、SA管理部109が、パケット長比較部106から取得した通信状況の予測結果に応じてSA情報の保持領域を更新する。パケット長比較部106は、通信継続と判断した場合で、かつ当該IPパケットのSAが低速なSA保持部108に保持されていた場合、SA管理部109は当該IPパケットのSAを高速なSA保持部107に移動させる。パケット長比較部106が、通信が終焉すると判断した場合で、かつ当該IPパケットのSAが高速なSA保持部107に保持されていた場合、SA管理部109は当該IPパケットのSAを低速なSA保持部108に移動させる。SA管理部109はこのような手法で近未来に使用される可能性の高いSAを高速なSA管理部107に移動させると共に、使用されない可能性の高いSAを低速なSA管理部108に移動させる。以上がパケット長計測ステップ(ステップS305)から始まる3ステップのフローである。
【0026】
なお、これら二つのフロー(SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS305)から始まる3ステップ)は基本的に並列に実行可能である。しかし、SA取得ステップ(ステップS302)はSA保持領域更新ステップ(ステップS307)に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、IPパケット処理の性能に直結するSA取得から始まる3ステップが優先して実行されることが望ましい。
【0027】
暗号化処理装置101は以上のような処理を行うことで、パケット処理部103が要求するSAが、高速なSA保持部107に保持されている可能性を向上させる。結果として、SA管理部109がパケット処理部103に対してSAを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【0028】
次に、本発明の第2の実施形態について説明する。第2の実施形態は、第1の実施形態においてSA移動の指標としていたMTU値との比較を、以前送信したIPパケット長との比較に変更したものである。
【0029】
以下、本発明の第2の実施形態を、図2、図4及び図5を参照しながら説明する。図2は通信対象データをIPパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネットにおいては、許容される最大パケット長はMTUと呼称されている。MTUの値は通信経路ごとにことなるが、一般的には大きくとも1.5kb程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がMTUサイズ以下となるよう調整しなければならない。もし、通信対象データがMTUサイズの整数倍の場合、通信対象データはパケット長がMTUのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてMTUの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図2に示すように、データ長がMTUのパケット複数個と、データ長がMTU未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に1パケットずつネットワーク上に送信されていき、最後にデータ長がMTU未満のパケットが送信されると全データの送信が完了する。換言すれば、同一の通信対向相手に対して、同一パケット長のIPパケットを連続して送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に同一の通信対向相手に対して前回送信したIPパケットのパケット長よりも短いIPパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。
【0030】
本実施形態では、IPsecの暗号認証処理、復号検証処理を行う暗号化処理装置に対してこの予測を適用することで、暗号通信の高速化を実現する。
【0031】
図4は、第2の実施形態における暗号化処理装置の構成を示す図である。図4において、102、103、104、107、108、109及び110は、第1の実施形態の説明で用いた図1と同一であるため、説明を省略する。図4の405は通信対向相手毎の前回のIPパケット長を保持し、パケット入力部102から指定された通信対向相手の前回のIPパケット長を出力するパケット長保持部、406はパケット長計測部104から取得したパケット長とパケット長保持部405から取得したパケット長を比較するパケット長比較部である。
【0032】
以下、図5のフローチャートを参照しながら、第2の実施形態における暗号化処理装置の処理について説明する。最初に、パケット入力ステップ(ステップS301)で、パケット入力部102は暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信する。そして、IPパケットをパケット処理部103およびパケット長計測部104に対して入力する。また、パケット長保持部405に対して通信対向相手を識別するためのSA IDを入力する。
【0033】
パケット入力ステップ(ステップS301)が終わると、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS505)から始まる3ステップにフローが分岐する。前者のフローは第1の実施形態の説明で用いた図3のフローチャートと同一であるため、説明を省略する。続いて、パケット長計測ステップ(ステップS505)から始まる3ステップのフローについて述べる。
【0034】
パケット長計測ステップ(ステップS505)では、パケット長計測部104は、パケット入力部102から指定されたIPパケットのパケット長を計測し、その結果をパケット長比較部406に対して出力する。また、パケット長保持部405は、パケット入力部102から取得したSA IDを元に当該通信対向相手に前回送信したIPパケット長を検索し、その値をパケット長比較部406に対して出力する。
【0035】
続いて、パケット長比較ステップ(ステップS506)では、パケット長比較部406は、パケット長計測部104から取得したパケット長と、パケット長保持部405から取得した前回送信したIPパケット長を元に通信状況の予測を行う。もし、IPパケット長と前回送信したIPパケット長が等しいか数十バイト程度の差しかなかった場合、両者は一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、前回送信したIPパケット長と比してIPパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。さらに、パケット長比較部406は、IPパケット長の比較後にパケット長計測部104から取得したパケット長を、パケット長保持部405に対して出力する。パケット長保持部405はパケット長比較部406から取得したパケット長を保持する。
【0036】
SA保持領域更新ステップ(ステップS307)では、SA管理部109は、パケット長比較部406から取得した通信状況の予測結果に応じたSA情報の保持領域の更新を行う。パケット長比較部406は、通信継続と判断した場合でかつ、当該IPパケットのSAが低速なSA保持部108に保持されていた場合、SA管理部109は当該IPパケットのSAを高速なSA保持部107に移動させる。パケット長比較部406は、通信が終焉すると判断した場合でかつ当該IPパケットのSAが高速なSA保持部107に保持されていた場合、SA管理部109は当該IPパケットのSAを低速なSA保持部108に移動させる。SA管理部109はこのような手法で近未来に使用される可能性の高いSAを高速なSA管理部107に移動させると共に、使用されない可能性の高いSAを低速なSA管理部108に移動させる。以上がパケット長計測ステップ(ステップS505)から始まる3ステップのフローである。
【0037】
なお、これら二つのフロー、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS505)から始まる3ステップは基本的に並列に実行可能である。しかし、SA取得ステップ(ステップS302)はSA保持領域更新ステップ(ステップS307)に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、IPパケット処理の性能に直結するSA取得から始まる3ステップが優先して実行されることが望ましい。
【0038】
第2の実施形態における暗号化処理装置401は以上のような処理を行うことにより、パケット処理部103が要求するSAが、高速なSA保持部107に保持されている可能性を向上させる。結果として、SA管理部109がパケット処理部103に対してSAを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【0039】
次に、本発明の第3の実施形態について説明する。本発明の第3の実施形態は、第2の実施形態よりもパケット長保持部に保持する過去のパケット長を増やし、通信パターンを検出することで、より正確な判断を行うものである。以下、本発明の第3の実施形態を、図2、図6および図7を参照しながら説明する。
【0040】
図2は、通信対象データをIPパケットに分割する様子を示す図である。通信対象データのデータ長はアプリケーションに依存しており、例えば通信対象が画像、動画、音声といったメディアファイルの場合、数百キロバイト以上のデータ長となることは珍しくない。一方、インターネットで主として使用されるイーサネットにおいては、許容される最大パケット長はMTUと呼称されている。MTUの値は通信経路ごとにことなるが、一般的には大きくとも1.5kb程度である。そのため、通信対象データをインターネット上で通信する際には、通信対象データを複数のパケットに分割し、個々のパケット長がMTUサイズ以下となるよう調整しなければならない。もし、通信対象データがMTUサイズの整数倍の場合、通信対象データはパケット長がMTUのパケット複数個に分割される。しかし、通信対象データはアプリケーションが定める任意長であるため、そのデータ長は大多数の場合においてMTUの整数倍とはならないと想定される。従って、通信対象データがパケットに分割される場合、図2に示すように、データ長がMTUのパケット複数個と、データ長がMTU未満のパケット一つという形に分割される。これら分割された通信対象データは、先頭より順に1パケットずつネットワーク上に送信されていき、最後にデータ長がMTU未満のパケットが送信されると全データの送信が完了する。換言すれば、同一の通信対向相手に対して、同一パケット長のIPパケットを複数個連続して送信している間は、後続するパケットが存在しているため、当該通信対向相手に対するデータ通信が継続する可能性が高く、逆に同一の通信対向相手に対して同一パケット長のIPパケットを複数個連続して送信した後にそれらよりも短いIPパケットが送信された場合は、当該通信対象データの送信が完了したため、当該通信対向相手に対するデータ通信は当面行われないと予測できる。単純に同一通信対向相手に対して前回送信したIPパケット長と比較するだけでは、本発明が想定する大容量データ通信以外の用途(インターネット制御通知プロトコルICMPなど)に対して、パフォーマンスを損なうSA管理を実施してしまう可能性がある。しかし、同一の通信対向相手に対するIPパケット長を複数個用いてSA管理を実施することで、本発明が有効に働く用途のみに対して本発明を実施できる可能性が高まる。
【0041】
本実施形態では、IPsecの暗号認証処理、復号検証処理を行う暗号化処理装置に対してこの予測を適用することで、暗号通信の高速化を実現する。
【0042】
図6は、第3の実施形態における暗号化処理装置の構成を示す図である。図6において、102、103、104、107、108、109、および110は、第1の実施形態の説明で用いた図1と同一であるため説明を省略する。図6中の605は通信対向相手ごとのIPパケット長の履歴を過去複数回分保持し、パケット入力部102から指定された通信対向相手のIPパケット長の履歴を出力するパケット長保持部、606はパケット長計測部104から取得したパケット長とパケット長保持部605から取得したパケット長の履歴を元に通信パターンを検出する通信パターン検出部である。以下、図7のフローチャートを参照しながら、第3の実施形態における暗号化処理装置の処理について説明する。
【0043】
最初に、パケット入力ステップ(ステップS301)で、パケット入力部102は暗号化の対象となる平文のIPパケット、あるいは復号の対象となる暗号化されたIPパケットを受信する。そして、IPパケットをパケット処理部103およびパケット長計測部104に対して入力する。また、パケット長保持部605に対して通信対向相手を識別するためのSA IDを入力する。パケット入力ステップ(ステップS301)が終わると、SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS705)から始まる3ステップにフローが分岐する。
【0044】
前者のフローは第1の実施形態の説明で用いた図3のフローと同一であるため、説明を省略する。続いて、パケット長計測ステップ(ステップS705)から始まる3ステップのフローについて述べる。
【0045】
パケット長計測ステップ(ステップS705)では、パケット長計測部104が、パケット入力部102から指定されたIPパケットのパケット長を計測し、その結果を通信パターン検出部606に対して出力する。また、パケット長保持部605は、パケット入力部102から取得したSA IDを元に当該通信対向相手のIPパケット長の履歴を検索し、その結果を通信パターン検出部606に対して出力する。
【0046】
続いて、パケット長比較ステップ(ステップS706)では、通信パターン検出部606が、パケット長計測部104から取得したIPパケット長とパケット長保持部605から取得したIPパケット長の履歴を元に通信状況の予測を行う。もし、IPパケット長とIPパケット長の履歴がすべて等しいか数十バイト程度の差しかなかった場合、それらは一致しているとみなし、当該通信対向相手との通信は当面継続されると判断する。もし、IPパケット長の履歴がすべて等しいか数十バイト程度の差しかなく、かつそれらと比してIPパケット長が数十バイト以上小さい場合、当該通信対向相手との通信は終焉すると判断する。その他の場合、本発明の想定状況に当てはまらないため、判断不能とする。さらに、通信パターン検出部606は、通信パターンの検出後に、パケット長計測部104から取得したパケット長を、パケット長保持605に対して送信する。パケット長保持部605は通信パターン検出部606から取得したパケット長を新たに保持する。パケット長保持部605はIPパケット長の履歴の保持回数を超えた場合、もっとも古いものを削除する。
【0047】
SA保持領域更新ステップ(ステップS307)では、SA管理部109が、通信パターン検出部606から取得した通信状況の予測結果に応じたSA情報の保持領域の更新を行う。通信パターン検出部606が、通信継続と判断した場合で、かつ当該IPパケットのSAが低速なSA保持部108に保持されていた場合、SA管理部109は当該IPパケットのSAを高速なSA保持部107に移動させる。通信パターン検出部606が、通信が終焉すると判断した場合でかつ当該IPパケットのSAが高速なSA保持部107に保持されていた場合、SA管理部109は当該IPパケットのSAを低速なSA保持部108に移動させる。SA管理部109はこのような手法で近未来に使用される可能性の高いSAを高速なSA管理部107に移動させると共に、使用されない可能性の高いSAを低速なSA管理部108に移動させる。以上がパケット長計測ステップ(ステップS705)から始まる3ステップのフローである。
【0048】
なお、これら二つのフロー(SA取得ステップ(ステップS302)から始まる3ステップ、およびパケット長計測ステップ(ステップS705)から始まる3ステップ)は基本的に並列に実行可能である。しかし、SA取得ステップ(ステップS302)はSA保持領域更新ステップ(ステップS307)に先んじて実行されなければならない。また、演算資源が乏しく逐次実行しか実施できない場合、IPパケット処理の性能に直結するSA取得から始まる3ステップが優先して実行されることが望ましい。
【0049】
第3の実施形態における暗号化処理装置601は以上のような処理を行うことで、パケット処理部103が要求するSAが、高速なSA保持部107に保持されている可能性を向上させる。結果として、SA管理部109がパケット処理部103に対してSAを供給するまでの時間が短縮し、パケット処理の性能が向上する。
【0050】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
暗号通信を行う暗号化処理装置であって、
受信したパケットの長さを計測する計測手段と、
前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持手段を切り替える管理手段とを具備することを特徴とする暗号化処理装置。
【請求項2】
前記管理手段は、
所定のパケット長を保持するパケット長保持手段と、
前記計測手段によって計測されたパケット長と前記パケット長保持手段に保持されたパケット長を比較するパケット長比較手段とを備え、
前記パケット長比較手段の比較結果に応じて前記保持手段を制御することを特徴とする請求項1に記載の暗号化処理装置。
【請求項3】
前記パケット長保持手段は、通信の対向相手ごとの1フレームの最大伝送単位を所定のパケット長として保持することを特徴とする請求項2に記載の暗号化処理装置。
【請求項4】
前記暗号通信を行うために必要となる情報は、セキュリティ・アソシエーションであることを特徴とする請求項1に記載の暗号化処理装置。
【請求項5】
暗号通信を行う暗号化処理方法であって、
受信したパケットの長さを計測する計測工程と、
前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持を切り替える工程とを具備することを特徴とする暗号化処理方法。
【請求項6】
請求項5に記載の方法の各工程をコンピュータにて実行させるためのプログラム。
【請求項1】
暗号通信を行う暗号化処理装置であって、
受信したパケットの長さを計測する計測手段と、
前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持手段を切り替える管理手段とを具備することを特徴とする暗号化処理装置。
【請求項2】
前記管理手段は、
所定のパケット長を保持するパケット長保持手段と、
前記計測手段によって計測されたパケット長と前記パケット長保持手段に保持されたパケット長を比較するパケット長比較手段とを備え、
前記パケット長比較手段の比較結果に応じて前記保持手段を制御することを特徴とする請求項1に記載の暗号化処理装置。
【請求項3】
前記パケット長保持手段は、通信の対向相手ごとの1フレームの最大伝送単位を所定のパケット長として保持することを特徴とする請求項2に記載の暗号化処理装置。
【請求項4】
前記暗号通信を行うために必要となる情報は、セキュリティ・アソシエーションであることを特徴とする請求項1に記載の暗号化処理装置。
【請求項5】
暗号通信を行う暗号化処理方法であって、
受信したパケットの長さを計測する計測工程と、
前記パケットの長さに応じて、暗号通信を行うために必要となる情報の保持を切り替える工程とを具備することを特徴とする暗号化処理方法。
【請求項6】
請求項5に記載の方法の各工程をコンピュータにて実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【公開番号】特開2013−38695(P2013−38695A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−174969(P2011−174969)
【出願日】平成23年8月10日(2011.8.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願日】平成23年8月10日(2011.8.10)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]