(57)【要約】【課題】ＩＰｓｅｃ処理とＱｏＳ処理とを実施しても受信側でリプレイ攻撃防止機能によってパケットが廃棄されてしまう事態を防止する。【解決手段】送信側の端末から送信されたパケットに対してＩＰｓｅｃ処理によってシーケンス番号を付与し、該シーケンス番号が付与されたパケットに対してＱｏＳ処理を行うことにより優先度が高い順に送信されたパケットを受信する受信手段と、受信手段によって受信したパケットに付与されているシーケンス番号を、受信手段が受信した順にシーケンス番号を付与し直すシーケンス番号付与手段と、シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新手段と、完全性チェック値が更新されたパケットを、受信側の端末に対して送信する送信手段とを備える。【選択図】図１
2010187327.tif 000002
【特許請求の範囲】
【請求項１】
送信側の端末から送信されたパケットに対してＩＰｓｅｃ処理によってシーケンス番号を付与し、該シーケンス番号が付与されたパケットに対してＱｏＳ処理を行うことにより優先度が高い順に送信されたパケットを受信する受信手段と、
前記受信手段によって受信したパケットに付与されている前記シーケンス番号を、前記受信手段が受信した順にシーケンス番号を付与し直すシーケンス番号付与手段と、
前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新手段と、
前記完全性チェック値が更新されたパケットを、受信側の端末に対して送信する送信手段と
を備えたことを特徴とするパケット通信装置。
【請求項２】
ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信装置であって、
前記送信側の端末から送信するべきパケットを受信して、該受信したパケットに対して、パケットの暗号化、シーケンス番号の付与及び完全性チェック値の付与を行うことによりＩＰｓｅｃ処理を実施したパケットを出力するＩＰｓｅｃ処理手段と、
前記ＩＰｓｅｃ処理を実施したパケットを入力して、該パケット内に定義されている優先度の情報を抽出し、該優先度の高い順にパケットを出力するＱｏＳ処理手段と、
前記ＱｏＳ処理手段から出力されるパケットを入力し、該パケットに付与されている前記シーケンス番号を、パケットを入力した順にシーケンス番号を付与し直すシーケンス番号付与手段と、
前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新手段と、
前記完全性チェック値が更新されたパケットを、前記受信側の端末に対して送信する送信手段と
を備えたことを特徴とするパケット通信装置。
【請求項３】
ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信装置であって、
前記送信側の端末から送信するべきパケットを受信して、該パケット内に定義されている優先度の情報を抽出する優先度抽出手段と、
前記受信したパケットに対して、パケットの暗号化処理を行う暗号化手段と、
前記優先度抽出手段によって抽出した優先度の情報に基づいて優先度の高い順に前記暗号化されたパケットを出力する優先出力手段と、
前記優先出力手段から出力されるパケットに対して、シーケンス番号の付与及び完全性チェック値の付与を行うシーケンス番号付与手段と、
前記シーケンス番号が付与されたパケットを、前記受信側の端末に対して送信する送信手段と
を備えたことを特徴とするパケット通信装置。
【請求項４】
送信側の端末から送信されたパケットに対してＩＰｓｅｃ処理によってシーケンス番号を付与し、該シーケンス番号が付与されたパケットに対してＱｏＳ処理を行うことにより優先度が高い順に送信されたパケットを受信する受信ステップと、
前記受信ステップによって受信したパケットに付与されている前記シーケンス番号を、前記受信ステップにより受信した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、
前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、
前記完全性チェック値が更新されたパケットを、受信側の端末に対して送信する送信ステップと
を有することを特徴とするパケット通信方法。
【請求項５】
ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信方法であって、
前記送信側の端末から送信するべきパケットを受信して、該受信したパケットに対して、パケットの暗号化、シーケンス番号の付与及び完全性チェック値の付与を行うことによりＩＰｓｅｃ処理を実施したパケットを出力するＩＰｓｅｃ処理ステップと、
前記ＩＰｓｅｃ処理を実施したパケットを入力して、該パケット内に定義されている優先度の情報を抽出し、該優先度の高い順にパケットを出力するＱｏＳ処理ステップと、
前記ＱｏＳ処理ステップにより出力されるパケットを入力し、該パケットに付与されている前記シーケンス番号を、パケットを入力した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、
前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、
前記完全性チェック値が更新されたパケットを、前記受信側の端末に対して送信する送信ステップと
を有することを特徴とするパケット通信方法。
【請求項６】
ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信方法であって、
前記送信側の端末から送信するべきパケットを受信して、該パケット内に定義されている優先度の情報を抽出する優先度抽出ステップと、
前記受信したパケットに対して、パケットの暗号化処理を行う暗号化ステップと、
前記優先度抽出ステップによって抽出した優先度の情報に基づいて優先度の高い順に前記暗号化されたパケットを出力する優先出力ステップと、
前記優先出力ステップにより出力されるパケットに対して、シーケンス番号の付与及び完全性チェック値の付与を行うシーケンス番号付与ステップと、
前記シーケンス番号が付与されたパケットを、前記受信側の端末に対して送信する送信ステップと
を有することを特徴とするパケット通信方法。
【請求項７】
送信側の端末から送信されたパケットに対してＩＰｓｅｃ処理によってシーケンス番号を付与し、該シーケンス番号が付与されたパケットに対してＱｏＳ処理を行うことにより優先度が高い順に送信されたパケットを受信する受信ステップと、
前記受信ステップによって受信したパケットに付与されている前記シーケンス番号を、前記受信ステップにより受信した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、
前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、
前記完全性チェック値が更新されたパケットを、受信側の端末に対して送信する送信ステップと
をコンピュータに行わせることを特徴とするパケット通信プログラム。
【請求項８】
ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信プログラムであって、
前記送信側の端末から送信するべきパケットを受信して、該受信したパケットに対して、パケットの暗号化、シーケンス番号の付与及び完全性チェック値の付与を行うことによりＩＰｓｅｃ処理を実施したパケットを出力するＩＰｓｅｃ処理ステップと、
前記ＩＰｓｅｃ処理を実施したパケットを入力して、該パケット内に定義されている優先度の情報を抽出し、該優先度の高い順にパケットを出力するＱｏＳ処理ステップと、
前記ＱｏＳ処理ステップにより出力されるパケットを入力し、該パケットに付与されている前記シーケンス番号を、パケットを入力した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、
前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、
前記完全性チェック値が更新されたパケットを、前記受信側の端末に対して送信する送信ステップと
をコンピュータに行わせることを特徴とするパケット通信プログラム。
【請求項９】
ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信プログラムであって、
前記送信側の端末から送信するべきパケットを受信して、該パケット内に定義されている優先度の情報を抽出する優先度抽出ステップと、
前記受信したパケットに対して、パケットの暗号化処理を行う暗号化ステップと、
前記優先度抽出ステップによって抽出した優先度の情報に基づいて優先度の高い順に前記暗号化されたパケットを出力する優先出力ステップと、
前記優先出力ステップにより出力されるパケットに対して、シーケンス番号の付与及び完全性チェック値の付与を行うシーケンス番号付与ステップと、
前記シーケンス番号が付与されたパケットを、前記受信側の端末に対して送信する送信ステップと
をコンピュータに行わせることを特徴とするパケット通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰｓｅｃプロトコル及びＱｏＳ制御を用いたパケット通信装置、パケット通信方法及びパケット通信プログラムに関する。
【背景技術】
【０００２】
従来から、インターネットや企業内ネットワークの情報通信において、セキュリティを確保した通信を行う代表的な技術としてＩＰｓｅｃ（Security Architecture for Internet Protocol；ＲＦＣ２４０１〜２４１２、ＲＦＣ４３０１〜４３０６にて規定されている）がある。ＩＰｓｅｃでは、第３者から、通信内容を盗聴されない様に情報の暗号化を行い、改竄を防止するためにパケット全体の鍵付ハッシュ計算値を付与し、また、ＩＰｓｅｃ通信に先立って、相手の認証を行い送信元の確認を行う。さらに、ＩＰｓｅｃには、リプレイ攻撃に対する防御機能としてシーケンス番号が付与されている。リプレイ攻撃とは、なりすましや改竄を防止した仕組みがあっても、正当な相手からのパケットをコピーし、これを送信することで、あたかも正当な相手からの送信データに見せかけ受信させる攻撃方法である。ＩＰｓｅｃでのリプレイ攻撃防止方法は、送信側でパケットに付与したシーケンス番号を、受信側で検査し、重複、過去の古い番号だった場合、パケットを破棄するというものである。
【０００３】
一方、インターネットや企業内ネットワークの通信おいては、通信量が増え、滞留によるパケットの遅延や廃棄が発生することがある。この環境では、音声通信のように遅延に弱いパケットや、死活監視の様に廃棄されては困るパケットなどが遅延したり廃棄されたりしてしまう可能性を有している。これを防ぐ技術として、ＱｏＳ（Quality of Service）制御がある。ＱｏＳ制御は、パケットの内容により優先度を割り当て、優先度の高いパケットを先に通したり（優先制御）、送信量を制御し（帯域制御）パケットの内容による廃棄やキューイングを行うものである。ＱｏＳ制御には、ＩＰパケットのヘッダにある、ＴＯＳフィールドを使用したものや、ＶＬＡＮタグ（ＩＥＥＥ  ８０２．１Ｑ）のＵｓｅｒ  Ｐｒｉｏｒｉｔｙビットを使用したもの、ＯＳＩ第３層以上の情報を元に優先度付けを行うものなどがある。
【０００４】
なお、先行技術として、ＩＰｓｅｃパケットのリプレイ防止処理において、当該パケットに設定された優先度によって受信順序が入れ替わった場合でも、パケット廃棄を防ぐリプレイ防止処理を提供するために、受信パケットのうちでＩＰｓｅｃに保護された情報から当該パケットの優先度を求め、当該パケットの優先度に対応したリプレイ防止ウィンドウを用いて当該パケットのリプレイ防止処理を行うことにより、優先度による受信順序が入れ替わった場合でも、パケット廃棄を防ぐリプレイ防止処理を行うことができる受信処理装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−５４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＩＰｓｅｃ処理を行った後にＱｏＳ処理を行うと、ＱｏＳ処理の優先制御によって、ＩＰｓｅｃのパケットの順序が入れ替わり、リプレイ攻撃防止用のシーケンス番号が狂ったり、ＱｏＳの帯域制御によって、パケットの廃棄が起き、シーケンス番号の欠落が起きてしまう。シーケンス番号に狂いが生じると、ＩＰｓｅｃパケットの受信側では、シーケンス番号の異常を検出し、リプレイ攻撃ではないにも関わらず、リプレイ攻撃と誤って判断し、正常なパケットを廃棄するという事態が起きる。このような問題を回避するには、受信側でリプレイ攻撃防止機能を停止させることで対処するのが一般的である。
【０００７】
しかしながら、リプレイ攻撃防止機能を停止させることは、リプレイ攻撃に対し脆弱になってしまうという問題があるため、実施すべきではない。
【０００８】
本発明は、このような事情に鑑みてなされたもので、送信側でＩＰｓｅｃ処理されたパケットがＱｏＳ制御された場合に、受信側でリプレイ攻撃防止機能を停止せずとも、受信側でリプレイ攻撃防止機能による誤ったパケット廃棄をしない様に、送信側でＩＰｓｅｃのシーケンス番号を修正することができるパケット通信装置、パケット通信方法及びパケット通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、送信側の端末から送信されたパケットに対してＩＰｓｅｃ処理によってシーケンス番号を付与し、該シーケンス番号が付与されたパケットに対してＱｏＳ処理を行うことにより優先度が高い順に送信されたパケットを受信する受信手段と、前記受信手段によって受信したパケットに付与されている前記シーケンス番号を、前記受信手段が受信した順にシーケンス番号を付与し直すシーケンス番号付与手段と、前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新手段と、前記完全性チェック値が更新されたパケットを、受信側の端末に対して送信する送信手段とを備えたことを特徴とする。
【００１０】
本発明は、ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信装置であって、前記送信側の端末から送信するべきパケットを受信して、該受信したパケットに対して、パケットの暗号化、シーケンス番号の付与及び完全性チェック値の付与を行うことによりＩＰｓｅｃ処理を実施したパケットを出力するＩＰｓｅｃ処理手段と、前記ＩＰｓｅｃ処理を実施したパケットを入力して、該パケット内に定義されている優先度の情報を抽出し、該優先度の高い順にパケットを出力するＱｏＳ処理手段と、前記ＱｏＳ処理手段から出力されるパケットを入力し、該パケットに付与されている前記シーケンス番号を、パケットを入力した順にシーケンス番号を付与し直すシーケンス番号付与手段と、前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新手段と、前記完全性チェック値が更新されたパケットを、前記受信側の端末に対して送信する送信手段とを備えたことを特徴とする。
【００１１】
本発明は、ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信装置であって、前記送信側の端末から送信するべきパケットを受信して、該パケット内に定義されている優先度の情報を抽出する優先度抽出手段と、前記受信したパケットに対して、パケットの暗号化処理を行う暗号化手段と、前記優先度抽出手段によって抽出した優先度の情報に基づいて優先度の高い順に前記暗号化されたパケットを出力する優先出力手段と、前記優先出力手段から出力されるパケットに対して、シーケンス番号の付与及び完全性チェック値の付与を行うシーケンス番号付与手段と、前記シーケンス番号が付与されたパケットを、前記受信側の端末に対して送信する送信手段とを備えたことを特徴とする。
【００１２】
本発明は、送信側の端末から送信されたパケットに対してＩＰｓｅｃ処理によってシーケンス番号を付与し、該シーケンス番号が付与されたパケットに対してＱｏＳ処理を行うことにより優先度が高い順に送信されたパケットを受信する受信ステップと、前記受信ステップによって受信したパケットに付与されている前記シーケンス番号を、前記受信ステップにより受信した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、前記完全性チェック値が更新されたパケットを、受信側の端末に対して送信する送信ステップとを有することを特徴とする。
【００１３】
本発明は、ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信方法であって、前記送信側の端末から送信するべきパケットを受信して、該受信したパケットに対して、パケットの暗号化、シーケンス番号の付与及び完全性チェック値の付与を行うことによりＩＰｓｅｃ処理を実施したパケットを出力するＩＰｓｅｃ処理ステップと、前記ＩＰｓｅｃ処理を実施したパケットを入力して、該パケット内に定義されている優先度の情報を抽出し、該優先度の高い順にパケットを出力するＱｏＳ処理ステップと、前記ＱｏＳ処理ステップにより出力されるパケットを入力し、該パケットに付与されている前記シーケンス番号を、パケットを入力した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、前記完全性チェック値が更新されたパケットを、前記受信側の端末に対して送信する送信ステップとを有することを特徴とする。
【００１４】
本発明は、ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信方法であって、前記送信側の端末から送信するべきパケットを受信して、該パケット内に定義されている優先度の情報を抽出する優先度抽出ステップと、前記受信したパケットに対して、パケットの暗号化処理を行う暗号化ステップと、前記優先度抽出ステップによって抽出した優先度の情報に基づいて優先度の高い順に前記暗号化されたパケットを出力する優先出力ステップと、前記優先出力ステップにより出力されるパケットに対して、シーケンス番号の付与及び完全性チェック値の付与を行うシーケンス番号付与ステップと、前記シーケンス番号が付与されたパケットを、前記受信側の端末に対して送信する送信ステップとを有することを特徴とする。
【００１５】
本発明は、送信側の端末から送信されたパケットに対してＩＰｓｅｃ処理によってシーケンス番号を付与し、該シーケンス番号が付与されたパケットに対してＱｏＳ処理を行うことにより優先度が高い順に送信されたパケットを受信する受信ステップと、前記受信ステップによって受信したパケットに付与されている前記シーケンス番号を、前記受信ステップにより受信した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、前記完全性チェック値が更新されたパケットを、受信側の端末に対して送信する送信ステップとをコンピュータに行わせることを特徴とする。
【００１６】
本発明は、ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信プログラムであって、前記送信側の端末から送信するべきパケットを受信して、該受信したパケットに対して、パケットの暗号化、シーケンス番号の付与及び完全性チェック値の付与を行うことによりＩＰｓｅｃ処理を実施したパケットを出力するＩＰｓｅｃ処理ステップと、前記ＩＰｓｅｃ処理を実施したパケットを入力して、該パケット内に定義されている優先度の情報を抽出し、該優先度の高い順にパケットを出力するＱｏＳ処理ステップと、前記ＱｏＳ処理ステップにより出力されるパケットを入力し、該パケットに付与されている前記シーケンス番号を、パケットを入力した順にシーケンス番号を付与し直すシーケンス番号付与ステップと、前記シーケンス番号を付与し直したパケットの完全性チェック値を再計算して、該パケットに付与されている完全性チェック値を更新するチェック値更新ステップと、前記完全性チェック値が更新されたパケットを、前記受信側の端末に対して送信する送信ステップとをコンピュータに行わせることを特徴とする。
【００１７】
本発明は、ＩＰｓｅｃ処理とＱｏＳ処理とを実施して、送信側の端末から受信側の端末へパケットを送信するパケット通信プログラムであって、前記送信側の端末から送信するべきパケットを受信して、該パケット内に定義されている優先度の情報を抽出する優先度抽出ステップと、前記受信したパケットに対して、パケットの暗号化処理を行う暗号化ステップと、前記優先度抽出ステップによって抽出した優先度の情報に基づいて優先度の高い順に前記暗号化されたパケットを出力する優先出力ステップと、前記優先出力ステップにより出力されるパケットに対して、シーケンス番号の付与及び完全性チェック値の付与を行うシーケンス番号付与ステップと、前記シーケンス番号が付与されたパケットを、前記受信側の端末に対して送信する送信ステップとをコンピュータに行わせることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、送信側において送信するべきパケットのシーケンス番号を付与し直すようにしたため、ＩＰｓｅｃ処理とＱｏＳ処理とを実施しても受信側でリプレイ攻撃防止機能によってパケットが廃棄されてしまう事態を防止することができるという効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１に示すシーケンス番号割り当て装置４の動作を示すフローチャートである。
【図３】パケットフレームの構成を示す説明図である。
【図４】図１に示す装置の変形例を示すブロック図である。
【図５】パケットフレームの構成を示す説明図である。
【図６】ＩＰｓｅｃ機器間の処理動作を示すシーケンス図である。
【図７】パケットフレームの構成を示す説明図である。
【図８】Ｒｅｐｌａｙ  Ｗｉｎｄｏｗの処理動作を示す説明図である。
【図９】Ｒｅｐｌａｙ  Ｗｉｎｄｏｗの処理動作を示す説明図である。
【図１０】ＱｏＳの処理動作を示す説明図である。
【図１１】ＱｏＳの処理動作を示す説明図である。
【発明を実施するための形態】
【００２０】
以下、本発明の一実施形態によるパケット通信装置を図面を参照して説明する。パケット通信装置の構成を説明する前に、ＩＰｓｅｃとＱｏＳの機能について、簡単に説明する。初めに、ＩＰｓｅｃについて説明する。ＩＰｓｅｃには、送信パケットの機密性を確保する、送信パケットの完全性を確保する、送信パケットの送信元を認証し送信元を確認する、という３つの特徴を有している。機密性は、送信パケットを暗号化することで、パケット内の情報を第３者から盗聴されることを防ぐものである。完全性は、送信パケット全体のハッシュ値を計算し、第３者が改竄した場合に計算値が合わなくなることで、改竄を防ぐものである。送信元の確認は、ＩＰｓｅｃの通信を行うにあたり、通信相手を認証することで、相手を確認する。この時、機密性を確保する暗号化鍵や、ハッシュ計算用の鍵を送受するので、これにより、通信を行うお互いのみが知り得る情報を持ち、この情報に基づいて通信することで、認証済みの相手と通信していることを確保するものである。
【００２１】
また、ＩＰｓｅｃプロトコルには、トンネルモードとトランスポートモードの２種類がある。トランスポートモードは、ＩＰｓｅｃ機器間のみでＩＰｓｅｃ通信を行うモードである。トンネルモードは、送信パケットをＩＰｓｅｃ処理する際に、元の送信パケットを全て暗号化するもので、使用されるＩＰヘッダは、ＩＰｓｅｃ機器と通信するためだけのＩＰヘッダが付加される。さらに、ＩＰｓｅｃプロトコル特有情報を持ったＥＳＰヘッダが付加される。図５に示すＩＰｓｅｃ処理後のパケットフレームが、相手のＩＰｓｅｃ機器へ送付される。
【００２２】
また、ＩＰｓｅｃでは、暗号化やハッシュ値計算のために必要な、鍵情報、使用するアルゴリズムを、通信に先立って、図６に示すように、ＩＰｓｅｃを用いて通信を行う相互で取り決めを行う。図６に示す処理動作によって取り決めたアルゴリズム・鍵情報がセキュリティアソシエーション（以下、ＳＡという）である。ＳＡは、ＩＰｓｅｃ機器同士でも異なるＳＡを複数作ることができる。また、異なるＩＰｓｅｃ機器と接続する場合は、異なったＳＡを作成する。これをＩＰｓｅｃ機器内でデータベースとして持ち、このデータベースをＳＡＤＢ（セキュリティアソシエーションデータベース）という。ＳＡを識別するためには、ＥＳＰヘッダに含まれるＳＰＩ（セキュリティポリシーインデックス）値が使われる。ＩＰｓｅｃ通信は、このＳＡ上で行われ、暗号鍵・暗号アルゴリズム・ハッシュ鍵・ハッシュアルゴリズムはＳＰＩ値で検索されるＳＡＤＢの中に記載されている。
【００２３】
次に、Ｒｅｐｌａｙ攻撃対策用シーケンス番号について説明する。ＩＰｓｅｃ通信は、機密性・完全性・相手認証の機能により保護されているが、攻撃者が通信中のデータをコピーし、これを同一の相手に送信すると、受信側は、正当な相手からのデータであると誤認識し、受信処理をして、通常通り端末へ送信してしまう。このような攻撃をＲｅｐｌａｙ攻撃という。ＩＰｓｅｃ通信では、このＲｅｐｌａｙ攻撃を防御するため、ＥＳＰヘッダの中に、送信毎に１加算されるシーケンス番号が入っている。このシーケンス番号を受信側でチェックすることで、Ｒｅｐｌａｙ攻撃による、重複したパケットの受信や、過去に受信済みのパケットの受信をチェックし、検出した時はそのパケットを破棄することにより攻撃を防御することができる。Ｒｅｐｌａｙ攻撃防御の方法は、全てのパケットのシーケンス番号を記憶しておけば問題ないが、全ての番号を記憶するとなると、データ量が大きくなった場合、メモリが多く消費され、さらにチェックに時間がかかるなど問題がある。
【００２４】
このような問題を避けるため、Ｒｅｐｌａｙ  Ｗｉｎｄｏｗという、一定の範囲をチェックする機構が設けられている。Ｒｅｐｌａｙ  Ｗｉｎｄｏｗの仕組みは、受信したＩＰｓｅｃパケットのシーケンス番号で、数値の最も大きいものを最大値として、そこから、一定量の範囲内で、シーケンス番号の重複をチェックする。範囲より少ない数値で受信したものは、過去のデータでＲｅｐｌａｙ攻撃によるものと判断し廃棄する。最大値が更新される毎にＷｉｎｄｏｗを最大値へずらし、範囲の移動を行う。図８、図９を参照して、Ｗｉｎｄｏｗ動作の詳細を説明する。ここでは、パケットが図８に示すシーケンス番号の順番（シーケンス番号２、１、３、４、８、６、７、５の順）で受信されるものとし、Ｗｉｎｄｏｗサイズを２とする。
【００２５】
まず、シーケンス番号２のパケットは、Ｗｉｎｄｏｗ内で未受信のため、受信処理を行う（図８（１））。なお、パケットに付けた斜線は、受信済みであることを示している。続いて、シーケンス番号１のパケットはＷｉｎｄｏｗ内で未受信のため、受信処理を行う（図８（２））。次に、シーケンス番号３のパケットは最大値なので、Ｗｉｎｄｏｗを移動し、シーケンス番号３のパケットは、Ｗｉｎｄｏｗ内で未受信のため、受信処理を行う（図８（３））。
【００２６】
次に、シーケンス番号４のパケットは最大値なので、Ｗｉｎｄｏｗを移動し、シーケンス番号４のパケットは、Ｗｉｎｄｏｗ内で未受信のため、受信処理を行う（図８（４））。続いて、シーケンス番号８のパケットは最大値なので、Ｗｉｎｄｏｗを移動し、シーケンス番号８のパケットは、Ｗｉｎｄｏｗ内で未受信のため、受信処理を行う（図９（５））。
【００２７】
次に、シーケンス番号６のパケットは、現在のＷｉｎｄｏｗ外で、さらに過去のパケットであるので破棄する処理を行う（図９（６））。続いて、シーケンス番号７のパケットは現在のＷｉｎｄｏｗ内であり、未受信のため受信処理を行う（図９(７））。シーケンス番号５のパケットは、現在のＷｉｎｄｏｗ外で、さらに過去のパケットであるので破棄する処理を行う（図９（９））。
【００２８】
このように、Ｗｉｎｄｏｗを移動しながらの制御では、順番の狂いが大きい場合、未受信であるにもかかわらず、シーケンス番号５、６のパケットのように受信できない事態が発生する。
【００２９】
次に、ＱｏＳ処理について簡単に説明する。ＱｏＳとは、通信ネットワーク上で通信の品質を確保するための技術である。通信量が多くなり、送信しきれないデータに遅延や廃棄が発生する場合や、ネットワークの帯域（一定時間の送信量）が決められているが、通信量が帯域を越えてしまっている場合には、ＱｏＳ技術を使って、通信データを制御し、遅延や廃棄することにより問題が発生するパケットを優先的に流したり、帯域が決められている場合、帯域以上に送信しない様制御する必要がある。ＱｏＳは、主に優先制御（ネットワーク上を流れるデータに優先度を付け、優先度の高いものから次の機器へ送信する等の制御）と帯域制御（ネットワーク上を流れるデータ量を調整し、一定以上のデータ量が流れない様にキューイングや廃棄等の制御）を行うものである。
【００３０】
優先制御は、図１０に示すように、送信するパケットを調べて、優先度を決定するものである。優先度毎にキューを持ち、送信タイミングで優先度の高いものと低いものにキューがあれば、優先度の高いものから送信する。また、帯域制御は、送信する帯域を、決められた量以上に送信しないように制御するものである。帯域を越えるデータは、キューイングもしくは廃棄される。
【００３１】
次に、ＩＰｓｅｃ処理とＱｏＳ制御のかかわりについて説明する。ＩＰｓｅｃ処理で使用するシーケンス番号は、Ｒｅｐｌａｙ攻撃に対する防御のためにあるが、ＱｏＳ制御により順序が入れ替わった場合には、Ｒｅｐｌａｙ攻撃と誤認識することがある。Ｒｅｐｌａｙ攻撃防止チェックのＷｉｎｄｏｗサイズは、ネットワーク上での多少の順序の入れ替わりを考慮して、一定の幅（例えば、３２個のパケット分）を持っている。しかし、Ｗｉｎｄｏｗサイズを大きく上回る順序の狂いが生じた場合には、問題があるため、一般のＩＰｓｅｃ機器には、Ｒｅｐｌａｙ防止機能を停止することにより、廃棄を防ぐ設定を行うことができるようになっている。当然、Ｒｅｐｌａｙ防止機能を停止すれば、Ｒｅｐｌａｙ攻撃に対して防御できなくなるという問題がある。
【００３２】
例えば、図１１に示す例では、優先度の高いパケットが、低いものを５０パケットものパケットが追い抜いたため、低い優先度のシーケンス番号２、３のパケットは、相手に届いてもＲｅｐｌａｙ攻撃と誤認識され、廃棄されてしまうことになる。
【００３３】
ＱｏＳ制御には、帯域制御があり、これは、送信するデータ量を制御するものである。ＩＰｓｅｃ処理では、端末から送信されたパケットに、ＩＰｓｅｃ独自のパケットが付加されるため、データ量が増えてしまう。もし、ＱｏＳ制御による順序の狂いを発生させないように、ＱｏＳ制御をＩＰｓｅｃ処理の前に行うと、ＱｏＳ制御がデータ量を一定以上にならないように制御しても、ＩＰｓｅｃ処理でデータ量が増えてしまい、制御したはずの帯域をオーバーしてしまうことになる。したがって、ＱｏＳ制御での帯域制御処理は、ＩＰｓｅｃ処理の後に行うのが望ましい。
【００３４】
ただし、ＱｏＳ制御の優先度付けを行う場合は、ＩＰｓｅｃ処理を行う前が望ましい。端末が送信したデータの中のＯＳＩ第３層以上を使用したい場合、ＩＰｓｅｃ処理を行ってしまうと、ほぼ全部のパケットが暗号化されてしまい、優先度をつけるのに必要な情報が失われてしまうからである。ＩＰｓｅｃ処理後に使用できるものは、ＩＰヘッダのＴＯＳフィールドに存在する優先度データ程度であるが、ＩＰｓｅｃ機器が、元のＩＰヘッダにあるＴＯＳフィールドを、ＩＰｓｅｃで付加したＩＰヘッダのＴＯＳフィールドに、同一値を書き込むことが前提となる。機器によっては、ＩＰヘッダのＴＯＳフィールドをコピーしない可能性がある。また、優先度を付けるための情報として、ＯＳＩ第２層のＶＬＡＮタグ（ＩＥＥＥ  ８０２．１Ｑ）のＵｓｅｒ  Ｐｒｉｏｒｉｔｙ情報を使用することができる。ただし、これもＩＰｓｅｃ機器がＱｏＳ制御装置へＶＬＡＮタグを渡す必要がある。
【００３５】
次に、図１を参照して、パケット通信装置の構成を説明する。図１は、本発明の一実施形態によるパケット通信装置の構成を示すブロック図である。この図において、符号１は、情報を送信する端末である。符号２は、端末１が送信するべき情報のパケットに対してＩＰｓｅｃ処理を施すＩＰｓｅｃ処理装置である。符号３は、ＩＰｓｅｃ処理装置２が出力するパケットに対してＱｏＳ処理を施すＱｏＳ処理装置である。符号４は、ＱｏＳ処理装置３が出力するパケットに対してシーケンス番号を割り当てるシーケンス番号割り当て装置である。符号５は、ＷＡＮ（Wide Area Network；広域通信網）である。符号６は、端末１側からＷＡＮ５を介して送信されたパケットに対してＩＰｓｅｃ処理を施すＩＰｓｅｃ処理装置である。符号７は、端末１が送信した情報のパケットを受信する端末であり、ＩＰｓｅｃ処理装置６が出力するパケットを受信するべきパケットとして受信する。
【００３６】
符号４１は、ＱｏＳ処理装置３が送信するパケットを受信するパケット受信部である。符号４２は、パケット受信部４１が受信したパケットの構成を解析するＩＰｓｅｃ解析部である。符号４３は、ＩＰｓｅｃ解析部４２が行った解析の結果の情報を参照して、ＩＰｓｅｃのシーケンス番号割り当て処理と、ハッシュの再計算処理を行うＩＰｓｅｃ処理部である。符号４４は、ＩＰｓｅｃ処理部４３が出力するパケットを送信するパケット送信部である。符号４５は、ＳＡＤＢ（セキュリティアソシエーションデータベース）である。シーケンス番号割り当て装置４は、パケット受信部４１、ＩＰｓｅｃ解析部４２、ＩＰｓｅｃ処理部４３、パケット送信部４４及びＳＡＤＢ４５から構成する。
【００３７】
次に、図１に示す各装置の処理動作を説明する。まず、ＩＰｓｅｃ処理装置２とＩＰｓｅｃ処理装置６との間で、ＩＰｓｅｃ通信を行うための、セキュリティアソシエーションを構築する。そして、ＩＰｓｅｃ処理装置２は、構築したセキュリティアソシエーションで改竄防止完全性チェック値計算に使用する鍵付ハッシュの、鍵情報とハッシュ演算アルゴリズム種別と、そのセキュリティアソシエーションを識別するためのＳＰＩ値（Security Policy Index値）を、シーケンス番号割り当て装置４へ通知する。この通知方法は、特に問わないが、セキュリティ上、暗号化して通知することが望ましいため、例えば、ＩＰｓｅｃ通信をＩＰｓｅｃ処理装置２とシーケンス番号割り当て装置４間で構成し、ＩＰｓｅｃを使用してセキュアに通知する方法を用いる。ＩＰｓｅｃでは、相手を特定する認証機能を持っているため、誤った相手に情報を渡してしまうことを回避することができる。
【００３８】
次に、端末１から送信するべき情報のパケットを送信する。この送信されたパケットは、ＩＰｓｅｃ処理装置２においてＩＰｓｅｃ処理され、パケットの暗号化、シーケンス番号割り当て、改竄防止完全性チェック値（ＩＣＶ：Integrity Check Value）の付与が行われる。このとき、シーケンス番号は、暗号化の対象ではなく、このハッシュによる保護のみが対象である。ここで生成されるＥＳＰパケットのフレーム構成を図３に示す。
【００３９】
次に、ＱｏＳ処理装置３は、ＩＰｓｅｃ処理装置２からＩＰｓｅｃ処理されたパケットを受け取ると、ＶＬＡＮタグのＵｓｅｒ  Ｐｒｉｏｒｉｔｙ  ｂｉｔもしくは、ＩＰヘッダ内のＴＯＳフィールドから優先度を抽出し、送信量を制御し、優先順位に応じてパケットの送信を行う。
【００４０】
次に、パケット受信部４１は、ＱｏＳ処理装置３からパケットを受信し、ＩＰｓｅｃ解析部４２へ受け渡す。ＩＰｓｅｃ解析部４２は、ＳＡＤＢ４５を参照して、ＩＰｓｅｃ処理済みパケットのＳＰＩ値からセキュリティアソシエーション（ＳＡ）を特定し、このＳＡと、パケットをＩＰｓｅｃ処理部４３へ出力する。ＩＰｓｅｃ処理部４３は、ＩＰｓｅｃ解析部４２が解析したＳＡに関連付けられたシーケンス番号から番号を取り出し、そのパケットのシーケンス番号を上書きする。そして、ＩＰｓｅｃ処理部４３は、シーケンス番号の上書き後に、完全性チェック値（ＩＣＶ）を再計算し、ＩＣＶを上書きして、パケット送信部４４へパケットを受け渡す。パケット送信部４４は、このパケットを送信する。
【００４１】
パケット送信部４４から送信されたパケットは、ＷＡＮ５を介して、ＩＰｓｅｃ処理装置６が受信し、受信したパケットに対して、ＩＰｓｅｃ処理を施して、端末７へ受け渡す。これにより、端末１から送信されたパケットが、端末７において受信されることになる。
【００４２】
次に、図２を参照して、シーケンス番号割り当て装置４の詳細な処理動作を説明する。まず、パケット受信部４１がパケットを受信すると（ステップＳ１）、ＩＰｓｅｃ解析部４２は、受信したパケットがＩＰｓｅｃパケットであるか否かを判定する（ステップＳ２）。この判定の結果、ＩＰｓｅｃパケットでなければ以降の処理を行わない。一方、ＩＰｓｅｃパケットであれば、ＩＰｓｅｃ解析部４２は、ＥＳＰヘッダからＳＰＩ値を抽出する（ステップＳ３）。そして、ＩＰｓｅｃ解析部４２は、ＳＡＤＢ４５からＳＰＩ値で検索し、ハッシュアルゴリズムとハッシュ鍵を取り出す（ステップＳ４）。
【００４３】
そして、ＳＡＤＢがあるか否かを判定し（ステップＳ５）、ＳＡＤＢがなければ以降の処理を行わない。一方、ＳＡＤＢがあれば、ＩＰｓｅｃ処理部４３は、ＳＡＤＢテーブルのカウンタの値を取り出し、ＥＳＰヘッダのシーケンス番号へ書き込みを行い、カウンタの値を「１」増加させる（ステップＳ６）。続いて、ＩＰｓｅｃ処理部４３は、ＳＡＤＢテーブルのハッシュアルゴリズムとハッシュ鍵を使用して、ＩＰｓｅｃパケットのハッシュ演算を行い、ＩＣＶに書き込む（ステップＳ７）。次に、パケット送信部は、ＩＰｓｅｃ処理において処理されたパケットを送信する（ステップＳ８）。
【００４４】
次に、図４を参照して、図１に装置構成の変形例を説明する。図４に示す装置構成が、図１に示す装置構成と異なる点は、ＩＰｓｅｃ処理装置、ＱｏＳ処理装置、シーケンス番号割り当て装置を同一の装置ＩＰｓｅｃ・ＱｏＳ処理装置８内に収めた点である。図４を参照して、図４に示す装置の処理動作を説明する。
【００４５】
まず、ＩＰｓｅｃ・ＱｏＳ処理装置８とＩＰｓｅｃ処理装置６の間で、ＩＰｓｅｃ通信を行うための、セキュリティアソシエーションを構築する。そして、ＩＰｓｅｃ・ＱｏＳ処理装置８内では、構築したセキュリティアソシエーションで改竄防止完全性チェック値計算に使用する鍵付ハッシュの、鍵情報とハッシュ演算アルゴリズム種別と、そのセキュリティアソシエーションを識別するためのＳＰＩ値（Security Policy Index値）を、ＩＰｓｅｃシーケンス番号割り当て処理で参照できる。
【００４６】
ＱｏＳ前処理部８１は、ＩＰｓｅｃ処理を行う前に処理することで、暗号化される前のＩＰパケットの上位層（３層以上）も参照して優先度付けを行う。前処理で付与した優先度は、ＱｏＳ後処理部８３まで引き継ぎ、前処理で付与した優先度で後処理にてＱｏＳ処理する。ＱｏＳ前処理終了後は、ＩＰｓｅｃ処理に移る。ＩＰｓｅｃ処理部８２は、暗号化のみを行い、シーケンス番号の付与は、シーケンス番号割り当て処理部８４で行う。このとき、２重にシーケンス番号付与を行わないようにする。ＩＰｓｅｃ処理後は、ＱｏＳ後処理に移る。
【００４７】
ＱｏＳ後処理部８３は、ＱｏＳ前処理にて付与された優先度で、送信量を制御し、パケットを優先順位に応じてシーケンス番号割り当て処理部８４へ受け渡す。シーケンス番号割り当て処理部８４は、ＩＰｓｅｃのＳＰＩ値からセキュリティアソシエーション（ＳＡ）を特定し、そのＳＡに関連付けられたシーケンス番号を割り当て、完全性チェック値（ＩＣＶ）を計算し、ＩＣＶに書き込み送信する。
【００４８】
なお、ＩＰｓｅｃ・ＱｏＳ処理装置８で行うＱｏＳ処理は、ＩＰｓｅｃ処理前にＱｏＳを判断し、その情報を、ＩＰｓｅｃ処理を行っても保持する機能を持っており、さらにＩＰｓｅｃ処理後に、その情報を使用したＱｏＳ処理が行えるため、ＩＰｓｅｃで付加されたデータによるパケットデータ長の増加を考慮に入れたＱｏＳ処理を行うことができる。
【００４９】
特許文献１の技術では、受信処理側で、優先度情報毎にリプレイ攻撃防止チェックを行うことで、発生する問題を回避しようとしている。これは、ＩＰｓｅｃ処理されたパケットが、ネットワーク上を通過する際にＱｏＳ制御されシーケンス番号が狂った場合には有効であるが、ＩＰｓｅｃ処理前のパケット情報でＱｏＳの前処理を行って、ＩＰｓｅｃ処理後にＱｏＳ制御を行うような、ＩＰｓｅｃ処理とＱｏＳ制御を一体に行う装置には対応できない。また、特許文献１の方法では、受信側で判断可能な優先度情報を使用しているため、送信側が優先度付けを行った後に、優先度情報を失うような場合、受信側では優先度の判別ができなくなり、リプレイ攻撃の誤検出が発生する。例えばＶＬＡＮ上のＵｓｅｒ  Ｐｒｉｏｒｉｔｙを優先度に使用した場合は、インターネットへ送信する際に、ＶＬＡＮタグ自体を失ってしまうため、受信側では優先度の判断ができない。また、送信側のＱｏＳ処理で使用した優先度情報を、受信側が完璧に理解できない場合、リプレイ攻撃防止機能によるパケットの誤廃棄が発生してしまう。
【００５０】
これに対して、本発明では、送信側でＱｏＳを処理した後に、ＩＰｓｅｃのシーケンス番号を再度割り当てる、もしくは、ＱｏＳ処理後にＩＰｓｅｃのシーケンス番号を割り当てることによって、受信側では、何も処理せずともリプレイ攻撃防止機能によるパケットの誤廃棄を無くすことができる。ＩＰｓｅｃのシーケンス番号は、ＩＰｓｅｃのパケットに含まれるＥＳＰヘッダ内に格納されており、暗号化の対象ではないため、復号化してシーケンス番号を割り当てなおす必要がない。ただし、完全性チェックの対象になっているので、鍵付ハッシュ計算を再度行う必要がある。完全性チェックで使用するハッシュ計算には、暗号化と同様、ＳＡ（セキュリティアソシエーション）毎に鍵が必要となるため、シーケンス番号の修正後、この鍵を使用したハッシュの再計算を行うため、予め、ＩＰｓｅｃ処理装置より、ＳＡ情報と共に完全性チェック用鍵を入手する。
【００５１】
このように、パケットのシーケンス番号を付与し直すようにしたため、受信側でリプレイ攻撃防止機能によってパケットが廃棄されてしまう問題を防止することができる。また、１つの装置内で、ＩＰｓｅｃ処理とＱｏＳ制御を行えると、ＩＰｓｅｃ処理する前のデータをＱｏＳの条件に使用でき、さらに、ＩＰｓｅｃ処理した後に、その条件を使用したＱｏＳ制御が行えるので、ＩＰｓｅｃ処理によるデータ量の増加を考慮したＱｏＳの帯域制御で正確に行うことができる。
【００５２】
なお、図１、図４における各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりシーケンス番号割り当て処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５３】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００５４】
１・・・端末、２・・・ＩＰｓｅｃ処理装置、３・・・ＱｏＳ処理装置、４・・・シーケンス番号割り当て装置、４１・・・パケット受信部、４２・・・ＩＰｓｅｃ解析部、４３・・・ＩＰｓｅｃ処理部、４４・・・パケット送信部、４５・・・ＳＡＤＢ、５・・・ＷＡＮ、６・・・ＩＰｓｅｃ処理装置、７・・・端末、８・・・ＩＰｓｅｃ・ＱｏＳ処理装置、８１・・・ＱｏＳ前処理部、８２・・・ＩＰｓｅｃ処理部、８３・・・ＱｏＳ後処理部、８４・・・シーケンス番号割り当て処理部
【図１】
2010187327.tif 000003
【図２】
2010187327.tif 000004
【図３】
2010187327.tif 000005
【図４】
2010187327.tif 000006
【図５】
2010187327.tif 000007
【図６】
2010187327.tif 000008
【図７】
2010187327.tif 000009
【図８】
2010187327.tif 000010
【図９】
2010187327.tif 000011
【図１０】
2010187327.tif 000012
【図１１】
2010187327.tif 000013