(57)【特許請求の範囲】
【請求項１】
ＷＡＮ側に設定されたＶＰＮトンネルを介してクライアントノードとパケットを送受信するＷＡＮインターフェースと、
ＬＡＮ側に接続されたサーバノードとパケットを送受信するＬＡＮインターフェースと、
前記クライアントノードから前記サーバノードに対して設定されようとしている第１の通信セッションを一旦終端し、第１の通信セッションを中継する第２の通信セッションを前記サーバノードに対して設定するセッション中継部と、
前記セッション中継部により設定される第２の通信セッションをＳＳＬ化するＳＳＬ処理部と、
宛先情報に対応づけて、セッションを中継する際に第２の通信セッションをＳＳＬ化するか否かの情報を記憶する記憶部とを備え、
前記セッション中継部は、
前記記憶部に記憶されている情報を参照し、第１の通信セッションの宛先情報に基づいて第２の通信セッションをＳＳＬ化するか否かを判定する判定部と、
前記判定部によりＳＳＬ化しないと判定された場合に、第２のセッションをＳＳＬ化せず、ＳＳＬ化すると判定された場合に、第２の通信セッションを前記ＳＳＬ化処理部にＳＳＬ化させるセッション処理部と
を備えることを特徴とするＶＰＮゲートウェイ装置。
【請求項２】
宛先情報に対応づけてセッションの中継が許可されるか否かの情報を記憶する記憶部をさらに備え、
前記セッション中継部は、
前記記憶部に記憶されている情報を参照し、第１の通信セッションの宛先情報に基づいて中継が許可されているか否を判定する判定部と、
第１の通信セッションの中継が許可されていない場合に、第１の通信セッションに対してＴＣＰリセットを行うことにより第１の通信セッションを切断し、第１の通信セッションの中継が許可されている場合に、第２のセッションを設定するセッション処理部と
を備えることを特徴とする請求項１に記載のＶＰＮゲートウェイ装置。
【請求項３】
前記セッション中継部は、
第２の通信セッションを設定する際のＳＳＬハンドシェークにおいて、前記サーバノードから送信されるサーバ証明書の発行者に基づいて前記サーバノードを認証する認証部と、
前記サーバノードに対する認証に失敗した場合に、第１の通信セッションおよび第２の通信セッションに対してＴＣＰリセットを行うことにより第１の通信セッションおよび第２の通信セッションを切断するセッション処理部と
を備えることを特徴とする請求項１に記載のＶＰＮゲートウェイ装置。
【請求項４】
ＷＡＮ側に設定されたＶＰＮトンネルを終端するＶＰＮゲートウェイ装置と、前記ＶＰＮゲートウェイ装置のＬＡＮ側に接続されたサーバノードとを備え、
前記ＶＰＮゲートウェイ装置は、
ＶＰＮトンネルを介してクライアントノードとパケットを送受信するＷＡＮインターフェースと、
前記サーバノードとパケットを送受信するＬＡＮインターフェースと、
前記クライアントノードから前記サーバノードに対して設定されようとしている第１の通信セッションを一旦終端し、第１の通信セッションを中継する第２の通信セッションを前記サーバノードに対して設定するセッション中継部と、
前記セッション中継部により設定される第２の通信セッションをＳＳＬ化するＳＳＬ処理部と、
宛先情報に対応づけて、セッションを中継する際に第２の通信セッションをＳＳＬ化するか否かの情報を記憶する記憶部とを備え、
前記セッション中継部は、
前記記憶部に記憶されている情報を参照し、第１の通信セッションの宛先情報に基づいて第２の通信セッションをＳＳＬ化するか否かを判定する判定部と、
前記判定部によりＳＳＬ化しないと判定された場合に、第２のセッションをＳＳＬ化せず、ＳＳＬ化すると判定された場合に、第２の通信セッションを前記ＳＳＬ化処理部にＳＳＬ化させるセッション処理部と
を備えることを特徴とするホスティングシステム。
【請求項５】
前記セッション中継部は、
第２の通信セッションを設定する際のＳＳＬハンドシェークにおいて、前記サーバノードから送信されるサーバ証明書の発行者に基づいて前記サーバノードを認証する認証部と、
前記サーバノードに対する認証に失敗した場合に、第１の通信セッションおよび第２の通信セッションに対してＴＣＰリセットを行うことにより第１の通信セッションおよび第２の通信セッションを切断するセッション処理部と
を備えることを特徴とする請求項４に記載のホスティングシステム。
【請求項６】
ＷＡＮ側に設定されたＶＰＮトンネルを介してクライアントノードとパケットを送受信するＷＡＮインターフェースと、
ＬＡＮ側に接続されたサーバノードとパケットを送受信するＬＡＮインターフェースと、
ＶＰＮトンネルを終端するＶＰＮ処理手段と、
ＶＰＮトンネルとＬＡＮ側に設定されたＶＬＡＮとの対応関係をＶＰＮ毎に保持すると共に、パケットの宛先ＩＰアドレスおよび宛先ポート情報とＳＳＬ化の要否およびＳＬＬ化する際の証明書発行者情報とをＶＬＡＮ毎に保持するセッション中継テーブルを記憶する記憶手段と、
前記記憶手段に記憶されているセッション中継テーブルを参照して、前記クライアントノードから前記サーバノードに対して設定されようとしている第１の通信セッションを一旦終端し、第１の通信セッションを中継する第２の通信セッションを前記サーバノードに対してＳＳＬ化されたセッションとして設定するセッション中継手段と
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＶＰＮゲートウェイ装置およびホスティングシステムに関し、特に、ＷＡＮ側に設定されたＶＰＮトンネルを終端するＶＰＮゲートウェイ装置、および、このＶＰＮゲートウェイ装置を含むホスティングシステムに関する。
【背景技術】
【０００２】
データセンタ事業者が提供するサービスの一種に、ユーザ等に対してサーバやネットワーク機器などのリソースを貸し出すホスティングサービスがある。このようなホスティングサービスを提供するためのデータセンタ側のシステムをホスティングシステムと呼ぶ。【０００３】
従来のホスティングシステムの一例が文献１（特許第３４９１８２８号公報）および文献２（特開２００３−３２２７５号公報）に記載されている。同文献に記載されたホスティングシステムにおいては、データセンタ内に、ＶＰＮ（Virtual Private Network）ゲートウェイが配置されている（ＶＰＮゲートウェイは、文献１および２ではＶＰＮルータとも記載されている）。ＶＰＮゲートウェイは、外部とＩＰｓｅｃトンネルやＬ２ＴＰトンネルなどのＶＰＮトンネルを確立し、ＶＰＮを収容している。ＶＰＮゲートウェイのＬＡＮ（Local Area Network）側はＶＬＡＮによって論理的にセグメントが分離されており、収容しているＶＰＮとＶＬＡＮとの対応関係がＶＰＮゲートウェイにおいて関連付けられている。データセンタ内に設置されたサーバが接続するＶＬＡＮの設定と、ＶＰＮゲートウェイにおけるＶＰＮとＶＬＡＮとの関連付けの設定とを動的に変更することにより、ＶＰＮに割り当てられるサーバの組み合わせを動的に変更することができる。【０００４】
このホスティングシステムでは、データセンタ内のサーバは、ＶＰＮトンネルによってＶＰＮに直接収容されるのではなく、ＶＰＮゲートウェイとの間のＶＬＡＮを経由してＶＰＮトンネルで構成されるＶＰＮへと収容される。このような構成をとることにより、ＶＰＮトンネルの設定変更を行う必要なく、データセンタ内サーバおよびスイッチにおけるＶＬＡＮ設定およびＶＰＮゲートウェイにおけるＶＰＮとＶＬＡＮとの関連付け設定の変更だけで、ＶＰＮへのサーバ割り当てにおける動的性を実現している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
サーバがＶＰＮトンネルを直接終端することによりＶＰＮへ収容される場合は、ＶＰＮトンネルの認証機構を用いることによりサーバ詐称を検出・防止することが可能である。しかし、従来のホスティングシステムのように、サーバとＶＰＮトンネルとの間にＶＬＡＮが介在する場合には、ＶＰＮトンネルの認証機構をサーバに対して用いることはできない。このため、詐称されたサーバであってもＶＬＡＮにさえ接続してしまえば、該ＶＬＡＮに関連付けられているＶＰＮ内のノードと通信することが可能になる。このように、従来のホスティングシステムには、詐称されたサーバであってもＶＰＮへ収容されうるという問題があった。【０００６】
また、ＶＰＮトンネル上で通信されるデータは、ＡＥＳ（Advanced Encryption Standard）などの暗号化が用いられるために盗聴が防止でき、また、ＳＨＡ−１などでデジタル署名されるために改ざんが防止できる。従来のホスティングシステムのように、サーバとＶＰＮトンネルとの間にＶＬＡＮが介在する場合には、ＶＬＡＮ上で暗号化およびデジタル署名は行われずに平文で通信されるため、盗聴、改ざんに対して無防備である。このように、従来のホスティングシステムには、サーバが行う通信に対して盗聴、改ざんが行われる危険性があるという問題があった。【０００７】
本発明は、このような課題を解決するためになされたものであり、その目的は、サーバがＬＡＮを経由してＶＰＮへ接続されるホスティングシステムにおいて、認証されたサーバのみに対してＶＰＮ内の他のノードとの通信を許可し得るようにすることにある。【０００８】
また、他の目的は、サーバがＬＡＮを経由してＶＰＮへ接続されるホスティングシステムにおいて、サーバが行う通信に対する盗聴、改ざんを防止し得るようにすることにある。
【課題を解決するための手段】
【０００９】
このような目的を達成するために、本発明のＶＰＮゲートウェイ装置は、ＷＡＮ側に設定されたＶＰＮトンネルを介してクライアントノードとパケットを送受信するＷＡＮインターフェースと、ＬＡＮ側に接続されたサーバノードとパケットを送受信するＬＡＮインターフェースと、前記クライアントノードから前記サーバノードに対して設定されようとしている第１の通信セッションを一旦終端し、第１の通信セッションを中継する第２の通信セッションを前記サーバノードに対して設定するセッション中継部と、前記セッション中継部により設定される第２の通信セッションをＳＳＬ化するＳＳＬ処理部とを備えることを特徴とする。【００１０】
また、本発明のＶＰＮゲートウェイ装置は、ＷＡＮ側に設定された第１のＶＰＮトンネルを介してクライアントノードとパケットを送受信するＷＡＮインターフェースと、ＬＡＮ側に接続されたサーバノードとパケットを送受信するＬＡＮインターフェースと、前記ＷＡＮインターフェースで受信された前記クライアントノードから前記サーバノード宛のパケットを、前記ＬＡＮインターフェースと前記サーバノードとの間で設定される第２のＶＰＮトンネルを介して、前記サーバノードに中継転送するパケット中継部とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明では、ＶＰＮゲートウェイ装置のＷＡＮ側においてＶＰＮトンネルを介して通信されるセッションを、ＶＰＮゲートウェイ装置からＬＡＮ側のサーバノードまでの区間で、ＳＳＬ化して中継する。【００１２】
また、本発明では、ＶＰＮゲートウェイ装置のＷＡＮ側においてＶＰＮトンネルを介して通信されるパケットを、ＶＰＮゲートウェイ装置からＬＡＮ側のサーバノードまでの区間で、ＶＰＮトンネルを経由させて中継する。【００１３】
これにより、データセンタ内のサーバのＶＰＮへの割り当てを動的に可能としつつ、詐称されたサーバがＶＰＮへ割り当てられることを防ぐとともに、認証されたサーバのみに対してＶＰＮ内の他のノードとの通信を許可することができ、かつ、サーバが行う通信に対する盗聴、改ざんを防止することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の第１の実施例の構成を示すブロック図である。
【図２】図２は、図１におけるセッション中継部の要部構成を示すブロック図である。
【図３】図３は、本発明の第１の実施例の動作を示す流れ図である。
【図４】図４は、本発明の第２の実施例の構成を示すブロック図である。
【図５】図５は、図４におけるセッション中継部の要部構成を示すブロック図である。
【図６】図６は、本発明の第２の実施例の動作を示す流れ図である。
【図７】図７は、本発明の第３の実施例の構成を示すブロック図である。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施例について図面を参照して詳細に説明する。【００１６】
（第１の実施例）
図１を参照すると、本発明の第１の実施例は、データセンタＡ１と、バックボーン網Ｂ１と、端末Ｃ１、Ｄ１、ＶＰＮ拠点Ｃ２、Ｄ２とから構成される。【００１７】
データセンタＡ１内に設置されているＶＰＮゲートウェイＡ１１は、バックボーン網Ｂ１を経由するＩＰｓｅｃトンネルＢ１１〜Ｂ１４を介してそれぞれ端末Ｃ１、ＶＰＮ拠点Ｃ２、端末Ｄ１、ＶＰＮ拠点Ｄ２と接続されている。ここで、ＶＰＮ拠点Ｃ２、Ｄ２との接続においては、それぞれＶＰＮ拠点Ｃ２、Ｄ２内に設置されているＶＰＮゲートウェイＣ２１、Ｄ２１がＩＰｓｅｃトンネルを終端する。バックボーン網Ｂ１の例としては、インターネットやＩＰ−ＶＰＮ網、広域イーサネット（登録商標）網などのデータ通信網が挙げられる。本実施例ではＶＰＮトンネルとしてＩＰｓｅｃが用いられる場合について説明するが、その他にＬ２ＴＰ（Layer Two Tunneling Protocol）などが用いられる場合も同様に適用可能である。【００１８】
データセンタＡ１は、上述したＶＰＮゲートウェイＡ１１と、ＶＬＡＮ−Ａ１２１〜Ａ１２３、サーバＡ１３１〜Ａ１３６とから構成される。ＶＰＮゲートウェイＡ１１は、そのＬＡＮ側において、ＶＬＡＮ−Ａ１２１〜Ａ１２３の３つのＶＬＡＮを収容しており、ＶＬＡＮ−Ａ１２１にはサーバＡ１３１、Ａ１３２が、ＶＬＡＮ−Ａ１２２にはサーバＡ１３３、Ａ１３４が、ＶＬＡＮ−Ａ１２３にはサーバＡ１３５、Ａ１３６が、それぞれ接続されている。サーバＡ１３１〜Ａ１３６は、ＨＴＴＰ(HyperText Transfer Protocol)やＳＩＰ(Session Initiation Protocol)などのサービスをＶＰＮ内のクライアントに対して提供する情報処理装置である。【００１９】
ＶＰＮゲートウェイＡ１１は、ＷＡＮ（Wide Area Network）インターフェース（ＷＡＮ  Ｉ／Ｆ）Ａ１１１と、ＬＡＮインターフェース（ＬＡＮ  Ｉ／Ｆ）Ａ１１２と、ＩＰｓｅｃ処理部（ＶＰＮ処理部）Ａ１１３と、セッション中継部Ａ１１４と、セッション中継テーブル記憶部Ａ１１５と、ＳＳＬ処理部Ａ１１６とから構成される。【００２０】
ＷＡＮインターフェースＡ１１１は、バックボーン網Ｂ１側（ＷＡＮ側）とパケットを送受信するための通信インターフェースである。【００２１】
ＬＡＮインターフェースＡ１１２は、データセンタＡ１内のノード（本実施例ではサーバＡ１３１〜Ａ１３６）とパケットを送受信するための通信インターフェースである。【００２２】
ＩＰｓｅｃ処理部Ａ１１３は、バックボーン網Ｂ１を介して設定されているＩＰｓｅｃトンネルＢ１１〜Ｂ１４を終端する。各ＩＰｓｅｃトンネルＢ１１〜Ｂ１４は、それぞれＶＰＮに対応しており、ここでは、ＩＰｓｅｃトンネルＢ１１、Ｂ１２がＶＰＮ−Ａ、ＩＰｓｅｃトンネルＢ１３、Ｂ１４がＶＰＮ−Ｂにおいて利用されるものとする。ＩＰｓｅｃ処理部Ａ１１３は、セッション中継部Ａ１１４を介してＬＡＮ側と送受信するとともに、ＷＡＮ側と送受信するパケットの暗号化・復号化を行う機能を有する。【００２３】
セッション中継部Ａ１１４は、ＶＰＮゲートウェイＡ１１が送受信するパケットをトランスポートレイヤのレベルで中継する。本中継方法は、セッション中継テーブル記憶部Ａ１１５に記憶されているセッション中継テーブルを参照することにより決定される。例えば、１０．１．０．１のＩＰアドレスをもつ端末Ｃ１から、１０．０．０．１のアドレスをもつサーバＡ１３１宛のＨＴＴＰセッションをセッション中継部Ａ１１４が受信すると、セッション中継部Ａ１１４は該セッションに対応するＴＣＰコネクション（第１の通信セッション）を一旦終端し、実際の宛先であるサーバＡ１３１に対して該コネクションを中継するＴＣＰコネクション（第２の通信セッション）を設定する。このとき、ＨＴＴＰセッションのソースである端末Ｃ１および宛先であるサーバＡ１３１には、途中でＴＣＰコネクションが中継されていることを意識させないように透過的な中継を行う。すなわち、端末Ｃ１とサーバＡ１３１との間に設定されるセッションを中継する場合、端末Ｃ１⇔ＶＰＮゲートウェイＡ１１の区間およびＶＰＮゲートウェイＡ１１⇔サーバＡ１３１の区間で通信されるパケットのソース・宛先ＩＰアドレスは同一に保たれる。【００２４】
また、セッション中継部Ａ１１４は、中継するＴＣＰコネクションのＬＡＮ側において、該コネクションをＳＳＬ(Secure Socket Layer)化する機能を有する。例えば、端末Ｃ１とサーバＡ１３１との間でＨＴＴＰセッションが設定される場合は、ＶＰＮゲートウェイＡ１１とサーバＡ１３１との間ではＨＴＴＰＳ（HTTP over SSL）プロトコルに変換され、データが送受信される。ＳＳＬ化の処理自体は、ＳＳＬ処理部Ａ１１６を介して行われる。【００２５】
セッション中継テーブル記憶部Ａ１１５に記憶されているセッション中継テーブルは、セッション中継部Ａ１１４におけるＴＣＰコネクションの中継方法が登録されたテーブルである。本テーブルの例を表１に示す。【００２６】
【表１】
0004737089.tif 000002
【００２７】
表１に示すセッション中継テーブルを参照すると、ＶＰＮ−ＡとＶＰＮ−Ｂの２つのＶＰＮにおけるセッションの中継方法についてのエントリが登録されている。【００２８】
ＶＰＮ−Ａでは、ＶＰＮゲートウェイＡ１１のＷＡＮ側においてトンネルＢ１１、Ｂ１２を経由して通信が行われ、ＶＰＮ−Ｂでは、トンネルＢ１３、Ｂ１４を経由して通信が行われる。また、ＶＰＮゲートウェイＡ１１のＬＡＮ側においては、ＶＰＮ−ＡにはＶＬＡＮ１およびＶＬＡＮ２が対応づけられており、ＶＰＮ−ＢにはＶＬＡＮ３が対応づけられている。各セッションに対してどのＶＬＡＮを対応づけるかは、宛先ＩＰアドレスに応じて決定される。ＶＬＡＮ１、ＶＬＡＮ２へは、それぞれ１０．０．０／２４、１０．０．１／２４に対応する宛先ＩＰアドレスをもつセッションが転送される。また、ＶＬＡＮ３へは、１９２．１６８．０／２４の宛先アドレスをもつセッションが転送される。【００２９】
ＶＬＡＮ１に対しては、「ａｎｙ」で表される全ての宛先ポート番号（宛先情報）に対応するセッションの中継が許可されており、宛先ポート番号（宛先情報）が８０および５０６０であるセッションのみＳＳＬ化されたセッションとして中継され、その他のポート番号に対応するセッションはそのまま中継される。ＳＳＬ化される区間では、発行者のＣＮ(Common Name)が「vpn-a's admin」である証明書を有するサーバのみ接続が許可される。【００３０】
また、ＶＬＡＮ２に対しては、宛先ポートが８０および２３に対応するセッションの中継が許可されており、宛先ポートが８０であるセッションがＳＳＬ化された後に中継され、宛先ポートが２３であるセッションはそのまま中継される。ＳＳＬ化される区間では、発行者のＣＮ(Common Name)がデフォルトで設定されたルート証明機関（例えばVerisign, Microsoftなど）である証明書を有するサーバのみ接続が許可される。【００３１】
ＶＬＡＮ３に対しては、全ての宛先ポート番号に対応するセッションの中継が許可されており、宛先ポートが８０および５０６０であるセッションのみがＳＳＬ化された後に中継され、その他のポート番号に対応するセッションはそのまま中継される。ＳＳＬ化される区間では、発行者のＣＮ(Common Name)が「vpn-b's admin」である証明書を有するサーバのみ接続が許可される。【００３２】
ＳＳＬ処理部Ａ１１６は、セッション中継部Ａ１１４によって中継されるセッションに対して、ＶＰＮゲートウェイＡ１１のＬＡＮ側の区間において該セッションをＳＳＬ化する機能を有する。さらに、ＳＳＬ化されたセッションに対して、接続するサーバが正規のサーバかどうかをチェックする機能を有する。このチェックには、ＳＳＬにおけるハンドシェークプロトコルにおいて、サーバから提示されるサーバ証明書が、セッション中継テーブルに登録されたＣＮに対応する発行者から発行されたものであるかどうかをチェックすることによって行われる。【００３３】
次に、図２を参照して、セッション中継部Ａ１１４についてさらに説明する。図２に示すように、セッション中継部Ａ１１４は、判定部Ａ１１４１と、認証部Ａ１１４２と、セッション処理部Ａ１１４３とを有する。【００３４】
判定部Ａ１１４１は、セッション中継テーブル記憶部Ａ１１５に記憶されているセッション中継テーブルを参照し、セッション中継部Ａ１１４で受信したセッションの宛先ポート番号に基づいて、該セッションの中継が許可されているか否を判定する。さらに、該セッションの中継が許可されている場合に、セッション中継テーブルを参照し、該セッションの宛先ポート番号に基づいて、該セッションを中継するセッションをＳＳＬ化するか否を判定する。具体的には、後述する図３のステップＳ１０２〜Ｓ１０４の処理を行う。【００３５】
認証部Ａ１１４２は、判定部Ａ１１４１によってＳＳＬ化すべきと判定された場合に、セッション中継部Ａ１１４で受信したセッションの宛先サーバに対してＳＳＬハンドシェークを行ない、このＳＳＬハンドシェークにおいて宛先サーバから送信されるサーバ証明書の発行者に基づいて宛先サーバの認証を行う。具体的には、後述する図３のステップＳ１０６およびＳ１０８の処理を行う。【００３６】
セッション処理部Ａ１１４３は、判定部Ａ１１４１によって該セッションの中継が許可されていないと判定された場合に、該セッションに対してＴＣＰリセットを行うことにより該セッションを切断し、該セッションの中継が許可されていると判定された場合に、該セッションを中継するセッションを設定する。また、判定部Ａ１１４１によってＳＳＬ化しないと判定された場合に、該セッションを中継するセッションをＳＳＬ化せず、ＳＳＬ化すると判定された場合に、該セッションを中継するセッションをＳＳＬ化処理部Ａ１１６にＳＳＬ化させる。また、宛先サーバに対する認証に失敗した場合に、該セッションおよびこれを中継するセッションに対してＴＣＰリセットを行うことにより、これら２つのセッションを切断する。具体的には、後述する図３のステップＳ１０５，Ｓ１０７およびＳ１０９の処理を行う。【００３７】
次に、図３を参照して、本実施例において、ＶＰＮゲートウェイＡ１１がＷＡＮ側とＬＡＮ側との間でセッションを中継する動作について詳細に説明する。【００３８】
まず、ＶＰＮゲートウェイＡ１１は、ＷＡＮインターフェースＡ１１１側からパケットを受信する。該パケットはＩＰｓｅｃ処理部Ａ１１３へ渡され復号化された後、セッション中継部Ａ１１４へと渡され、ソース・宛先ＩＰアドレスおよびソース・宛先ポート番号が読み取られる（図３のステップＳ１０１）。【００３９】
セッション中継部Ａ１１４は、該パケットが現在アクティブなセッションに対応するものでなければ、新規のセッションだと識別し、セッション中継テーブル記憶部Ａ１１５に記憶されてるセッション中継テーブルを参照し、該セッションの処理方法を決定する（ステップＳ１０２）。具体的には、該パケットに対応するＶＰＮのＩＤおよび宛先ＩＰアドレス、宛先ポート番号を基に、該セッションを転送すべきＶＬＡＮのＩＤおよび中継の可否を決定する。以降、ＶＰＮゲートウェイＡ１１が、１０．１．０．１のＩＰアドレスをもつ端末Ｃ１からトンネルＢ１１を経由して１０．０．０．１のＩＰアドレスをもつサーバＡ１３１へのＨＴＴＰメッセージ（ポート８０）に対応するパケットを受信し、セッション中継の方法として、表１に示すセッション中継テーブルが用いられる場合を例にして、説明を行う。【００４０】
セッション中継部Ａ１１４は、セッション中継テーブルにおける該パケットに対応するＶＰＮのＩＤであるＶＰＮ−Ａに関するエントリを参照し、該パケットの宛先ＩＰアドレスを基に、転送先はＶＬＡＮ１であると判断する。セッション中継部Ａ１１４はさらに、セッション中継テーブルを参照してＶＬＡＮ１への中継が許可されている宛先ポート番号を確認し、該セッションの中継が許可されているかを判定する（ステップＳ１０３）。ＨＴＴＰメッセージの場合は宛先ポート番号が８０であり、中継が許可されている宛先ポート番号である８０、５０６０、ａｎｙの範囲に含まれるため、許可できると判断する（ａｎｙがある場合は全て許可される）。【００４１】
ステップＳ１０３においてセッションの中継が許可できると判断された場合、セッション中継部Ａ１１４は次に、セッション中継テーブルを参照し、該セッションをＳＳＬ化して中継すべきかどうかを判定する（ステップＳ１０４）。ＨＴＴＰメッセージの場合は宛先ポート番号が８０であり、ＳＳＬ化して中継する宛先ポートに含まれるため、ＳＳＬ化して中継すべきだと判断する。【００４２】
ステップＳ１０３においてセッションの中継が許可できないと判断された場合、該セッションに対応するＴＣＰコネクションをリセット（ＴＣＰリセット）するパケットを該セッションの送信元に送信し、該セッションを切断する（ステップＳ１０５）。【００４３】
ステップＳ１０４において、セッションをＳＳＬ化して中継すべきと判断されると、セッション中継部Ａ１１４は、ＳＳＬ処理部Ａ１１６を介して、該セッションの宛先に対してＳＳＬハンドシェークを行う（ステップＳ１０６）。【００４４】
ステップＳ１０４において、セッションをＳＳＬ化して中継すべきではないと判断されると、セッション中継部Ａ１１４は該セッションのＳＳＬ化は行わず、そのまま宛先サーバへと中継する（ステップＳ１０７）。このとき、該セッションに対応するＴＣＰコネクションをセッション中継部Ａ１１４で一旦終端する形で中継を行ってもよいし、終端せずに直接エンド−エンド間でＴＣＰコネクションを確立させ、セッション中継部は単にパケット転送を行うという形でもよい。【００４５】
ステップＳ１０６で行われるＳＳＬハンドシェークにおいては、Ｓｅｒｖｅｒ  Ｃｅｒｔｉｆｉｃａｔｅメッセージによってサーバの証明書がＶＰＮゲートウェイＡ１１に対して送信される。セッション中継部Ａ１１４はＳＳＬ処理部Ａ１１６を介してサーバから送信された証明書を読み込み、該証明書の発行者ＣＮとセッション中継テーブルに登録されているエントリとを比較し、該証明書が許可できるものかどうかを調べることにより、サーバに対する認証を行う（ステップＳ１０８）。【００４６】
ステップＳ１０８において、サーバ証明書が許可できるものと判断された場合、つまりサーバに対する認証に成功した場合には、セッション中継部Ａ１１４は、該セッションをＬＡＮ側でＳＳＬ化する形で中継する（ステップＳ１０９）。以降、該セッションにおいては、ＶＰＮゲートウェイＡ１１のＷＡＮ側ではＩＰｓｅｃトンネルによる暗号化、ＬＡＮ側ではＳＳＬによる暗号化がなされ通信が行われる。【００４７】
ステップＳ１０８において、サーバ証明書が許可できないものと判断された場合、つまりサーバに対する認証に失敗した場合には、対応するＴＣＰコネクションをリセット（ＴＣＰリセット）するパケットを該セッションの送信元およびサーバに送信し、該セッションを切断する（ステップＳ１０５）。つまり、端末Ｃ１からサーバに対して設定されようとしているセッションおよびこのセッションを中継するためのセッションを切断する。【００４８】
以上、本実施例のＶＰＮゲートウェイＡ１１におけるＷＡＮ側とＬＡＮ側との間でセッションを中継する動作について説明した。【００４９】
本実施例では、サーバＡ１３１〜Ａ１３６を収容するデータセンタＡ１は、単一拠点に存在するものとして説明した。しかし、この他にも、複数のデータセンタを専用線や広域イーサネット（登録商標）網などによって相互接続し、地理的に分散しているサーバ群を仮想的に１つのデータセンタ内に設置されているようにエミュレートする分散データセンタの形態をとる場合であっても実施可能である。【００５０】
次に、本実施例の効果について説明する。【００５１】
本実施例では、ＶＰＮゲートウェイＡ１１のＷＡＮ側においてＶＰＮを構成するために設定されているＩＰｓｅｃやＬ２ＴＰなどのＶＰＮトンネルを経由して通信されるセッションに対して、ＶＰＮゲートウェイＡ１１からＬＡＮ側のサーバまでの区間で、該セッションをＳＳＬ化した形で中継する。このように従来ＶＰＮトンネルによる認証・暗号化ができなかった区間においてＳＳＬを用いることにより、サーバの詐称および通信の盗聴・改ざんが不可能となるため、従来の課題であったサーバの詐称やサーバが行う通信に対する盗聴、改ざんを防ぐことが可能となる。【００５２】
また、本実施例においては、端末Ｃ１などのクライアントに対して、サーバとの間で確立されるセッションにＳＳＬを使用することを意識させることはない。すなわち、クライアントは、ＨＴＴＰやＳＩＰ（Session Initiation Protocol）などのＳＳＬではない通常のプロトコルを利用してサーバとの通信を行うため、アプリケーションを特別にＳＳＬに対応させる必要なく実施が可能である。サーバ側では、クライアントとの間のセッションにＳＳＬを利用するためＳＳＬのサポートが必要となる。しかし、フリーソフトで提供されているｓｔｕｎｎｅｌ（http://www.stunnel.org/）などのユニバーサルＳＳＬラッパーをサーバで利用することで、サーバで実行されるアプリケーションがＳＳＬを直接サポートしていなくてもＳＳＬ通信に対応することが可能となる。したがって、汎用的なサーバ・クライアントを利用して実施が可能である。【００５３】
（第２の実施例）
次に、本発明の第２の実施例について図面を参照して詳細に説明する。【００５４】
図４を参照すると、本発明の第２の実施例は、本発明の第１の実施例と比べて、ＶＰＮゲートウェイＡ１１の代わりに、サーバＡ１３１〜Ａ１３６との間にＩＰｓｅｃトンネルを設定する機能を有するＶＰＮゲートウェイＡ２１が用いられる点が主に異なる。【００５５】
データセンタＡ２は、ＶＰＮゲートウェイＡ２１と、ＬＡＮ Ａ２２、サーバＡ１３１〜Ａ１３６とから構成される。サーバＡ１３１〜Ａ１３６は、ＬＡＮ Ａ２２に収容されている。【００５６】
ＶＰＮゲートウェイＡ２１は、ＷＡＮインターフェース（ＷＡＮ  Ｉ／Ｆ）Ａ２１１と、ＬＡＮインターフェース（ＬＡＮ  Ｉ／Ｆ）Ａ２１２と、ＩＰｓｅｃ処理部（ＶＰＮ処理部）Ａ２１３と、パケット中継部Ａ２１４と、パケット中継テーブル記憶部Ａ２１５とから構成される。【００５７】
ＷＡＮインターフェースＡ２１１およびＬＡＮインターフェースＡ２１２は、第１の実施例のＶＰＮゲートウェイＡ１１におけるＷＡＮインターフェースＡ１１１およびＬＡＮインターフェースＡ１１２と同等の機能を有する。【００５８】
ＩＰｓｅｃ処理部Ａ２１３は、第１の実施例のＶＰＮゲートウェイＡ１１におけるＩＰｓｅｃ処理部Ａ１１３のもつ機能に加え、ＬＡＮインターフェースＡ２１２を介して送受信されるパケットに対してＩＰｓｅｃを用いた暗号化・復号化を行う機能を有する。【００５９】
図４においては、サーバＡ１３２、Ａ１３４、Ａ１３４、Ａ１３６との間でＩＰｓｅｃトンネルＡ２２１〜Ａ２２４が設定されている例が示されている。ＩＰｓｅｃトンネルＡ２２２、Ａ２２３はともにサーバＡ１３４に対して設定されているが、関連づけられているＶＰＮが異なる。このように、ＶＰＮが複数存在する場合に、それぞれのＶＰＮに関連付けられた複数のＩＰｓｅｃトンネルを同一のサーバに設定することにより、サーバを複数のＶＰＮに対して収容することができる。【００６０】
また、これらのＩＰｓｅｃトンネルは、実際にＩＰｓｅｃ  ＳＡ(Security Associates)が確立している状態でなくてもよく、該ＩＰｓｅｃトンネルを用いて送受信されるべきパケットを検出したときに設定されるものであってもよい。この場合には、ＷＡＮ側でのパケット受信を契機として、ＩＰｓｅｃ処理部Ａ２１３が、ＬＡＮ側にＩＰｓｅｃトンネルを設定することになる。この場合、一定時間パケットが流れないと、ＳＡが確立されていない状態になる。【００６１】
パケット中継部Ａ２１４は、ＶＰＮゲートウェイＡ２１のＷＡＮ側に設定されたＩＰｓｅｃトンネルＢ１１〜Ｂ１４とＬＡＮ側に設定されたＩＰｓｅｃトンネルＡ２２１〜Ａ２２４の両者の間でパケットを中継転送する機能を有する。本中継転送の方法は、パケット中継テーブル記憶部Ａ２１５に記憶されているパケット中継テーブルを参照して決定される。【００６２】
パケット中継テーブルは、パケット中継部Ａ２１４がパケット中継時に中継方法を決定するために参照するテーブルである。本テーブルの例を表２に示す。【００６３】
【表２】
0004737089.tif 000003
【００６４】
表２に示すパケット中継テーブルを参照すると、ＶＰＮ−ＡとＶＰＮ−Ｂの２つのＶＰＮにおけるセッションの中継方法についてのエントリが登録されている。ＶＰＮゲートウェイＡ２１のＷＡＮ側において各ＶＰＮと対応づけられているトンネルは、表１に示したセッション中継テーブルと同様である。ＶＰＮゲートウェイＡ２１のＬＡＮ側においては、ＶＰＮ−ＡにはＩＰｓｅｃトンネルＡ２２１、Ａ２２３が対応づけられており、ＶＰＮ−ＢにはＩＰｓｅｃトンネルＡ２２２、Ａ２２４が対応づけられている。【００６５】
本テーブルの場合、ＷＡＮ側のＶＰＮ−Ａに対応するＩＰｓｅｃトンネルから受信したパケットは、該パケットの宛先ＩＰアドレスおよび宛先ポート番号に基づき、宛先ＩＰアドレスが１０．０．０．２であり、宛先ポート番号が８０または５０６０の場合は、ＩＰｓｅｃトンネルＡ２２１を介して接続されているサーバ（サーバＡ１３２）へ中継転送される。また、宛先ＩＰアドレスが１０．０．１．２の場合（宛先ポート番号は任意の番号（ａｎｙ）が許可される）は、ＩＰｓｅｃトンネルＡ２２３を介して接続されているサーバ（サーバＡ１３４）へ中継転送される。このとき、それぞれのＩＰｓｅｃトンネルは、発行者のＣＮが「vpn-a's admin」である証明書を有するサーバとのみ確立が許可される。ここでは証明書を基にサーバを認証する場合について説明するが、他にも予め設定されたパスワード（Pre-Shared Key）等でサーバの認証を行ってもよい。【００６６】
ＷＡＮ側のＶＰＮ−Ｂに対応するＩＰｓｅｃトンネルから受信したパケットの中継方法についても、ＶＰＮ−Ａの場合と同様である。【００６７】
また、この例においては、サーバＡ１３４は、ＶＰＮ−ＡとＶＰＮ−Ｂの２つのＶＰＮに対応づけられている。これら２つのＶＰＮに対応するＩＰｓｅｃトンネルを使い分けることで、２つのＶＰＮから利用できるサーバとしてサービスを提供できる。【００６８】
次に、図５を参照して、セッション中継部Ａ２１４についてさらに説明する。図５に示すように、セッション中継部Ａ２１４は、判定部Ａ２１４１と、認証部Ａ２１４２と、セッション処理部Ａ２１４３とを有する。【００６９】
判定部Ａ２１４１は、パケット中継テーブル記憶部Ａ２１５に記憶されているパケット中継テーブルを参照し、ＷＡＮインターフェースＡ２１１で受信したパケットの宛先ＩＰアドレスおよび宛先ポート番号（宛先情報）に基づいて、該パケットの中継が許可されているか否を判定する。具体的には、後述する図６のステップＳ２０２，Ｓ２０３の処理を行う。【００７０】
認証部Ａ２１４２は、ＬＡＮ側にＩＰｓｅｃトンネルを設定する際のプロトコル手順において、宛先サーバから送信されるサーバ証明書の発行者に基づいて、宛先サーバの認証を行なう。具体的には、後述する図６のステップＳ２０７の処理を行う。【００７１】
セッション処理部Ａ２１４３は、判定部Ａ２１４１によって中継が許可されていないと判定された場合、および、宛先サーバに対する認証に失敗した場合に、ＷＡＮインターフェースＡ２１１で受信したパケットを廃棄し、それ以外の場合に、該パケットを中継転送する。具体的には、後述する図６のステップＳ２０５，Ｓ２０８の処理を行う。【００７２】
次に、図６を参照して、本実施例において、ＶＰＮゲートウェイＡ２１がＷＡＮ側とＬＡＮ側との間でパケットを中継する動作について詳細に説明する。【００７３】
まず、ＶＰＮゲートウェイＡ２１は、ＷＡＮインターフェースＡ２１１側からパケットを受信する。該パケットはＩＰｓｅｃ処理部Ａ２１３へ渡され復号化された後、パケット中継部Ａ２１４へと渡され、ソース・宛先ＩＰアドレスおよびソース・宛先ポート番号が読み取られる（図６のステップＳ２０１）。【００７４】
パケット中継部Ａ２１４は、読み取ったソース・宛先ＩＰアドレスおよびソース・宛先ポート番号を基に、パケット中継テーブル記憶部Ａ２１５に記憶されているパケット中継テーブルを参照し、該パケットの処理方法を決定する（ステップＳ２０２）。具体的には、該パケットに対応するＶＰＮのＩＤおよび宛先ＩＰアドレス、宛先ポート番号を基に、該パケットを転送すべきＬＡＮ側のＩＰｓｅｃトンネルおよび中継の可否を決定する。以降、ＶＰＮゲートウェイＡ２１が、１０．１．０．１のＩＰアドレスをもつ端末Ｃ１からトンネルＢ１１を経由して１０．０．０．２のＩＰアドレスをもつサーバＡ１３２へのＳＩＰメッセージ（ポート５０６０）に対応するパケットを受信し、パケット転送の方法として、表２に示すパケット中継テーブルが用いられる場合を例にして説明を行う。【００７５】
パケット中継部Ａ２１４は、パケット中継テーブルにおける該パケットに対応するＶＰＮのＩＤであるＶＰＮ−Ａに関するエントリを参照し、該パケットの宛先ＩＰアドレスおよび宛先ポート番号を基に、該パケットの中継が許可されているかを判定する（ステップＳ２０３）。例のＳＩＰメッセージの場合は、宛先アドレス１０．０．０．２、宛先ポート５０６０なので、中継が許可できると判断する。【００７６】
ステップＳ２０３においてパケットの中継転送が許可できると判断された場合、パケット中継部Ａ２１４は次に、該パケットを転送すべきＬＡＮ側ＩＰｓｅｃトンネルが既に確立されているかを判定する（ステップＳ２０４）。【００７７】
ステップＳ２０３においてパケットの中継転送が許可できないと判断された場合、ＶＰＮゲートウェイＡ２１において該パケットを廃棄する（ステップＳ２０５）。【００７８】
ステップＳ２０４において、該パケットを転送すべきＬＡＮ側ＩＰｓｅｃトンネルがまだ確立されていない場合、ＩＰｓｅｃ処理部Ａ２１３は、該パケットの転送先となるサーバとの間でＩＰｓｅｃトンネルを確立すべくＩＫＥ(Internet Key Exchange)ネゴシエートを行う（ステップＳ２０６）。【００７９】
ステップＳ２０６のＩＫＥネゴシエートにおいては、サーバとＶＰＮゲートウェイＡ２１との間で相互認証を行い、ＶＰＮゲートウェイＡ２１は、サーバから提示された証明書の発行者ＣＮとパケット中継テーブルに登録されているエントリとを比較し、該証明書が許可できるものかどうかを調べる（ステップＳ２０７）。【００８０】
ステップＳ２０７において、サーバから提示された証明書が許可できるものと判断された場合、パケット中継部Ａ２１４は、該パケットをＬＡＮ側に設定されたＩＰｓｅｃトンネルへと中継転送する（ステップＳ２０８）。【００８１】
また、ステップＳ２０７において、サーバから提示された証明書が許可できないものと判断された場合、パケット中継部Ａ２１４は、該パケットを廃棄する（ステップＳ２０５）。【００８２】
また、ステップＳ２０４において、該パケットを転送すべきＬＡＮ側ＩＰｓｅｃトンネルが既に確立されている場合は、ステップＳ２０６、Ｓ２０７の手順を経ることなくパケット中継部Ａ２１４は該ＩＰｓｅｃに対して該パケットを中継転送する（ステップＳ２０８）。【００８３】
以降、該セッションにおいては、ＶＰＮゲートウェイＡ２１のＷＡＮ側とＬＡＮ側の双方でＩＰｓｅｃトンネルによる暗号化がなされ通信が行われる。【００８４】
以上、本実施例のＶＰＮゲートウェイＡ２１におけるＷＡＮ側とＬＡＮ側との間でパケットを中継する動作について説明した。【００８５】
本実施例では、ＶＰＮゲートウェイＡ２１とサーバＡ１３１〜Ａ１３６との間の転送にＩＰｓｅｃトンネルが用いられる場合について説明したが、他にも、Ｌ２ＴＰ（ＩＰｓｅｃ併用）やＰＰＴＰなど、暗号化、認証機構を備えるその他のトンネリングプロトコルを用いてもよい。【００８６】
また、本実施例においても、第１の実施例において説明したのと同様に、データセンタＡ２は単一拠点に存在するのではなく、分散データセンタの形態をとる場合であっても実施可能である。【００８７】
次に本実施例の効果について説明する。【００８８】
本実施例では、ＶＰＮゲートウェイＡ２１のＷＡＮ側においてＶＰＮを構成するために設定されているＩＰｓｅｃやＬ２ＴＰなどの第１のＶＰＮトンネルを経由して通信されるパケットに対して、ＶＰＮゲートウェイＡ２１からＬＡＮ側のサーバまでの区間で、該パケットを中継転送するための別のＩＰｓｅｃなどの第２のＶＰＮトンネルを経由して中継する。このようにＬＡＮ側においてもＶＰＮトンネルを用いることにより、サーバの詐称および通信の盗聴・改ざんを防止することが可能となる。【００８９】
（第３の実施例）
本発明のＶＰＮゲートウェイ装置は、その機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。以下、図７を参照して、ＶＰＮゲートウェイ装置をコンピュータＡ３１とプログラムＡ３１８とで実現する実施例について説明する。【００９０】
コンピュータＡ３１は、例えば、ＷＡＮインターフェースＡ３１１と、ＬＡＮインターフェースＡ３１２と、媒体インターフェース（媒体  Ｉ／Ｆ）Ａ３１３と、演算処理部Ａ３１４と、記憶部Ａ３１５とが、バスＡ３１６によって相互に接続された構成をしている。プログラムＡ３１８は、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体Ａ３１７に記録されて提供される。この記録媒体Ａ３１７を媒体インターフェースＡ３１３に接続すると、プログラムＡ３１８は記憶部Ａ３１５に格納される。記憶部Ａ３１５に格納されたプログラムＡ３１８を演算処理部Ａ３１４が読み出し、プログラムＡ３１８にしたがって演算処理部Ａ３１４が動作することにより、前述した第１の実施例にあっては、ＷＡＮインターフェース１１１、ＬＡＮインターフェースＡ１１２、ＩＰｓｅｃ処理部Ａ１１３、セッション中継部Ａ１１４、セッション中継テーブル記憶部Ａ１１５、ＳＳＬ処理部Ａ１１６を実現し、第２の実施例にあっては、ＷＡＮインターフェースＡ２１１、ＬＡＮインターフェースＡ２１２、ＩＰｓｅｃ処理部Ａ２１３、セッション中継部Ａ２１４、セッション中継テーブル記憶部Ａ２１５を実現することができる。【００９１】
以上、本発明の実施例について説明したが、本発明は以上の実施例にのみ限定されず、その他各種の付加変更が可能である。
【図１】
0004737089.tif 000004
【図２】
0004737089.tif 000005
【図３】
0004737089.tif 000006
【図４】
0004737089.tif 000007
【図５】
0004737089.tif 000008
【図６】
0004737089.tif 000009
【図７】
0004737089.tif 000010