(57)【要約】【課題】  データ種別が異なる暗号化されたパケットが混在している通信環境において、処理装置への負荷を低減しつつデータ種別に応じた所定の分類処理を実現できる、暗号化パケット処理装置を提供する。【解決手段】  ブロック特定部１３は、暗号化されたパケットについて、優先度決定部１６１における優先度決定処理に必要な情報が格納されているパケット内の位置を特定する。特定ブロック復号部１４は、ブロック特定部１３で特定されたブロックのみを復号し、優先度決定処理に必要な情報を抽出する。優先度決定部１６１は、特定ブロック復号部１４で抽出された情報をキーとして優先度情報ＤＢ１６２を検索し、パケットの優先度を決定する。【選択図】  図１
2004343731.tif 000002
【特許請求の範囲】
【請求項１】
データの少なくとも一部がブロック単位で暗号化されたパケットに、所定の分類処理を施す暗号化パケット処理装置であって、
入力パケット内における、前記所定の分類処理に必要な特定情報を含む１つ又は複数の暗号化ブロックを特定するブロック特定部と、
前記ブロック特定部で特定された暗号化ブロックを復号する特定ブロック復号部と、
前記特定ブロック復号部で復号されたブロックに含まれる特定情報に基づいて、前記入力パケットの分類を行う分類処理部とを備える、暗号化パケット処理装置。
【請求項２】
前記ブロック特定部は、前記入力パケット内における暗号化されていないブロックに含まれる情報から、前記所定の分類処理に必要な特定情報を含む暗号化ブロックの一部又は全部を特定することを特徴とする、請求項１に記載の暗号化パケット処理装置。
【請求項３】
前記ブロック特定部は、前記所定の分類処理に必要な特定情報を含む暗号化ブロックを特定するための情報が含まれた他の暗号化ブロックをまず特定し、前記特定ブロック復号部によって復号された他のブロックに含まれる情報から、前記所定の分類処理に必要な特定情報を含む暗号化ブロックの一部又は全部を特定することを特徴とする、請求項１に記載の暗号化パケット処理装置。
【請求項４】
パケットに適用可能な暗号化と、前記所定の分類処理に必要な特定情報を含む暗号化ブロックとの、対応に関する情報を記憶するデータベースをさらに備え、
前記ブロック特定部は、前記入力パケットに適用されている暗号化と前記データベースに記憶された情報から、前記所定の分類処理に必要な特定情報を含む暗号化ブロックの一部又は全部を特定することを特徴とする、請求項１に記載の暗号化パケット処理装置。
【請求項５】
前記分類処理部は、
特定情報と優先度とを対応付けた情報を記憶する優先度情報データベースと、
前記復号されたブロックに含まれている特定情報及び前記優先度情報データベースに記憶された情報に基づいて、前記入力パケットの優先度を決定する優先度決定部とを備える、請求項１に記載の暗号化パケット処理装置。
【請求項６】
前記分類処理部は、
特定情報と分配先とを対応付けた情報を記憶する分配先情報データベースと、
前記復号されたブロックに含まれている特定情報及び前記分配先情報データベースに記憶された情報に基づいて、前記入力パケットの分配先を決定する分配先決定部とを備える、請求項１に記載の暗号化パケット処理装置。
【請求項７】
優先度に一意に対応した複数のキューと、
所定の規則に基づいて、前記複数のキューからパケットを順に取り出して復号処理を行う復号処理部とをさらに備え、
前記優先度決定部は、決定した優先度に対応した前記キューに、前記入力パケットをキューイングすることを特徴とする、請求項５に記載の暗号化パケット処理装置。
【請求項８】
分配先に一意に対応した複数のキューと、
前記複数のキューからパケットを取り出して分配先にそれぞれ送出する分配処理部とをさらに備え、
前記分配先決定部は、決定した分配先に対応した前記キューに、前記入力パケットをキューイングすることを特徴とする、請求項６に記載の暗号化パケット処理装置。
【請求項９】
前記優先度決定部は、決定した優先度に対応した前記キューに、前記入力パケット及び前記特定ブロック復号部によって復号されたブロックをキューイングし、
前記復号処理部は、前記入力パケットの前記復号されたブロック以外のブロックについて復号処理を行うことを特徴とする、請求項７に記載の暗号化パケット処理装置。
【請求項１０】
前記分配先決定部は、決定した分配先に対応した前記キューに、前記入力パケット及び前記特定ブロック復号部によって復号されたブロックをキューイングし、
前記分配処理部は、前記入力パケットと共に前記復号されたブロックを分配先に送出することを特徴とする、請求項８に記載の暗号化パケット処理装置。
【請求項１１】
前記入力パケットが、ＩＰｓｅｃプロトコルに従って暗号化されたパケットであり、
前記暗号化されていないブロックに含まれる情報が、少なくともＩＰヘッダに含まれるプロトコル番号であることを特徴とする、請求項２に記載の暗号化パケット処理装置。
【請求項１２】
前記入力パケットが、ＩＰｓｅｃプロトコルに従って暗号化されたパケットであり、
前記特定情報を含む暗号化ブロックを特定するための情報が、ＩＰヘッダに含まれるＩＰヘッダ長、サービスタイプ又はプロトコル番号の少なくとも１つであることを特徴とする、請求項３に記載の暗号化パケット処理装置。
【請求項１３】
前記入力パケットが、ＩＰｓｅｃプロトコルに従って暗号化されたＥＳＰトランスポートモードパケットであり、
前記所定の分類処理に必要な特定情報が、ＥＳＰトレーラに含まれる次ヘッダ、第４層ヘッダに含まれる送信元ポート番号、又は第４層ヘッダに含まれる宛先ポート番号の少なくとも１つであることを特徴とする、請求項３に記載の暗号化パケット処理装置。
【請求項１４】
前記入力パケットが、ＩＰｓｅｃプロトコルに従って暗号化されたＥＳＰトンネルモードパケットであり、
前記所定の分類処理に必要な特定情報が、カプセル化されたＩＰヘッダに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス又はサービスタイプの少なくとも１つであることを特徴とする、請求項３に記載の暗号化パケット処理装置。
【請求項１５】
前記入力パケットが、ＩＰｓｅｃプロトコルに従って暗号化されたＥＳＰトンネルモードパケットであり、
前記所定の分類処理に必要な特定情報が、カプセル化されたＩＰヘッダに含まれるプロトコル番号、第４層ヘッダに含まれる送信元ポート番号、又は第４層ヘッダに含まれる宛先ポート番号の少なくとも１つであることを特徴とする、請求項３に記載の暗号化パケット処理装置。
【請求項１６】
前記入力パケットが、ＩＰｓｅｃプロトコルに従って暗号化されたパケットであり、
前記データベースが、暗号鍵を含むセキュリティパラメータを記憶するセキュリティアソシエーションデータベース（ＳＡＤ）であることを特徴とする、請求項４に記載の暗号化パケット処理装置。
【請求項１７】
データの少なくとも一部がブロック単位で暗号化されたパケットに、所定の分類処理を施す暗号化パケット処理方法であって、
入力パケット内における、前記所定の分類処理に必要な特定情報を含む１つ又は複数の暗号化ブロックを特定するブロック特定ステップと、
前記ブロック特定ステップで特定された暗号化ブロックを復号する特定ブロック復号ステップと、
前記特定ブロック復号ステップで復号されたブロックに含まれている特定情報に基づいて、前記入力パケットの分類を行う分類処理ステップとを備える、暗号化パケット処理方法。
【請求項１８】
データの少なくとも一部がブロック単位で暗号化されたパケットに所定の分類処理を施す方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムであって、
入力パケット内における、前記所定の分類処理に必要な特定情報を含む１つ又は複数の暗号化ブロックを特定するブロック特定ステップと、
前記ブロック特定ステップで特定された暗号化ブロックを復号する特定ブロック復号ステップと、
前記特定ブロック復号ステップで復号されたブロックに含まれている特定情報に基づいて、前記入力パケットの分類を行う分類処理ステップとを含む、プログラム。
【請求項１９】
データの少なくとも一部がブロック単位で暗号化されたパケットに所定の分類処理を施す方法を、コンピュータに実行させるためのコンピュータ読み取り可能なプログラムを記録した記録媒体であって、
入力パケット内における、前記所定の分類処理に必要な特定情報を含む１つ又は複数の暗号化ブロックを特定するブロック特定ステップと、
前記ブロック特定ステップで特定された暗号化ブロックを復号する特定ブロック復号ステップと、
前記特定ブロック復号ステップで復号されたブロックに含まれている特定情報に基づいて、前記入力パケットの分類を行う分類処理ステップとを含むプログラムを記録した、記録媒体。
【請求項２０】
データの少なくとも一部がブロック単位で暗号化されたパケットに、所定の分類処理を施す暗号化パケット処理装置の集積回路であって、
入力パケット内における、前記所定の分類処理に必要な特定情報を含む１つ又は複数の暗号化ブロックを特定するブロック特定部と、
前記ブロック特定部で特定された暗号化ブロックを復号する特定ブロック復号部と、
前記特定ブロック復号部で復号されたブロックに含まれている特定情報に基づいて、前記入力パケットの分類を行う分類処理部とを集積した、集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化パケット処理装置、方法、プログラム及びプログラム記録媒体に関し、より特定的には、暗号化されたパケットの種別を判断して所定の分類処理を行う暗号化パケット処理装置、及び暗号化パケット処理方法、並びにその方法を実行するためのコンピュータプログラム及びプログラム記録媒体に関する。
【背景技術】
【０００２】
近年、インターネット環境の普及により、インターネットを介してサーバ装置とユーザ端末装置との間で様々なデータが簡単に通信されるようになってきた。このデータには、大きく分けて、アプリケーションプログラムや電子メール等のリアルタイム処理を要しないデータ（以下、非リアルタイムデータと記す）と、映像や音声等のリアルタイム処理を要するデータ（以下、リアルタイムデータと記す）の、２種類が存在する。この２種類のデータを混在してして処理する場合、リアルタイムデータの処理が遅延すると映像／音声の停止や欠落等が発生する恐れがある。このため、ユーザ端末装置等は、入力データをリアルタイムデータと非リアルタイムデータとに分類して、リアルタイムデータが非リアルタイムデータよりも優先して処理することが好ましい。この分類処理は、一般にデータの種別等が示された特定情報に基づいて判断される。
【０００３】
一方、サーバ装置とユーザ端末装置との間で様々なデータが簡単に通信されるようになってきたことに伴って、特に重要な情報を含む通信や、個人のプライバシーに関わる情報の通信には、専用線並みのセキュリティ確保が求められている。例えば、電子商取引や電子決済等の分野である。このセキュリティ確保の技術には、様々な方式が提案されているが（例えば、特許文献１及び２を参照）、セキュリティを確保する代表的な技術の１つとしてＩＰｓｅｃ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｉｔｙ）技術が挙げられる。
【０００４】
このＩＰｓｅｃとは、ネットワーク層（ＯＳＩ参照モデルの第３層）で暗号化及び認証を行うセキュリティプロトコルであって、インターネット技術標準委員会（ＩＥＴＦ）で標準化されている。詳細は、標準仕様書ＲＦＣ２４０１〜２４１２及び２４５１を参照。このＩＰｓｅｃ機能を搭載したユーザ端末装置をインターネットに接続する、又はＩＰｓｅｃ機能を搭載したネットワーク接続装置（モデム、ルータ等）を介してユーザ端末装置をインターネットに接続することで、インターネットのような広域ネットワーク上に仮想私設網（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ；ＶＰＮ）を構築できる。つまり、ユーザが暗号化等の特別な処理を実施することなく、安全にインターネットを利用することができる。
【０００５】
ＩＰｓｅｃを利用した通信を行うにあたっては、通信に使用する暗号化アルゴリズム、認証アルゴリズム、暗号鍵及び認証鍵等の情報を、送信側及び受信側のＩＰｓｅｃ機能を搭載した装置間で事前に一致させておく必要がある。この情報は、セキュリティパラメータと呼ばれ、暗号アルゴリズム、暗号鍵、認証アルゴリズム、認証鍵、ＳＰＩ値（Ｓｅｃｕｒｉｔｙ  Ｐａｒａｍｅｔｅｒ  Ｉｎｄｅｘ）、プロトコル（暗号化に関するＥＳＰや認証に関するＡＨ）、モード（トランスポート又はトンネル）等から構成される。通常、送信側装置と受信側装置との間でこのセキュリティパラメータを一致させるために、ＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）と呼ばれるアプリケーションによって装置間の相互通信が行われる。相互通信の結果、送信側と受信側とで一致させたセキュリティパラメータは、ＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉｓａｔｉｏｎ）と呼ばれる枠組みによって保持され、各装置内のＩＰｓｅｃ処理部に通知される。ＩＰｓｅｃ処理部は、ＳＡで規定された暗号化アルゴリズム、認証アルゴリズム、暗号鍵及び認証鍵等に基づいて、送信するＩＰパケットをＩＰｓｅｃパケットに変換したり、受信したＩＰｓｅｃパケットをＩＰパケットに復元することを行う。
【０００６】
ＩＰｓｅｃでは、トランスポートモードとトンネルモードという２つのモードが用意されている。トランスポートモードでは、図１６に示すように、暗号化対象のＩＰパケットのうち、ＩＰプロトコルより上位層、つまりＴＣＰやＵＤＰ等の第４層以上に相当するプロトコルヘッダやデータが暗号化される。また、トンネルモードでは、図１７に示すように、暗号化対象のＩＰパケットの全てが暗号化され、新しいＩＰパケットによってカプセル化される。従って、トンネルモードでは、元のＩＰパケット（第４層以上のプロトコルヘッダやデータを含む）が全て暗号化される。
【０００７】
ここで、いずれかのモードによって暗号化されたＩＰパケット、すなわちＩＰｓｅｃパケットについて、上述した分類処理を行う場合を考える。この場合、データの種別を判断するために必要な特定情報は、暗号化されたプロトコルヘッダやデータに該当する。従って、データ種別を判断するためには、ＩＰｓｅｃパケットを一旦全て復号する処理が必須となる。以下に、ＩＰｓｅｃパケットをデータ種別に基づいて分類し、この分類に応じて優先処理を行う従来の装置を説明する。図１８は、この従来の処理装置２００の構成例を示すブロック図である。
【０００８】
図１８において、従来の処理装置２００は、入力処理部２０１と、暗号化判定部２０２と、復号処理部２０３と、ＳＡＤ２０４と、優先度決定部２０５と、優先度情報ＤＢ２０６と、出力処理部２０７とを備える。ＳＡＤ２０４は、様々なＳＡのセキュリティパラメータに関する情報が格納されたデータベースである。優先度情報ＤＢ２０６は、特定情報と予め定めた優先度との組が格納されたデータベースである。
【０００９】
入力処理部２０１は、例えばネットワークインタフェースであり、外部からＩＰパケットを入力する。暗号化判定部２０２は、入力処理部２０１が入力したＩＰパケットのヘッダ情報を参照し、ＩＰパケットが暗号化されているか否か、すなわちＩＰｓｅｃパケットか否かを判定する。復号処理部２０３は、暗号化判定部２０２で判定されたＩＰｓｅｃパケットについて、ヘッダ情報からパケットに施された暗号のＳＡに関する情報を抽出する。次に、復号処理部２０３は、この抽出した情報をキーとしてＳＡＤ２０４を検索して、抽出した情報に対応するセキュリティパラメータを取得する。そして、復号処理部２０３は、取得したセキュリティパラメータに基づいて、ＩＰｓｅｃパケットに施されている全ての暗号を復号する。優先度決定部２０５は、復号処理部２０３で復号されたＩＰｓｅｃパケットに含まれる特定情報に従ってＩＰｓｅｃパケットの種別を確認し、この種別をキーとして優先度情報ＤＢ２０６を検索して、このＩＰｓｅｃパケットの分類、すなわち優先度を決定する。出力処理部２０７は、優先度決定部２０５で決定された優先度に従って、所定の出力処理を実行する。例えば、出力処理部２０７を優先度毎に設けられた複数の処理キューで構成し、決定された優先度に従ってキューイングする処理キューを変更させることを行うことが考えられる。
【００１０】
以上の処理によって、リアルタイムデータが含まれたパケットと、非リアルタイムデータが含まれたパケットとが、暗号化されて混在している通信環境においても、データ種別に応じた優先処理を実現することができる。
【特許文献１】特開２００２−１８２５６０号公報
【特許文献２】特開２００１−３４４２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
通常、パケットの暗号化や復号化には、多大な処理時間を必要とする。このため、上述した従来装置のようにパケットに施されている全ての暗号を復号する方法であると、処理装置に膨大な時間的負担を強いることになり、暗号化されたパケットが連続する場合等には、パケット処理の遅延が発生してしまうという問題がある。このような処理遅延は、優先処理を有名無実化してしまうことになる。
【００１２】
それ故に、本発明の目的は、データ種別が異なる暗号化されたパケットが混在している通信環境において、処理装置への負荷を低減しつつデータ種別に応じた所定の分類処理を実現できる、暗号化パケット処理装置、方法、プログラム及びプログラム記録媒体を提供することである。
【課題を解決するための手段】
【００１３】
本発明は、データの少なくとも一部がブロック単位で暗号化されたパケットに、所定の分類処理を施す暗号化パケット処理装置に向けられている。そして、上記目的を達成させるために、本発明の暗号化パケット処理装置は、ブロック特定部、特定ブロック復号部及び分類処理部を備えている。
【００１４】
ブロック特定部は、入力パケット内における、所定の分類処理に必要な特定情報を含む１つ又は複数の暗号化ブロックを特定する。特定ブロック復号部は、ブロック特定部で特定された暗号化ブロックを復号する。分類処理部は、特定ブロック復号部で復号されたブロックに含まれる特定情報に基づいて、入力パケットの分類を行う。
【００１５】
このブロック特定部は、入力パケット内における暗号化されていないブロックに含まれる情報から、所定の分類処理に必要な特定情報を含む暗号化ブロックの一部又は全部を特定してもよい。例えば、入力パケットがＩＰｓｅｃプロトコルに従って暗号化されたパケットである場合には、暗号化されていないブロックに含まれる情報として、ＩＰヘッダに含まれるプロトコル番号を利用することができる。
【００１６】
又は、ブロック特定部は、所定の分類処理に必要な特定情報を含む暗号化ブロックを特定するための情報が含まれた他の暗号化ブロックをまず特定し、特定ブロック復号部によって復号された他のブロックに含まれる情報から、所定の分類処理に必要な特定情報を含む暗号化ブロックの一部又は全部を特定してもよい。例えば、入力パケットがＩＰｓｅｃプロトコルに従って暗号化されたパケットである場合には、特定情報を含む暗号化ブロックを特定するための情報として、ＩＰヘッダに含まれるＩＰヘッダ長、サービスタイプ又はプロトコル番号の少なくとも１つを利用することができる。また、このパケットがＥＳＰトランスポートモードパケットである場合には、所定の分類処理に必要な特定情報として、ＥＳＰトレーラに含まれる次ヘッダ、第４層ヘッダに含まれる送信元ポート番号、又は第４層ヘッダに含まれる宛先ポート番号の少なくとも１つを利用することができる。また、このパケットがＥＳＰトンネルモードパケットである場合には、所定の分類処理に必要な特定情報として、カプセル化されたＩＰヘッダに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、又はサービスタイプ、プロトコル番号、第４層ヘッダに含まれる送信元ポート番号、又は第４層ヘッダに含まれる宛先ポート番号の少なくとも１つを利用することができる。
【００１７】
あるいは、パケットに適用可能な暗号化と、所定の分類処理に必要な特定情報を含む暗号化ブロックとの、対応に関する情報を記憶するデータベースを予め備えておけば、ブロック特定部に、入力パケットに適用されている暗号化とデータベースに記憶された情報から、所定の分類処理に必要な特定情報を含む暗号化ブロックの一部又は全部を特定させることも可能である。ここで、入力パケットがＩＰｓｅｃプロトコルに従って暗号化されたパケットである場合には、データベースを、暗号鍵を含むセキュリティパラメータを記憶するセキュリティアソシエーションデータベース（ＳＡＤ）とすることができる。
【００１８】
典型的な分類処理部として、特定情報と優先度とを対応付けた情報を記憶する優先度情報データベースと、復号されたブロックに含まれている特定情報及び優先度情報データベースに記憶された情報に基づいて入力パケットの優先度を決定する優先度決定部とを備える構成がある。
又は、他の分類処理部として、特定情報と分配先とを対応付けた情報を記憶する分配先情報データベースと、復号されたブロックに含まれている特定情報及び分配先情報データベースに記憶された情報に基づいて入力パケットの分配先を決定する分配先決定部とを備える構成にしてもよい。
【００１９】
これらの構成において、優先度又は分配先に一意に対応した複数のキューと、所定の規則に基づいて複数のキューからパケットを順に取り出して復号処理を行う復号処理部又は分配先にそれぞれ送出する分配処理部とをさらに備えれば、優先度決定部又は分配先決定部に、決定した優先度又は分配先に対応したキューに入力パケットをキューイングさせることもできる。
【００２０】
このとき、優先度決定部又は分配先決定部が、決定した優先度又は分配先に対応したキューに、入力パケット及び特定ブロック復号部によって復号されたブロックをキューイングし、復号処理部又は分配処理部が、入力パケットの復号されたブロック以外のブロックについて復号処理を行う又は入力パケットと共に復号されたブロックを分配先に送出することが好ましい。
【００２１】
また、本発明は、データの少なくとも一部がブロック単位で暗号化されたパケットに、所定の分類処理を施す暗号化パケット処理方法にも向けられている。そして、上記目的を達成させるために、本発明の暗号化パケット処理方法は、入力パケット内における、所定の分類処理に必要な特定情報を含む１つ又は複数の暗号化ブロックを特定するブロック特定ステップ、ブロック特定ステップで特定された暗号化ブロックを復号する特定ブロック復号ステップ、及び特定ブロック復号ステップで復号されたブロックに含まれている特定情報に基づいて、入力パケットの分類を行う分類処理ステップを備えている。
【００２２】
上述した暗号化パケット処理装置を構成する機能ブロックは、集積回路であるＬＳＩとして実現されてもよい。また、暗号化パケット処理方法は、一連の処理手順をコンピュータに実行させるためのプログラムの形式で提供される。このプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で、コンピュータに導入されてもよい。
【発明の効果】
【００２３】
上記のように、本発明によれば、パケットの分類処理を実行する際、暗号化されたパケットの中から分類処理の判断に必要な特定情報が格納された位置（ブロック）を特定し、その位置のデータ（ブロック）だけを復号する。これにより、復号処理に必要な装置の負荷を最小限に留めることができ、後段で行う優先度処理や分配処理の実効を高めることができる。また、特定情報を含むブロックの位置が変動するような場合でも、このブロックを指し示す他の暗号化ブロックを特定及び復号することで対応可能である。
【発明を実施するための最良の形態】
【００２４】
本発明の暗号化パケット処理装置及び方法は、パケットに含まれる情報のうち所定の分類処理に必要な情報（以下、特定情報と称する）が、暗号化されてパケット通信されるセキュリティプロトコルを用いた様々なシステムに適用可能である。以下の実施形態では、上記従来技術で説明したＩＰｓｅｃによるセキュリティプロトコルを用いたシステムを一例に挙げて、本発明の暗号化パケット処理装置及び方法を説明する。
【００２５】
（１）ＩＰｓｅｃのトランスポートモード
図１は、本発明の一実施形態に係る暗号化パケット処理装置を含む暗号通信システムのネットワーク構成例を示す図である。図１において、この暗号通信システムは、暗号化パケット処理装置１０、ネットワーク接続装置２０及びサーバ装置３０で構成される。暗号化パケット処理装置１０は、本発明の特徴的な機能部分である。この暗号化パケット処理装置１０は、パソコン等のユーザ端末装置内に組み込まれてもよいし、中継装置のようにユーザ端末装置とは別に構成されてもよい。ネットワーク接続装置２０は、モデムやルータ等であり、図１のように単体で構成されてもよいし、暗号化パケット処理装置１０と一体的に構成されてもよい。サーバ装置３０は、映像や音声等のリアルタイムデータを含むパケットと、電子メール等の非リアルタイムデータを含むパケットとを、暗号化して送信する。
【００２６】
暗号化パケット処理装置１０とサーバ装置３０との間には予めＳＡが設定されており、ＩＰｓｅｃによって通信が行われる。以下の説明では、暗号化パケット処理装置１０のＩＰアドレスが「１３２．１８２．２．２」、サーバ装置３０のＩＰアドレスが「１３２．１８２．１．２」であるものとする。また、暗号化パケット処理装置１０とサーバ装置３０との間で設定されたＳＡを「ＳＡ１」と記し、このＳＡ１の情報がそれぞれ、プロトコル「ＥＳＰ」、モード「トランスポート」、暗号アルゴリズム「ＤＥＳ−ＣＢＣ」、及び認証アルゴリズム「ＨＭＡＣ−ＭＤ５」であるものとする。よって、サーバ装置３０が、ネットワーク接続装置２０を介して暗号化パケット処理装置１０に送信するパケットは、ＥＳＰトランスポートモードによってＩＰパケットが暗号化されたＩＰｓｅｃとなる。
【００２７】
まず、本発明の暗号化パケット処理装置１０を説明する前に、各種のパケット構造及びプロトコルフォーマットについて説明する。
ＥＳＰトランスポートモードによるＩＰｓｅｃパケットの構成は、図１６に示したとおりである。このＩＰｓｅｃパケットは、ＩＰヘッダ、ＥＳＰ（Ｅｎｃａｐｓｕｌａｔｅｄ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ）ヘッダ、ＩＶ（Ｉｎｉｔｉａｌ  Ｖｅｃｔｏｒ）、第４層ヘッダ、データ、ＥＳＰトレーラ、及びＩＣＶ（認証データ）から構成される。
【００２８】
ＩＰヘッダには、暗号化前のＩＰパケットに付加されているＩＰヘッダがそのまま用いられる。ＩＰヘッダの構成を図２に示す。この構成中、本発明で利用するフィールドは、プロトコル、送信元ＩＰアドレス及び宛先ＩＰアドレスである。プロトコルフィールドには、ＩＰヘッダに続くパケットデータ領域の先頭に位置するプロトコルの番号が格納される。暗号化前のＩＰパケットでは、ＩＰヘッダに続いて第４層ヘッダが付加されるので（図１６の左図参照）、プロトコルフィールドには第４層プロトコルを示す番号が格納される。ＥＳＰトランスポートモードによるＩＰｓｅｃパケットでは、ＩＰヘッダに続いてＥＳＰヘッダが付加されるので（図１６の右図参照）、プロトコルフィールドにはＥＳＰプロトコルを示す番号が格納される。よって、このプロトコルフィールドの番号を確認することで、暗号化されたＩＰｓｅｃパケットか、暗号化されていないＩＰパケットかを、直ちに判定することができる。
【００２９】
図３は、ＩＰヘッダ以降のＥＳＰプロトコルのフォーマットを示す図である。図３において、ＳＰＩ及びシーケンス番号の領域がＥＳＰヘッダである。ＩＶは、データをブロック暗号化するための初期ベクトルである。ペイロードデータには、暗号化前のＩＰパケットの第４層ヘッダ及びデータが、暗号化されて格納される。ペイロード部分の長さを調整するパディングから次ヘッダまでの領域が、ＥＳＰトレーラである。次ヘッダフィールドには、ペイロードデータの先頭に位置するプロトコルの番号が格納される。例えば、暗号化前の第４層プロトコルが、ＵＤＰである場合にはＵＤＰを示す番号が、ＴＣＰである場合にはＴＣＰを示す番号が格納される。このＥＳＰトレーラは、ペイロードデータと同様に暗号化される。ＩＣＶは、ＥＳＰヘッダからＥＳＰトレーラまでの領域に対する認証データである。このフォーマット中、ＳＰＩ、ＩＶ、ペイロードデータの一部及び次ヘッダが本発明で利用され、ペイロードデータの一部及び次ヘッダが特定情報に相当する。
【００３０】
図３に示すペイロードデータ部分に格納されるパケットのフォーマットを説明する。図４は、ＵＤＰパケットのフォーマットを示す図である。ＵＤＰパケットは、ＵＤＰヘッダとペイロードデータとで構成される。ＵＤＰヘッダは、８バイトの固定長であり、先頭の４バイトには送信元ポート番号及び宛先ポート番号が、次の４バイトにはパケット長及びチェックサムが、それぞれ格納される。図５は、ＴＣＰパケットのフォーマットを示す図である。ＴＣＰパケットは、ＴＣＰヘッダとペイロードデータとで構成される。ＴＣＰヘッダは、２４バイトの固定長であり、先頭の４バイトには送信元ポート番号及び宛先ポート番号が、残りの２０バイトには図示した通りのデータが格納されている。このフォーマット中では、送信元ポート番号及び宛先ポート番号（上述したペイロードデータの一部）が、特定情報に相当する。
【００３１】
次に、本発明の暗号化パケット処理装置１０の構成を説明する。
図６は、本発明の一実施形態に係る暗号化パケット処理装置１０の構成を示すブロック図である。図６において、暗号化パケット処理装置１０は、入力処理部１１と、暗号化判定部１２と、ブロック特定部１３と、特定ブロック復号部１４と、ＳＡＤ１５と、分類処理部１６と、出力処理部１７とを備える。分類処理部１６は、入力パケットをその種別に応じて分類する機能部分であり、この分類は様々な目的に利用することが可能である。以下の実施形態では、分類処理部１６を優先度決定部１６１及び優先度情報ＤＢ１６２で構成して、分類結果を優先度処理に利用させた場合を説明する。また、図６では、入力処理部１１及び出力処理部１７を暗号化パケット処理装置１０の構成に含めて記載しているが、これらの構成は必須ではなく、例えば暗号化パケット処理装置１０の前段又は後段に接続される装置内に構成されても構わない。
【００３２】
ＳＡＤ１５は、様々なＳＡのセキュリティパラメータに関する情報が格納されたデータベースである。図７は、ＳＡＤ１５の一例を示す図である。
ＳＡＤ１５には、サーバ装置との間に設定されたＳＡ毎に、ＳＰＩ値、プロトコル、モード、暗号アルゴリズム、暗号鍵、認証アルゴリズム、及び認証鍵等のセキュリティパラメータが登録されている。上述した暗号化パケット処理装置１０とサーバ装置３０との間で設定されたＳＡ１は、ＳＰＩ値を「５０００」として図７の１番目のレコードに登録されている。このＳＡＤ１５に格納されたデータベースは、ＳＰＩ値をキーに検索可能になっている。
【００３３】
優先度情報ＤＢ１６２は、特定情報と予め定めた優先度との組が格納されたデータベースである。図８は、優先度情報ＤＢ１６２の一例を示す図である。
優先度情報ＤＢ１６２には、ＩＰヘッダの情報、第４層ヘッダの情報、及び優先度等からなるエントリが複数登録されている。ＩＰヘッダの情報は、サーバ装置のＩＰアドレスである送信元ＩＰアドレス、及び自己（暗号化パケット処理装置）のＩＰアドレスである宛先ＩＰアドレスから構成される。第４層ヘッダの情報は、プロトコル種別、送信元ポート番号、及び宛先ポート番号から構成される。図８中「＊」で示している部分は、情報が任意であることを示している。優先度は、出力処理部１７で実行される処理の順番等に利用される情報である。この優先度は、分類番号と同義であり、その数は処理目的に応じて任意に設定することができる。
【００３４】
次に、本発明の暗号化パケット処理装置１０の動作を説明する。
本実施形態では、サーバ装置３０が、ＳＡ１に基づいて暗号化された以下に示す３種類のパケットＡ１〜Ａ３を送信する場合を例に挙げて説明する。パケットＡ１は、送信元ポート番号「１０００」及び宛先ポート番号「２０００」に設定され、リアルタイムデータを格納したＵＤＰパケットを含んだ、ＩＰｓｅｃパケットである。パケットＡ２は、送信元ポート番号「１００１」及び宛先ポート番号「２０００」に設定され、非リアルタイムデータを格納したＵＤＰパケットを含んだ、ＩＰｓｅｃパケットである。パケットＡ３は、送信元ポート番号「１０００」及び宛先ポート番号「２０００」に設定され、非リアルタイムデータを格納したＴＣＰパケットを含んだ、ＩＰｓｅｃパケットである。各パケットＡ１〜Ａ３共、ＥＳＰヘッダのＳＰＩ値は「５０００」に設定される。
【００３５】
図９は、本発明の暗号化パケット処理装置１０が行う暗号化パケット処理方法の手順を示すフローチャートである。
入力処理部１１は、例えばネットワークインタフェースであり、外部からパケットを入力する。暗号化判定部１２は、入力処理部１１が入力したパケットのプロトコルフィールドを参照し（図２）、パケットが暗号化されているか否かを判定する（ステップＳ９０１）。具体的には、暗号化判定部１２は、プロトコルフィールドに、ＩＰｓｅｃによって暗号化されたＩＰｓｅｃパケットであることを示すＥＳＰプロトコルの番号が格納されているか、暗号化されていないＩＰパケットであることを示す第４層プロトコルの番号が格納されているか、を判定する。暗号化判定部１２は、ＥＳＰプロトコルの番号が格納されている場合にはパケット（ＩＰｓｅｃパケット）をブロック特定部１３へ、それ以外の場合にはパケット（ＩＰパケット）を優先度決定部１６１へ、それぞれ出力する。
【００３６】
ブロック特定部１３は、暗号化判定部１２で判定されたＩＰｓｅｃパケットのＥＳＰヘッダ内のＳＰＩ値を抽出し（図３）、このＳＰＩ値をキーにＳＡＤ１５（図７）を検索してＩＰｓｅｃパケットに用いられたＳＡのセキュリティパラメータを取得する（ステップＳ９０２）。例えば、ＳＰＩ値が「５０００」である場合、ブロック特定部１３は、ＳＡＤ１５からＳＰＩ値が「５０００」であるセキュリティパラメータ、すなわちＳＡ１のセキュリティパラメータ（暗号アルゴリズム「ＤＥＳ−ＣＢＣ」、暗号鍵「ａｂｃｄｅｆｇｈ」、認証アルゴリズム「ＨＭＡＣ−ＭＤ５」及び認証鍵「ＱＲＳＴＵ」等）を取得する。そして、ブロック特定部１３は、取得したセキュリティパラメータに基づいて、暗号化されたデータの中から、優先度決定部１６１における優先度決定処理に必要な情報が格納されている位置を特定する（ステップＳ９０３）。この実施例では、第４層プロトコルの種別、送信元ポート番号及び宛先ポート番号が、必要な情報となる。
【００３７】
ここで、暗号アルゴリズム「ＤＥＳ−ＣＢＣ」は、８バイト長のデータを１ブロックとしてブロック単位で暗号化及び復号化する方式である（標準仕様書ＲＦＣ２４０５を参照）。図１０に示すように、暗号化処理では、平文の第１ブロックＰ１とＩＶとでＸＯＲ演算した結果を暗号鍵で暗号化することで、暗号化された第１ブロックｂ１が生成される。以後、暗号化された第ｎブロックｂｎは（ｎ＝２以上の整数）、平文の第ｎブロックＰｎと暗号化された第（ｎ−１）ブロックｂ（ｎ−１）とでＸＯＲ演算した結果を暗号鍵で暗号化することで生成される。また、図１１に示すように、復号化処理では、暗号化された第１ブロックｂ１を暗号鍵で復号した結果をＩＶでＸＯＲ演算することで、平文の第１ブロックＰ１が再生される。以後、平文の第ｎブロックＰｎは、暗号化された第ｎブロックｂｎを暗号鍵で復号した結果を暗号化された第（ｎ−１）ブロックｂ（ｎ−１）でＸＯＲ演算することで再生される。このように、暗号アルゴリズム「ＤＥＳ−ＣＢＣ」では、１ブロック単位で簡単に復号することができる。なお、暗号アルゴリズム「３ＤＥＳ−ＣＢＣ」の場合には、１ブロック単位が１６バイト長のデータに代わるだけでその他は同じである。よって、優先度決定処理に必要な情報が格納されている位置は、このブロック単位で特定すればよい。このブロックの特定については、後述する。
【００３８】
特定ブロック復号部１４は、ブロック特定部１３で特定されたブロックを復号し、復号されたデータから優先度決定部１６１における優先度決定処理に必要な情報を抽出する（ステップＳ９０４）。なお、１度のブロック特定及びブロック復号によって必要な情報が抽出されない場合、例えば特定したブロックの復号結果によって次に復号すべきブロックが示される場合等には、ステップＳ９０３及びＳ９０４が必要な回数だけ繰り返して行われる（ステップＳ９０５）。
【００３９】
優先度決定処理に必要な情報を抽出するために、ブロック特定部１３で行われるブロック特定及び特定ブロック復号部１４で行われるブロック復号について、詳細に説明する。
まず、暗号アルゴリズムのブロック単位に基づいて、暗号化されているデータ領域が、先頭から順に８バイトデータ長ずつブロックｂ１、ブロックｂ２、…、ブロックｂｍと複数に分割される。なお、変数ｍは暗号化されているデータ領域のサイズによって変動し、ブロックｂｍは暗号化されている最終ブロックを示す。図３で説明したように、第４層プロトコルの種別は、ＩＰｓｅｃ仕様（標準仕様書ＲＦＣ２４０６を参照）によって、ＥＳＰトレーラの最後の１バイトである次ヘッダフィールドに格納されていることから、最後のブロックｂｍに含まれていることが分かる。よって、ブロックｂｍが特定及び復号されて、まず第４層プロトコルの種別が抽出される。
【００４０】
抽出された第４層プロトコルの種別が、ＴＣＰ又はＵＤＰである場合には、ＴＣＰ及びＵＤＰの仕様（標準仕様書ＲＦＣ７９３及びＲＦＣ７６８）によって、送信元ポート番号及び宛先ポート番号が、各ヘッダの最初の２バイト及びそれに続く２バイトに格納されていることが分かる（図４及び図５を参照）。また、ＩＰｓｅｃ仕様によって第４層ヘッダは、ＩＶの直後に位置している（図１６を参照）。このことから、送信元ポート番号及び宛先ポート番号が、先頭のブロックｂ１に含まれていることが分かる。よって、ブロックｂ１が特定及び復号されて、最初の２バイト及びそれに続く２バイトから、送信元ポート番号及び宛先ポート番号が抽出される。
【００４１】
以上のように、ブロック特定部１３によって、多くのブロックの中からブロックｂ１及びブロックｂｍだけが特定され、特定ブロック復号部１４によって、この特定されたブロックのみが復号されることで、優先度決定処理に必要な第４層プロトコルの種別、送信元ポート番号、及び宛先ポート番号を抽出することができる。これらの情報は、復号化されていないオリジナルのＩＰｓｅｃパケットと共に、優先度決定部１６１へ出力される。
【００４２】
優先度決定部１６１は、特定ブロック復号部１４から、第４層プロトコルの種別、送信元ポート番号、宛先ポート番号、及びＩＰｓｅｃパケットを入力し、ＩＰｓｅｃパケットのＩＰヘッダ部分から送信元ＩＰアドレス及び宛先ＩＰアドレスを抽出する。そして、優先度決定部１６１は、送信元ＩＰアドレス、宛先ＩＰアドレス、第４層プロトコルの種別、送信元ポート番号及び宛先ポート番号をキーとして、優先度情報ＤＢ１６２を検索し、パケットの優先度を決定する（ステップＳ９０６）。暗号化判定部１２から暗号化されていないＩＰパケットを入力する場合には、優先度決定部１６１は、ＩＰパケットのＩＰヘッダ及び第４層ヘッダ部分から上記全ての情報を抽出し、抽出結果に基づいてパケットの優先度を決定する。例えば、送信元ＩＰアドレス「１３２．１８２．１．２」、宛先ＩＰアドレス「１３２．１８２．２．２」、プロトコル種別「ＵＤＰ」、送信元ポート番号「１０００」、及び宛先ポート番号「２０００」であるパケットＡ１の優先度は、図８に従って「１」となる。パケットＡ２及びＡ３の優先度は、図８に従って「２」となる。なお、宛先ＩＰアドレスは、暗号化パケット処理装置１０自身のＩＰアドレスであるから、優先度情報ＤＢ１６２から省略しても構わない。
【００４３】
出力処理部１７は、優先度決定部１６１で決定された優先度に従って、所定の出力処理を実行する。例えば、図１２に示すように、出力処理部１７を、優先度「１」に対応した第１キュー及び優先度「２」に対応した第２キューを備えたキュー処理部１７１と、復号処理部１７２とで構成する。この構成によって、キュー処理部１７１は、優先度に基づいて、パケットＡ１を第１キューに、パケットＡ２及びＡ３を第２キューに、それぞれキューイングすることができる。そして、復号処理部１７２は、第２キューに格納されたパケットよりも第１キューに格納されたパケットの復号処理を優先的に実行することができる。なお、復号処理部１７２でパケットの復号に必要なセキュリティパラメータの情報は、図１２のようにＳＡＤ１５から獲得してもよいし、パケットに付随させて優先度決定部１６１から受け取るようにしてもよい。後者の場合、例えば、パケットの最後尾に、パケットに対応するＳＡを指し示すポインタ情報、及び復号した特定のブロックとそのブロック識別子を示す情報を、予め定めた形式で付加することが考えられる。これにより、復号処理部１７２において、特定ブロック復号部１４と重複した無駄な復号処理を省くことができる。
【００４４】
また、例えば、キュー処理部１７１に代えて、優先度とパケットとを組にして領域の先頭から順に格納することが可能なテーブルを用いても構わない。この場合、復号処理部１７２は、テーブルに登録された最も優先度が高くかつ最も先頭にあるパケットを１つ取り出して復号処理を行う。
また、例えば、出力処理部１７を、他のユーザ端末装置等へパケットをそれぞれ分配する分配処理部で構成してもよい。この場合には、優先度情報ＤＢ１６２及び優先度決定部１６１の構成が、それぞれ特定情報と予め定めた分配先との組が格納された分配先情報ＤＢ、及び特定情報と分配先情報ＤＢとに基づいて分配先を決定する分配先決定部に代わることになる。
【００４５】
（２）ＩＰｓｅｃのトンネルモード
トンネルモードの場合も、トランスポートモードと基本的に処理は同じであるが、ＩＰｓｅｃパケットの構成が少し異なる。以下、この異なる部分を中心に説明する。
図１３は、本発明の一実施形態に係る暗号化パケット処理装置を含む他の暗号通信システムのネットワーク構成例を示す図である。図１３において、この暗号通信システムは、暗号化パケット処理装置１０、ネットワーク接続装置２０、ＳＧＷ４０、端末５０及び６０で構成される。ＳＧＷ４０は、端末５０が端末６０に向けて送信するパケットを暗号化して送信するセキュリティゲートウエイである。
【００４６】
暗号化パケット処理装置１０とＳＧＷ４０との間には予めＳＡが設定されており、ＩＰｓｅｃによって通信が行われる。暗号化パケット処理装置１０とＳＧＷ４０との間で設定されたＳＡの情報は、プロトコル「ＥＳＰ」、モード「トンネル」、暗号アルゴリズム「ＤＥＳ−ＣＢＣ」、及び認証アルゴリズム「ＨＭＡＣ−ＭＤ５」であるものとする。ＳＧＷ４０は、ＬＡＮ（端末５０）向けに「１９２．１６８．１．１」のＩＰアドレスを、ＷＡＮ（ネットワーク接続装置２０）向けに「１３２．１８２．１．２」のＩＰアドレスを保有する。また、暗号化パケット処理装置１０は、ＬＡＮ（端末６０）向けに「１９２．１６８．２．１」のＩＰアドレスを、ＷＡＮ（ネットワーク接続装置２０）向けに「１３２．１８２．２．２」のＩＰアドレスを保有する。
【００４７】
ＥＳＰトンネルモードによるＩＰｓｅｃパケットの構成は、図１７に示した通りである。このＩＰｓｅｃパケットは、ＩＰヘッダ、ＥＳＰヘッダ、ＩＶ、ＩＰヘッダ、第４層ヘッダ、データ、ＥＳＰトレーラ、及びＩＣＶから構成される。トンネルモードの場合は、元のＩＰパケット全体が暗号化されている。よって、元のＩＰパケットのＩＰヘッダに格納されている送信元ＩＰアドレス、宛先ＩＰアドレス及びＴＯＳや、元のＩＰパケットに含まれる第４層以上のプロトコルヘッダを、優先度を決定するために復号が必要な特定情報としてもよい。ＴＯＳは、ＩＰパケットのサービスタイプを表す情報であり、特定情報としての利用が可能である。よって、ＩＰパケットを丸ごと暗号化するトンネルモードでは、このＴＯＳを含むブロックを特定して復号することも考えられる。
【００４８】
ＩＰヘッダのサイズは可変長であるため、トンネルモードではカプセル化されたＩＰパケットの上位層プロトコルの開始位置は、ＩＰヘッダのサイズによって決まる。よって、カプセル化されたＩＰヘッダのＩＨＬ（ＩＰヘッダ長を示すフィールド）を含むブロックを特定して復号し、ＩＨＬ値を参照して上位層であるＴＣＰプロトコルやＵＤＰプロトコルの開始位置を特定する。これにより、ＴＣＰプロトコルやＵＤＰプロトコルに含まれる送信元ポート番号及び宛先ポート番号を含むブロックを特定するができる。
このように、特定情報を含むブロック位置を特定するために、特定情報を含むブロック位置を特定するために必要なヘッダ長やパケット長の情報等を用いてもよい。これにより、特定情報の位置がパケット毎に変動する場合も対応することができる。
【００４９】
このようなパケットに対する優先度情報ＤＢ１６２の一例を、図１４に示す。図１４に示すように、この優先度情報ＤＢ１６２には、図８に示した登録項目にトンネル内側用のＩＰヘッダ情報が追加されている。このトンネル内側用のＩＰヘッダ情報も、ＩＰヘッダ情報と同様に送信元ＩＰアドレス及び宛先ＩＰアドレスから構成される。なお、ＩＰヘッダに含まれる上記以外の項目を、トンネル内側用のＩＰヘッダ情報に含んでも構わない。また、図１４に示した全ての項目は必須ではない。よって、必要としない項目については、図１４の表から削除しても構わない。
【００５０】
トンネルモードの場合、ＩＰ仕様により、ＩＰヘッダの１３バイト目から１６バイト目に送信元ＩＰアドレスが、１７バイト目から２０バイト目に宛先ＩＰアドレスが格納されている。従って、ブロックｂ２及びブロックｂ３を復号し、ブロックｂ２の後半４バイトとブロックｂ３の前半４バイトとから、送信元ＩＰアドレス及び宛先ＩＰアドレスを獲得できる。第４層プロトコルの種別は、ＩＰヘッダの１０バイト目に格納されている。従って、ブロックｂ２を復号し、ブロックｂ２の２バイト目を参照することで、第４層プロトコルの種別を獲得できる。第４層の送信元ポート番号及び宛先ポート番号は、トランスポートモードと同様に、ＴＣＰヘッダ及びＵＤＰヘッダの先頭から８バイトに格納されている。しかし、ＩＰヘッダ長が可変長であるため、まずＩＰヘッダ長を求め、第４層ヘッダが開始する位置を特定する必要がある。ＩＰヘッダ長（ＩＨＬ）は、ＩＰヘッダの２バイト目に格納されている。よって、ブロックｂ１を復号し、ブロックｂ１の２バイト目を参照することで、ＩＰヘッダ長を得ることができる。この例では、ＩＨＬ＝５（２０バイトを示す値）が獲得でき、送信元ポート番号及び宛先ポート番号は、暗号化されたデータ領域の先頭から２１〜２４バイト目に格納されていることがわかる。よって、ブロックｂ３を復号し、ブロックｂ３の後半４バイトから送信元ポート番号及び宛先ポート番号を獲得する。
【００５１】
このブロック特定処理及びブロック復号処理によって得られたＩＰヘッダ情報、トンネル内側用のＩＰヘッダ情報、及び第４層ヘッダ情報をキーに、優先度情報ＤＢ１６２を検索する。結果、上記ＩＰｓｅｃパケットについて、優先度「１」を取得できる。
【００５２】
以上のように、本発明の一実施形態に係る暗号化パケット処理装置は、パケットの分類処理を実行する際、暗号化されたパケットの中から分類処理の判断に必要な特定情報が格納された位置（ブロック）を特定し、その位置のデータ（ブロック）だけを復号する。これにより、復号処理に必要な装置の負荷を最小限に留めることができ、後段で行う優先度処理や分配処理の実効を高めることができる。
【００５３】
なお、本実施形態では、特定情報として第４層プロトコルのヘッダ情報を用いた場合を説明したが、第４層以上のプロトコルヘッダや、ヘッダ情報等に基づいて位置を特定できる情報であれば構わない。
また、本実施形態では、ＥＳＰプロトコルによって暗号化されたＩＰｓｅｃパケットと、暗号化されていないＩＰパケットとが混在して入力される場合を想定して説明した。しかし、ＩＰｓｅｃパケットだけが入力されるのであれば、暗号化判定部１２の構成を省略することができる。
【００５４】
また、本実施形態では、ＳＡＤ１５に設定される暗号アルゴリズム及び暗号鍵が１つだけである場合には、ブロック特定部１３及び特定ブロック復号部１４は、ＳＡＤ１５を検索せずに、予め保持する唯一の暗号アルゴリズム及び暗号鍵を用いて復号処理するように構成してもよい。また、暗号鍵は管理者等によって手動で登録された鍵であっても、ＩＫＥ等の鍵交換プログラムによって取得された鍵であっても構わない。また、本実施形態では、暗号アルゴリズムが「ＤＥＳ−ＣＢＣ」である場合について説明したが、ブロック暗号でありかつあるブロックの復号処理に他の復号されたブロックを必要としない方式であれば、ＤＥＳ−ＣＢＣ以外の暗号アルゴリズムであっても構わない。
【００５５】
さらに、本実施形態では、図８や図１４に示した優先度情報ＤＢ１６２のように宛先ポート番号を任意の値として、プロトコル種別と送信元ポート番号とに基づいて優先度を決定するように説明したが、決定方法はこれに限られるものではない。送信元ポート番号を任意の値として、プロトコル種別と宛先ポート番号とに基づいて優先度を決定してもよいし、任意の値を用いずに、プロトコル種別、送信元ポート番号及び宛先ポート番号の全てに基づいて優先度を決定してもよい。
【００５６】
（３）ＩＰｓｅｃ以外のセキュリティプロトコルについて
以上の実施形態では、ＩＰｓｅｃパケットに本発明の手法を適用させる場合を説明した。次に、標準仕様書ＲＦＣ２２４６で規定されているＴＬＳ＿ｖｅｒ．１によって暗号化されたパケットに、本発明の手法を適用させる場合を説明する。なお、ＴＬＳ暗号方式では、ストリーム暗号とブロック暗号との２通りが規定されているが、ここではブロック暗号の場合について説明する。
【００５７】
図１５に、ＴＬＳ暗号方式を用いて送受信されるパケットフォーマットを示す。図１５において、ＩＰヘッダ及びＴＣＰヘッダは、それぞれ図２及び図５に示した通りである。ｔｙｐｅは、ＴＬＳ内でのプロトコル種別であり、アプリケーションが扱うデータを送受信する際には、０ｘ１７（ａｐｐｌｉｃａｔｉｏｎ＿ｄａｔａ）が設定されている。ｃｏｎｔｅｎｔ以下は、暗号化された領域である。ｃｏｎｔｅｎｔは、アプリケーションが使用するヘッダ及びデータが格納されている。ＭＡＣは、使用するアルゴリズムによってｃｏｎｔｅｎｔから求められるハッシュ値である。パディングは、暗号化された領域が所定ブロックの整数倍となるように調整するためのフィールドである。パディング長は、パディングの長さを示す。
【００５８】
よって、ＴＬＳに対応した優先度情報ＤＢを構築する場合には、ＩＰヘッダ情報として送信元ＩＰアドレス及び宛先ＩＰアドレス、第４層ヘッダ情報（ＴＬＳは必ずＴＣＰを使用するため、ＴＣＰに限られる）として送信元ポート番号及び宛先ポート番号、アプリケーションが使用するヘッダの内で着目するフィールド値、及び優先度を少なくとも含むことになる。この着目するフィールドを含むブロックは、ＩＰｓｅｃの場合と同様に、アプリケーション毎に固定的に特定される。
【００５９】
なお、本発明の暗号化パケット処理装置におけるブロック特定部１３、特定ブロック復号部１４、ＳＡＤ１５、及び分類処理部１６等の各機能ブロックは、典型的には集積回路であるＬＳＩ（集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、又はウルトラＬＳＩ等と称される）として実現される。これらは、個別に１チップ化されてもよいし、一部又は全部を含むように１チップ化されてもよい。
また、集積回路化の手法は、ＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。また、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別の技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
【００６０】
また、本発明の暗号化パケット処理方法は、記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク等）に格納された上述した処理手順を実行可能な所定のプログラムデータが、ＣＰＵによって解釈実行されることで実現されてもよい。この場合、プログラムデータは、ＣＤ−ＲＯＭやフレキシブルディスク等の記録媒体を介して記憶装置内に導入されてもよいし、記録媒体上から直接実行されてもよい。
【産業上の利用可能性】
【００６１】
本発明の暗号化パケット処理装置及び方法は、データ種別が異なる暗号化されたパケットが混在している通信環境等において利用可能であり、特に、処理装置への負荷を低減しつつデータ種別に応じた所定の分類処理を実現する場合等に適している。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施形態に係る暗号化パケット処理装置を含む暗号通信システム（トランスポートモード）のネットワーク構成例を示す図
【図２】ＩＰヘッダの構成を示す図
【図３】ＥＳＰプロトコルのフォーマットを示す図
【図４】ＵＤＰパケットのフォーマットを示す図
【図５】ＴＣＰパケットのフォーマットを示す図
【図６】本発明の一実施形態に係る暗号化パケット処理装置の構成を示すブロック図
【図７】ＳＡＤの一例を示す図
【図８】優先度情報ＤＢ（トランスポートモード）の一例を示す図
【図９】本発明の一実施形態に係る暗号化パケット処理装置が行う暗号化パケット処理方法の手順を示すフローチャート
【図１０】ＤＥＳ−ＣＢＣにおけるパケット暗号化処理を説明する図
【図１１】ＤＥＳ−ＣＢＣにおけるパケット復号化処理を説明する図
【図１２】図６の出力処理部の具体的な構成例を示すブロック図
【図１３】本発明の一実施形態に係る暗号化パケット処理装置を含む暗号通信システム（トンネルモード）のネットワーク構成例を示す図
【図１４】優先度情報ＤＢ（トンネルモード）の一例を示す図
【図１５】ＴＬＳ暗号方式を用いて送受信されるパケットフォーマットを示す図
【図１６】トランスポートモードのＩＰｓｅｃパケットの構成を示す図
【図１７】トンネルモードのＩＰｓｅｃパケットの構成を示す図
【図１８】パケットの優先処理を行う従来の処理装置の構成例を示すブロック図
【符号の説明】
【００６３】
１０  暗号化パケット処理装置
１１、２０１  入力処理部
１２、２０２  暗号化判定部
１３  ブロック特定部
１４  特定ブロック復号部
１５、２０４  ＳＡＤ
１６  分類処理部
１７、２０７  出力処理部
２０  ネットワーク接続装置
３０  サーバ装置
４０  セキュリティゲートウエイ（ＳＧＷ）
５０、６０  端末
１６１、２０５  優先度決定部
１６２、２０６  優先度情報ＤＢ
１７１  キュー処理部
１７２、２０３  復号処理部
【図１】
2004343731.tif 000003
【図２】
2004343731.tif 000004
【図３】
2004343731.tif 000005
【図４】
2004343731.tif 000006
【図５】
2004343731.tif 000007
【図６】
2004343731.tif 000008
【図７】
2004343731.tif 000009
【図８】
2004343731.tif 000010
【図９】
2004343731.tif 000011
【図１０】
2004343731.tif 000012
【図１１】
2004343731.tif 000013
【図１２】
2004343731.tif 000014
【図１３】
2004343731.tif 000015
【図１４】
2004343731.tif 000016
【図１５】
2004343731.tif 000017
【図１６】
2004343731.tif 000018
【図１７】
2004343731.tif 000019
【図１８】
2004343731.tif 000020