(57)【要約】【課題】受信側のルータへの暗号化パケットの通信遅延が低減されるルータ、暗号化通信システム、暗号化通信プログラム、および暗号化通信方法を提供する。【解決手段】ルータ６は、検出された処理負荷が閾値よりも大きいと判断した場合、ルータ２とルータ３との少なくともいずれか一方のルータに、他方のルータのＩＰアドレスと、ルータ２とルータ３との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含む接続情報パケットと、を送信する。【選択図】図１
2013077957.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置と暗号化通信する中継装置であって、
前記複数の通信装置のＩＰアドレスを記憶する記憶手段と、
前記複数の通信装置のうちの第１通信装置との間でＶＰＮを構築する第１構築手段と、
前記第１構築手段により構築されたＶＰＮを介して暗号化されたデータを受信する受信手段と、
前記受信手段により受信された暗号化データを復号する復号手段と、
前記復号手段により復号されたデータに指定された宛先のＩＰアドレスから前記受信手段により受信されたデータを送信する第２通信装置のＩＰアドレスを前記記憶手段から抽出する抽出手段と、
前記第２通信装置との間でＶＰＮを構築する第２構築手段と、
データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出手段と、
前記検出手段により検出された処理負荷が閾値よりも大きいか否かを判断する判断手段と、
前記判断手段により処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する送信手段と、
を備えることを特徴とする中継装置。
【請求項２】
前記送信手段は、前記第１構築手段、および前記第２構築手段の少なくとも１つの構築手段により構築されるＶＰＮを介して前記他方の通信装置のＩＰアドレスと、前記ＶＰＮ構築情報とを送信すること
を特徴とする請求項１に記載の中継装置。
【請求項３】
前記第１構築手段によりＶＰＮが構築される際、および前記第２構築手段によりＶＰＮが構築される際の通信相手の認証に用いられるパラメータと異なる前記認証パラメータを生成する生成手段を備え、
前記送信手段は、前記生成手段により生成された認証パラメータを前記他方の通信装置に送信する
ことを特徴とする請求項１または２に記載の中継装置。
【請求項４】
前記検出手段は、前記復号する処理、および暗号化する処理に含まれるデータのうち、リアルタイム性が求められるデータの変換処理負荷を前記処理負荷の一部として検出し、
前記判断手段が、処理負荷が大きいと判断すると、前記送信手段は、前記複数の通信装置のうち、リアルタイム性が求められるデータを送信、および受信する前記第１通信装置と前記第２通信装置とを抽出し、少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記ＶＰＮ構築情報と、を送信すること
を特徴とする請求項１〜３のいずれかに記載の中継装置。
【請求項５】
前記送信手段は、前記判断手段が、処理負荷が大きいと判断した後に、前記検出手段により検出された処理負荷が閾値よりも小さくなったと判断した場合、前記第１通信装置、および前記第２通信装置に負荷軽減通知を送信すること
を特徴とする請求項１〜４のいずれかに記載の中継装置。
【請求項６】
複数の通信装置が中継装置を介して暗号化通信する暗号化通信システムであって、
前記中継装置は、
前記複数の通信装置のＩＰアドレスを記憶する記憶手段と、
前記複数の通信装置のうちの第１通信装置との間でＶＰＮを構築する第１構築手段と、
前記第１構築手段により構築されたＶＰＮを介して暗号化されたデータを受信する中継装置受信手段と、
前記中継装置受信手段により受信されたデータを復号する復号手段と
前記復号手段により復号されたデータに指定された宛先のＩＰアドレスから前記中継装置受信手段により受信されたデータを送信する第２通信装置のＩＰアドレスを前記記憶手段から抽出する抽出手段と、
前記第２通信装置との間でＶＰＮを構築する第２構築手段と、
データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出手段と、
前記検出手段により検出された処理負荷が閾値よりも大きいか否かを判断する判断手段と、
前記判断手段により処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する中継装置送信手段と、
を備え、
前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置は、
前記他方の通信装置のＩＰアドレスと、前記ＶＰＮ構築情報と、を受信する通信装置受信手段と、
前記通信装置受信手段により受信された前記他方の通信装置のＩＰアドレスで指定される通信装置と、前記認証パラメータに基づきＶＰＮを構築する通信装置構築手段と、
前記通信装置構築手段により構築されたＶＰＮを介して暗号化されたデータを前記他方の通信装置に送信する通信装置送信手段と、
を備えることを特徴とする暗号化通信システム。
【請求項７】
複数の通信装置と暗号化通信する中継装置に使用される暗号化通信方法であって、
前記複数の通信装置のうちの第１通信装置との間で構築されたＶＰＮを介して暗号化されたデータを受信する受信ステップと、
前記受信ステップにより受信されたデータを復号する復号ステップと、
前記復号ステップにより復号されたデータに指定された宛先のＩＰアドレスから前記受信ステップにより受信されたデータを送信する第２通信装置のＩＰアドレスを、前記複数の通信装置のＩＰアドレスを記憶する記憶手段から抽出する抽出ステップと、
データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出ステップと、
前記検出ステップにより検出された処理負荷が閾値よりも大きいか否かを判断する判断ステップと、
前記判断ステップにより処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する送信ステップと、
を備えることを特徴とする暗号化通信方法。
【請求項８】
複数の通信装置と暗号化通信する中継装置を制御するコンピュータに、
前記複数の通信装置のうちの第１通信装置との間でＶＰＮを構築する第１構築ステップと、
前記第１構築ステップにより構築されたＶＰＮを介して暗号化されたデータを受信する受信ステップと、
前記受信ステップにより受信されたデータを復号する復号ステップと、
前記復号ステップにより復号されたデータに指定された宛先のＩＰアドレスから前記第１受信ステップにより受信されたデータを送信する第２通信装置のＩＰアドレスを、前記複数の通信装置のＩＰアドレスを記憶する記憶手段から抽出する抽出ステップと、
データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出ステップと、
前記検出ステップにより検出された処理負荷が閾値よりも大きいか否かを判断する判断ステップと、
前記判断ステップにより処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する送信ステップと、
を実行させることを特徴とする暗号化通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置の処理負荷に応じて、中継装置に接続された通信装置同士に暗号化通信を実行させる中継装置、暗号化通信システム、暗号化通信プログラム、および暗号化通信方法に関するものである。
【背景技術】
【０００２】
従来、インターネットまたは専用／公衆回線を介して、複数のノードの間において暗号化通信を行う技術が知られている。例えば、特許文献１に開示されている技術では、ＩＰｓｅｃ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  ｓｅｃｕｒｉｔｙ）等のプロトコルに準拠して送信側のノードにおいてパケットが暗号化され、受信側のノードで復号される。特許文献１に開示された技術では、ハブ＆スポーク型と呼ばれる形式で、ＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）が構築され、暗号化通信が行われる。ハブ＆スポーク型でＶＰＮが構築された場合、送信側のノードがパケットを暗号化する。送信側のルータは、暗号化されたパケットを中継ノードへ送信する。中継ノードは暗号化されたパケットを復号し、送信すべき受信側のノードを選択し、再びパケットを暗号化する。次に、中継ノードは、再び暗号化されたパケットを選択された受信側のノードに送信する。
【０００３】
特許文献１に開示された技術では、送信側のノードが、送信側のノードと中継ノードとの間のトラフィック量が閾値を越えたことを検出すると、送信側のノードと受信側のノードとの間に直接ＶＰＮを構築する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１４０４８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１に記載された暗号化通信において、送信側のノードが、送信側のノードと中継ノードとの間のトラフィック量を検出するので、以下の問題が生じる可能性がある。
【０００６】
別の送信側のノードが中継ノードに接続され、暗号化通信している場合、送信側のノードは、別の送信側のノードと中継ノードとの間のトラフィック量を検出できない。これにより、別の送信側のノードと中継ノードとの間のトラフィック量が多い場合、送信側のノードと受信側のノードとの間で直接ＶＰＮが構築されず、中継ノードを介する暗号化通信が継続される。また、中継ノードと各送信側のノードとの間のトラフィック量が閾値を超えなければ、送信側のノードと受信側のノードとの間で直接ＶＰＮが構築されず、中継ノードを介する暗号化通信が継続される。
【０００７】
送信側のノードと中継ノードとの間におけるトラフィック量が多くなると、中継ノードにおいて、送信側のノードから送信されるパケットの暗号化処理、および復号処理の処理負荷が大きくなることが考えられる。この暗号化処理、及び復号処理の処理負荷が大きくなると、受信側のノードへ送信されるべき暗号化パケットが中継ノードから遅れて送信される場合、または受信側のノードへ送信されるべき暗号化パケットが中継ノードから送信されない場合が発生する恐れがある。
【０００８】
本発明は、上述した問題点を解決するためになされたものであり、受信側の通信装置への暗号化パケットの通信遅延が低減される中継装置、暗号化通信システム、暗号化通信プログラム、および暗号化通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１記載の本発明は、複数の通信装置と暗号化通信する中継装置であって、前記複数の通信装置のＩＰアドレスを記憶する記憶手段と、前記複数の通信装置のうちの第１通信装置との間でＶＰＮを構築する第１構築手段と、前記第１構築手段により構築されたＶＰＮを介して暗号化されたデータを受信する受信手段と、前記受信手段により受信された暗号化データを復号する復号手段と、前記復号手段により復号されたデータに指定された宛先のＩＰアドレスから前記受信手段により受信されたデータを送信する第２通信装置のＩＰアドレスを前記記憶手段から抽出する抽出手段と、前記第２通信装置との間でＶＰＮを構築する第２構築手段と、データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出手段と、前記検出手段により検出された処理負荷が閾値よりも大きいか否かを判断する判断手段と、前記判断手段により処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する送信手段と、を備えることを特徴とするものである。
【００１０】
上記目的を達成するために、請求項２記載の本発明は、請求項１に記載の中継装置において、前記送信手段は、前記第１構築手段、および前記第２構築手段の少なくとも１つの構築手段により構築されるＶＰＮを介して前記他方の通信装置のＩＰアドレスと、前記ＶＰＮ構築情報とを送信することを特徴とするものである。
【００１１】
上記目的を達成するために、請求項３記載の本発明は、請求項１または２に記載の中継装置であって、前記第１構築手段によりＶＰＮが構築される際、および前記第２構築手段によりＶＰＮが構築される際の通信相手の認証に用いられるパラメータと異なる前記認証パラメータを生成する生成手段を備え、前記送信手段は、前記生成手段により生成された認証パラメータを前記他方の通信装置に送信することを特徴とするものである。
【００１２】
上記目的を達成するために、請求項４記載の本発明は、請求項１〜３のいずれかに記載の中継装置であって、前記検出手段は、前記復号する処理、および暗号化する処理に含まれるデータのうち、リアルタイム性が求められるデータの変換処理負荷を前記処理負荷の一部として検出し、前記判断手段が、処理負荷が大きいと判断すると、前記送信手段は、前記複数の通信装置のうち、リアルタイム性が求められるデータを送信、および受信する前記第１通信装置と前記第２通信装置とを抽出し、少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記ＶＰＮ構築情報と、を送信することを特徴とするものである。
【００１３】
上記目的を達成するために、請求項５記載の本発明は、請求項１〜４のいずれかに記載の中継装置であって、前記送信手段は、前記判断手段が、処理負荷が大きいと判断した後に、前記検出手段により検出された処理負荷が閾値よりも小さくなったと判断した場合、前記第１通信装置、および前記第２通信装置に負荷軽減通知を送信することを特徴とするものである。
【００１４】
上記目的を達成するために、請求項６記載の本発明は、複数の通信装置が中継装置を介して暗号化通信する暗号化通信システムであって、前記中継装置は、前記複数の通信装置のＩＰアドレスを記憶する記憶手段と、前記複数の通信装置のうちの第１通信装置との間でＶＰＮを構築する第１構築手段と、前記第１構築手段により構築されたＶＰＮを介して暗号化されたデータを受信する中継装置受信手段と、前記中継装置受信手段により受信されたデータを復号する復号手段と、前記復号手段により復号されたデータに指定された宛先のＩＰアドレスから前記中継装置受信手段により受信されたデータを送信する第２通信装置のＩＰアドレスを前記記憶手段から抽出する抽出手段と、前記第２通信装置との間でＶＰＮを構築する第２構築手段と、データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出手段と、前記検出手段により検出された処理負荷が閾値よりも大きいか否かを判断する判断手段と、前記判断手段により処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する中継装置送信手段と、を備え、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置は、前記他方の通信装置のＩＰアドレスと、前記ＶＰＮ構築情報と、を受信する通信装置受信手段と、前記通信装置受信手段により受信された前記他方の通信装置のＩＰアドレスで指定される通信装置と、前記認証パラメータに基づきＶＰＮを構築する通信装置構築手段と、前記通信装置構築手段により構築されたＶＰＮを介して暗号化されたデータを前記他方の通信装置に送信する通信装置送信手段と、を備えることを特徴とするものである。
【００１５】
上記目的を達成するために、請求項７記載の本発明は、複数の通信装置と暗号化通信する中継装置に使用される暗号化通信方法であって、前記複数の通信装置のうちの第１通信装置との間で構築されたＶＰＮを介して暗号化されたデータを受信する受信ステップと、前記受信ステップにより受信されたデータを復号する復号ステップと、前記復号ステップにより復号されたデータに指定された宛先のＩＰアドレスから前記受信ステップにより受信されたデータを送信する第２通信装置のＩＰアドレスを、前記複数の通信装置のＩＰアドレスを記憶する記憶手段から抽出する抽出ステップと、データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出ステップと、前記検出ステップにより検出された処理負荷が閾値よりも大きいか否かを判断する判断ステップと、前記判断ステップにより処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する送信ステップと、を備えることを特徴とする方法である。
【００１６】
上記目的を達成するために、請求項８記載の本発明は、複数の通信装置と暗号化通信する中継装置を制御するコンピュータに、前記複数の通信装置のうちの第１通信装置との間でＶＰＮを構築する第１構築ステップと、前記第１構築ステップにより構築されたＶＰＮを介して暗号化されたデータを受信する受信ステップと、前記受信ステップにより受信されたデータを復号する復号ステップと、前記復号ステップにより復号されたデータに指定された宛先のＩＰアドレスから前記第１受信ステップにより受信されたデータを送信する第２通信装置のＩＰアドレスを、前記複数の通信装置のＩＰアドレスを記憶する記憶手段から抽出する抽出ステップと、データを復号する処理、およびデータを暗号化する処理の変換処理負荷を含む処理負荷を検出する検出ステップと、前記検出ステップにより検出された処理負荷が閾値よりも大きいか否かを判断する判断ステップと、前記判断ステップにより処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、前記第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる認証パラメータを含むＶＰＮ構築情報と、を送信する送信ステップと、を実行させることを特徴とするプログラムである。
【発明の効果】
【００１７】
請求項１記載の中継装置によれば、判断手段により処理負荷が大きいと判断された場合、第１通信装置と第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、ＶＰＮ構築情報とが送信される。これにより、他方の通信装置のＩＰアドレス、およびＶＰＮ構築情報を受信した一方の通信装置は、中継装置を介さずに、他方の通信装置とＶＰＮを介した暗号化通信を行うことが可能である。すなわち、中継装置において、データを復号する処理、およびデータを暗号化する処理の変換処理負荷が軽減される。従って、第２通信装置へ送信されるべきデータが遅れて送信される場合、または第２通信装置へ送信されるべきデータが送信されない場合の発生頻度を低減することが出来る。
【００１８】
請求項２記載の中継装置によれば、他方の通信装置のＩＰアドレスと、ＶＰＮ構築情報とが、中継装置の少なくとも１つの構築手段により構築されるＶＰＮを介して一方の通信装置に送信される。従って、他方の通信装置のＩＰアドレスと、ＶＰＮ構築情報とが、上記構築手段により構築されるＶＰＮを介さずに一方の通信装置に送信されるよりも、ＩＰアドレスと、ＶＰＮ構築情報とが、第１通信装置、第２通信装置、および中継装置以外の他の装置に漏洩することを抑えることが出来る。
【００１９】
請求項３記載の中継装置によれば、第１構築手段、または第２構築手段によりＶＰＮが構築される際の通信相手の認証に用いられるパラメータと異なる認証パラメータが生成される。すなわち、認証パラメータは、中継装置で新規に生成される。第１構築手段、または第２構築手段によりＶＰＮが構築される際の通信相手の認証に用いられるパラメータと同じ認証パラメータがＶＰＮ構築情報に含まれると、第１通信装置、第２通信装置、および中継装置が同じ認証パラメータを保持することになる。認証パラメータが複数の通信装置に保持されると、通信装置と一意に認証することが出来なくなる可能性がある。これに対し、請求項３記載の中継装置は、第１構築手段、または第２構築手段によりＶＰＮが構築される際の通信相手の認証に用いられるパラメータと異なる認証パラメータが生成される。この認証パラメータは、第１通信装置、および第２通信装置に送信され、第１通信装置と前記第２通信装置との間でＶＰＮが構築される際の通信相手の認証に用いられる。よって、第１通信装置、第２通信装置、および中継装置が同じ認証パラメータで認証されることが無い。従って、各通信装置を一意に認証することが出来る。これと共に、認証パラメータが中継装置において生成されるので、認証パラメータの管理が容易になる。従って、第１通信装置と第２通信装置とがＶＰＮを構築する際の通信相手の認証の精度を高く出来ると共に、認証パラメータの管理を容易にすることが出来る。
【００２０】
請求項４記載の中継装置によれば、リアルタイム性が求められるデータを送信、および受信する第１通信装置と第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスとＶＰＮ構築情報とが送信される。リアルタイム性が求められるデータは、音声通信などに使用される。このリアルタイム性が求められるデータが含まれる第１通信装置と第２通信装置との間の暗号化通信が、中継装置を介さずに実行される。従って、第２通信装置へ送信されるべきリアルタイム性が求められるデータが遅れて送信される場合、または第２通信装置へ送信されるべきリアルタイム性が求められるデータが送信されない場合の発生頻度を低減させることが出来る。
【００２１】
請求項５記載の中継装置によれば、負荷軽減通知を受信した第１通信装置、および第２通信装置は、再び、中継装置を介した暗号化通信を行うことが可能である。中継装置の処理負荷が閾値を超えていないので、負荷軽減通知を受信した第１通信装置、および第２通信装置が中継装置を介して暗号化通信を行っても、第２通信装置へ送信されるべきデータが遅れて送信される場合、または第２通信装置へ送信されるべきデータが送信されない場合の発生頻度を低減することが出来る。
【００２２】
請求項６記載の暗号化通信システムによれば、判断手段により処理負荷が大きいと判断された場合、前記第１通信装置と前記第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、ＶＰＮ構築情報とが送信される。いずれか一方の通信装置は、受信された他方の通信装置のＩＰアドレスで指定される通信装置と、認証パラメータに基づきＶＰＮを構築し、暗号化されたデータを構築されたＶＰＮを介して他方の通信装置に送信する。これにより、他方の通信装置のＩＰアドレス、およびＶＰＮ構築情報を受信した一方の通信装置は、中継装置を介さずに、他方の通信装置とＶＰＮを介した暗号化通信を行うことが可能である。すなわち、中継装置において、データを復号する処理、およびデータを暗号化する処理の変換処理負荷が軽減される。従って、第２通信装置へ送信されるべきデータが遅れて送信される場合、または第２通信装置へ送信されるべきデータが送信されない場合の発生頻度を低減することが出来る。
【００２３】
請求項７記載の暗号化通信方法によれば、判断ステップにより処理負荷が大きいと判断された場合、第１通信装置、および第２通信装置に、他方の通信装置のＩＰアドレスと、ＶＰＮ構築情報とが送信される。これにより、他方の通信装置のＩＰアドレス、およびＶＰＮ構築情報を受信した一方の通信装置は、中継装置を介さずに、他方の通信装置とＶＰＮを介した暗号化通信を行うことが可能である。すなわち、中継装置において、データを復号する処理、およびデータを暗号化する処理の変換処理負荷が軽減される。従って、第２通信装置へ送信されるべきデータが遅れて送信される場合、または第２通信装置へ送信されるべきデータが送信されない場合の発生頻度を低減することが出来る。
【００２４】
請求項８記載の暗号化通信プログラムによれば、判断ステップにより処理負荷が大きいと判断された場合、第１通信装置と第２通信装置との少なくともいずれか一方の通信装置に、他方の通信装置のＩＰアドレスと、ＶＰＮ構築情報とが送信される。これにより、他方の通信装置のＩＰアドレス、およびＶＰＮ構築情報を受信した一方の通信装置は、中継装置を介さずに、他方の通信装置とＶＰＮを介した暗号化通信を行うことが可能である。すなわち、中継装置において、データを復号する処理、およびデータを暗号化する処理の変換処理負荷が軽減される。従って、第２通信装置へ送信されるべきデータが遅れて送信される場合、または第２通信装置へ送信されるべきデータが送信されない場合の発生頻度を低減することが出来る。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態に係る暗号化通信システム１の概要構成を示す図である。
【図２】暗号化通信システム１におけるルータ２のハードウェア図である。
【図３】ＳＰＤの内容を表す模式図である。
【図４】ＳＡＤの内容を表す模式図である。
【図５】ルータ６の処理負荷が小さい場合の、暗号化パケットがＰＣ７からＰＣ８へ送信される際の処理を表すシーケンス図である。
【図６】ルータ６の処理負荷が大きい場合の、暗号化パケットがＰＣ７からＰＣ８へ送信される際の処理を表すシーケンス図である。
【図７】ＶＰＮがメインモードで構築される際の処理を表すシーケンス図である。
【図８】ＶＰＮがアグレッシブモードで構築される際の処理を表すシーケンス図である。
【図９】暗号化パケットの内容を表す模式図である。
【図１０】ルータ６の負荷検出処理を示すフローチャートである。
【図１１】テーブル１の内容を表す模式図である。
【図１２】テーブル２の内容を表す模式図である。
【図１３】ルータ６の切替対象決定処理を示すフローチャートである。
【図１４】ルータ６の処理負荷が、再び小さくなった場合の、暗号化パケットがＰＣ７からＰＣ８へ送信される際の処理を表すシーケンス図である。
【発明を実施するための形態】
【００２６】
図１を参照して本発明の一実施形態に係る暗号化通信システム１について説明する。図１は、暗号化通信ステムの概要構成を示す図である。
【００２７】
暗号化通信システム１は、ルータ２〜６と、パーソナルコンピュータ（ＰＣ）７〜１０とを備える。ＰＣ７〜１０は、ルータ２〜５とＬＡＮを介して接続する。ルータ２〜５は、ルータ６とＶＰＮを構築する。ＶＰＮは、インターネットに構成される仮想的な私設網である。すなわち、ルータ２〜６はＶＰＮゲートウェイである。ルータ２、ルータ３が、それぞれ本発明の第１通信装置、および第２通信装置の一例である。ルータ６が本発明の中継装置の一例である。
【００２８】
ルータ２〜５は、それぞれＰＣ７〜１０から送信されたパケットを暗号化する。次に、ルータ２〜５は、暗号化されたパケットをルータ６に送信する。ルータ６は、暗号化されたパケットを受信すると、この暗号化されたパケットを復号する。次に、ルータ６は、復号されたパケットをルータ２〜５に送信する。ルータ２〜５は、暗号化されたパケットを復号する。ルータ２〜５は、復号したパケットを、ＰＣ７〜１０に送信する。すなわち、ＰＣ７〜１０から送信されたパケットはルータ６を介してＰＣ７〜１０に送信される。この暗号化通信の形態はハブ＆スポーク型と呼ばれ、ルータ２〜５がスポーク、ルータ６がハブに相当する。
【００２９】
本実施形態では、例えば、インターネットに構築されるＶＰＮを介して暗号化通信が行われる際に、ＩＰｓｅｃ（Ｓｅｃｕｒｉｔｙ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）が採用される。ＩＰｓｅｃは、ネットワーク層でデータを暗号化するプロトコルである。
【００３０】
ＩＰｓｅｃはＡＨ（Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｈｅａｄｅｒ）、ＥＳＰ（Ｅｎｃａｐｓｕｌａｔｅｄ  Ｓｅｃｕｒｉｔｙ  Ｐａｙｌｏａｄ）、ＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）などの複数のプロトコルから構成される。これらのプロトコルは公知であるので簡単に説明する。
【００３１】
ＡＨは認証機能を有するセキュリティプロトコルである。ＥＳＰは、ペイロード部に対して暗号化するセキュリティプロトコルである。ＩＫＥは鍵交換を行うプロトコルである。
【００３２】
[ルータのハードウェア構成]
図２を参照して、ルータ２のハードウェア構成を説明する。ルータ３〜６のハードウェア構成は、ルータ２のハードウェア構成と同等であるので、説明を省略する。ルータ２は、ＣＰＵ２１、フラッシュメモリ２２、ＲＡＭ２３、ＷＡＮ側のイーサネット（登録商標）インタフェース２４、およびＬＡＮ側のイーサネット（登録商標）インタフェース２５を備える。ＣＰＵ２１、フラッシュメモリ２２、ＲＡＭ２３、ＷＡＮ側のイーサネット（登録商標）インタフェース２４、およびＬＡＮ側のイーサネット（登録商標）インタフェース２５はバスを介して接続される。フラッシュメモリ２２は、ＣＰＵ２１により処理される後述のＶＰＮ構築処理などの制御プログラムを記憶する。フラッシュメモリ２２は後述するＳＡＤ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ  Ｄａｔａｂａｓｅ）として、ＳＡ（Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）を記憶する。フラッシュメモリ２２は、ＳＰＤ（Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ  Ｄａｔａｂａｓｅ）として、ＳＰ（Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ）を記憶する。フラッシュメモリ２２が本発明の記憶手段の一例である。
【００３３】
ＲＡＭ２２は、ＣＰＵ２１が制御プログラムを実行する際の一時的なデータを記憶する。ＣＰＵ２１が本発明のコンピュータの一例である。
【００３４】
ＷＡＮ側のイーサネット（登録商標）インタフェース２４は、ＬＡＮケーブルが接続されるポートを含み、ルータ６との間でＩＰ網に構築されたＶＰＮを介して暗号化されたパケットの送受信を行う。ＬＡＮ側のイーサネット（登録商標）インタフェース２５は、ＬＡＮケーブルが接続されるポートを含み、ＬＡＮケーブルを介してＰＣ７との間で暗号化されていないパケットの送受信を行う。
【００３５】
図３を参照して、ＳＰＤを説明する。ＳＰＤはＳＰを記憶するデータベースである。ＳＰは、暗号化通信が可能な２つのルータとの間で暗号化通信を行うか否かを示す情報である。ＳＰは、送信元アドレス、宛先アドレス、上位層プロトコル、および動作などを記憶している。送信元アドレスは、パケットの送信元のＰＣのＩＰアドレスである。宛先アドレスは、パケットの宛先のＰＣのＩＰアドレスである。上位層プロトコルは、ペイロード部を含むパケットのプロトコルである。動作は、暗号化通信を行うか否かの情報である。
【００３６】
図４を参照して、ＳＡＤを説明する。ＳＡＤはＳＡを記憶するデータベースである。ＳＡは、暗号化通信を行う２つのルータとの間で確立されるコネクションである。ＳＡは、送信元アドレス、宛先アドレス、始点アドレス、終点アドレス、セキュリティプロトコル、ＳＰＩ（Ｓｅｃｕｒｉｔｙ  Ｐａｒａｍｅｔｅｒ  Ｉｎｄｅｘ）、暗号鍵、および暗号化アルゴリズムなどを記憶する。始点アドレスは、暗号化されたパケットを送信するルータのＩＰアドレスである。終点アドレスは、暗号化されたパケットが受信されるルータのＩＰアドレスである。セキュリティプロトコルとしては、ＡＨ、またはＥＳＰが指定される。ＳＰＩはＳＡを識別する情報である。暗号鍵は、２つのルータの間で暗号化通信が実行される際に、パケットの暗号化に使用される鍵である。暗号化アルゴリズムは、３ＤＥＳ−ＣＢＣ、ＤＥＳ−ＣＢＣなどのアルゴリズムである。
【００３７】
図５、および図６を参照して、ＰＣ７からＰＣ８にパケットが送信される際のシーケンスを説明する。図５、および図６において、ルータ６のＣＰＵ２１が実行する処理を、ＶＰＮ制御部が実行する処理、切替制御部が実行する処理、および負荷監視部が実行する処理として説明する。図５、および図６に示す記憶部は、ルータ６のフラッシュメモリ２２である。
【００３８】
［ルータ６の処理負荷が小さい場合の動作］
Ｓ１において、ルータ２のＶＰＮ制御部とルータ６のＶＰＮ制御部がＶＰＮを構築する。次に、Ｓ２においてルータ６のＶＰＮ制御部とルータ３のＶＰＮ制御部がＶＰＮを構築する。Ｓ１の処理が本発明の第１構築手段の一例である。Ｓ２が本発明の第２構築手段の一例である。
【００３９】
Ｓ１、およびＳ２におけるＶＰＮの構築について、図７、および図８を参照して説明する。図７、および図８は、ルータ２とルータ６との間にＶＰＮが構築されるＳ１の処理の一例を示す。ＶＰＮが構築されるには、暗号化通信が実行される２つのルータの間において、ＳＡが生成されなければならない。ＳＡはＩＫＥ（Ｉｎｔｅｒｎｅｔ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）により、動的に生成される。このＳＡの生成過程において、ルータ２のＶＰＮ制御部、およびルータ６のＶＰＮ制御部はフェーズ１とフェーズ２と呼ばれる公知の処理を実行する。フェーズ１は、メインモードとアグレッシブモードとのどちらか一方のモードにより処理される。フェーズ１、およびフェーズ２の処理の実行が完了すると、ルータ２とルータ６との間にＶＰＮが構築される。図７はメインモードでフェーズ１の処理が実行されるシーケンス図である。図８はアグレッシブモードでフェーズ１の処理が実行されるシーケンス図である。
【００４０】
［メインモード］
図７に示すＳ１０１において、ルータ２は、ＩＳＡＫＭＰ  ＳＡ生成要求をルータ６に送信する。このＩＳＡＫＭＰ  ＳＡ生成要求は、ルータ２とルータ６との間でＩＳＡＫＭＰ  ＳＡの生成を提案するパケットである。ＩＳＡＫＭＰ  ＳＡは、ＩＫＥによりＳＡが自動的に生成される場合のＩＫＥの制御用チャネルである。この提案パケットをルータ６に送信すると、Ｓ１０２に処理を移行する。
【００４１】
提案パケットは、ＩＳＡＫＭＰ  ＳＡを確立するためのパラメータを含む。このパラメータは、暗号化アルゴリズム、ハッシュアルゴリズム、認証方式、およびＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ交換に使用されるパラメータなどである。
【００４２】
暗号化アルゴリズムは、ＩＳＡＫＭＰ  ＳＡが暗号化される際のアルゴリズムである。この暗号化アルゴリズムは、３ＤＥＳ−ＣＢＣ、ＤＥＳ−ＣＢＣなどから後述するＳ１０２において１つ指定される。
【００４３】
ハッシュアルゴリズムは、ＩＳＡＫＭＰ  ＳＡの確立過程において認証に使用されるアルゴリズムである。このハッシュアルゴリズムはＳＨＡ−１、ＭＤ５などから１つ指定される。
【００４４】
認証方式は、通信先のルータを認証する際の方式である。認証方式は、ＰＳＫ（Ｐｒｅ−Ｓｈａｒｅｄ  Ｋｅｙ）認証、公開鍵認証から１つ指定される。以降の記載では、ＰＳＫ認証がパラメータとして指定されたとする。
【００４５】
Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ交換に使用されるパラメータは、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ交換により共通鍵が生成される際に使用されるパラメータである。
【００４６】
Ｓ１０２において、ルータ６は、受信されたＩＳＡＫＭＰ  ＳＡの生成要求に含まれるパラメータの認証を行う。パラメータの認証を行うと、ＩＳＡＫＭＰ  ＳＡの生成を受諾すると判断し、ＩＳＡＫＭＰ  ＳＡの生成の受諾を通知するパケットをルータ２に送信する。この通知パケットをルータ２に送信すると、Ｓ１０３、およびＳ１０４に処理を移行する。
【００４７】
Ｓ１０３、およびＳ１０４において、ルータ２、およびルータ６は乱数を発生する。乱数の発生を終了すると、Ｓ１０５、およびＳ１０６に処理を移行する。
【００４８】
Ｓ１０５、およびＳ１０６において、ルータ２、およびルータ６は、発生された乱数を他方のルータ２、６に送信する。この乱数の送受信は、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ交換と呼ばれる。乱数の送信が終了すると、Ｓ１０７、およびＳ１０８に処理を移行する。
【００４９】
Ｓ１０７において、ルータ２はＳ１０３で発生した乱数と、Ｓ１０６で受信した乱数とから共通鍵を生成する。Ｓ１０８において、ルータ６はＳ１０４で発生した乱数と、Ｓ１０５で受信した乱数とから共通鍵を生成する。すなわち、ルータ２とルータ６とは、同じ共通鍵を生成する。共通鍵の生成が終了すると、Ｓ１０９に処理を移行する。
【００５０】
Ｓ１０９において、ルータ２は、ルータ２とルータ６との間で予め設定されるＰＳＫからハッシュ値を生成する。このＰＳＫは、ルータ２、およびルータ６のＩＰアドレスと対応付けてルータ２、ルータ６の記憶部に記憶される。ルータ２は、生成されたハッシュ値をルータ６に送信する。このハッシュ値は、Ｓ１０７において生成された共通鍵により暗号化されてルータ６に送信される。ハッシュ値の送信が終了すると、Ｓ１１０に処理を移行する。
【００５１】
Ｓ１１０において、ルータ６は、Ｓ１０８において生成された共通鍵を用いて、ハッシュ値を復号する。復号されたハッシュ値と、送信元のアドレスに付与されたルータ２のＩＰアドレスから、Ｓ１０１〜Ｓ１０９の処理において、通信しているルータがルータ２であることを認証する。通信しているルータがルータ２であると判断すると、Ｓ１１１に処理を移行する。すなわち、ＰＳＫはＶＰＮを構築する際の、通信相手の認証に用いられる。
【００５２】
Ｓ１１１において、ルータ６は、ルータ２とルータ６との間で予め設定されるＰＳＫからハッシュ値を生成する。このハッシュ値は、Ｓ１０８において生成された共通鍵により暗号化されてルータ６に送信される。ハッシュ値の送信が終了すると、Ｓ１１２に処理を移行する。
【００５３】
Ｓ１１２において、ルータ２は、Ｓ１０７において生成された共通鍵からハッシュ値を復号する。復号されたハッシュ値と送信元のアドレスに付与されたルータ６のＩＰアドレスとに基づき、Ｓ１０１〜Ｓ１０９の処理において、通信しているルータがルータ６であることを検証する。通信しているルータがルータ６であると判断すると、Ｓ１１３に処理を移行する。
【００５４】
Ｓ１０１〜Ｓ１１２の処理は、フェーズ１と呼ばれる。Ｓ１０１〜Ｓ１１２の処理により、ＩＳＡＫＭＰ  ＳＡが確立される。以降のＳ１１３〜Ｓ１１６において、ルータ２とルータ６との間で送受信されるパケットはＩＳＡＫＭＰ  ＳＡの確立過程において生成された共通鍵により暗号化される。
【００５５】
Ｓ１１３において、ルータ２は、ＩＰｓｅｃ  ＳＡ生成要求をルータ６に送信する。このＩＰｓｅｃ  ＳＡ生成要求は、ルータ２とルータ６との間でＩＰｓｅｃ  ＳＡの生成を提案するパケットである。ルータ２は、乱数、暗号化アルゴリズム、セキュリティプロトコルを提案パケットに付与する。Ｓ１１３において、提案パケットに付与される乱数は、ルータ２、およびルータ６に接続されたＰＣとの間で通信が実行される際に、パケットの暗号化に使用される暗号鍵を生成するための乱数である。暗号化アルゴリズムは、３ＤＥＳ−ＣＢＣ、ＤＥＳ−ＣＢＣなどのアルゴリズムである。セキュリティプロトコルとしては、ＡＨ、またはＥＳＰが指定される。この提案パケットをルータ６に送信すると、Ｓ１１４に処理を移行する。
【００５６】
Ｓ１１４において、ルータ６は、ルータ２とルータ６との間でＩＰｓｅｃ  ＳＡの生成を受諾すると、ルータ６は、受信した提案パケットに付与された乱数から暗号鍵を生成する。鍵の生成が終了すると、Ｓ１１５に処理を移行する。
【００５７】
Ｓ１１５において、ルータ６は、ＩＰｓｅｃ  ＳＡの生成の受諾を通知するパケットをルータ２に送信する。ルータ６はこの通知パケットに乱数を付与する。この通知パケットをルータ２に送信すると、Ｓ１１６に処理を移行する。
【００５８】
Ｓ１１６において、ルータ２は通知パケットに付与された乱数から暗号鍵を生成する。暗号鍵の生成が終了すると、ＩＰｓｅｃ  ＳＡが確立されたこと通知する確立通知パケットをルータ６に送信する。
【００５９】
Ｓ１１３〜Ｓ１１６の処理は、フェーズ２と呼ばれる。ＶＰＮは、Ｓ１０１〜Ｓ１１２の処理であるフェーズ１と、Ｓ１１３〜Ｓ１１６の処理であるフェーズ２とが実行されることにより構築される。すなわち、２つのルータ間でＶＰＮが構築されるためには、ルータ２とルータ６との間でＰＳＫが設定されていなければならない。ＶＰＮが構築されると、ルータ２とルータ６との記憶部に記憶されたＳＡＤの始点アドレス、および終点アドレスと対応付けて、セキュリティプロトコル、暗号鍵、暗号化アルゴリズムが記憶される。この際、ＳＡを識別するＳＰＩがＳＡに付与される。ルータ２からルータ６へ送信される暗号化パケットのＳＡと、ルータ６からルータ２へ送信される暗号化パケットのＳＡとの２つのＳＡが作成される。
【００６０】
［アグレッシブモード］
図８を参照して、アグレッシブモードを説明する。Ｓ２０１において、ルータ２は乱数を生成する。乱数の生成が終了すると、Ｓ２０２に処理を移行する。
【００６１】
Ｓ２０２において、ルータ２は、ＩＳＡＫＭＰ  ＳＡ生成要求を送信する。このＩＳＡＫＭＰ  ＳＡ生成要求は、Ｓ２０１において生成された乱数を含む。ＩＳＡＫＭＰ  ＳＡ生成要求を送信すると、Ｓ２０３に処理を移行する。
【００６２】
Ｓ２０３において、ルータ６は、乱数を生成する。乱数を生成すると、Ｓ２０４に処理を移行する。
【００６３】
Ｓ２０４において、ルータ６は、ＩＳＡＫＭＰ  ＳＡの生成要求に含まれるパラメータを認証する。このパラメートを認証すると判断すると、ＩＳＡＫＭＰ  ＳＡの生成の受諾を通知するパケットをルータ２に送信する。この通知パケットは、Ｓ２０３において生成された乱数と、ルータ２とルータ６との間で予め設定されるＰＳＫから生成されるハッシュ値とを含む。通知パケットをルータ２に送信すると、Ｓ２０５に処理を移行する。
【００６４】
Ｓ２０５において、ルータ２は、受信された通知パケットに含まれるハッシュ値と、送信元のアドレスに付与されたルータ６のＩＰアドレスとに基づき、Ｓ２０１〜Ｓ２０４の処理において、通信しているルータがルータ６であることを認証する。通信しているルータがルータ６であると判断すると、Ｓ２０６に処理を移行する。
【００６５】
Ｓ２０６において、ルータ２は、受信された通知パケットに含まれる乱数から共通鍵を生成する。共通鍵の生成が終了すると、Ｓ２０７に処理を移行する。
【００６６】
Ｓ２０７において、ルータ２は、ルータ２とルータ６との間で予め設定されるＰＳＫから生成されるハッシュ値を含む認証パケットをルータ６に送信する。認証パケットの送信が終了すると、Ｓ２０８に処理を移行する。このハッシュ値は、Ｓ２０６において生成された共通鍵により暗号化される。
【００６７】
Ｓ２０８において、ルータ６は認証パケットに含まれるハッシュ値と、送信元のアドレスに付与されたルータ２のＩＰアドレスとに基づき、Ｓ２０１〜Ｓ２０４の処理において、通信しているルータがルータ２であることを認証する。通信しているルータがルータ６であると判断すると、アグレッシブモードにおけるフェーズ１を終了し、フェーズ２の処理に移行する。
【００６８】
図５に戻り、説明を続ける。以下の記載において、パケットの内容を示す図９を参照して説明する。Ｓ３において、ルータ２のＶＰＮ制御部は、ＰＣ７から暗号化されていないパケットを受信する。このパケットは、図９（ａ）に示すように、ＰＣ８のＩＰアドレスが宛先のＩＰアドレスに指定され、ＰＣ７のＩＰアドレスが送信元のＩＰアドレスに指定されているパケットである。このパケットのペイロード部にＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）に従うデータが含まれているとして説明する。ルータ２のＶＰＮ制御部が、ＰＣ７から送信されたパケットを受信すると、Ｓ４に処理を移行する。
【００６９】
Ｓ４において、ルータ２のＶＰＮ制御部は、ルータ２の記憶部に記憶されたＳＰＤを参照する。ＰＣ７から送信されたパケットの宛先ＩＰアドレス、送信元のＩＰアドレス、およびペイロード部のプロトコルに一致するＳＰがあるか否かを判断する。ＳＰがあると判断すると、そのＳＰの動作に示される通信方法で宛先のＰＣ８にパケットを送信すると判断する。ＳＰが無いと、宛先のＰＣ８にパケットを送信しないと判断する。以降の記載では、ＳＰの動作にＩＰＳｅｃが記憶されているとして、暗号化通信でパケットが送信される場合を説明する。暗号化通信でパケットを送信すると判断すると、ＳＡＤを参照する。次に、パケットに付与された宛先ＩＰアドレス、送信元のＩＰアドレス、およびペイロード部のプロトコルと一致し、始点アドレスが、ルータ２のＩＰアドレスであるＳＡから、暗号鍵、および暗号化アルゴリズムを抽出する。次に、ＰＣ７から送信されたパケットをこの暗号鍵、および暗号化アルゴリズムにより暗号化する。暗号化されたパケットに、宛先のルータのＩＰアドレス、送信元のルータのＩＰアドレス、およびＳＡに指定されたＳＰＩを付与する。宛先のルータのアドレスには、終点アドレスであるルータ６のＩＰアドレスが付与される。送信元のルータのアドレスには、始点アドレスであるルータ２のＩＰアドレスが付与される。暗号化が終了すると、Ｓ５に処理を移行する。図９（ｂ）に暗号化されたパケットを示す。終点アドレス、始点アドレス、およびＳＰＩが、この暗号化されたパケットに付与される。以降の記載において、ルータ２とルータ６との間で使用される暗号鍵、暗号化方式をそれぞれ第１暗号鍵、第１暗号化アルゴリズムとする。宛先のルータのアドレスは、予めＳＡの終点アドレスとして記憶部に記憶されている。すなわち、宛先のルータのＩＰアドレスが記憶部に記憶されていないと、そのルータと暗号化通信を行うことは出来ない。
【００７０】
Ｓ５において、ルータ２のＶＰＮ制御部は、暗号化されたパケットをルータ６のＶＰＮ制御部に送信する。この暗号化されたパケットは、Ｓ１において構築されたＶＰＮを介して、ルータ６のＶＰＮ制御部に送信される。ルータ６のＶＰＮ制御部は、ルータ２のＶＰＮ制御部から送信された暗号化パケットを受信する。ルータ６のＶＰＮ制御部が、暗号化パケットを受信すると、Ｓ６に処理を移行する。以降の記載において、暗号化されたパケットを暗号化パケットと記載する。Ｓ６に示す、ルータ６のＶＰＮ制御部の暗号化パケットを受信する処理が、本発明の受信手段の一例である。
【００７１】
Ｓ６において、ルータ２のＶＰＮ制御部から送信された暗号化パケットを受信したルータ６のＶＰＮ制御部は、暗号化パケットに付与されたＳＰＩを参照し、第１暗号鍵、および第１暗号化アルゴリズムをルータ６の記憶部に記憶されたＳＡＤから抽出する。この第１暗号鍵、および第１暗号化アルゴリズムにより、暗号化パケットを復号する。復号が終了すると、Ｓ７に処理を移行する。復号されたパケットは、図９（ａ）に示すＰＣ７から送信されたパケットと同じである。Ｓ６の処理が、本発明の復号手段の一例である。
【００７２】
Ｓ７において、ルータ６のＶＰＮ制御部は、復号されたパケットに含まれる送信元アドレス、宛先アドレス、プロトコル、およびパケットサイズをルータ６の記憶部に記憶する。この処理は、後述する。すなわち、ＰＣ７のＩＰアドレスが送信元アドレス、ＰＣ８のＩＰアドレスが宛先アドレス、ペイロード部に含まれるデータのプロトコルであるＲＴＰがプロトコル、およびペイロード部に含まれるデータのサイズがパケットサイズである。復号されたパケットに含まれる各項目をを記憶部に記憶すると、Ｓ８に処理を移行する。
【００７３】
Ｓ８において、ルータ６のＶＰＮ制御部は、ルータ６の記憶部に記憶されたＳＰＤを参照する。ＰＣ７から送信されたパケットの宛先ＩＰアドレス、送信元のＩＰアドレス、およびペイロード部のプロトコルに一致するＳＰがあるか否かを判断する。ＳＰがあると判断すると、そのＳＰの動作に示される通信方法で宛先のＰＣ８にパケットを送信すると判断する。ＳＰが無いと、宛先のＰＣ８にパケットを送信しないと判断する。暗号化通信でパケットを送信すると判断すると、ＳＡＤを参照する。次に、パケットに付与された宛先ＩＰアドレス、送信元のＩＰアドレス、およびペイロード部のプロトコルと一致し、始点アドレスが、ルータ６のＩＰアドレスであるＳＡから、暗号鍵、および暗号化アルゴリズムを抽出する。この暗号鍵、および暗号化アルゴリズムにより、ＰＣ７から送信されたパケットを暗号化する。Ｓ６において復号されたパケットに付与された宛先のＩＰアドレス、送信元のＩＰアドレス、およびペイロード部のプロトコルと一致し、始点アドレスが、ルータ６のＩＰアドレスであるＳＡから、終点アドレスに記憶されたルータのＩＰアドレスを抽出する。暗号化されたパケットに、宛先のルータのＩＰアドレス、送信元のルータのＩＰアドレス、およびＳＡに指定されたＳＰＩを付与する。宛先のルータのアドレスは、抽出された終点アドレスであるルータ３のＩＰアドレスであり、送信元のルータのアドレスは、始点アドレスであるルータ６のＩＰアドレスである。暗号化が終了すると、Ｓ９に処理を移行する。以降の記載において、ルータ６とルータ３との間で使用される暗号鍵、暗号化アルゴリズムをそれぞれ第２暗号鍵、第２暗号化アルゴリズムとする。Ｓ８の処理が、本発明の抽出手段の一例である。
【００７４】
Ｓ９において、ルータ６のＶＰＮ制御部は、暗号化パケットをルータ３のＶＰＮ制御部に送信する。暗号化パケットの送信が終了すると、Ｓ１０に処理を移行する。
【００７５】
Ｓ１０において、ルータ６のＶＰＮ制御部から送信された暗号化パケットを受信したルータ３のＶＰＮ制御部は、暗号化パケットに付与されたＳＰＩを参照し、第２暗号鍵、および第２暗号化アルゴリズムをルータ３の記憶部に記憶されたＳＡＤから抽出する。この第２暗号鍵、および第２暗号化アルゴリズムにより、暗号化パケットを復号する。復号が終了すると、Ｓ１１に処理を移行する。
【００７６】
Ｓ１１において、ルータ３のＶＰＮ制御部は、復号されたパケットのヘッダーに含まれる宛先アドレスを参照して、ＰＣ８にパケットを送信する。
【００７７】
［ルータの処理負荷が大きい場合の動作］
負荷が大きくなった場合のシーケンスを、図６を参照して説明する。Ｓ２１において、ルータ６の負荷監視部は、記憶部に記憶されているパケット量に基づき、現在の負荷を検出する。このＳ２１の負荷検出処理は、定期的に実行される。負荷検出の具体的な処理は後述する。現在の負荷を検出するとＳ２２に処理を移行する。Ｓ２１の処理が、本発明の検出手段の一例である。
【００７８】
Ｓ２２において、負荷監視部は、負荷が、閾値よりも大きいか否かを判断する。この閾値は、予め設定されて、ルータ６の記憶部に記憶される。検出された負荷が閾値よりも大きいと判断した場合、Ｓ２３に処理を移行する。検出された負荷が閾値よりも小さいと判断した場合は、ハブ＆スポーク型で暗号化通信が行われる。Ｓ２２の処理が、本発明の判断手段の一例である。
【００７９】
Ｓ２３において、負荷監視部は、切替要求を切替制御部に送信する。切替要求は、ルータ６を介さずに暗号化通信する要求である。切替要求を切替制御部に送信すると、Ｓ２４に処理を移行する。
【００８０】
Ｓ２４において、切替要求を受信した切替制御部は、ルータ６を介さずに暗号化通信させる切替対象をルータ６の記憶部から取得する。切替対象はルータ２〜５の何れかの２つのルータである。具体的に、送信元アドレス、宛先アドレス、始点アドレス、および終点アドレスを切替対象の情報として抽出する。具体的な切替対象の取得処理は、後述する。切替対象の抽出が終了すると、Ｓ２５に処理を移行する。以下の記載において、切替対象をルータ２、およびルータ３として説明する。また、切替対象にルータ６は含まれない。
【００８１】
Ｓ２５において、切替制御部は、ＰＳＫを生成する。このＰＳＫは、ルータ２とルータ３との間でＶＰＮを構築する際に使用される。このＰＳＫは、Ｓ１、およびＳ２におけるＶＰＮの構築の際のＰＳＫと異なる。ＰＳＫの生成が終了すると、Ｓ２６に処理を移行する。ＰＳＫが本発明の認証パラメータの一例である。Ｓ２５の処理が、本発明の生成手段の一例である。
【００８２】
Ｓ２６において、切替制御部は、２つの接続情報パケットを生成する。接続情報パケットは、作成されたＰＳＫと、ＰＣ７のアドレス、ＰＣ８のアドレス、ルータ２、およびルータ３のＩＰアドレスとをペイロード部に含む。接続情報パケットの生成が終了すると、Ｓ２７に処理を移行する。接続情報パケットが本発明のＶＰＮ構築情報の一例である。
【００８３】
Ｓ２７において、切替制御部は、２つの接続情報パケットをルータ６のＶＰＮ制御部に送信し、Ｓ２８に処理を移行する。
【００８４】
Ｓ２８において、２つの接続情報パケットを受信したルータ６のＶＰＮ制御部は、記憶部に記憶されたＳＡＤを参照し、接続情報パケットを暗号化する。一方の接続情報パケットは、第１暗号鍵、および第１暗号化アルゴリズムで暗号化される。他方の接続情報パケットは、第２暗号鍵、および第２暗号化アルゴリズムで暗号化される。接続情報パケットの暗号化が終了すると、Ｓ２９に処理を移行する。
【００８５】
Ｓ２９において、ルータ６のＶＰＮ制御部は、第１暗号鍵、および第１暗号化アルゴリズムで暗号化された接続情報パケットに、ルータ２のＩＰアドレス、およびＳＰＩを付与する。ルータ６のＶＰＮ制御部は、ルータ２のＩＰアドレス、およびＳＰＩが付与された接続情報パケットをルータ２との間に構築されたＶＰＮを介して、ルータ２のＶＰＮ制御部に送信する。ルータ６のＶＰＮ制御部は、第２暗号鍵、および第２暗号化方式で暗号化された接続情報パケットにルータ３のＩＰアドレス、およびＳＰＩを付与する。ルータ６のＶＰＮ制御部は、ルータ３のＩＰアドレス、およびＳＰＩが付与された接続情報パケットをルータ３との間に構築されたＶＰＮを介して、ルータ３のＶＰＮ制御部に送信する。接続情報パケットの送信が終了すると、Ｓ３０に処理を移行する。Ｓ２９の処理が、本発明の送信手段の一例である。
【００８６】
Ｓ３０において、暗号化された接続情報パケットを受信したルータ２、およびルータ３のＶＰＮ制御部は、暗号化された接続情報パケットに付与されたＳＰＩを参照し、第１暗号鍵、および第１暗号化アルゴリズム、または第２暗号鍵、および第２暗号化アルゴリズムを、記憶部に記憶されたＳＡから抽出する。この第１暗号鍵、および第１暗号化アルゴリズム、または第２暗号鍵、および第２暗号化アルゴリズムにより、暗号化された接続情報パケットを復号する。接続情報パケットの復号が終了すると、Ｓ３１に処理を移行する。
【００８７】
Ｓ３１において、ルータ２のＶＰＮ制御部は、復号化された接続情報パケットに含まれるＰＣ７のＩＰアドレス、ＰＣ８のＩＰアドレス、およびルータ３のＩＰアドレスに基づき、ＳＡを抽出する。具体的に、ルータ２のＶＰＮ制御部は、宛先アドレスにＰＣ７のＩＰアドレス、および送信元アドレスにＰＣ８のＩＰアドレスが含まれるＳＡと、宛先アドレスにＰＣ８のＩＰアドレス、および送信元アドレスにＰＣ７のＩＰアドレスが含まれるＳＡとを抽出する。抽出されたＳＡに切替済みフラグを付与する。次に、ルータ２のＶＰＮ制御部は、新たにＳＡを作成する。新たに作成されるＳＡの宛先アドレス、送信元アドレス、およびプロトコルは、抽出されたＳＡの宛先アドレス、送信元アドレス、およびプロトコルと同じである。新たに作成されるＳＡは終点アドレス、および始点アドレスの一方にはルータ３のＩＰアドレスが記憶され、他方には、ルータ２のＩＰアドレスが記憶される。一方、ルータ３のＶＰＮ制御部は、復号化された接続情報パケットに含まれるＰＣ７のＩＰアドレス、ＰＣ８のＩＰアドレス、およびルータ２のＩＰアドレスに基づき、ＳＡを抽出する。具体的に、ルータ３のＶＰＮ制御部は、宛先アドレスにＰＣ７のＩＰアドレス、および送信元アドレスにＰＣ８のＩＰアドレスが含まれるＳＡと、宛先アドレスにＰＣ８のＩＰアドレス、および送信元アドレスにＰＣ７のＩＰアドレスが含まれるＳＡとを抽出する。抽出されたＳＡに切替済みフラグを付与する。次に、ルータ３のＶＰＮ制御部は、新たにＳＡを作成する。新たに作成されるＳＡの宛先アドレス、送信元アドレス、およびプロトコルは、抽出されたＳＡの宛先アドレス、送信元アドレス、およびプロトコルと同じである。新たに作成されるＳＡは終点アドレス、および始点アドレスの一方にはルータ２のＩＰアドレスが記憶され、他方には、ルータ３のＩＰアドレスが記憶される。新たなＳＡの作成、および切替済みフラグの付与が終了すると、Ｓ３２に処理を移行する。
【００８８】
Ｓ３２において、ルータ２のＶＰＮ制御部は、接続情報パケットに含まれるＰＳＫを使用して、ルータ２とルータ３との間でＶＰＮを構築する。ＰＳＫは接続情報パケットに含まれ、ルータ２、およびルータ３のＩＰアドレスと対応付けて記憶部に記憶される。このＶＰＮ構築処理は、Ｓ１の処理と同様である。ＶＰＮの構築が終了すると、ルータ２、およびルータ３のＶＰＮ制御部は、ＶＰＮの構築過程において作成された暗号鍵、暗号化アルゴリズム、およびＳＰＩを、Ｓ３１において新たに作成されたＳＡに付与する。暗号鍵、暗号化アルゴリズム、およびＳＰＩの付与が終了すると、Ｓ３３に処理を移行する。以降の記載において、Ｓ３２の処理において生成された暗号鍵、および暗号化アルゴリズムを第３暗号鍵、および第３暗号化アルゴリズムとする。
【００８９】
Ｓ３３において、ルータ２のＶＰＮ制御部は、ルータ６のＶＰＮ制御部に切替完了通知を送信する。この切替完了通知は、ルータ２とルータ３との間でＶＰＮが構築されたことを示す通知である。切替完了通知を送信するとＳ３４に処理を移行する。
【００９０】
Ｓ３４において、ルータ６のＶＰＮ制御部は、切替対象を記憶部に記憶する。すなわち、接続情報パケットを送信したルータを示す情報を記憶部に記憶する。具体的には、宛先アドレス、および送信元アドレスにＰＣ７、およびＰＣ８のＩＰアドレスが記憶され、始点アドレス、または終点アドレスにルータ２、またはルータ３のＩＰアドレスが付与されているＳＡに切替済みフラグを立てる。切替済みフラグを立てると、Ｓ３５に処理を移行する。
【００９１】
Ｓ３５において、ルータ２のＶＰＮ制御部は、ＰＣ７から暗号化されていないパケットを受信する。このパケットは、図９（ａ）に示すように、ＰＣ８のＩＰアドレスが宛先アドレスに指定されているパケットである。ＰＣ７から送信されたパケットを受信すると、Ｓ３６に処理を移行する。
【００９２】
Ｓ３６において、ルータ２のＶＰＮ制御部は、宛先アドレスに指定されたＩＰアドレス、および記憶部に記憶されたＳＰＤを参照することにより、宛先のＰＣ８に暗号化通信でパケットを送信することを判断する。暗号化通信でパケットを送信することを判断すると、記憶部に記憶され、切替済みフラグが付与されていないＳＡを参照する。ＳＡは、終点アドレスがルータ３のＩＰアドレスであるので、第３暗号鍵、および第３暗号化アルゴリズムをＳＡから抽出する。次に、ＰＣ７から送信されたパケットを、第３暗号鍵、および第３暗号化アルゴリズムにより暗号化する。暗号化されたパケットのヘッダーに宛先アドレス、始点アドレス、およびＳＰＩを付与する。ルータ３のＩＰアドレスが宛先アドレスに指定され、ルータ２のＩＰアドレスが始点アドレスに指定される。暗号化が終了すると、Ｓ３７に処理を移行する。
【００９３】
Ｓ３７の処理において、ルータ２のＶＰＮ制御部は、暗号化パケットをルータ３のＶＰＮ制御部に送信する。暗号化パケットの送信が終了すると、Ｓ３８に処理を移行する。
【００９４】
Ｓ３８において、ルータ３のＶＰＮ制御部は、ルータ２から送信された暗号化パケットを受信する。次に、暗号化パケットのヘッダーに付与されたＳＰＩから第３暗号鍵、および第３暗号化アルゴリズムを抽出し、暗号化パケットを復号する。復号が終了するとＳ３９に処理を移行する。
【００９５】
Ｓ３９において、ルータ３のＶＰＮ制御部は、復号されたパケットに指定された宛先ＩＰアドレスに従い、ＰＣ８にパケットを送信する。
【００９６】
［負荷検出処理］
図１０を参照して、ルータ６の負荷監視部の処理である負荷検出処理を説明する。Ｓ３０１において、タイマをゼロにセットする。タイマをゼロにセットすると、Ｓ３０２に処理を移行する。
【００９７】
Ｓ３０２において、図５に示すＳ６において復号されたパケットを、Ｓ６で復号された順に抽出する。復号されたパケットの抽出が終了すると、Ｓ３０３に処理を移行する。図５に示すＳ５においてルータ６に受信されたパケットは、ＣＰＵ２１により、復号される。次に、復号されたパケットは、ＣＰＵ２１により、暗号化される。ＣＰＵ２１がルータ６に受信されたパケットを復号、暗号化する変換処理が、本発明のデータを復号する処理、およびデータを暗号化する変換処理である。この変換処理によりＣＰＵ２１にかかる負担が、本発明の変換処理負荷の一例である。
【００９８】
Ｓ３０３において、抽出されたパケットのペイロード部に含まれるデータのプロトコルはリアルタイム性が求められるプロトコルであるか否かを判断する。リアルタイム性が求められるプロトコルは、ＲＴＰ、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）、ＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）などが挙げられる。リアルタイム性があると判断すると、Ｓ３０４に処理を移行する。リアルタイム性がないと判断すると、Ｓ３０５に処理を移行する。
【００９９】
Ｓ３０４において、ルータ６の記憶部に記憶されたテーブル１を選択する。図１１にテーブル１の内容を示す。図１１に示すように、テーブル１は、宛先アドレス、送信元アドレス、プロトコル、ｂｐｓ計測用フィールド、およびｂｐｓフィールドの項目を１レコードとして記憶している。テーブル１の選択が終了すると、Ｓ３０６に処理を移行する。
【０１００】
Ｓ３０５において、ルータ６の記憶部に記憶されたテーブル２を選択する。図１２にテーブル２の内容を示す。図１２に示すように、テーブル２は、宛先アドレス、送信元アドレス、プロトコル、ｂｐｓ計測用フィールド、およびｂｐｓフィールドの項目を１レコードとして記録している。テーブル２の選択が終了すると、Ｓ３０６に処理を移行する。
【０１０１】
Ｓ３０６において、宛先アドレス、送信元アドレス、およびプロトコルが合致するレコードがテーブル１、またはテーブル２にあるか否かを判断する。レコードがあると判断すると、Ｓ３０７に処理を移行する。レコードがないと判断すると、Ｓ３０８に処理を移行する。
【０１０２】
Ｓ３０７において、合致したレコードのｂｐｓ計測用フィールドを更新する。具体的には、復号されたパケットのペイロード部のデータサイズをｂｐｓ計測用フィールドの値に加算する。更新が終了すると、Ｓ３０９に処理を移行する。
【０１０３】
Ｓ３０８において、ペイロード部に含まれるデータのプロトコルに従い、新規のレコードをテーブル１、またはテーブル２に登録する。登録が終了すると、復号パケットのペイロード部のデータサイズをｂｐｓ計測用フィールドの値に加算する。新規のレコードの登録が終了すると、Ｓ３０９に処理を移行する。
【０１０４】
Ｓ３０９において、タイマが１秒経過したか否かを判断する。１秒経過したと判断すると、Ｓ３１０に処理を移行する。１秒経過していないと判断すると、Ｓ３０２に処理を移行する。
【０１０５】
Ｓ３１０において、テーブル１、およびテーブル２のｂｐｓ計測用フィールドの値を全て対応するｂｐｓフィールドに上書きする。次に、テーブルごとのｂｐｓフィールドの和を計算する。次に、テーブル１のｂｐｓフィールドの和とテーブル２のｂｐｓフィールドの和とを足し合わせ、全てのｂｐｓフィールドの和を算出する。全てのｂｐｓフィールドの和を算出すると、Ｓ３１１に処理を移行する。全てのｂｐｓフィールドの和が本発明の変換処理負荷の一例である。
【０１０６】
Ｓ３１１において、テーブル１、およびテーブル２の全てのｂｐｓ計測用フィールドの値をゼロにする。全てのｂｐｓ計測用フィールドの値をゼロにすると、Ｓ３０１に処理を移行する。
【０１０７】
[切替対象決定処理]
図１３を参照して、ルータ６の負荷監視部、および切替制御部の切替対象決定処理を説明する。Ｓ４０１において、トラフィックが閾値を超えているか否かを判断する。具体的には、図１０に示すＳ３１０において、算出された全てのｂｐｓフィールドの和が予め定められた、閾値を超えているか否かを判断する。閾値を超えていると判断すると、Ｓ４０２に処理を移行する。超えていないと判断すると、Ｓ４０１に処理を移行する。Ｓ４０１の処理は、図６に示すＳ２２の処理である。
【０１０８】
Ｓ４０２において、ルータ６の負荷監視部は切替要求を切替制御部に送信する。切替要求の送信が終了すると、Ｓ４０３に処理を移行する。Ｓ４０２の処理は、図６に示すＳ２３の処理である。
【０１０９】
Ｓ４０３において、切替制御部は、ｂｐｓフィールドがゼロで無いレコードがテーブル１にあるか否かを判断する。ｂｐｓフィールドがゼロで無いレコードがテーブル１にあると判断するとＳ４０４に処理を移行する。ｂｐｓフィールドがゼロで無いレコードがテーブル１にない、または、レコードが１つもテーブル１にないと判断すると、Ｓ４０５に処理を移行する。
【０１１０】
Ｓ４０４において、切替制御部は、テーブル１のｂｐｓフィールドがゼロで無いレコードを抽出する。次に、抽出されたレコードの宛先アドレス、および送信元アドレスに対応するルータごとのｂｐｓフィールドの和を算出する。宛先アドレス、および送信元アドレスに対応する２つのルータがＳＡＤから抽出される。算出された和が一番大きいルータのＩＰアドレスがＳＡＤから抽出される。この２つのＩＰアドレスに対応する２つのルータを切替対象とする。切替対象のルータのＩＰアドレス、およびこのルータのＩＰアドレスとＳＡにおいて関連付けられた宛先アドレス、および送信元アドレスが、上述した接続情報パケットに含まれる。切替対象の決定が終了すると、Ｓ４０１に処理を移行する。
【０１１１】
Ｓ４０５において、切替制御部は、テーブル２の宛先アドレス、および送信元アドレスに対応するルータごとのｂｐｓフィールドの和を算出する。算出された和が一番大きい２つのルータのＩＰアドレスをＳＡＤから抽出する。この２つのルータのＩＰアドレスに対応する２つのルータを切替対象とする。切替対象のルータのＩＰアドレス、およびこのルータのＩＰアドレスとＳＡにおいて関連付けられた宛先アドレス、および送信元アドレスが、上述した接続情報パケットに含まれる。切替対象の決定が終了すると、Ｓ４０１に処理を移行する。Ｓ４０４、またはＳ４０５の処理が図６に示すＳ２４の処理である。
【０１１２】
[ルータの処理負荷が低くなったことを検出した場合の動作]
図１４を参照して、ルータ２とルータ３との間でＶＰＮが構築された状態において、ルータ６が、処理負荷が低くなったことを検出した場合を説明する。Ｓ５１において、ルータ６の負荷監視部は、記憶部に記憶されたテーブル１とテーブル２とのｂｐｓフィールドの総和が予め定められた閾値以下になったことを検出する。図１０に示すＳ３１０の処理において、ｂｐｓフィールドの総和が予め定められた閾値以下になったことを検出すると、Ｓ５２に処理を移行する。
【０１１３】
Ｓ５２において、ルータ６の負荷監視部は、ルータ６の切替制御部に切替要求を送信する。切替要求の送信が終了すると、Ｓ５３に処理を移行する。
【０１１４】
Ｓ５３において、ルータ６の切替制御部は、図６に示すＳ３４において、ルータ６の記憶部に記憶されたＳＡＤを参照し、切替済みフラグが立てられたＳＡを抽出する。抽出されたＳＡの始点アドレス、および終点アドレスに対応するルータを切替済み端末として抽出する。切替済み端末の抽出が終了すると、Ｓ５４に処理を移行する。以降の記載では、切替済み端末をルータ２、およびルータ３として説明する。
【０１１５】
Ｓ５４において、ルータ６の切替制御部は、切断情報パケットを生成する。切断情報パケットは、ペイロード部にルータ２、およびルータ３のＩＰアドレスを含む。切断情報パケットの生成が終了すると、Ｓ５５に処理を移行する。切断情報パケットが、本発明の負荷軽減通知の一例である。
【０１１６】
Ｓ５５において、切断情報パケットをルータ６のＶＰＮ制御部に送信する。切断情報パケットの送信が終了すると、Ｓ５６に処理を移行する。
【０１１７】
Ｓ５６において、ルータ６のＶＰＮ制御部は、ルータ２、およびルータ３に切断情報パケットを送信する。切断情報パケットの送信が終了すると、Ｓ５７に処理を移行する。
【０１１８】
Ｓ５７において、ルータ２のＶＰＮ制御部は、切断処理を実行する。ルータ２のＶＰＮ制御部は、切断情報パケットに含まれるルータ２、およびルータ３のＩＰアドレスを参照し、ＳＡの始点アドレスがルータ２のＩＰアドレス、および終点アドレスがルータ３のＩＰアドレスであるＳＡを抽出する。抽出されたＳＡをＳＡＤから削除する。次に、切替済みフラグが付与されたＳＡ、かつ始点アドレスがルータ２のＩＰアドレス、および終点アドレスがルータ６のＩＰアドレスであるＳＡを抽出する。この抽出されたＳＡに付与された切替済みフラグを削除する。Ｓ５７において、ルータ３のＶＰＮ制御部は、切断情報パケットに含まれるルータ２、およびルータ３のＩＰアドレスを参照し、ＳＡの始点アドレスがルータ３のＩＰアドレス、および終点アドレスがルータ２のＩＰアドレスであるＳＡを抽出する。抽出されたＳＡをＳＡＤから削除する。次に、切替済みフラグが付与されたＳＡ、かつ始点アドレスがルータ３のＩＰアドレス、および終点アドレスがルータ６のＩＰアドレスであるＳＡを抽出する。この抽出されたＳＡに付与された切替済みフラグを削除する。切断処理が完了すると、Ｓ５８に処理を移行する。
【０１１９】
Ｓ５８において、ルータ２のＶＰＮ制御部、およびルータ３のＶＰＮ制御部は、切断完了通知をルータ６に送信する。切断完了通知は、Ｓ５７におけるＳＡの削除および切替済みフラグの削除を示す。切断完了通知の送信が終了すると、Ｓ５９に処理を移行する。
【０１２０】
Ｓ５９において、ルータ６の切替制御部は、切替対象を削除する。具体的には、ルータ６のＶＰＮ制御部は、記憶部に記憶されたＳＡのうち、始点アドレス、および終点アドレスがルータ２、およびルータ３のＩＰアドレスであるＳＡに付与された切替済みフラグを削除する。
【０１２１】
Ｓ６０〜Ｓ６５において、ルータ２のＶＰＮ制御部は、ＰＣ７から送信されたパケットを暗号化通信でルータ３に送信する。この処理は、図５に示すＳ３〜Ｓ９の処理と同様である。Ｓ６６、およびＳ６７において、ルータ３のＶＰＮ制御部は、ルータ６から送信された暗号化パケットを復号し、復号されたパケットをＰＣ８に送信する。この処理は、図５に示すＳ１０、およびＳ１１の処理と同様である。
【０１２２】
［実施形態の効果］
本実施形態のルータ６によれば、Ｓ２２において処理負荷が大きいと判断された場合、Ｓ２９においてルータ２とルータ３との少なくともいずれか一方のルータに、他方のルータのＩＰアドレスと、接続情報パケットが送信される。これにより、他方のルータのＩＰアドレス、および接続情報パケットを受信した一方のルータは、ルータ６を介さずに、他方のルータとＶＰＮを介した暗号化通信を行うことが可能である。すなわち、ルータ６において、パケットを復号する処理、およびパケットを暗号化する処理の変換処理負荷が軽減される。従って、ルータ３へ送信されるべきデータが遅れて送信される場合、またはルータ３へ送信されるべきデータが送信されない場合の発生頻度を低減することが出来る。
【０１２３】
本実施形態のルータ６によれば、他方のルータのＩＰアドレスと、接続情報パケットとが、Ｓ１、またはＳ２により構築されるＶＰＮを介して一方のルータに送信される。従って、他方のルータのＩＰアドレスと、接続情報パケットとが、ＶＰＮを介さずに一方のルータに送信されるよりも、ＩＰアドレスと、接続情報パケットとが、ルータ２、ルータ３、およびルータ６以外の他の装置に漏洩することを抑えることが出来る。
【０１２４】
本実施形態のルータ６によれば、Ｓ１の処理、またはＳ２の処理によりＶＰＮが構築される際の通信相手の認証に用いられるＰＳＫと異なるＰＳＫが、Ｓ２５において生成される。すなわち、認証パラメータは、ルータ６で新規に生成される。ＰＳＫが、Ｓ１の処理、またはＳ２の処理によりＶＰＮが構築される際の通信相手の認証に用いられるＰＳＫと同じＰＳＫが接続情報パケットに含まれると、ルータ２、ルータ３、およびルータ６が同じＰＳＫを保持することになる。ＰＳＫが複数のルータに保持されると、ＶＰＮを構築するルータと一意に認証することが出来なくなる可能性がある。これに対し、本実施形態のルータ６によれば、Ｓ１の処理、またはＳ２の処理によりＶＰＮが構築される際の通信相手の認証に用いられるＰＳＫと異なるＰＳＫが生成される。このＰＳＫは、ルータ２、およびルータ３に送信され、ルータ２とルータ３との間でＶＰＮが構築される際の通信相手の認証に用いられる。よって、ルータ２、ルータ３、およびルータ６が同じＰＳＫで認証されることが無い。従って、各ルータを一意に認証することが出来る。これと共に、ＰＳＫがルータ６において生成されるので、ＰＳＫの管理が容易になる。従って、ルータ２とルータ３とがＶＰＮを構築する際の通信相手の認証の精度を高く出来ると共に、ＰＳＫの管理を容易にすることが出来る。
【０１２５】
本実施形態のルータ６によれば、リアルタイム性が求められるデータを送信、および受信するルータ２とルータ３とに、他方のルータのＩＰアドレスと接続情報パケットとが送信される。音声通信などに使用されるデータは、リアルタイム性が求められる。このリアルタイム性が求められるデータが多く含まれるルータ２とルータ３との間の暗号化通信が、ルータ６を介さずに実行される。従って、ルータ３へ送信されるべきリアルタイム性が求められるデータが遅れて送信される場合、またはルータ３へ送信されるべきリアルタイム性が求められるデータが送信されない場合の発生頻度を低減させることが出来る。
【０１２６】
本実施形態のルータ６によれば、ルータ６は、処理負荷が、予め定められた閾値よりも小さいと判断すると、接続情報パケットを送信したルータ２、およびルータ３に切断情報パケットを送信する。切断情報パケットを受信したルータ２、およびルータ３は、再び、ルータ６を介した暗号化通信を行うことが可能である。これにより、ルータ６を介した暗号化通信を行った場合、ルータ３へ送信されるべきデータが遅れて送信される場合、またはルータ３へ送信されるべきデータが送信されない場合の発生頻度を低減することが出来る。
【０１２７】
［変形例１］
本実施形態では、ＰＣがルータ２〜５に接続され、パケットを送信したが、ＩＰ電話機スマートフォンなどの端末装置が、ルータ２〜５に接続され、パケットを送信してもよい。また、アナログ電話などの端末装置がルータ２〜５に接続され、ルータ２〜５がアナログ電話機からの信号をデジタルデータに変換してもよい。このデジタルデータがパケットを構成する。
【０１２８】
［変形例２］
本実施形態では、Ｓ２５の処理においてＰＳＫが生成されたが、新たにＰＳＫを生成しなくても良い。Ｓ２６において、ルータ６の切替制御部は、ルータ２、およびルータ３のＩＰアドレス、およびＳ２の処理において、ルータ３とルータ６との認証に使用されたＰＳＫを含む接続情報パケットを生成しても良い。ＶＰＮ制御部は、Ｓ２８において、この接続情報パケットを暗号化し、ルータ２に送信する。ルータ２は、ルータ３のＩＰアドレスに基づいて、ＩＳＡＫＭＰ  ＳＡ生成要求をルータ３に送信し、ルータ３とルータ６との間でＶＰＮが構築された際のＰＳＫに基づきＶＰＮを構築する。これにより、ルータ６が接続情報パケットをルータ３に送信しなくても、ルータ２とルータ３との間でＶＰＮが構築される。同様に、Ｓ２６において、ルータ６の切替制御部は、ルータ２、およびルータ３のＩＰアドレス、およびＳ１の処理において、ルータ２とルータ６との認証に使用されたＰＳＫを含む接続情報パケットを生成しても良い。ルータ６は、この接続情報パケットをルータ３にのみ送信してもよい。
【０１２９】
［変形例３］
本実施形態では、Ｓ２６において、ルータ６のＶＰＮ制御部は、ＰＣ７、ＰＣ８、ルータ２、およびルータ３のＩＰアドレス、およびＰＳＫを接続情報パケットに含んだが、これに限られない。Ｓ２５の処理において、ルータ６のＶＰＮ制御部は、暗号化アルゴリズムをＰＳＫと共に生成し、ＰＣ７、ＰＣ８、ルータ２、およびルータ３のＩＰアドレス、ＰＳＫ、暗号化アルゴリズムを接続情報パケットに含んでも良い。これにより、Ｓ３２のＶＰＮ構築の際のフェーズ２の処理において、暗号化アルゴリズムを決定する処理を省略することが出来る。同様に、接続情報パケットは、フェーズ１の処理をメインモードで実行するか、アグレッシブモードで行うかを指定するモード指定情報を含んでも良い。
【０１３０】
［変形例４］
本実施形態では、接続情報パケットは、Ｓ２５において作成されたＰＳＫと、ＰＣ７、ＰＣ８、ルータ２、およびルータ３のＩＰアドレスとがペイロード部に含まれたが、これに限られない。図１３に示すＳ４０４、またはＳ４０５において、テーブル１、またはテーブル２の宛先アドレス、送信元アドレス、およびプロトコルごとのｂｐｓフィールドの和を算出する。次に、プロトコルごとの算出された和が一番大きい宛先アドレス、および送信元アドレスに対応するルータのＩＰアドレスをＳＡＤから抽出する。この２つのＩＰアドレスに対応する２つのルータを切替対象とする。この２つのルータは、ルータ２、およびルータ３であるとして、説明する。接続情報パケットは、Ｓ２５において作成されたＰＳＫと、ＰＣ７、ＰＣ８、ルータ２、およびルータ３のＩＰアドレスと、プロトコルとを含む。Ｓ３１において、ルータ２のＶＰＮ制御部は、復号化された接続情報パケットに含まれるＰＣ７のＩＰアドレス、ＰＣ８のＩＰアドレス、ルータ３のＩＰアドレス、およびプロトコルに基づき、ＳＡを抽出する。具体的に、ルータ２のＶＰＮ制御部は、宛先アドレスにＰＣ７のＩＰアドレス、送信元アドレスにＰＣ８のＩＰアドレス、および接続情報パケットに含まれるプロトコルと一致する上位層プロトコルが含まれるＳＡと、宛先アドレスにＰＣ８のＩＰアドレス、送信元アドレスにＰＣ７のＩＰアドレス、および接続情報パケットに含まれるプロトコルと一致する上位層プロトコルが含まれるＳＡとを抽出する。抽出されたＳＡに切替済みフラグを付与する。次に、ルータ２のＶＰＮ制御部は、新たにＳＡを作成する。新たに作成されるＳＡの宛先アドレス、送信元アドレス、およびプロトコルは、抽出されたＳＡの宛先アドレス、送信元アドレス、およびプロトコルと同じである。新たに作成されるＳＡは終点アドレス、および始点アドレスの一方にはルータ３のＩＰアドレスが記憶され、他方には、ルータ２のＩＰアドレスが記憶される。一方、ルータ３のＶＰＮ制御部は、復号化された接続情報パケットに含まれるＰＣ７のＩＰアドレス、ＰＣ８のＩＰアドレス、ルータ２のＩＰアドレス、およびプロトコルに基づき、ＳＡを抽出する。具体的に、ルータ３のＶＰＮ制御部は、宛先アドレスにＰＣ７のＩＰアドレス、送信元アドレスにＰＣ８のＩＰアドレス、および接続情報パケットに含まれるプロトコルと一致する上位層プロトコルが含まれるＳＡと、宛先アドレスにＰＣ８のＩＰアドレス、送信元アドレスにＰＣ７のＩＰアドレス、および接続情報パケットに含まれるプロトコルと一致する上位層プロトコルが含まれるＳＡとを抽出する。抽出されたＳＡに切替済みフラグを付与する。次に、ルータ３のＶＰＮ制御部は、新たにＳＡを作成する。新たに作成されるＳＡの宛先アドレス、送信元アドレス、およびプロトコルは、抽出されたＳＡの宛先アドレス、送信元アドレス、およびプロトコルと同じである。新たに作成されるＳＡは終点アドレス、および始点アドレスの一方にはルータ２のＩＰアドレスが記憶され、他方には、ルータ３のＩＰアドレスが記憶される。これにより、ルータ６の処理負荷が大きい場合は、ＰＣ７〜１０から送信されるパケットのペイロード部に含まれるプロトコルごとに、ルータ６を介さずに暗号化通信される。
【０１３１】
［変形例５］
本実施形態では、ルータ６の監視部が、他のルータから送信された暗号化パケットを復号し、この復号されたパケットの宛先アドレス、送信元アドレス、およびプロトコルに従い、ペイロード部のデータ量をテーブル１、またはテーブル２に記憶したが、これに限られない。ルータ６の監視部が、復号されたパケットの宛先アドレス、送信元アドレス、およびプロトコルを１つのテーブルに記憶してもよい。この場合、図１３に示すＳ４０３の処理は実行されず、１つのテーブルに記憶されたｂｐｓフィールドの一番大きい宛先アドレス、および送信元アドレスと関連付けられるＰＣ、またはルータが切替対象となる。
【０１３２】
［変形例６］
本実施形態では、ＰＳＫはルータのＩＰアドレスと関連付けられて、各ルータに記憶されたが、ｆｑｄｎ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）など、ルータを特定する情報であればよい。メインモードでフェーズ１の処理が行われる場合は、ＰＳＫから生成されたハッシュ値は暗号化される。従って、ルータを特定する情報は、ＩＰアドレスでしかない。よって、このＩＰアドレスが動的ＩＰアドレスである場合は、認証を行うことが出来ない。すなわち、ルータのＩＰアドレスが動的ＩＰアドレスである場合は、ＩＰアドレス以外のルータを特定する情報が用いられる。ＩＰアドレス以外のルータを特定する情報として、ｆｑｄｎなどの特定情報が用いられれば良い。よって、ｆｑｄｎなどの特定情報が接続情報パケットに含められる。アグレッシブモードで認証が実行される場合は、ＩＰアドレスが動的ＩＰアドレスでもよい。アグレッシブモードで認証が実行され、ルータを特定する情報がＩＰアドレスであれば、ｆｑｄｎなどの特定情報は接続情報パケットに含められなくてよい。
【０１３３】
［変形例７］
本実施形態では、Ｓ３１０において算出された全てのｂｐｓフィールドの和が、予め定められた閾値を超えているか否かを判断することにより、処理負荷が閾値よりも大きいか否かを判断したが、これに限られない。ルータ６のＣＰＵは、他のルータから送信され、ルータ６に受信されたパケットを復号、および暗号化する変換処理の他に、ルータ６に接続されるＰＣから送信されたパケットを暗号化する変換処理負荷、ルータ６に接続されるＰＣへ送信するパケットを暗号化、および復号する変換処理負荷、ルータ６に接続されるＰＣが暗号化通信されないパケットを送受信するためのルーティング処理負荷などの処理負荷の総和が予め定められた閾値を超えているか否かを判断しても良い。処理負荷の総和が本発明の処理負荷の一例である。
【０１３４】
［変形例８］
本実施形態では、ＰＳＫが用いられたが、これに限られない。Ｓ２５において、ルータ６の切替制御部は、ＰＳＫの代わりに、秘密鍵、および公開鍵を生成する。Ｓ２６において、ルータ３に送信する接続情報パケットに秘密鍵を含め、ルータ２に送信する接続情報パケットに公開鍵を含める。Ｓ３２において、ルータ２、およびルータ３のＶＰＮ制御部は、公開鍵、および秘密鍵を使用して、ＶＰＮを構築してもよい。この公開鍵、および秘密鍵が本発明の認証パラメータの一例である。
【符号の説明】
【０１３５】
１                暗号化通信システム
２〜６            ルータ
７〜１０          ＰＣ
２１              ＣＰＵ
２２              記憶手段 
【図１】
2013077957.tif 000003
【図２】
2013077957.tif 000004
【図３】
2013077957.tif 000005
【図４】
2013077957.tif 000006
【図５】
2013077957.tif 000007
【図６】
2013077957.tif 000008
【図７】
2013077957.tif 000009
【図８】
2013077957.tif 000010
【図９】
2013077957.tif 000011
【図１０】
2013077957.tif 000012
【図１１】
2013077957.tif 000013
【図１２】
2013077957.tif 000014
【図１３】
2013077957.tif 000015
【図１４】
2013077957.tif 000016