(57)【要約】  不要な復号処理を回避でき、サービス妨害攻撃に対抗できる送信装置を提供する。  受信装置との間においてセキュアな通信路（ＳＡ）を確立する送信装置であって、パケットを作成するパケット作成部と、作成されたパケットにおける冗長パケットの割合又は受信装置からの指示に基づいて、作成されたパケットにおける暗号範囲を決定し、暗号範囲のデータに対して暗号処理する暗号処理部と、ＳＡを介して、暗号処理されたパケットを送信する送信部と、を備える。
2013179551.tif 000002
【特許請求の範囲】
【請求項１】
受信装置との間においてセキュアな通信路を確立する送信装置であって、
パケットを作成するパケット作成部と、
前記パケット作成部により作成されたパケットにおける冗長パケットの割合又は受信装置からの指示に基づいて、前記パケット作成部により作成されたパケットにおける暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理する暗号処理部と、
前記セキュアな通信路を介して、前記暗号処理部により暗号処理されたパケットを送信する送信部と、
を備える送信装置。
【請求項２】
請求項１に記載の送信装置であって、
前記暗号処理部は、前記パケット作成部により作成されたパケットの略全体に対して暗号処理する第１の暗号処理と、前記パケット作成部により作成されたパケットに含まれるデータ部に対して暗号処理する第２の暗号処理と、を切り替える送信装置。
【請求項３】
請求項１または２に記載の送信装置であって、
前記暗号処理部は、前記暗号範囲に含まれないヘッダを、前記暗号処理の情報を含む暗号処理ヘッダの前に付加する送信装置。
【請求項４】
請求項２に記載の送信装置であって、
前記暗号処理部は、前記第２の暗号処理において、前記暗号範囲に含まれないヘッダを、前記暗号処理の情報を含む暗号処理ヘッダの後に付加し、
前記暗号処理用のヘッダは、前記当該暗号処理用のヘッダから前記暗号範囲までの長さの情報を含む送信装置。
【請求項５】
請求項２に記載の送信装置であって、
前記暗号処理部は、前記第２の暗号処理において、アプリケーション毎に定められた暗号方式により前記データ部に対して暗号処理し、前記暗号処理の情報を含む暗号処理ヘッダを付加しない送信装置。
【請求項６】
請求項１ないし５のいずれか１項に記載の送信装置であって、
前記パケット作成部により作成されるパケットは、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）パケット、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）パケット、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ
Ｐｒｏｔｏｃｏｌ）パケット、又は、アプリケーションパケットを含む送信装置。
【請求項７】
送信装置との間においてセキュアな通信路を確立する受信装置であって、
前記セキュアな通信路を介してパケットを受信する受信部と、
前記受信部により受信されたパケットが所定基準を満たすか否かに応じて、前記送信装置により作成されるパケットが暗号処理される暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するよう前記送信装置に指示する暗号処理指示部と、
を備える受信装置。
【請求項８】
請求項７に記載の受信装置であって、
前記暗号処理指示部は、前記送信装置により作成されたパケットの略全体に対して暗号処理する第１の暗号処理と、前記送信装置により作成されたパケットに含まれるデータ部に対して暗号処理する第２の暗号処理と、を切り替えるよう前記送信装置に指示する受信装置。
【請求項９】
請求項８に記載の受信装置であって、
前記暗号処理指示部は、前記受信部により受信された暗号処理されていないパケット数が所定数以上である場合、前記第１の暗号処理を行うと判定する受信装置。
【請求項１０】
請求項８に記載の受信装置であって、更に、
前記受信部により受信されたパケットに対して認証処理する認証処理部を備え、
前記暗号処理指示部は、前記認証処理部による認証処理の結果、認証エラーが発生したパケット数が所定数以上である場合、前記第１の暗号処理を行うと判定する受信装置。
【請求項１１】
請求項８に記載の受信装置であって、
前記暗号処理指示部は、前記受信部により受信された冗長パケットのパケット数が所定値以上である場合、前記第２の暗号処理を行うと判定する受信装置。
【請求項１２】
請求項８に記載の受信装置であって、
前記暗号処理指示部は、前記受信部により受信された冗長パケットのパケット数が所定値未満である場合、前記第１の暗号処理を行うと判定する受信装置。
【請求項１３】
請求項７ないし１２のいずれか１項に記載の受信装置であって、更に、
前記受信部により受信されたパケットに対して復号処理する復号処理部を備え、
前記復号処理部は、前記受信部により受信されたパケットが暗号処理されていない場合、前記受信部により受信されたパケットに対する認証処理の結果、認証エラーが発生した場合、又は、前記受信部により受信されたパケットが冗長パケットである場合、復号処理しない受信装置。
【請求項１４】
送信装置と受信装置との間においてセキュアな通信路を確立する通信システムであって、
前記送信装置は、
パケットを作成するパケット作成部と、
前記パケット作成部により作成されたパケットにおける冗長パケットの割合又は前記受信装置からの指示に基づいて、前記パケット作成部により作成されたパケットにおける暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理する暗号処理部と、
前記セキュアな通信路を介して、前記暗号処理部により暗号処理されたパケットを送信する送信部と、
を備え、
前記受信装置は、
前記セキュアな通信路を介してパケットを受信する受信部と、
前記受信部により受信されたパケットが所定基準を満たすか否かに応じて、前記送信装置により作成されるパケットが暗号処理される暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するよう前記送信装置に指示する暗号処理指示部と、
を備える通信システム。
【請求項１５】
受信装置との間においてセキュアな通信路を確立する送信装置における送信方法であって、
パケットを作成するステップと、
前記作成されたパケットにおける冗長パケットの割合又は受信装置からの指示に基づいて、前記作成されたパケットにおける暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するステップと、
前記セキュアな通信路を介して、前記暗号処理されたパケットを送信するステップと、
を有する送信方法。
【請求項１６】
送信装置との間においてセキュアな通信路を確立する受信装置における受信方法であって、
前記セキュアな通信路を介してパケットを受信するステップと、
前記受信されたパケットが所定基準を満たすか否かに応じて、前記送信装置により作成されるパケットが暗号処理される暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するよう前記送信装置に指示するステップと、
を有する受信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、送信装置、受信装置、通信システム、送信方法、及び受信方法に関する。
【背景技術】
【０００２】
インターネットにおいてセキュア通信を実現する方法として、ＩＰｓｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）が広く使用されている。【０００３】
ＩＰｓｅｃによる暗号処理については、非特許文献１に、ＥＳＰ（Ｅｎｃａｐｓｕｌａｔｉｎｇ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ）の方法が記載されている。【０００４】
また、他のセキュア通信を実現する方法として、非特許文献２に、ＳＲＴＰ（Ｓｅｃｕｒｅ  Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）が記載されている。ＳＲＴＰは、ＲＴＰ(Ｒｅａｌ−Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ)の標準化された暗号方法である。【０００５】
また、特許文献１では、暗号処理する範囲を送信側と受信側とにおいて予め調整し、パケットの中の指定した一部領域だけを暗号処理する方法が記されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】日本国特開２０１２−０１０２５４号公報
【非特許文献】
【０００７】
【非特許文献１】“ＩＰ  Ｅｎｃａｐｓｕｌａｔｉｎｇ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ  （ＥＳＰ）”，ＩＥＴＦ，ＲＦＣ４３０３
【非特許文献２】“Ｔｈｅ Ｓｅｃｕｒｅ Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  （ＳＴＲＰ）”，ＩＥＴＦ，ＲＦＣ３７１１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の方法では、不要な復号処理を回避し、サービス妨害攻撃に対抗することが困難であった。【０００９】
本開示は、上記事情に鑑みてなされたものであって、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる送信装置、受信装置、通信システム、送信方法、及び受信方法を提供する。
【課題を解決するための手段】
【００１０】
本開示の送信装置は、受信装置との間においてセキュリティアソシエーションを確立する送信装置であって、パケットを作成するパケット作成部と、前記パケット作成部により作成されたパケットにおける冗長パケットの割合又は受信装置からの指示に基づいて、前記パケット作成部により作成されたパケットにおける暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理する暗号処理部と、前記セキュリティアソシエーションを介して、前記暗号処理部により暗号処理されたパケットを送信する送信部と、を備える。
【発明の効果】
【００１１】
本開示によれば、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる。
【図面の簡単な説明】
【００１２】
【図１】第１〜第３の実施形態におけるデータ送信装置およびデータ受信装置を含むデータ通信システムの構成例を示すブロック図
【図２】第１の実施形態におけるデータ送信装置の動作例を示すフローチャート
【図３】各実施形態におけるデータ受信装置の動作例を示すフローチャート
【図４】第１の実施形態におけるトランスポートモードのパケットフォーマットの一例を示す図
【図５】第１の実施形態におけるトランスポートモードにおけるパケット暗号処理の一例を示す図
【図６】ＥＳＰパケットフォーマットを示す図
【図７】第１の実施形態におけるトランスポートモードにおけるパケット復号処理の一例を示す図
【図８】第１の実施形態におけるトランスポートモードにおけるデータ部暗号処理の一例を示す図
【図９】ＲＴＰヘッダフォーマットを示す図
【図１０】プロトコルとプロトコル番号の関係を示す図
【図１１】第１の実施形態におけるトランスポートモードにおけるデータ部復号処理の一例を示す図
【図１２】第１の実施形態におけるトンネルモードのパケットフォーマットの一例を示す図
【図１３】第１の実施形態におけるトンネルモードにおけるパケット暗号処理の一例を示す図
【図１４】第１の実施形態におけるトンネルモードにおけるパケット復号処理の一例を示す図
【図１５】第１の実施形態におけるトンネルモードにおけるデータ部暗号処理の一例を示す図
【図１６】第１の実施形態におけるトンネルモードにおけるデータ部復号処理の一例を示す図
【図１７】第２の実施形態におけるデータ送信装置の動作例を示すフローチャート
【図１８】第２の実施形態におけるトランスポートモードのパケットフォーマットの一例を示す図
【図１９】第２の実施形態におけるトランスポートモードにおけるデータ部暗号処理の一例を示す図
【図２０】第２の実施形態における拡張されたＥＳＰパケットフォーマットの一例を示す図
【図２１】第２の実施形態におけるトランスポートモードにおけるデータ部復号処理の一例を示す図
【図２２】第２の実施形態におけるトンネルモードのパケットフォーマットの一例を示す図
【図２３】第２の実施形態におけるトンネルモードにおけるデータ部暗号処理の一例を示す図
【図２４】第２の実施形態におけるトンネルモードにおけるデータ部復号処理の一例を示す図
【図２５】第３の実施形態におけるデータ送信装置の動作例を示すフローチャート
【図２６】第３の実施形態におけるデータ部暗号処理の一例を示す図
【図２７】第３の実施形態におけるデータ部復号処理の一例を示す図
【図２８】第１〜第３の実施形態におけるＴＣＰによる再送処理のシーケンスの一例を示す図
【図２９】第１〜第３の実施形態における暗号処理方式の切り替え例を示す図
【図３０】第１〜第３の実施形態におけるデータ送信装置の動作例の概要を示すフローチャート
【図３１】第１〜第３の実施形態におけるデータ受信装置の動作例の概要を示すフローチャート
【図３２】第１〜第３の実施形態におけるデータ送信装置の内部構成を示すブロック図
【図３３】第１〜第３の実施形態におけるデータ受信装置の内部構成を示すブロック図
【発明を実施するための形態】
【００１３】
以下、本開示の実施形態について、図面を参照して説明する。
【００１４】
（本開示の一形態を得るに至った経緯）
【００１５】
従来方法では、ネットワークの状況の変化に合わせて暗号処理する領域（暗号範囲）を変更できない。
【００１６】
ＩＰｓｅｃでは、ＵＤＰヘッダ又はＴＣＰヘッダからアプリケーションデータまで暗号処理し、暗号処理する範囲は固定であった。
【００１７】
また、ＳＲＴＰでは、アプリケーションデータを暗号処理し、ＵＤＰヘッダ又はＲＴＰヘッダを暗号処理しない。
【００１８】
また、特許文献１の技術では、暗号処理する領域を事前に決めておかなければならなかった。
【００１９】
ＩＰｓｅｃの場合、ヘッダ部分を含めて暗号処理するため、悪意あるサービス妨害攻撃（ＤｏＳ攻撃）に対する耐性が強い。ＤｏＳ攻撃（Ｄｅｎｉａｌ  ｏｆ  Ｓｅｒｖｉｃｅ  Ａｔｔａｃｋ）は、例えば、ＴＣＰ  ＳＹＮ  Ｆｌｏｏｄｉｎｇ攻撃、ＵＤＰ  Ｆｌｏｏｄｉｎｇ攻撃、ＩＣＭＰ  Ｆｌｏｏｄｉｎｇ攻撃、又はＴＣＰ  Ｃｏｎｎｅｃｔｉｏｎ  Ｆｌｏｏｄｉｎｇ攻撃を含む。ＩＰｓｅｃの場合、ＤｏＳ攻撃に対して、ＥＳＰのみ受信するフィルタリング設定を行うことが可能であり、ＤｏＳ攻撃による被害を小さくできる。
【００２０】
各ヘッダ（ＵＤＰヘッダ又はＴＣＰヘッダを含む）を暗号処理していない場合、ＤｏＳ攻撃によって被害を受ける可能性が高くなる。すなわち、ヘッダを暗号処理していない場合、インターネットワークを流れるパケットのポート番号を盗み見られ、攻撃者からポート番号を指定したＤｏＳ攻撃を受ける危険性がある。ＤｏＳ攻撃を受けると、例えばＣＰＵ又はメモリのリソースを消費させられる。従って、受信装置の処理動作が遅くなり、又は受信装置が停止するので、サービス提供に支障がでる。
【００２１】
一方、各ヘッダを暗号処理している場合、受信パケットを受信側において復号処理する必要がある。この場合、必要のない復号処理を実行することがある。例えば、映像・音声データを送受信するとき、ネットワークにおいて発生するパケットロスに備えて、データを二重三重に重複して送信し、又は、ロスパケットを復元できるように冗長パケットをあわせて送信する。ロスパケットを復元するための冗長パケットは、例えばＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ)である。
【００２２】
また、パケットのロス耐性を高める方法として、冗長度をネットワークの状況にあわせて動的に調整することが考えられる。つまり、ネットワークの状況が良好の場合には冗長度を下げて送信し、ネットワークの状況が劣悪の場合には冗長度を上げて送信することが考えられる。冗長度を上げる冗長パケットの送信には、ＦＥＣのような検査パケットの送信と、同じデータを複数回繰り返し送信する重複パケットの送信と、を含む。このような場合、受信側では、不要なデータ又は同じデータを何度も受信する場合がある。
【００２３】
しかし、ヘッダを含めて暗号処理されている場合、パケットを復号処理しなければ、冗長パケットが存在するかどうか認識できない。つまり、復号処理した後に、実行した復号処理が不要であったと判明することがある。
【００２４】
復号処理は、暗号処理と同様にＣＰＵ負荷の高い処理であり、例えば消費電力又はバッテリの寿命に影響する。従って、不要な復号処理については、事前に回避できることが望ましい。
【００２５】
不要な復号処理は、例えば、各ヘッダ（例えば、ＵＤＰヘッダ、ＴＣＰヘッダ、又はその上位レイヤのアプリケーションヘッダを含む）を暗号処理したために生じる。各ヘッダを暗号処理しなければ、簡単なチェック処理により冗長パケットかどうかを確認でき、例えばＣＰＵに負担となるＥＳＰの復号処理を省略できる。
【００２６】
このように、各ヘッダを暗号処理していない場合、ＤｏＳ攻撃によってサービス提供に支障がでる可能性がある。逆に、各ヘッダを暗号処理している場合、不要な復号処理を実行しなければならない可能性がある。
【００２７】
以下では、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる送信装置、受信装置、通信システム、送信方法、及び受信方法について説明する。
【００２８】
図１に示すように、データ通信システム１０００では、データ送信装置１００とデータ受信装置２００とが、ネットワーク３００を介して接続される。
【００２９】
（暗号処理の方式）
本開示の実施形態では、データ送信装置１００は、パケット暗号処理及びデータ部暗号処理を実行する。データ受信装置２００は、パケット復号処理及びデータ部復号処理を実行する。パケット復号処理は、パケット暗号処理されたデータを復号する。データ部復号処理は、データ部暗号処理されたデータを復号する。
【００３０】
パケット暗号処理とは、作成されたパケットの略全体に対して暗号処理する第１の暗号処理の一例である。パケット暗号処理には、ＩＰｓｅｃが用いられる。パケット暗号処理では、パケットの先頭のヘッダから処理し、ＥＳＰヘッダを処理し、データ（例えば映像データ又は音声データ）を復号処理する。
【００３１】
データ部暗号処理とは、作成されたパケットに含まれるデータ部（例えばアプリケーションデータを含む）に対して暗号処理する第２の暗号処理の一例である。
【００３２】
データ送信装置１００とデータ受信装置２００とは、互いの間に、データ通信を開始する前に、セキュアな通信路を確立する。セキュアな通信路は、セキュリティアソシエーション（ＳＡ：Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）を含む。ＳＡは、パケット暗号処理用及びデータ部暗号処理用に個別に２つ確立されてもよいし、共通して１つ確立されてもよい。
【００３３】
セキュリティアソシエーション（ＳＡ）とは、例えば、暗号方式、暗号用鍵長、認証方式、認証用鍵長、又は鍵データを含む情報の集合である。暗号用鍵長及び認証用鍵長は、例えばビット長により示される。暗号方式は、例えば、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、３ＤＥＳ、又はＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を含む。認証方式は、例えば、ＭＤ（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ）５、ＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）−１、ＳＨＡ−２、又はＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）を含む。
【００３４】
データ送信装置１００とデータ受信装置２００とは、パケット暗号処理又はデータ部暗号処理するために、ＳＡを予め共有する。データ受信装置２００は、予めＳＡを共有することにより、データ送信装置１００がデータ部暗号処理しても、パケット暗号処理しても、正しく復号処理できる。さらに、データ受信装置２００は、データ部暗号処理のパケットとパケット暗号処理のパケットとが混在しても、正しく復号処理できる。
【００３５】
従って、データ受信装置２００がデータ部暗号処理又はパケット暗号処理への切り替えを指示した場合、データ送信装置１００が切り替えるまでの間、切り替え前の暗号処理がされたパケットが届いたとしても、正しく復号処理できる。
【００３６】
また、データ送信装置１００に切り替え指示が届かなかった場合でも、又は、データ送信装置１００が切り替え指示に従わなかった場合でも、データ受信装置２００は、正しく復号処理できる。
【００３７】
（暗号処理方式の切り替え）
次に、図２９を用いて、暗号処理方式の切り替えについて概要を説明する。
【００３８】
ＤｏＳ攻撃が開始されると、データ受信装置２００は、データ送信装置１００によりデータ部暗号処理される状態において、パケット廃棄の検知回数が多くなる（状態Ａ→状態Ｂ）。データ受信装置２００は、パケット廃棄が所定値を超えた場合、ＤｏＳ攻撃であると判定し、データ送信装置１００にパケット暗号処理に切り替えるよう指示する（状態Ｂ→状態Ｃ）。廃棄されるパケットは、例えばＴＣＰ、ＵＤＰ、又はＩＣＭＰのパケットを含む。
【００３９】
これにより、ＤｏＳ攻撃が原因となるＣＰＵ処理負荷を削減することによって、冗長パケットが原因となるＣＰＵ処理負荷の削減と比較して相対的にＣＰＵ負荷を減らし、消費電力を削減できる。
【００４０】
データ受信装置２００は、例えばＴＣＰ又はＵＤＰの提供サービスを、ポート番号によって識別できる。データ受信装置２００は、提供サービスのポート番号宛のパケットを受信した場合、受信側のアプリケーションプログラムを実行することにより、受信データを処理する。
【００４１】
データ受信装置２００は、特定のポート番号を指定したＤｏＳ攻撃を受けた場合、非常に多くのパケットの受信処理を実行することになり、ＣＰＵ処理負荷が高くなる。
【００４２】
また、データ部暗号処理された場合には、データ受信装置２００は、受信パケットの復号処理の前に、ＵＤＰヘッダ又はＴＣＰヘッダを処理し、データ部暗号処理により付加された認証データを確認する。ＤｏＳ攻撃のパケットには正しい認証データを付加できないため、データ受信装置２００は、認証データの確認処理によって、ＤｏＳ攻撃のパケットかどうか判別できる。
【００４３】
データ受信装置２００は、認証データの確認処理（認証エラー）によるパケット廃棄数が所定値を超えた場合、サービスを提供するポート番号をターゲットとしたＤｏＳ攻撃であると判定し、データ送信装置にパケット暗号処理に切り替えるように指示する（状態Ｂ→状態Ｃ）。
【００４４】
これにより、ＤｏＳ攻撃が原因となるＣＰＵ処理負荷を削減でき、冗長パケットが原因となるＣＰＵ処理負荷を削減するのと比較して、相対的にＣＰＵ負荷を減らし、消費電力を削減できる。
【００４５】
また、データ部暗号処理された場合、データ受信装置２００は、冗長パケットのパケット廃棄数が所定値以下であることを検知した場合に、データ送信装置１００にパケット暗号処理に切り替えるように指示する（状態Ｂ→状態Ｃ）。
【００４６】
これにより、不要な復号処理の回数をあまり増加させることなく、ＤｏＳ攻撃への対抗力は向上する。
【００４７】
データ受信装置２００は、データ部暗号処理からパケット暗号処理への切り替えを指示する場合、切り替えの理由を付加する。データ送信装置１００は、データ受信装置２００がＤｏＳ攻撃を受けたか否かを認識していない。そのため、データ受信装置２００は、データ送信装置１００にＤｏＳ攻撃を受けた旨を通知する。
【００４８】
一方、データ送信装置１００は、冗長パケットが多いかどうかをパケット送信前に把握できる。そのため、データ送信装置１００は、独自の判定によって、データ部暗号処理にするかパケット暗号処理にするかを決定できる。
【００４９】
これにより、ＤｏＳ攻撃が原因となるＣＰＵ処理負荷を削減でき、冗長パケットが原因となるＣＰＵ処理負荷を削減するのと比較して、相対的にＣＰＵ負荷を減らし、消費電力を削減できる。
【００５０】
パケット暗号処理される場合、ＤｏＳ攻撃が終了に向かうと、データ受信装置２００は、各パケット（例えばＴＣＰ、ＵＤＰ、又はＩＣＭＰのパケットを含む）の廃棄回数が減少する（状態Ｃ→状態Ｄ）。データ受信装置２００は、パケット廃棄数が所定値より小さい場合、ＤｏＳ攻撃を受けていないと判定する。
【００５１】
また、データ受信装置２００は、パケット暗号処理により付加された認証データを確認することによって、ＤｏＳ攻撃を受けたかどうかを判定する。データ受信装置２００は、認証データの確認処理（認証エラー）によるパケット廃棄数が所定値より小さい場合、ＤｏＳ攻撃を受けていないと判定する。
【００５２】
データ受信装置２００は、ＤｏＳ攻撃を受けていない場合、パケット復号処理し、冗長パケットを確認する。データ受信装置２００は、冗長パケットのパケット廃棄数が所定値を超えた場合、データ送信装置１００にデータ部暗号処理に切り替えるように指示する（状態Ｄ→状態Ａ）。
【００５３】
これにより、例えば、既に受信した冗長データと同じパケットである場合、不要な復号処理の実行を回避でき、ＣＰＵ処理負荷を減らし、消費電力を削減できる。
【００５４】
なお、データ受信装置２００は、ＤｏＳ攻撃を受けているか否かの情報をデータ送信装置１００に送信してもよい。この場合、データ送信装置１００は、冗長パケットが多いかどうかの情報と、データ受信装置２００がＤｏＳ攻撃を受けたかどうかの情報を用いて、データ部暗号処理を行うか、パケット暗号処理を行うかを判定してもよい。
【００５５】
（通信システムの構成）
次に、データ送信装置１００とデータ受信装置２００とを含むデータ通信システム１０００の構成例について説明する。
【００５６】
図１は、各実施形態におけるデータ送信装置１００とデータ受信装置２００とを含むデータ通信システム１０００の構成例を示すブロック図である。データ送信装置１００及びデータ受信装置２００は、ネットワーク３００により接続される。
【００５７】
（データ送信装置の構成）
データ送信装置１００の構成例について説明する。図３２は、データ送信装置１００の内部構成を示すブロック図である。
【００５８】
データ送信装置１００は、送信側アプリケーション管理部１１０、アプリケーションデータ暗号処理部１２０、送信データ作成部１３０、重複情報確認部１４０、切り替え指示受付部１５０、及び暗号領域判定部１６０を備える。また、データ送信装置１００は、ＩＰｓｅｃ暗号処理部１７０、パケット送信部１８０を備える。
【００５９】
ＩＰｓｅｃ暗号処理部１７０は、データ部暗号処理部１７１、パケット暗号処理部１７２、及び認証データ確認処理部１７３を備える。また、ＩＰｓｅｃ暗号処理部１７０は、ＳＡＤ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  Ｄａｔａｂａｓｅ）１７４、及びＳＰＤ（Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ  Ｄａｔａｂａｓｅ）１７５を備える。
【００６０】
ＳＡＤ１７４は、通信相手とのＳＡの情報を記録するデータベースである。ＳＰＤ１７５は、通信相手とのセキュリティポリシ（ＳＰ）の情報を記録するデータベースである。
【００６１】
送信側アプリケーション管理部１１０は、送信側アプリケーションを管理する。データ送信装置１００の各構成部（例えば、送信側アプリケーション管理部１１０、アプリケーションデータ暗号処理部１２０、ＩＰｓｅｃ暗号処理部１７０）は、送信側アプリケーションを実行することにより、各種機能を実現する。送信側アプリケーションは、ソフトウェアプログラムの１つである。
【００６２】
例えば、送信側アプリケーションが映像又は音声を扱うアプリケーションであれば、送信側アプリケーション管理部１１０は、ビデオカメラにより撮影して映像データ又は音声データを作成し、又は、録画された映像データ又は音声データをメディアから読み出す。また、例えば、送信側アプリケーションがファイル転送用のアプリケーションであれば、送信側アプリケーション管理部１１０は、記録されたファイルデータを読み出す。
【００６３】
送信データ作成部１３０は、送信データ（例えばＩＰパケット）を作成する。作成される送信データは、例えば、ＲＴＰデータ、ＲＴＰヘッダ、ＵＤＰヘッダ又はＴＣＰヘッダ、及びＩＰヘッダを含む（例えば、図５の最上段のパケット参照）。ＲＴＰデータは、アプリケーションデータの一例であり、ＲＴＰヘッダは、アプリケーション独自の情報を含むアプリケーションヘッダの一例である。
【００６４】
送信データ作成部１３０により作成されるパケットは、ＲＴＰパケット、ＦＥＣパケット、ＴＣＰパケット又はアプリケーションパケットを含む。
【００６５】
ＩＰｓｅｃ暗号処理部１７０は、送信データ作成部１３０により作成されたＩＰパケットに対して、所定の暗号方式により暗号処理する。データ部暗号処理部１７１は、データ部暗号処理を実行する。パケット暗号処理部１７２は、パケット暗号処理を実行する。認証データ確認処理部１７３は、所定の認証方式により認証処理し、送信されるＩＰパケットに、認証データを付加する。
【００６６】
ＩＰｓｅｃ暗号処理部１７０は、通信を開始する際にＳＰＤ１７５を検索し、通信相手とのＳＰを確認する。ＳＰは、例えば、暗号処理して通信する、認証データを付加して通信する、又は暗号処理せず通信する、という情報を含む。ＳＰは、プロトコルやポート番号を指定して決定できる。また、同じ通信相手でも、アプリケーション毎に異なるＳＰが設定されてもよい。
【００６７】
ＩＰｓｅｃ暗号処理部１７０は、ＳＰを確認した結果、暗号処理が必要である場合、ＳＡＤ１７４を検索し、ＳＡを調べる。ＳＡが存在しなければ、ＩＰｓｅｃ暗号処理部１７０は、ＩＫＥ(Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ)を実行し、データ受信装置２００との間にＳＡを確立する。
【００６８】
パケット送信部１８０は、アプリケーションデータ暗号処理部１２０、送信データ作成部１３０、又はＩＰｓｅｃ暗号処理部１７０により作成されたパケットを送信する。
【００６９】
重複情報確認部１４０は、冗長パケット（例えば検査パケット又は重複パケット）を作成するかどうか、若しくは冗長パケットの作成割合を確認し、暗号領域判定部１６０に通知する。例えば、重複情報確認部１４０は、同一データの送信繰り返し回数（重複回数）、ＦＥＣによる検査パケットの作成の要否、又は検査パケットの作成割合を含む情報を確認する。
【００７０】
切り替え指示受付部１５０は、データ受信装置２００からの情報を受信し、暗号領域判定部１６０に通知する。データ受信装置２００からの情報は、例えば、データ部暗号処理への切り替え指示、パケット暗号処理への切り替え指示、又はＤｏＳ攻撃を受けているか、の情報を含む。
【００７１】
暗号領域判定部１６０は、重複情報確認部１４０からの冗長パケットの情報と、データ受信装置２００からの情報と、を利用して、データ部暗号処理を実行するか、パケット暗号処理を実行するかを決定し、ＩＰｓｅｃ暗号処理部１７０に指示する。
【００７２】
アプリケーションデータ暗号処理部１２０は、送信側アプリケーション管理部１１０から、アプリケーションデータ（例えば映像データ又は音声データ）を受け取る。また、アプリケーションデータ暗号処理部１２０は、受け取ったデータをアプリケーション独自の暗号方式により暗号処理し、暗号処理されたデータを送信データ作成部１３０へ出力する。アプリケーションデータ暗号処理部１２０は、主に第３の実施形態において用いられる。
【００７３】
（データ受信装置の構成）
データ受信装置２００の構成例について説明する。図３３は、データ受信装置２００の内部構成を示すブロック図である。
【００７４】
データ受信装置２００は、パケット受信部２１０、ＩＰｓｅｃ復号処理部２２０、ＵＤＰ／ＴＣＰヘッダ処理部２３１、及びアプリケーションヘッダ処理部２３２を備える。また、データ受信装置２００は、受信エラーパケット数計測部２４１、認証エラーパケット数計測部２４２、及び重複パケット数計測部２４３を備える。また、データ受信装置２００は、暗号領域切り替え判定部２５０、切り替え指示送信部２６０、受信側アプリケーション管理部２７０、及びアプリケーションデータ復号処理部２８０を備える。
【００７５】
ＩＰｓｅｃ復号処理部２２０は、データ部復号処理部２２１、パケット復号処理部２２２、認証データ確認処理部２２３、ＳＡＤ２２４、及びＳＰＤ２２５を備える。
【００７６】
受信側アプリケーション管理部２７０は、受信側アプリケーションを管理する。データ受信装置２００の各構成部（例えばＩＰｓｅｃ復号処理部２２０、受信側アプリケーション管理部２７０、アプリケーションデータ復号処理部２８０）は、受信側アプリケーションを実行することにより、各種機能を実現する。受信側アプリケーションは、ソフトウェアプログラムの１つである。
【００７７】
例えば、受信側アプリケーションが映像又は音声を扱うアプリケーションであれば、受信側アプリケーション管理部２７０は、映像データ又は音声データを再生する。また、例えば、受信側アプリケーションがファイル転送用のアプリケーションであれば、受信側アプリケーション管理部２７０は、受信したデータを使ってファイルを作成し、保存する。
【００７８】
アプリケーションデータ復号処理部２８０は、アプリケーションデータ（例えばＲＴＰデータ）に対して、アプリケーション独自の復号方式により復号処理し、復号処理する。アプリケーションデータ復号処理部２８０は、主に第３の実施形態において用いられる。
【００７９】
パケット受信部２１０は、データ送信装置１００から送信されたパケットを受信する。パケット受信部２１０は、受信パケットが暗号処理されている場合、ＩＰｓｅｃ復号処理部２２０に渡す。受信パケットにおいて、ＵＤＰヘッダ又はＴＣＰヘッダが付加され、ＵＤＰヘッダ又はＴＣＰヘッダが暗号処理されていない場合、ＵＤＰ／ＴＣＰヘッダ処理部２３１に渡す。
【００８０】
また、パケット受信部２１０は、不正なパケットを受信し、パケットを廃棄した場合、受信エラーパケット数計測部２４１にパケット廃棄情報を通知する。例えば、ＥＳＰにより暗号処理されたパケットのみ受信するようにフィルタリング設定された状態において、所定のパケットを受信すると、パケット受信部２１０は、パケットを廃棄し、その情報を通知する。この所定のパケットは、例えば、ＵＤＰパケット、ＴＣＰパケット、又はＩＣＭＰパケットを含む。
【００８１】
ＩＰｓｅｃ復号処理部２２０は、受信パケットに対して、所定の復号方式により復号処理を実行する。データ部復号処理部２２１は、データ部暗号処理されたパケットを復号処理する（データ部復号処理）。パケット復号処理部２２２は、パケット暗号処理されたパケットを復号処理する（パケット復号処理）。また、認証データ確認処理部２２３は、認証データの確認処理を実行する。ＳＡＤ２２４はＳＡＤ１７４と同様である。ＳＰＤ２２５はＳＰＤ１７５と同様である。ＩＰｓｅｃ復号処理部２２０は、ＳＡＤ２２４が保持するＳＡの情報を用いて、復号処理を実行する。
【００８２】
ＵＤＰ／ＴＣＰヘッダ処理部２３１は、受信パケットのＵＤＰヘッダ処理又はＴＣＰヘッダ処理を実行する。ヘッダ処理では、ヘッダに含まれる情報のうち、必要な情報が抽出される。受信パケットがデータ部暗号処理されている場合、ＵＤＰヘッダ又はＴＣＰヘッダを処理し、その後にデータ部復号処理する。受信パケットがパケット暗号処理されている場合、先にパケット復号処理し、復号処理されたＵＤＰヘッダ又はＴＣＰヘッダを処理する。
【００８３】
また、ＵＤＰ／ＴＣＰヘッダ処理部２３１は、冗長パケットに含まれるＵＤＰヘッダ又はＴＣＰヘッダのうち、不要なヘッダを破棄する。例えば、ＵＤＰ／ＴＣＰヘッダ処理部２３１は、ＴＣＰの重複パケットの廃棄状況を確認する。例えば、ＵＤＰ/ＴＣＰヘッダ処理部２３１は、ヘッダに含まれる「Ｓｑｕｅｎｃｅ  Ｎｕｍｂｅｒ」を参照して、所定値又は所定範囲にあれば重複データであると判断する。
【００８４】
アプリケーションヘッダ処理部２３２は、アプリケーション毎に異なるヘッダ処理を行う。受信パケットがデータ部暗号処理された場合、アプリケーションヘッダを処理し、その後にデータ部暗号処理する。受信パケットがパケット暗号処理されている場合、データ部暗号処理し、復号処理されたアプリケーションヘッダを処理する。アプリケーションヘッダ処理部２３２は、冗長パケットに含まれるアプリケーションヘッダのうち、不要なヘッダを廃棄する。
【００８５】
例えば、アプリケーションヘッダ処理部２３２は、アプリケーションにおいて繰り返し同じパケット（重複パケット）が送信されたかどうかを確認する。例えば、アプリケーションヘッダ処理部２３２は、ヘッダに含まれる「Ｓｑｕｅｎｃｅ  Ｎｕｍｂｅｒ」を参照して、所定値又は所定範囲にあれば重複パケットであると判断する。
【００８６】
また、アプリケーションヘッダ処理部２３２は、ＦＥＣによる検査パケットの廃棄状況も確認する。例えば、アプリケーションヘッダ処理部２３２は、ネットワーク状況が良好である場合に、データ復元に必要のないＦＥＣパケットを破棄する。
【００８７】
受信エラーパケット数計測部２４１は、パケット受信部２１０から受信エラーが発生したパケットの情報を受取り、受信エラーパケット数を計測（計数）する。また、受信エラーパケット数計測部２４１は、ＤｏＳ攻撃を受けたどうかを判断する。受信エラーパケット数計測部２４１は、例えば、受信エラーパケット数が所定値以上である場合、ＤｏＳ攻撃を受けたと判定する。受信エラーパケット数計測部２４１は、ＤｏＳ攻撃の有無の情報を暗号領域切り替え判定部２５０に通知する。なお、受信エラーパケット数の代わりに、例えば受信パケット総数に対する受信エラーパケット数の割合に応じて、ＤｏＳ攻撃の有無を判断してもよい。
【００８８】
認証エラーパケット数計測部２４２は、ＩＰｓｅｃ復号処理部２２０から認証エラーが発生したパケットの情報を受取り、認証エラーパケット数を計測（計数）する。また、認証エラーパケット数計測部２４２は、ＤｏＳ攻撃を受けたかどうかを判断する。認証エラーパケット数計測部２４２は、例えば、認証エラーパケット数が所定数以上である場合、ＤｏＳ攻撃を受けたと判定する。認証エラーパケット数計測部２４２は、ＤｏＳ攻撃の有無の情報を暗号領域切り替え判定部２５０に通知する。なお、認証エラーパケット数の代わりに、例えば受信パケット総数に対する認証エラーパケット数の割合に応じて、ＤｏＳ攻撃の有無を判断してもよい。
【００８９】
重複パケット数計測部２４３は、ＵＤＰ／ＴＣＰヘッダ処理部２３１又はアプリケーションヘッダ処理部２３２から冗長パケットの廃棄情報を受取り、冗長パケットの廃棄数（冗長パケット数）を計測（計数）する。冗長パケットの廃棄の有無の情報を、暗号領域切り替え判定部２５０に通知する。
【００９０】
暗号領域切り替え判定部２５０は、受信エラーパケット数計測部２４１、認証エラーパケット数計測部２４２、重複パケット数計測部２４３から、ＤｏＳ攻撃の有無の情報又は冗長パケットの廃棄情報を取得する。
【００９１】
例えば、暗号領域切り替え判定部２５０は、冗長パケットのパケット廃棄がほとんどない（所定値以下の）場合、パケット暗号処理を選択する。これにより、ネットワーク負荷及びＣＰＵ処理負荷をあまり変化させずに、より安全にデータ通信できる。
【００９２】
また、例えば、暗号領域切り替え判定部２５０は、冗長パケットによるパケット廃棄が存在し、かつＤｏＳ攻撃を受けていない場合、データ部暗号処理を選択する。これにより、冗長パケットによるネットワーク負荷及びＣＰＵ処理負荷を軽減できる。
【００９３】
暗号領域切り替え判定部２５０は、パケット暗号処理又はデータ部暗号処理のどちらを選択するかの決定情報（暗号処理選択情報）を、切り替え指示送信部２６０に通知する。
【００９４】
切り替え指示送信部２６０は、暗号処理の選択情報をデータ送信装置１００に通知する。暗号処理の選択情報は、例えば、パケット暗号処理を実行させるための切り替え情報、又はデータ部暗号処理を実行させるための切り替え情報を含む。
【００９５】
（動作の概要）
次に、図３０を用いて、データ送信装置１００の動作例について概説する。
【００９６】
データ送信装置１００とデータ受信装置２００との間には、セキュアな通信路が確立されている。
【００９７】
まず、パケット作成部は、パケット（例えばＩＰパケット）を作成する（ステップＳ１１）。パケット作成部は、例えば送信データ作成部１３０である。
【００９８】
続いて、暗号処理部は、パケット作成部により作成されたパケットにおける冗長パケットの割合又は受信装置からの指示に基づいて、作成されたパケットの暗号範囲（暗号領域）を決定し（ステップＳ１２）、暗号範囲のデータに対して暗号処理する（ステップＳ１３）。暗号処理部は、例えば暗号領域判定部１６０及びＩＰｓｅｃ暗号処理部１７０である。
【００９９】
続いて、送信部は、セキュアな通信路を介して、暗号処理部により暗号処理されたパケットを送信する（ステップＳ１４）。送信部は、例えばパケット送信部１８０である。
【０１００】
次に、図３１を用いて、データ受信装置２００の動作例について概説する。
【０１０１】
データ送信装置１００とデータ受信装置２００との間には、セキュアな通信路が確立されている。
【０１０２】
まず、受信部は、セキュアな通信路を介してパケットを受信する（ステップＳ２１）。受信部は、例えばパケット受信部２１０である。
【０１０３】
続いて、暗号処理指示部は、受信部により受信されたパケットが所定基準を満たすか否かに応じて、データ送信装置１００により作成されるパケットが暗号処理される暗号範囲を決定する（ステップＳ２２）。また、暗号処理指示部は、暗号範囲のデータに対して暗号処理するようデータ送信装置１００に指示する（ステップＳ２３）。暗号処理指示部は、例えばＩＰｓｅｃ復号処理部２２０である。
【０１０４】
以下、本開示の実施形態では、データ部暗号処理として、３つの処理を想定する。それぞれの処理を、第１〜第３の実施形態に分けて説明する。なお、パケット暗号処理については、第１〜第３の実施形態において同様である。
【０１０５】
また、各実施形態では、パケットには、アプリケーションとしてＲＴＰが含まれることを主に例示する。また、パケットには、ＵＤＰパケットが含まれることを主に例示する。また、パケットには、冗長パケットとして、重複パケットを含むことを主に例示する。
【０１０６】
（第１の実施形態）
本実施形態のデータ部暗号処理では、ＥＳＰヘッダをＥＳＰデータの直前に配置する。また、ＵＤＰヘッダ、及びＲＴＰヘッダを、暗号化せずにＥＳＰヘッダの前に配置する（例えば図４参照）。
【０１０７】
データ受信装置２００は、データ部復号処理において、パケットの先頭のヘッダから処理する。従って、データ受信装置２００は、ＵＤＰヘッダ、ＲＴＰヘッダ、ＥＳＰヘッダ、の順に処理し、データを復号処理する。
【０１０８】
本実施形態では、パケット暗号処理とデータ部暗号処理とのＳＡ（ＩＰｓｅｃ  ＳＡ）は、同じでもよい。具体的には、データ受信装置２００は、ＥＳＰヘッダ内に含まれるＳＰＩ（Ｓｅｃｕｒｉｔｙ  Ｐａｒａｍｅｔｅｒ  Ｉｎｄｅｘ）と、ＩＰヘッダに含まれる「Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ」を用いて、ＳＡを一意に特定する。例えば、ＳＰＩの値は、パケット暗号処理とデータ部暗号処理とにおいて、同じ値でもよい。
【０１０９】
次に、図２を用いて、データ送信装置１００の動作例について説明する。
【０１１０】
まず、データ送信装置１００は、送信データ作成部１３０が、送信データ（ＩＰパケット）を作成する（ステップＳ１０１）。
【０１１１】
続いて、暗号領域判定部１６０は、いずれの暗号処理（パケット暗号処理又はデータ部暗号処理）を実行するかを判定する（ステップＳ１０２）。
【０１１２】
パケット暗号処理を行う場合には、パケット暗号処理部１７２は、送信データがブロックサイズの倍数となるようにパディングする。パケット暗号処理部１７２は、パディングにおけるパディング長の情報と、ＥＳＰヘッダに続くプロトコル情報と、をＥＳＰトレーラに設定し、パケットにＥＳＰトレーラを付加する（ステップＳ１０３）。
【０１１３】
続いて、パケット暗号処理部１７２は、ＥＳＰトレーラを付加したパケットを暗号処理（パケット暗号処理）する（ステップＳ１０４）。
【０１１４】
続いて、パケット暗号処理部１７２は、暗号処理されたパケットにＥＳＰヘッダを付加する（ステップＳ１０５）。
【０１１５】
続いて、パケット暗号処理部１７２は、ＥＳＰヘッダを含めた領域（認証領域）の認証データを作成する（ステップＳ１０６）。
【０１１６】
続いて、パケット暗号処理部１７２は、認証データ（ＥＳＰの認証データ）を、ステップＳ１０５において作成されたパケットに付加する（ステップＳ１０７）。
【０１１７】
続いて、パケット暗号処理部１７２は、ステップＳ１０７において作成されたパケットにＩＰヘッダを付加する（ステップＳ１０８）。これにより、送信されるパケットが完成する。
【０１１８】
一方、ステップＳ１０２において、データ部暗号処理すると判定された場合には、データ部暗号処理部１７１は、送信データがブロックサイズの倍数となるようにパディングする。データ部暗号処理部１７１は、パディングにおけるパディング長の情報とＥＳＰヘッダに続くプロトコル情報とをＥＳＰトレーラに設定し、パケットにＥＳＰトレーラを付加する（ステップＳ１０９）。
【０１１９】
続いて、データ部暗号処理部１７１は、ＥＳＰトレーラを付加したパケットを暗号処理する（データ部暗号処理）する（ステップＳ１１０）。
【０１２０】
続いて、データ部暗号処理部１７１は、暗号処理されたパケットにＥＳＰヘッダを付加する（ステップＳ１１１）。
【０１２１】
続いて、データ部暗号処理部１７１は、ＥＳＰヘッダを含めた領域（認証領域）の認証データを作成する（ステップＳ１１２）。
【０１２２】
続いて、データ部暗号処理部１７１は、認証データ（ＥＳＰの認証データ）を、ステップＳ１１１において作成されたパケットに付加する（ステップＳ１１３）。
【０１２３】
続いて、データ部暗号処理部１７１は、ステップＳ１１３において作成されたＲＴＰヘッダ、ＵＤＰヘッダ、及びＩＰヘッダを付加する（ステップＳ１１４）。これにより、送信されるパケットが完成する。
【０１２４】
パケット送信部１８０は、完成されたパケットを送信する（ステップＳ１１５）。
【０１２５】
次に、図３を用いて、データ受信装置２００の動作例について説明する。
【０１２６】
データ受信装置２００は、パケット受信部２１０が、パケットを受信する（ステップＳ２０１）。
【０１２７】
続いて、パケット受信部２１０が、受信パケットのエラー（受信エラー）の状況を確認する（ステップＳ２０２）。例えば、「ＴＣＰ  ＳＹＮ  Ｆｌｏｏｄｉｎｇ」、「ＵＤＰ  Ｆｌｏｏｄｉｎｇ」、「ＩＣＭＰ  Ｆｌｏｏｄｉｎｇ」、又は「ＴＣＰ  Ｃｏｎｎｅｃｔｉｏｎ  Ｆｌｏｏｄｉｎｇ」のＤｏＳ攻撃を受けていないかどうかを確認する。受信パケットのＩＰヘッダに含まれる「Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ」が不適切な場合、受信エラーであると判断する。
【０１２８】
受信パケットに受信エラーが存在する場合、パケット受信部２１０は、パケット（例えば、ＴＣＰ、ＵＤＰ、又はＩＣＭＰのパケット）を廃棄する（ステップＳ２２３）。また、受信エラーパケット数計測部２４１は、廃棄パケットの数を計測する。
【０１２９】
続いて、暗号領域切り替え判定部２５０は、受信エラーパケット数計測部２４１により計測された廃棄パケット数が所定値以上であるか否かを判定する（ステップＳ２２４）。
【０１３０】
廃棄パケットが所定数以上である場合、暗号領域切り替え判定部２５０は、暗号領域の切り替え指示をデータ送信装置１００に通知するよう決定し、切り替え指示送信部２６０に通知する。切り替え指示送信部２６０は、暗号領域の切り替え指示（パケット暗号処理への切り替え指示）をデータ送信装置１００に通知する。
【０１３１】
ステップＳ２０２において、受信エラーが発生していない場合、暗号領域切り替え判定部２５０は、暗号処理されたパケットの暗号領域を判定する（ステップＳ２０３）。暗号領域切り替え判定部２５０は、暗号領域の判定では、パケットの先頭にあるヘッダ（ＩＰヘッダ）から順番に処理し、パケット暗号処理されているか、データ部暗号処理されているかを区別する。暗号領域切り替え判定部２５０は、例えばＩＰヘッダに続くプロトコル情報に応じて、区別する。
【０１３２】
パケット暗号処理されたパケットである場合には、データ受信装置２００は、ステップＳ２０４〜Ｓ２１１のパケット復号処理を行う。データ部暗号処理されたパケットである場合には、データ受信装置２００は、ステップＳ２１２〜Ｓ２２２のデータ部復号処理を行う。
【０１３３】
パケット復号処理では、ＩＰヘッダに含まれるプロトコル情報にＥＳＰを示す情報が含まれる。まず、認証データ確認処理部２２３は、ＥＳＰヘッダを確認し、認証エラーの有無を確認する（ステップＳ２０４）。
【０１３４】
ＥＳＰヘッダの確認では、パケット復号処理部２２２は、ＳＰＩの値を確認し、ＳＡＤ１７４を検索する。ＳＡが存在しないＳＰＩの場合、パケット復号処理部２２２は、受信パケットを廃棄する。
【０１３５】
また、ＥＳＰヘッダは、パケットの順序を示す「Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ」を含む。「Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ」が不適切な場合、パケット復号処理部２２２は、受信パケットを廃棄する。不適切な場合とは、例えば、あるウィンドウサイズを設け、そのウィンドウサイズ内に入らない場合を含む。
【０１３６】
また、認証データ確認処理部２２３は、認証データを確認し、認証エラーの有無を確認する（ステップＳ２０４）。認証データの確認では、認証データ確認処理部２２３は、認証範囲のデータ（例えば図４参照）から認証データを作成し、パケットに付加された認証データと比較する。比較の結果、両者が異なる場合、認証データ確認処理部２２３は、パケットを廃棄する。
【０１３７】
続いて、パケット復号処理部２２２は、暗号処理された暗号範囲（例えば図４参照）のパケットを復号処理する（ステップＳ２０５）。暗号範囲は、ＵＤＰヘッダ、ＲＴＰヘッダ、ＲＴＰデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ、例えば映像又は音声データ）、及びＥＳＰトレーラを含む。
【０１３８】
続いて、受信側アプリケーション管理部２７０は、復号処理後のデータを使ってアプリケーションを処理する（ステップＳ２０６）。
【０１３９】
続いて、ＵＤＰ／ＴＣＰヘッダ処理部２３１又はアプリケーションヘッダ処理部２３２は、受信パケットが重複パケットかどうかを確認する（ステップＳ２０７）。例えば、復号処理されたＵＤＰヘッダ又はＲＴＰヘッダと同一のヘッダを含むパケットが以前に受信された場合、ＵＤＰ／ＴＣＰヘッダ処理部２３１又はアプリケーションヘッダ処理部２３２は、今回の受信パケットが重複パケットであると判定する。
【０１４０】
受信パケットが重複パケットである場合、ＵＤＰ／ＴＣＰヘッダ処理部２３１又はアプリケーションヘッダ処理部２３２は、重複パケットを廃棄する（ステップＳ２０８）。また、重複パケット数計測部２４３は、廃棄パケットの数を計測する。廃棄パケットの数は、廃棄した重複パケットの数と同数となる。
【０１４１】
続いて、暗号領域切り替え判定部２５０は、重複パケット数計測部２４３により計測されたパケット廃棄の数が所定値以上であるか否かを判定する（ステップＳ２０９）。
【０１４２】
廃棄パケットが所定数以上である場合、暗号領域切り替え判定部２５０は、暗号領域の切り替え指示をデータ送信装置１００に通知するよう決定し、切り替え指示送信部２６０へ通知する。切り替え指示送信部２６０は、暗号領域の切り替え指示（データ部暗号処理への切り替え指示）をデータ送信装置１００に通知する（ステップＳ２１０）。
【０１４３】
ステップＳ２０４において、認証エラーが発生した場合、認証データ確認処理部２２３が、認証エラーを含むパケットを廃棄する（ステップＳ２１１）。
【０１４４】
ステップＳ２０３において、データ部暗号処理されている場合、パケットの先頭にあるヘッダから順番に処理すると、ＵＤＰヘッダが現れ、ＵＤＰヘッダに後続してＲＴＰヘッダが現れる。
【０１４５】
まず、データ部復号処理部２２１は、ＲＴＰヘッダを確認する（ステップＳ２１２）。ＲＴＰヘッダは、ＲＰヘッダにＥＳＰヘッダが後続することを示す情報（例えば、図１０におけるプロトコル番号：５０番）を含む。
【０１４６】
続いて、ＵＤＰ／ＴＣＰヘッダ処理部２３１又はアプリケーションヘッダ処理部２３２は、ＵＤＰヘッダ又はＲＴＰヘッダの処理において、重複パケットを確認する（ステップＳ２１３）。
【０１４７】
重複パケットである場合、ＵＤＰ／ＴＣＰヘッダ処理部２３１又はアプリケーションヘッダ処理部２３２は、重複パケットを廃棄する（ステップＳ２２０）。また、重複パケット数計測部２４３は、廃棄パケットの数を計測する。廃棄パケットの数は、廃棄した重複パケットの数と同数となる。
【０１４８】
続いて、暗号領域切り替え判定部２５０は、重複パケット数計測部２４３により計測されたパケット廃棄の数が所定値以上であるか否かを判定する（ステップＳ２２１）。
【０１４９】
廃棄パケットが所定数以上である場合、暗号領域切り替え判定部２５０は、暗号領域の切り替え指示をデータ送信装置１００に通知するよう決定し、切り替え指示送信部２６０へ通知する。切り替え指示送信部２６０は、暗号領域の切り替え指示（パケット暗号処理への切り替え指示）をデータ送信装置１００に通知する（ステップＳ２２２）。
【０１５０】
ステップＳ２１３において、受信パケットが重複パケットでない場合、ステップＳ２０４と同様に、認証データ確認処理部２２３は、ＥＳＰヘッダを確認し、認証データを確認する（ステップＳ２１４）。
【０１５１】
ステップＳ２１４において、認証エラーが発生した場合、認証データ確認処理部２２３は、認証エラーを含むパケットを廃棄する（ステップＳ２１７）。また、認証エラーパケット数計測部２４２は、廃棄パケットの数を計測する。廃棄パケットの数は、認証エラーパケットの数と同数となる。
【０１５２】
続いて、暗号領域切り替え判定部２５０は、認証エラーパケット数計測部２４２により計測されたパケット廃棄の数が所定値以上であるか否かを判定する（ステップＳ２１８）。
【０１５３】
廃棄パケットが所定数以上である場合、暗号領域切り替え判定部２５０は、暗号領域の切り替え指示をデータ送信装置１００に通知するよう決定し、切り替え指示送信部２６０へ通知する。切り替え指示送信部２６０は、暗号領域の切り替え指示（パケット暗号処理への切り替え指示）をデータ送信装置１００に通知する（ステップＳ２１９）。
【０１５４】
ステップＳ２１４において、認証エラーが存在しない場合、データ部復号処理部２２１は、暗号処理された暗号範囲（例えば図４参照）のパケットを復号処理する（ステップＳ２１５）。暗号範囲は、ＲＴＰデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ，例えば映像又は音声データ）及びＥＳＰトレーラを含む。
【０１５５】
続いて、受信側アプリケーション管理部２７０は、復号処理されたデータを用いてアプリケーションを処理する（ステップＳ２１６）。
【０１５６】
次に、データ通信システム１０００における動作モードについて説明する。
データ通信システム１０００では、ＩＰｓｅｃによる通信を行う。ＩＰｓｅｃの動作モードには、パケット全体を暗号処理するトンネルモードと、ＩＰヘッダ以降を暗号処理するトランスポートモードと、がある。
【０１５７】
［トランスポートモード］
次に、トランスポートモードについて説明する。
【０１５８】
図４は、トランスポートモードにおけるパケット暗号処理において用いられるパケットフォーマットと、トランスポートモードにおけるデータ部暗号処理において用いられるパケットフォーマットと、の一例を示す図である。
【０１５９】
データ送信装置１００によるトランスポートモードにおけるパケット暗号処理について、図５を用いて説明する。図５の上側から下側に向かって、処理が進む。
【０１６０】
データ送信装置１００では、送信データ作成部１３０が、送信データ（ＩＰパケット）を作成する。ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダとＵＤＰヘッダとの間にＥＳＰヘッダを挿入する。
【０１６１】
まず、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰトレーラを付加する。ＥＳＰトレーラは、ブロック暗号を行うための付加データであり、パケットデータをブロック長の倍数にする。ＥＳＰトレーラには、パディング長の情報とプロトコル情報とが付加される。
【０１６２】
図６は、ＥＳＰパケットフォーマットを示す図である。
ＥＳＰパケットは、ＥＳＰヘッダ、ＥＳＰデータ、及びＥＳＰトレーラを含む。ＥＳＰヘッダは、「ＳＰＩ」、「Ｓｅｑｕｅｎｃｅ  Ｎｕｍｂｅｒ」の情報を含む。ＥＳＰデータは、「Ｐａｙｌｏａｄ  Ｄａｔａ」を含む。ＥＳＰトレーラは、「Ｐａｄｄｉｎｇ」、「Ｐａｄ  Ｌｅｎｇｔｈ（Ｐａｄｄｉｎｇ  Ｌｅｎｇｔｈ）」、「Ｎｅｘｔ  Ｈｅａｄｅｒ」を含む。「Ｐａｄ  Ｌｅｎｇｔｈ」にパディング長の情報が格納され、「Ｎｅｘｔ  Ｈｅａｄｅｒ」にＥＳＰに続くプロトコルの情報が格納される。
【０１６３】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＵＤＰヘッダからＥＳＰトレーラまでの暗号範囲のデータを暗号処理する。
【０１６４】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダを、暗号処理されたデータの前に付加する。
【０１６５】
ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダからＥＳＰトレーラまでの認証範囲のデータに基づいて、認証データを作成する。また、ＩＰｓｅｃ暗号処理部１７０は、暗号処理されたデータの最後に、つまりＥＳＰトレーラの後に、認証データを付加する。
【０１６６】
続いて、ＩＰｓｅｃ暗号処理部１７０は、暗号処理されたデータの先頭、つまりＵＤＰヘッダの前に、ＩＰヘッダを付加する。ＩＰヘッダにはＩＰヘッダに続くプロトコル情報が含まれる。
【０１６７】
なお、送信データ作成部１３０により作成された送信データ（ＩＰパケット）に当初設定されたプロトコル情報は、例えばＵＤＰであるが、ＩＰｓｅｃ暗号処理部１７０が、ＵＤＰの情報を、ＥＳＰトレーラに格納する。また、ＩＰｓｅｃ暗号処理部１７０は、付加されるＩＰヘッダのプロトコル情報に、ＥＳＰのプロトコル番号（５０番）が設定する。これにより、パケット暗号処理されたＩＰパケットが完成する。
【０１６８】
次に、データ受信装置２００によるトランスポートモードにおけるパケット復号処理について、図７を用いて説明する。図７の上側から下側に向かって、処理が進む。
【０１６９】
データ受信装置２００は、ＩＰｓｅｃ復号処理部２２０が、暗号処理されたＩＰパケットから、復号処理されたＩＰパケットを生成する。
【０１７０】
ＩＰヘッダの中に記載されたプロトコル情報には、ＥＳＰのプロトコル番号（５０番）が設定されているので、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰの暗号処理が施されたことを認識できる。ＩＰｓｅｃ復号処理部２２０は、データの最後に付加されたＥＳＰの認証データを抽出する。認証範囲は、ＥＳＰヘッダの先頭からＥＳＰトレーラの最後までである。
【０１７１】
ＩＰｓｅｃ復号処理部２２０は、認証範囲のデータを用いて、認証データを作成する。ＩＰｓｅｃ復号処理部２２０は、作成された認証データと受信パケットに付加された認証データとを比較し、両者が異なる場合には、パケットを廃棄する。
【０１７２】
両者の認証データが一致した場合、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダを分離し、暗号処理されたＵＤＰヘッダからＥＳＰトレーラまでの復号範囲のデータに対して、復号処理する。復号処理されたＥＳＰトレーラには、パディング長の情報が含まれる。ＩＰｓｅｃ復号処理部２２０は、パディング長の情報を参照し、復号処理されたデータの後ろ部分に付加されたパディングを削除する。
【０１７３】
また、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダに含まれるプロトコル情報をＩＰヘッダに戻し（設定し）、ＩＰヘッダを先頭、つまりＵＤＰヘッダの前に付加する。これにより、パケット復号処理されたＩＰパケットが完成する。
【０１７４】
次に、データ送信装置１００によるトランスポートモードにおけるデータ部暗号処理について、図８を用いて説明する。図８の上側から下側に向かって、処理が進む。
【０１７５】
データ送信装置１００では、送信データ作成部１３０が、送信データ（ＩＰパケット）を作成する。ＩＰｓｅｃ暗号処理部１７０は、ＲＴＰヘッダとＲＴＰデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）との間に、ＥＳＰヘッダを挿入する。
【０１７６】
まず、ＩＰｓｅｃ暗号処理部１７０は、送信データ作成部１３０により作成されたＩＰパケットにおいて、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダを分離し、ＲＴＰデータ（Ｄａｔａ）にＥＳＰトレーラを付加する。ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰトレーラのプロトコル情報に、ＲＴＰヘッダに含まれるペイロードタイプ（ＰＴ）の情報を設定する。
【０１７７】
ＲＴＰヘッダフォーマット例を図９に示す。
【０１７８】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＲＴＰデータ（Ｄａｔａ）からＥＳＰトレーラまでの暗号範囲のデータに対して暗号処理する。また、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダを暗号処理されたデータの前に付加する。
【０１７９】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダからＥＳＰトレーラまでの認証範囲のデータに基づいて、認証データを作成する。ＩＰｓｅｃ暗号処理部１７０は、暗号処理されたデータの最後に、認証データを付加する。
【０１８０】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダを、ＥＳＰヘッダの前に付加する。ＲＴＰヘッダには、ペイロードタイプの情報（図９のＰＴ）が含まれる。ＩＰｓｅｃ暗号処理部１７０は、ＰＴに、ＥＳＰのプロトコル番号（５０番）を設定する。これにより、データ部暗号処理されたＩＰパケットが完成する。
【０１８１】
図１０は、プロトコル番号とプロトコル名との関係の一部を示す図である。
図１０において、左列の情報がプロトコル番号を示し、中列の情報がプロトコル名（または略号）を示し、右列の情報が、プロトコル名の補足情報を示す。
【０１８２】
次に、データ受信装置２００によるトランスポートモードにおけるデータ部復号処理について、図１１を用いて説明する。図１１の上側から下側に向かって、処理が進む。
【０１８３】
データ受信装置２００では、ＩＰｓｅｃ復号処理部２２０が、暗号処理されたＩＰパケットから、復号処理されたＩＰパケットを生成する。
【０１８４】
ＩＰヘッダの中に記載されたプロトコル情報には、ＵＤＰのプロトコル番号（１７番）が設定されている。ＵＤＰヘッダには、ポート番号の情報が含まれ、ポート番号から受信されるアプリケーションが特定される。
【０１８５】
ＩＰｓｅｃ復号処理部２２０は、ポート番号を参照して、受信パケットにＲＴＰヘッダが付加されたことを把握する。これにより、アプリケーションヘッダ処理部２３２は、ＲＴＰヘッダを処理できる。アプリケーションヘッダ処理部２３２は、ＲＴＰヘッダの処理において、重複パケットを確認し、重複パケットの場合には、重複パケットを廃棄する。
【０１８６】
続いて、ＲＴＰヘッダのペイロードタイプ（ＰＴ）の情報には、ＥＳＰのプロトコル番号（５０番）が設定されているため、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰの復号処理を実行する。
【０１８７】
まず、ＩＰｓｅｃ復号処理部２２０は、受信パケットの最後に付加されたＥＳＰの認証データを切り取る。認証範囲は、ＥＳＰヘッダの先頭からＥＳＰトレーラの最後までである。
【０１８８】
ＩＰｓｅｃ復号処理部２２０は、認証範囲に含まれるデータに基づいて、認証データを作成する。ＩＰｓｅｃ復号処理部２２０は、作成された認証データと受信パケットに付加された認証データとを比較し、両者が異なる場合、受信パケットを廃棄する。
【０１８９】
両者の認証データが一致した場合、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダを分離し、暗号処理されたＲＴＰデータ（「Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ」）からＥＳＰトレーラまでを復号処理する。
【０１９０】
ＩＰｓｅｃ復号処理部２２０は、復号処理されたＥＳＰトレーラに含まれるパディング長の情報を参照し、復号処理されたデータの後ろ部分に付加されたパディングを削除する。
【０１９１】
ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダに含まれるプロトコル情報を、ＲＴＰヘッダのペイロードタイプ（ＰＴ）に再度設定する。また、ＩＰｓｅｃ復号処理部２２０は、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダを、復号処理されたデータ（Ｄａｔａ）の先頭に付加する。これにより、データ部復号処理されたＩＰパケットが完成する。
【０１９２】
［トンネルモード］
次に、トンネルモードについて説明する。
【０１９３】
図１２は、トンネルモードにおけるパケット暗号処理において用いられるパケットフォーマットと、トンネルポートモードにおけるデータ部暗号処理において用いられるパケットフォーマットと、の一例を示す図である。
【０１９４】
データ送信装置１００によるトンネルモードにおけるパケット暗号処理について、図１３を用いて説明する。図１３の上側から下側に向かって、処理が進む。
【０１９５】
データ送信装置１００では、送信データ作成部１３０は、送信データ（ＩＰパケット）を作成する。また、ＩＰｓｅｃ暗号処理部１７０は、ＩＰパケットにＥＳＰヘッダを付加し、ＩＰカプセル化する。
【０１９６】
まず、ＩＰｓｅｃ暗号処理部１７０は、送信データ作成部１３０により作成されたＩＰパケットに、ＥＳＰトレーラを付加する。ＥＳＰトレーラのプロトコル情報には、ＩＰヘッダを示す番号（４番）を設定する。
【０１９７】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダ（Ｉｎｎｅｒ）からＥＳＰトレーラまでの暗号範囲のデータを暗号処理する。また、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダを暗号処理したデータの前に付加する。なお、暗号範囲は、ＩＰヘッダ（Ｉｎｎｅｒ）、ＵＤＰヘッダ、ＲＴＰヘッダ、ＲＴＰデータ（Ｄａｔａ）、及びＥＳＰトレーラを含む。
【０１９８】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダからＥＳＰトレーラまでの認証範囲のデータに基づいて、認証データを作成する。ＩＰｓｅｃ暗号処理部１７０は、暗号処理されたデータの最後に、認証データを付加する。なお、認証範囲は、ＥＳＰヘッダ、ＩＰヘッダ（Ｉｎｎｅｒ）、ＵＤＰヘッダ、ＲＴＰヘッダ、ＲＴＰデータ（Ｄａｔａ）、及びＥＳＰトレーラを含む。
【０１９９】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダ（Ｏｕｔｅｒ）を、ＥＳＰヘッダの前に付加する。ＩＰヘッダ（Ｏｕｔｅｒ）は、ＩＰカプセル化されたデータのヘッダである。また、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダ（Ｏｕｔｅｒ）のプロトコル情報に、ＥＳＰのプロトコル番号（５０番）を設定する。これにより、パケット暗号処理されたＩＰパケットが完成する。
【０２００】
次に、データ受信装置２００によるトンネルモードにおけるパケット復号処理について、図１４を用いて説明する。図１４の上側から下側に向かって、処理が進む。
【０２０１】
データ受信装置２００では、ＩＰｓｅｃ復号処理部２２０が、暗号処理されたＩＰパケットから、復号処理されたＩＰパケットを生成する。
【０２０２】
ＩＰヘッダ（Ｏｕｔｅｒ）に記載されたプロトコル情報には、ＥＳＰのプロトコル番号（５０番）が設定されている。これにより、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰの暗号処理が施されていることを認識でき、受信パケットの最後に付加されているＥＳＰの認証データを抽出する。
【０２０３】
ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダの先頭からＥＳＰトレーラの最後までの認証範囲のデータに基づいて、認証データを作成する。ＩＰｓｅｃ復号処理部２２０は、作成された認証データと受信パケットに付加された認証データとを比較し、両者が異なる場合、受信パケットを廃棄する。
【０２０４】
両者の認証データが一致した場合、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダを抽出し、暗号処理されたＩＰヘッダ（Ｉｎｎｅｒ）からＥＳＰトレーラまでの復号範囲のデータを復号処理する。復号処理されたＥＳＰトレーラには、パディング長の情報が含まれる。ＩＰｓｅｃ復号処理部２２０は、パディング長の情報を参照し、復号処理されたＲＴＰデータ（Ｄａｔａ）の後ろ部分に付加されたパディングを削除する。
【０２０５】
また、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダに含まれるプロトコル情報を参照することにより、復号処理されたデータがＩＰパケットであることを認識できる。また、ＩＰｓｅｃ復号処理部２２０は、ＳＡＤ２２４の検索結果より、トンネルモードであることを認識できるため、復号処理後のデータがＩＰパケットであることを認識できる。これにより、パケット復号処理されたＩＰパケットが完成する。
【０２０６】
次に、データ送信装置１００によるトンネルモードにおけるデータ部暗号処理について、図１５を用いて説明する。図１５の上側から下側に向かって、処理が進む。
【０２０７】
データ送信装置１００では、送信データ作成部１３０が、送信データ（ＩＰパケット）を作成する。また、ＩＰｓｅｃ暗号処理部１７０は、ＲＴＰヘッダとＲＴＰデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）との間にＥＳＰヘッダを挿入し、ＩＰカプセル化する。また、ＩＰｓｅｃ暗号処理部１７０は、ＩＰカプセル化されたデータの先頭に、ＩＰカプセル化用のＩＰヘッダ（Ｏｕｔｅｒ）を付加する。
【０２０８】
まず、ＩＰｓｅｃ暗号処理部１７０は、送信データ作成部１３０により作成されたＩＰパケットのうち、ＩＰヘッダ（Ｉｎｎｅｒ）、ＵＤＰヘッダ、及びＲＴＰヘッダを分離し、ＲＴＰデータ（Ｄａｔａ）にＥＳＰトレーラを付加する。ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰトレーラのプロトコル情報に、ＲＴＰヘッダに含まれるペイロードタイプの情報（ＰＴ）を設定する。
【０２０９】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＲＴＰデータからＥＳＰトレーラまでの暗号範囲のデータを暗号処理する。ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダを、暗号処理されたデータの前に付加する。
【０２１０】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダからＥＳＰトレーラまでの認証範囲のデータに基づいて、認証データを作成する。ＩＰｓｅｃ暗号処理部１７０は、暗号処理されたデータの最後に、認証データを付加する。
【０２１１】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダ（Ｉｎｎｅｒ）、ＵＤＰヘッダ、及びＲＴＰヘッダを、ＥＳＰヘッダの前に付加する。ＲＴＰヘッダには、ペイロードタイプ（ＰＴ）の情報が含まれる。ＩＰｓｅｃ暗号処理部１７０は、ＲＴＰヘッダのＰＴに、ＥＳＰのプロトコル番号（５０番）を設定する。
【０２１２】
続いて、ＩＰｓｅｃ暗号処理部１７０は、送信データ作成部１３０により作成されたＩＰヘッダ（Ｉｎｎｅｒ）の前に、ＩＰカプセル化用のＩＰヘッダ（Ｏｕｔｅｒ）を付加する。これにより、データ部暗号処理されたＩＰパケットが完成する。
【０２１３】
次に、データ受信装置２００によるトンネルモードにおけるデータ部復号処理について、図１６を用いて説明する。図１６の上側から下側に向かって、処理が進む。
【０２１４】
データ受信装置２００では、ＩＰｓｅｃ復号処理部２２０は、暗号処理されたＩＰパケットから、復号処理されたＩＰパケットを生成する。
【０２１５】
外側のＩＰヘッダ（Ｏｕｔｅｒ）の中に記載されたプロトコル情報には、ＩＰのプロトコル番号（４番）が設定されている。ＩＰヘッダ（Ｏｕｔｅｒ）は、ＩＰカプセル化のヘッダであるので、ＩＰｓｅｃ復号処理部２２０は、ＩＰヘッダ（Ｏｕｔｅｒ）を削除し、内側のＩＰヘッダ（Ｉｎｎｅｒ）を調べる。
【０２１６】
ＩＰヘッダ（Ｉｎｎｅｒ）に記載されたプロトコル情報には、ＵＤＰのプロトコル番号（１７番）が設定されている。ＵＤＰヘッダにはポート番号の情報が含まれるので、ＩＰｓｅｃ復号処理部２２０は、ポート番号から受信処理されるアプリケーションを特定する。
【０２１７】
ＩＰｓｅｃ復号処理部２２０は、ＲＴＰヘッダが付加されたことを把握できる。これにより、アプリケーションヘッダ処理部２３２は、ＲＴＰヘッダを処理する。ＲＴＰヘッダの処理において、ＩＰｓｅｃ復号処理部２２０は、重複パケットを確認し、重複パケットの場合には、重複パケットを廃棄する。
【０２１８】
ＲＴＰヘッダのペイロードタイプ（ＰＴ）の情報には、ＥＳＰのプロトコル番号（５０番）が設定されているため、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰを復号処理する。
【０２１９】
ＥＳＰの復号処理では、まず、ＩＰｓｅｃ復号処理部２２０は、データの最後に付加されたＥＳＰの認証データを分離する。ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダの先頭からＥＳＰトレーラの最後までの認証範囲のデータに基づいて、認証データを作成する。ＩＰｓｅｃ復号処理部２２０は、作成された認証データとパケットに付加された認証データとを比較し、両者が異なる場合、パケットを廃棄する。
【０２２０】
認証データが一致した場合、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダを分離し、暗号処理されたＲＴＰデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）からＥＳＰトレーラまでの復号範囲のデータを復号処理する。
【０２２１】
復号処理されたＥＳＰトレーラには、パディング長の情報が含まれる。ＩＰｓｅｃ復号処理部２２０は、パディング長の情報を参照し、復号処理されたデータの後ろ部分に付加されたパディングを削除する。
【０２２２】
また、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダに含まれるプロトコル情報をＲＴＰヘッダのペイロードタイプ（ＰＴ）に再度設定する。また、ＩＰｓｅｃ復号処理部２２０は、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダをＲＴＰデータの前に付加する。これにより、復号処理後のＩＰパケットが完成する。
【０２２３】
このように、データ送信装置１００は、暗号処理部が、第１の暗号処理と第２の暗号処理とを切り替えてもよい。暗号処理部は、例えば暗号領域判定部１６０及びＩＰｓｅｃ暗号処理部１７０を含む。これにより、不要な復号処理を軽減する傾向を強化するか、サービス妨害攻撃を低減する傾向を強化するかを、通信環境に応じて設定できる。
【０２２４】
また、データ送信装置１００は、暗号処理部が、暗号範囲に含まれないヘッダを暗号処理の情報を含む暗号処理ヘッダの前に付加してもよい。暗号範囲に含まれないヘッダは、例えばＵＤＰヘッダ又はＲＴＰヘッダである。暗号処理ヘッダは、例えばＥＳＰヘッダである。
【０２２５】
これにより、データ送信装置１００の設計を簡単化できる。暗号処理ヘッダと暗号処理データ（例えばＥＳＰデータ、暗号範囲のデータ）とは、連続するものとしてプログラムが汎用的に作られている。このようなヘッダの順序にすることで、汎用性が向上する。
【０２２６】
また、データ受信装置２００は、暗号処理指示部は、第１の暗号処理と、第２の暗号処理とを切り替えるようデータ送信装置１００に指示してもよい。暗号処理指示部は、例えば暗号領域切り替え判定部２５０及び切り替え指示送信部２６０を含む。
【０２２７】
これにより、不要な復号処理を軽減する傾向を強化するか、サービス妨害攻撃を低減する傾向を強化するかを、データ受信装置２００が検知した通信環境に応じて設定できる。
【０２２８】
また、データ受信装置２００は、暗号処理指示部が、受信された暗号処理されていないパケット数が所定数以上である場合、第１の暗号処理を行うと判定してもよい。第１の暗号処理は、例えばパケット暗号処理である。受信された暗号処理されていないパケットとは、例えば受信エラーを含むパケットである。
【０２２９】
受信エラーの多い場合には、サービス妨害攻撃（ＤｏＳ攻撃）を受けている可能性が高い。データ送信装置１００の暗号処理形式が第１の暗号処理に設定されることで、サービス妨害攻撃を低減する傾向を強化できる。
【０２３０】
また、データ受信装置２００は、受信されたパケットに対して認証処理する認証処理部を備え、暗号処理指示部は、認証処理の結果、認証エラーが発生したパケット数が所定数以上である場合、第１の暗号処理を行うと判定してもよい。認証処理部は、例えば認証データ確認処理部２２３である。
【０２３１】
認証エラーの多い場合には、サービス妨害攻撃（ＤｏＳ攻撃）を受けている可能性が高い。データ送信装置１００の暗号処理形式が第１の暗号処理に設定されることで、サービス妨害攻撃を低減する傾向を強化できる。
【０２３２】
また、データ受信装置２００は、暗号処理指示部が、受信された冗長パケットのパケット数が所定値以上である場合、第２の暗号処理を行うと判定してもよい。
【０２３３】
冗長パケットの多い場合には、不要なデータを通信している可能性が高い。データ送信装置１００の暗号処理形式が第２の暗号処理に設定されることで、不要な復号処理を低減する傾向を強化できる。
【０２３４】
また、データ受信装置２００は、暗号処理指示部が、受信された冗長パケットのパケット数が所定値未満である場合、第１の暗号処理を行うと判定してもよい。
【０２３５】
冗長パケットの少ない場合には、好適な冗長度でデータを通信している可能性が高い。データ送信装置１００の暗号処理形式が第１の暗号処理に設定されることで、特に不要な復号処理を増大することなく、サービス妨害攻撃を低減する傾向を強化できる。
【０２３６】
また、データ受信装置２００は、受信パケットが暗号処理されていない場合、受信パケットに対する認証処理の結果、認証エラーが発生した場合、又は受信パケットが冗長パケットである場合、復号処理しなくてもよい。
【０２３７】
これにより、不要な復号処理を省略でき、ＣＰＵ処理負荷を低減できる。
【０２３８】
（第２の実施形態）
第２の実施形態について説明する。本実施形態では、第１の実施形態において説明した内容と重複する内容については、説明を省略する。
【０２３９】
本実施形態では、データ部暗号処理にＩＰｓｅｃを用いる。また、ＥＳＰヘッダの位置を変えず、ＥＳＰヘッダの内側にあるヘッダ（例えばＵＤＰヘッダ又はアプリケーションヘッダを含む）を暗号処理しない（例えば図１８参照）。
【０２４０】
本実施形態では、パケット暗号処理用のＳＡとデータ部暗号処理用のＳＡをそれぞれ確立しておく。本実施形態では、パケットに含まれる各ヘッダ及びデータの順序が、パケット暗号処理とデータ部暗号処理とにおいて同一であるためである（例えば図１８参照）。従って、ＳＰＩの値は、パケット暗号処理とデータ部暗号処理とにおいて、異なる値を設定しておく。
【０２４１】
データ受信装置２００は、パケットの先頭のヘッダ（ＩＰヘッダ）、ＥＳＰヘッダ、の順に処理し、パケット暗号処理かデータ部暗号処理かを判別する。具体的には、データ受信装置２００は、ＥＳＰヘッダに含まれるＳＰＩの値によって、暗号処理の種別を区別する。
【０２４２】
パケット暗号処理を示すＳＰＩの場合、データ受信装置２００は、ＥＳＰヘッダに続く暗号処理されたデータを復号処理する。
【０２４３】
データ部暗号処理を示すＳＰＩの場合、データ受信装置２００は、ＥＳＰヘッダに続く暗号処理されていない所定のヘッダを最初に処理し、例えば重複パケットを廃棄した後、データ部を復号処理する。この所定のヘッダは、例えばＵＤＰヘッダ、ＴＣＰヘッダ、又はアプリケーションヘッダを含む。
【０２４４】
次に、図１７を用いて、データ送信装置１００の動作例について説明する。
図１７では、図２と同様の処理については、説明を省略又は簡略化する。
【０２４５】
本実施形態のパケット暗号処理は、第１の実施形態において説明したパケット暗号処理と同じであるので、説明を省略する。
【０２４６】
データ部暗号処理では、データ部暗号処理部１７１は、送信データがブロックサイズの倍数となるようにパディングする。データ部暗号処理部１７１は、パディングにおけるパディング長の情報とＥＳＰヘッダに続くプロトコル情報とをＥＳＰトレーラに設定し、パケットにＥＳＰトレーラを付加する（ステップＳ１０９）。
【０２４７】
続いて、データ部暗号処理部１７１は、ＥＳＰトレーラを付加したパケットをデータ部暗号処理する（ステップＳ１１０）。
【０２４８】
続いて、データ部暗号処理部１７１は、暗号処理されたデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）の前に、ＵＤＰヘッダとＲＴＰヘッダとを付加する（ステップＳ３０１）。
【０２４９】
続いて、データ部暗号処理部１７１は、ＵＤＰヘッダの前に、ＥＳＰヘッダを付加する（ステップＳ１１１）。なお、データ部暗号処理部１７１は、ＥＳＰヘッダに、後述するＬｅｎｇｔｈ情報を設定する。
【０２５０】
続いて、認証データ確認処理部１７３は、ＥＳＰヘッダからＥＳＰトレーラまでの認証範囲のデータに基づいて、認証データを作成する（ステップＳ１１２）。
【０２５１】
続いて、認証データ確認処理部１７３は、ＥＳＰヘッダを含む各ヘッダが付加されたデータに認証データを付加し（ステップＳ１１３）、ＥＳＰヘッダの前にＩＰヘッダを付加する（ステップＳ１１４）。これにより、送信パケットが完成する。
【０２５２】
続いて、パケット送信部１８０は、完成されたパケットを送信する（ステップＳ１１５）。
【０２５３】
［トランスポートモード］
次に、トランスポートモードについて説明する。
【０２５４】
図１８は、トランスポートモードにおけるパケット暗号処理において用いられるパケットフォーマットと、トランスポートモードにおけるデータ部暗号処理において用いられるパケットフォーマットと、の一例を示す図である。
【０２５５】
パケット暗号処理において用いられるパケットフォーマットは、第１の実施形態と同様であるので、説明を省略する。
【０２５６】
次に、データ送信装置１００によるトランスポートモードにおけるデータ部暗号処理について、図１９を用いて説明する。図１９の上側から下側に向かって、処理が進む。
【０２５７】
データ送信装置１００では、送信データ作成部１３０が、送信データ（ＩＰパケット）を作成し、ＩＰｓｅｃ暗号処理部１７０が、ＩＰヘッダとＵＤＰヘッダとの間に、ＥＳＰヘッダを挿入する。
【０２５８】
まず、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダを分離し、ＲＴＰデータ（Ｄａｔａ）にＥＳＰトレーラを付加する。また、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰトレーラのプロトコル情報に、ＵＤＰを示すプロトコル番号（１７番）を設定する。
【０２５９】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＲＴＰデータからＥＳＰトレーラまでの暗号範囲のデータを暗号処理する。また、ＩＰｓｅｃ暗号処理部１７０は、分離されたＵＤＰヘッダとＲＴＰヘッダとを暗号処理されたデータの前に付加する。また、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダをＵＤＰヘッダの前に付加する。
【０２６０】
ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダにおいて、ＥＳＰヘッダに続くプロトコル情報を「Ｎｅｘｔ  Ｈｅａｄｅｒ」に、Ｌｅｎｇｔｈ情報を「Ｌｅｎｇｔｈ」に設定する。Ｌｅｎｇｔｈ情報は、ＥＳＰヘッダの終端から暗号処理を開始する位置までの間の長さ（例えばバイト数）を示す情報である。
【０２６１】
プロトコル情報には、ＵＤＰを示すプロトコル番号（１７番）が設定される。また、Ｌｅｎｇｔｈ情報には、ＵＤＰヘッダとＲＴＰヘッダの合計の長さ（例えばバイト数）が設定される。
【０２６２】
図２０は、「Ｎｅｘｔ  ｈｅａｄｅｒ」および「Ｌｅｎｇｔｈ」の領域が追加された拡張版のＥＳＰパケットフォーマットの一例を示す図である。図６に示したＥＳＰパケットフォーマットと異なる点は、ＥＳＰデータの領域に、「Ｎｅｘｔ  ｈｅａｄｅｒ」および「Ｌｅｎｇｔｈ」が追加されている点である。
【０２６３】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダからＥＳＰトレーラまでの認証範囲のデータに基づいて、認証データを作成する。ＩＰｓｅｃ暗号処理部１７０は、暗号処理されたデータの最後に、認証データを付加する。
【０２６４】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダを、先頭（ＥＳＰヘッダの前）に付加する。ＩＰヘッダにはプロトコル情報が含まれるが、当初設定されたプロトコル情報（ＵＤＰ）は、ＥＳＰトレーラの中に格納されている。ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダのプロトコル情報に、ＥＳＰのプロトコル番号（５０番）を設定する。これにより、データ部暗号処理されたＩＰパケットが完成する。
【０２６５】
次に、データ受信装置２００によるトランスポートモードにおけるデータ部復号処理について、図２１を用いて説明する。図２１の上側から下側に向かって、処理が進む。
【０２６６】
データ受信装置２００は、ＩＰｓｅｃ復号処理部２２０が、暗号処理されたＩＰパケットから、復号処理されたＩＰパケットを生成する。
【０２６７】
ＩＰヘッダの中に記載されたプロトコル情報には、ＥＳＰのプロトコル番号（５０番）が設定されているため、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰの暗号処理が施されたことを認識できる。また、ＥＳＰヘッダに含まれるＳＰＩの値より、ＩＰｓｅｃ復号処理部２２０は、データ部暗号処理されたことを認識できる。さらに、ＥＳＰヘッダの「Ｎｅｘｔ  ｈｅａｄｅｒ」には、ＥＳＰヘッダに続くプロトコル情報が含まれるため、ＩＰｓｅｃ復号処理部２２０は、ＵＤＰパケットが続くことを認識できる。
【０２６８】
ＵＤＰ／ＴＣＰヘッダ処理部２３１は、ＵＤＰヘッダを処理する。また、アプリケーションヘッダ処理部２３２は、ＵＤＰヘッダに含まれるポート番号から受信処理するアプリケーションプログラム（ここではＲＴＰ）を特定し、ＲＴＰヘッダを処理する。
【０２６９】
また、アプリケーションヘッダ処理部２３２は、受信パケットが重複パケットかどうか確認する。例えば、以前に受信されたパケットのＲＴＰヘッダと同一のＲＴＰヘッダである場合には、重複パケットであると判定する。アプリケーションヘッダ処理部２３２は、重複パケットであると判定された場合、パケットを廃棄する。
【０２７０】
続いて、ＩＰｓｅｃ復号処理部２２０は、受信パケットの最後に付加されたＥＳＰの認証データを分離する。ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダの先頭からＥＳＰトレーラの最後までの認証範囲のデータに基づいて、認証データを作成する。
【０２７１】
ＩＰｓｅｃ復号処理部２２０は、作成された認証データとパケットに付加された認証データとを比較し、両者が異なる場合、パケットを廃棄する。なお、ここでは、認証確認処理の前に、ＵＤＰヘッダおよびＲＴＰヘッダを処理する例を記載したが、認証確認処理をＵＤＰヘッダ及びＲＴＰヘッダの処理前に行ってもよい。
【０２７２】
ＩＰｓｅｃ復号処理部２２０は、両者の認証データが一致した場合、ＥＳＰヘッダに含まれるＳＰＩおよびＬｅｎｇｔｈ情報を用いて、復号処理を実行する。
【０２７３】
この場合、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダを取り除き、Ｌｅｎｇｔｈ情報により指定されたバイト数を空けた位置、つまり暗号処理されたデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）の先頭からＥＳＰトレーラまでを復号処理する。
【０２７４】
ＩＰｓｅｃ復号処理部２２０は、復号処理されたＥＳＰトレーラに含まれるパディング長の情報を参照し、復号処理されたデータの後ろ部分に付加されたパディングを削除する。また、ＩＰｓｅｃ復号処理部２２０は、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダを、復号処理後のデータ（Ｄａｔａ）の先頭に付加する。これにより、復号処理されたＩＰパケットが完成する。
【０２７５】
［トンネルモード］
次に、トンネルモードについて説明する。
【０２７６】
図２２は、トンネルモードにおけるパケット暗号処理において用いられるパケットフォーマットと、トンネルモードにおけるデータ部暗号処理において用いられるパケットフォーマットと、の一例を示す図である。
【０２７７】
パケット暗号処理において用いられるパケットフォーマットは、第１の実施形態と同様であるので、説明を省略する。
【０２７８】
次に、データ送信装置１００によるトンネルモードにおけるデータ部暗号処理について、図２３を用いて説明する。図２３の上側から下側に向かって、処理が進む。
【０２７９】
データ送信装置１００では、送信データ作成部１３０が、送信データ（ＩＰパケット）を作成し、ＩＰｓｅｃ暗号処理部１７０が、ＩＰパケットにＥＳＰヘッダを付加し、さらにＩＰカプセル化する。
【０２８０】
まず、ＩＰｓｅｃ暗号処理部１７０は、ＩＰパケットに含まれるＩＰヘッダ（Ｉｎｎｅｒ）、ＵＤＰヘッダ、及びＲＴＰヘッダを分離し、ＲＴＰデータ（Ｄａｔａ）にＥＳＰトレーラを付加する。ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰトレーラのプロトコル情報に、ＩＰヘッダを示す番号（４番）を設定する。
【０２８１】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＲＴＰデータ（Ｄａｔａ）からＥＳＰトレーラまでの暗号範囲のデータに対して暗号処理する。また、ＩＰｓｅｃ暗号処理部１７０は、分離されたＩＰヘッダ（Ｉｎｎｅｒ）、ＵＤＰヘッダ及びＲＴＰヘッダを、ＲＴＰデータの前に付加する。さらに、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダをＩＰヘッダ（Ｉｎｎｅｒ）の前に付加する。
【０２８２】
ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダにおいて、プロトコル情報を「Ｎｅｘｔ  Ｈｅａｄｅｒ」に、Ｌｅｎｇｔｈ情報を「Ｌｅｎｇｔｈ」に設定する。プロトコル情報には、ＩＰを示すプロトコル番号（４番）が設定される。Ｌｅｎｇｔｈ情報には、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダの合計の長さ（例えばバイト数）が設定される。
【０２８３】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＥＳＰヘッダからＥＳＰトレーラまでの認証範囲のデータに基づいて、認証データを作成する。ＩＰｓｅｃ暗号処理部１７０は、暗号処理されたデータの最後に、認証データを付加する。
【０２８４】
続いて、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダを先頭（ＥＳＰヘッダの前）に付加する。また、ＩＰｓｅｃ暗号処理部１７０は、ＩＰヘッダのプロトコル情報に、ＥＳＰのプロトコル番号（５０番）を設定する。これにより、データ部暗号処理されたＩＰパケットが完成する。
【０２８５】
次に、データ受信装置２００によるトランスポートモードにおけるデータ部復号処理について、図２４を用いて説明する。図２４の上側から下側に向かって、処理が進む。
【０２８６】
データ受信装置２００では、ＩＰｓｅｃ復号処理部２２０が、暗号処理されたＩＰパケットから復号処理されたＩＰパケットを生成する。
【０２８７】
ＩＰヘッダの中に記載されたプロトコル情報には、ＥＳＰのプロトコル番号（５０番）が設定されているため、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰの暗号処理されたことを認識できる。また、ＥＳＰヘッダに含まれるＳＰＩより、ＩＰｓｅｃ復号処理部２２０は、データ部暗号処理されたことを認識できる。さらに、拡張版のＥＳＰヘッダには、ＥＳＰヘッダに続くプロトコル情報が含まれるため、ＩＰｓｅｃ復号処理部２２０は、ＩＰパケットが続くことを認識できる。
【０２８８】
続いて、ＵＤＰ／ＴＣＰヘッダ処理部２３１は、ＩＰヘッダ及びＵＤＰヘッダを処理する。また、アプリケーションヘッダ処理部２３２は、ポート番号から受信されたアプリケーションプログラム（ここではＲＴＰ）を特定し、ＲＴＰヘッダを処理する。
【０２８９】
また、アプリケーションヘッダ処理部２３２は、受信パケットが重複パケットかどうか確認する。アプリケーションヘッダ処理部２３２は、重複パケットであると判定された場合、パケットを廃棄する。
【０２９０】
続いて、受信されたデータの最後に付加されたＥＳＰの認証データを分離する。また、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダの先頭からＥＳＰトレーラの最後までの認証範囲のデータに基づいて、認証データを作成する。
【０２９１】
ＩＰｓｅｃ復号処理部２２０は、作成された認証データとパケットに付加された認証データとを比較し、両者が異なる場合、パケットを廃棄する。なお、ここでは、認証確認処理の前に、ＵＤＰヘッダおよびＲＴＰヘッダを処理する例を記載したが、認証確認処理をＵＤＰヘッダ及びＲＴＰヘッダの処理前に行ってもよい。
【０２９２】
ＩＰｓｅｃ復号処理部２２０は、両者の認証データが一致した場合、ＥＳＰヘッダに含まれるＳＰＩおよびＬｅｎｇｔｈ情報を用いて、復号処理を実行する。
【０２９３】
この場合、ＩＰｓｅｃ復号処理部２２０は、ＥＳＰヘッダを分離し、Ｌｅｎｇｔｈ情報により指定されたバイト数を空けた位置、つまり暗号処理されたデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）の先頭からＥＳＰトレーラまでを復号処理する。
【０２９４】
ＩＰｓｅｃ復号処理部２２０は、復号処理されたＥＳＰトレーラに含まれるパディング長の情報を参照し、データの後ろに付加されたパディングを削除する。また、ＩＰｓｅｃ復号処理部２２０は、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダを、復号処理後のデータ（Ｄａｔａ）の先頭に付加する。これにより、データ部復号処理されたＩＰパケットが完成する。
【０２９５】
このように、データ送信装置１００は、暗号処理部が、第２の暗号処理において、暗号範囲に含まれないヘッダを、暗号処理の情報を含む暗号処理ヘッダの後に付加してもよい。また、暗号処理用のヘッダは、当該暗号処理用のヘッダから暗号範囲までの長さの情報を含む。暗号処理用のヘッダから暗号範囲までの長さの情報は、例えばＬｅｎｇｔｈ情報である。
【０２９６】
これにより、データ受信装置２００側では、復号処理する前に各ヘッダ情報を確認できるので、不要な復号処理の実施を回避できる。データ受信装置２００側では、暗号処理用のヘッダから暗号範囲までの長さを認識できるので、復号処理を確実に実行できる。
【０２９７】
（第３の実施形態）
第３の実施形態について説明する。本実施形態では、第１又は第２の実施形態において説明した内容と重複する内容については、説明を省略する。
【０２９８】
本実施形態では、データ部暗号処理に、ＩＰｓｅｃを用いない。データ送信装置１００は、アプリケーション独自の暗号方式によって、データ部暗号処理する。従って、ＥＳＰヘッダが付加されない。
【０２９９】
データ部復号処理では、データ受信装置２００は、パケットの先頭のヘッダ（ＩＰヘッダ）、ＵＤＰヘッダ、ＲＴＰヘッダ、の順に処理する。また、データ受信装置２００は、アプリケーションのデータをアプリケーション毎に定められた独自の復号方式により、データ部復号処理する。また、データ受信装置２００は、アプリケーション毎に定められた独自の認証方式により、認証処理する。
【０３００】
また、本実施形態では、パケット暗号処理用のＳＡのみ確立しておく。データ部暗号処理では、アプリケーション毎に定められた独自のセキュアな通信路が確立される。
【０３０１】
アプリケーション独自の暗号方式、復号方式、及び認証方式としては、例えばＳＲＴＰと同様の方式が想定される。
【０３０２】
次に、図２５を用いて、データ送信装置１００の動作例について説明する。
図２５では、図２と同様の処理については、説明を省略又は簡略化する。
【０３０３】
本実施形態のパケット暗号処理は、第１の実施形態において説明したパケット暗号処理と同じであるので、説明を省略する。
【０３０４】
データ部暗号処理では、アプリケーションデータ暗号処理部１２０は、送信データ作成部１３０により作成されたＩＰパケットを、ブロックサイズの倍数となるようにパディングする。アプリケーションデータ暗号処理部１２０は、パディング長の情報をトレーラに含め、トレーラをデータに付加する（ステップＳ４０１）。
【０３０５】
続いて、アプリケーションデータ暗号処理部１２０は、トレーラが付加されたデータに対して、アプリケーション毎に定められた所定の暗号方式により、暗号処理する（ステップＳ４０２）。
【０３０６】
続いて、アプリケーションデータ暗号処理部１２０は、暗号処理されたデータに基づいて、認証データを作成する（ステップＳ４０３）。
【０３０７】
続いて、アプリケーションデータ暗号処理部１２０は、暗号処理されたデータの後に認証データを付加する（ステップＳ４０４）。
【０３０８】
続いて、アプリケーションデータ暗号処理部１２０は、ＲＴＰヘッダ、ＵＤＰヘッダ、及びＩＰヘッダを、暗号処理されたデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）の前に付加する（ステップＳ４０５）。これにより、送信パケットが完成する。
【０３０９】
続いて、パケット送信部１８０は、完成された送信パケットを送信する（ステップＳ１１５）。
【０３１０】
次に、図２６を用いて、データ送信装置１００によるデータ部暗号処理について説明する。図２６の上側から下側に向かって、処理が進む。
【０３１１】
まず、アプリケーションデータ暗号処理部１２０は、ブロックサイズの倍数となるようにデータにパディングする。アプリケーションデータ暗号処理部１２０は、パディング長の情報を所定のトレーラに含め、ＲＴＰデータ（Ｄａｔａ）に付加する。
【０３１２】
続いて、アプリケーションデータ暗号処理部１２０は、所定のトレーラが付加されたデータを暗号処理する。
【０３１３】
続いて、アプリケーションデータ暗号処理部１２０は、暗号処理されたデータに基づいて、認証データを作成する。なお、ＥＳＰヘッダが付加されないので、暗号範囲と認証範囲とは同じ範囲である。アプリケーションデータ暗号処理部１２０は、暗号処理されたデータの後に、認証データを付加する。
【０３１４】
続いて、アプリケーションデータ暗号処理部１２０は、ＩＰヘッダ、ＵＤＰヘッダ、及びＲＴＰヘッダを、暗号処理されたデータ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）の前に付加する。これにより、データ部暗号処理されたＩＰパケットが完成する。
【０３１５】
次に、図２７を用いて、データ受信装置２００によるデータ部復号処理について説明する。図２７の上側から下側に向かって、処理が進む。
【０３１６】
ＵＤＰ／ＴＣＰヘッダ処理部２３１は、ＩＰヘッダ及びＵＤＰヘッダを処理する。アプリケーションヘッダ処理部２３２は、ＲＴＰヘッダを処理する。アプリケーションヘッダ処理部２３２は、例えば受信パケットが以前に受信したパケットと重複する重複パケットである場合には、重複パケットを廃棄する。
【０３１７】
続いて、アプリケーションデータ復号処理部２８０は、アプリケーション毎に定められた所定の認証方式により、認証処理する。アプリケーションデータ復号処理部２８０は、認証処理により作成された認証データと、パケットに付加された認証データと、を比較し、両者が一致しない場合には、パケットを廃棄する。
【０３１８】
続いて、アプリケーションデータ復号処理部２８０は、データ（Ｅｎｃｒｙｐｔｅｄ  Ｄａｔａ）と所定のトレーラとを含む復号範囲のデータに対して、アプリケーション毎に定められた所定の復号方式により、復号処理する。また、アプリケーションデータ復号処理部２８０は、復号処理された所定のトレーラに含まれるパディング長の情報を用いて、復号処理されたＲＴＰデータ（Ｄａｔａ）のパディングを削除する。
【０３１９】
このように、データ送信装置１００は、暗号処理部が、前記第２の暗号処理において、アプリケーション毎に定められた暗号方式により前記データ部に対して暗号処理し、前記暗号処理の情報を含む暗号処理ヘッダを付加しなくてもよい。
【０３２０】
データ送信装置１００によれば、第２の暗号処理についてはアプリケーションにより処理されるため、データ送信装置１００及びデータ受信装置２００において、第２の暗号処理用にセキュアな通信路を事前に確立する必要がなく、処理負荷を低減できる。
【０３２１】
本開示は、上記実施形態の構成に限られない。特許請求の範囲において示した機能、または上記実施形態の構成が持つ機能が達成できる構成であれば、どのようなものであっても適用できる。
【０３２２】
上記実施形態では、アプリケーションとしてＲＴＰを主に例示したが、ＦＥＣでもよいし、その他のアプリケーションでもよい。
【０３２３】
また、上記実施形態では、トランスポート層のプロトコルとしてＵＤＰを主に例示したが、ＴＣＰでもよい。
【０３２４】
図２８はＴＣＰによる再送処理のシーケンスを示す図である。例えば、データ受信装置２００がセグメント「４」を受信していない場合、データ送信装置１００は、セグメント「４」以降のセグメント（例えば、セグメント「４」〜「７」）を再送信する。このため、セグメント「５」〜「７」は、再送処理により複数回送信される重複セグメントとなる。データ受信装置２００は、重複パケットを廃棄するので、ＴＣＰプロトコルを採用した場合でも、不要な復号処理を省略できる。
【０３２５】
データ送信装置１００、データ受信装置２００、又はデータ通信システム１０００によれば、例えば、重複する復号処理を削除でき、ＣＰＵ処理負荷を軽減でき、消費電力を抑えられる。従って、データ送信装置１００又はデータ受信装置２００は、例えば、電話、テレビ、ケーブルテレビ、テレビ放送側の送信機、ラジオおよびラジオ放送側の送信機、又は有線放送機器に適用できる。また、データ送信装置１００又はデータ受信装置２００は、携帯電話、スマートフォン、タブレット、パソコン、通信機能付きカメラ、通信機能付きビデオカメラ、又は様々なデータ通信機器に適用できる。
【０３２６】
また、上記実施形態では、本開示をハードウェアによって構成する場合を例にとって説明したが、本開示はハードウェアとの連携においてソフトウェアでも実現することも可能である。
【０３２７】
また、上記実施形態の説明に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしてもよいし、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称してもよい。
【０３２８】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。例えば、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＬＳＩ内部の回路セルの接続、又は、設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０３２９】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０３３０】
（開示の一態様の概要）
本開示の第１の送信装置は、
受信装置との間においてセキュアな通信路を確立する送信装置であって、
パケットを作成するパケット作成部と、
前記パケット作成部により作成されたパケットにおける冗長パケットの割合又は受信装置からの指示に基づいて、前記パケット作成部により作成されたパケットにおける暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理する暗号処理部と、
前記セキュアな通信路を介して、前記暗号処理部により暗号処理されたパケットを送信する送信部と、
を備える。
【０３３１】
この構成により、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる。
【０３３２】
また、本開示の第２の送信装置は、第１の送信装置であって、
前記暗号処理部は、前記パケット作成部により作成されたパケットの略全体に対して暗号処理する第１の暗号処理と、前記パケット作成部により作成されたパケットに含まれるデータ部に対して暗号処理する第２の暗号処理と、を切り替える。
【０３３３】
また、本開示の第３の送信装置は、第１又は第２の送信装置であって、
前記暗号処理部は、前記暗号範囲に含まれないヘッダを、前記暗号処理の情報を含む暗号処理ヘッダの前に付加する。
【０３３４】
また、本開示の第４の送信装置は、第２の送信装置であって、
前記暗号処理部は、前記第２の暗号処理において、前記暗号範囲に含まれないヘッダを、前記暗号処理の情報を含む暗号処理ヘッダの後に付加し、
前記暗号処理用のヘッダは、前記当該暗号処理用のヘッダから前記暗号範囲までの長さの情報を含む。
【０３３５】
また、本開示の第５の送信装置は、第２の送信装置であって、
前記暗号処理部は、前記第２の暗号処理において、アプリケーション毎に定められた暗号方式により前記データ部に対して暗号処理し、前記暗号処理の情報を含む暗号処理ヘッダを付加しない。
【０３３６】
また、本開示の第６の送信装置は、第１ないし第５のいずれか１つの送信装置であって、
前記パケット作成部により作成されるパケットは、ＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）パケット、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）パケット、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）パケット、又は、アプリケーションパケットを含む。
【０３３７】
また、本開示の第１の受信装置は、
送信装置との間においてセキュアな通信路を確立する受信装置であって、
前記セキュアな通信路を介してパケットを受信する受信部と、
前記受信部により受信されたパケットが所定基準を満たすか否かに応じて、前記送信装置により作成されるパケットが暗号処理される暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するよう前記送信装置に指示する暗号処理指示部と、
を備える。
【０３３８】
この構成により、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる。
【０３３９】
また、本開示の第２の受信装置は、第１の受信装置であって、
前記暗号処理指示部は、前記送信装置により作成されたパケットの略全体に対して暗号処理する第１の暗号処理と、前記送信装置により作成されたパケットに含まれるデータ部に対して暗号処理する第２の暗号処理と、を切り替えるよう前記送信装置に指示する。
【０３４０】
また、本開示の第３の受信装置は、第２の受信装置であって、
前記暗号処理指示部は、前記受信部により受信された暗号処理されていないパケット数が所定数以上である場合、前記第１の暗号処理を行うと判定する。
【０３４１】
また、本開示の第４の受信装置は、第２の受信装置であって、
前記受信部により受信されたパケットに対して認証処理する認証処理部を備え、
前記暗号処理指示部は、前記認証処理部による認証処理の結果、認証エラーが発生したパケット数が所定数以上である場合、前記第１の暗号処理を行うと判定する。
【０３４２】
また、本開示の第５の受信装置は、第２の受信装置であって、
前記暗号処理指示部は、前記受信部により受信された冗長パケットのパケット数が所定値以上である場合、前記第２の暗号処理を行うと判定する。
【０３４３】
また、本開示の第６の受信装置は、第２の受信装置であって、
前記暗号処理指示部は、前記受信部により受信された冗長パケットのパケット数が所定値未満である場合、前記第１の暗号処理を行うと判定する受信装置。
【０３４４】
また、本開示の第７の受信装置は、第１ないし第６のいずれか１つの受信装置であって、更に、
前記受信部により受信されたパケットに対して復号処理する復号処理部を備え、
前記復号処理部は、前記受信部により受信されたパケットが暗号処理されていない場合、前記受信部により受信されたパケットに対する認証処理の結果、認証エラーが発生した場合、又は、前記受信部により受信されたパケットが冗長パケットである場合、復号処理しない。
【０３４５】
また、本開示の第１の通信システムは、
送信装置と受信装置との間においてセキュアな通信路を確立する通信システムであって、
前記送信装置は、
パケットを作成するパケット作成部と、
前記パケット作成部により作成されたパケットにおける冗長パケットの割合又は前記受信装置からの指示に基づいて、前記パケット作成部により作成されたパケットにおける暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理する暗号処理部と、
前記セキュアな通信路を介して、前記暗号処理部により暗号処理されたパケットを送信する送信部と、
を備え、
前記受信装置は、
前記セキュアな通信路を介してパケットを受信する受信部と、
前記受信部により受信されたパケットが所定基準を満たすか否かに応じて、前記送信装置により作成されるパケットが暗号処理される暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するよう前記送信装置に指示する暗号処理指示部と、
を備える。
【０３４６】
この構成により、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる。
【０３４７】
また、本開示の第１の送信方法は、
受信装置との間においてセキュアな通信路を確立する送信装置における送信方法であって、
パケットを作成するステップと、
前記作成されたパケットにおける冗長パケットの割合又は受信装置からの指示に基づいて、前記作成されたパケットにおける暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するステップと、
前記セキュアな通信路を介して、前記暗号処理されたパケットを送信するステップと、
を有する。
【０３４８】
この方法により、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる。
【０３４９】
また、本開示の第１の受信方法は、
送信装置との間においてセキュアな通信路を確立する受信装置における受信方法であって、
前記セキュアな通信路を介してパケットを受信するステップと、
前記受信されたパケットが所定基準を満たすか否かに応じて、前記送信装置により作成されるパケットが暗号処理される暗号範囲を決定し、前記暗号範囲のデータに対して暗号処理するよう前記送信装置に指示するステップと、
を有する。
【０３５０】
この方法により、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる。
【０３５１】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
本出願は、2012年5月29日出願の日本特許出願No.2012-122363に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【０３５２】
本開示は、不要な復号処理を回避でき、サービス妨害攻撃に対抗できる送信装置、受信装置、通信システム、送信方法、及び受信方法等に有用である。
【符号の説明】
【０３５３】
１０００  データ通信システム
１００  データ送信装置
１１０  送信側アプリケーション管理部
１２０  アプリケーションデータ暗号処理部
１３０  送信データ作成部
１４０  重複情報確認部
１５０  切り替え指示受付部
１６０  暗号領域判定部
１７０  ＩＰｓｅｃ暗号処理部
１７１  データ部暗号処理部
１７２  パケット暗号処理部
１７３  認証データ負荷処理部
１７４  ＳＡＤ
１７５  ＳＰＤ
１８０  パケット送信部
２００  データ受信装置
２１０  パケット受信部
２２０  ＩＰｓｅｃ復号処理部
２２１  データ部復号処理部
２２２  パケット復号処理部
２２３  認証データ確認処理部
２２４  ＳＡＤ
２２５  ＳＰＤ
２３１  ＵＤＰ／ＴＣＰヘッダ処理部
２３２  アプリケーションヘッダ処理部
２４１  受信エラーパケット数計測部
２４２  認証エラーパケット数計測部
２４３  重複パケット数計測部
２５０  暗号領域切り替え判定部
２６０  切り替え指示送信部
２７０  受信側アプリケーション管理部
２８０  アプリケーションデータ復号処理部
３００  ネットワーク
【図１】
2013179551.tif 000003
【図２】
2013179551.tif 000004
【図３】
2013179551.tif 000005
【図４】
2013179551.tif 000006
【図５】
2013179551.tif 000007
【図６】
2013179551.tif 000008
【図７】
2013179551.tif 000009
【図８】
2013179551.tif 000010
【図９】
2013179551.tif 000011
【図１０】
2013179551.tif 000012
【図１１】
2013179551.tif 000013
【図１２】
2013179551.tif 000014
【図１３】
2013179551.tif 000015
【図１４】
2013179551.tif 000016
【図１５】
2013179551.tif 000017
【図１６】
2013179551.tif 000018
【図１７】
2013179551.tif 000019
【図１８】
2013179551.tif 000020
【図１９】
2013179551.tif 000021
【図２０】
2013179551.tif 000022
【図２１】
2013179551.tif 000023
【図２２】
2013179551.tif 000024
【図２３】
2013179551.tif 000025
【図２４】
2013179551.tif 000026
【図２５】
2013179551.tif 000027
【図２６】
2013179551.tif 000028
【図２７】
2013179551.tif 000029
【図２８】
2013179551.tif 000030
【図２９】
2013179551.tif 000031
【図３０】
2013179551.tif 000032
【図３１】
2013179551.tif 000033
【図３２】
2013179551.tif 000034
【図３３】
2013179551.tif 000035
【国際調査報告】
2013179551.tif 000036
2013179551.tif 000037
2013179551.tif 000038
2013179551.tif 000039