(57)【特許請求の範囲】
【請求項１】
ＬＡＮを外部のネットワークに接続し、ネットワークアドレスを変換するゲートウェイであって、前記ＬＡＮは、ローカルＩＰアドレスを用い、前記ゲートウェイは、前記ＬＡＮ上の機器により認識可能なローカルＩＰアドレスを有し、また、外部ネットワーク上の機器により認識可能な外部ＩＰアドレスを有し、 前記ゲートウェイは、 前記ＬＡＮ上のローカル機器のローカルＩＰアドレス、前記外部ネットワーク上の外部機器の外部ＩＰアドレス、ＳＰＩ−Ｉｎの値、ＳＰＩ−Ｏｕｔの値、ソースポートアドレス、宛先ポートアドレス、留保されたポートアドレス、及び留保されたポートアドレスのリストの組み合わせを関連づけた複数の内部のテーブルと、 前記ＬＡＮから前記外部ネットワークに移るデータグラムに対して、及び、前記外部のネットワークから前記ＬＡＮに移るデータグラムに対して通常のアドレス変換を実行する手段と、 前記外部ネットワーク上の外部機器へ伝送することを意図して前記ＬＡＮ上のローカル機器よりデータグラムを受信することにより、データグラムを前記ＬＡＮ上のローカル機器から前記外部ネットワーク上の外部機器へ伝送する手段とを備え、 前記データグラムの宛先ポートアドレスが、前記留保されたポートアドレスのリストに含まれているか否かを判断し、前記宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれていない場合は通常のアドレス変換を実行し、前記データグラムに前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行い、 前記宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれている場合は、前記宛先ポートアドレスが前記ローカル機器の前記ローカルＩＰアドレスに接続されているか否かを判断し、前記宛先ポートアドレスが前記ローカルＩＰアドレスに接続されている場合は、前記データグラムに通常のアドレス変換を実行し、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行い、 前記宛先ポートアドレスが前記ローカルＩＰアドレスに接続されていない場合は、前記データグラムの前記ソースＩＰアドレスを修正して前記ゲートウェイの前記外部ＩＰアドレスとし、前記宛先ポートアドレスを前記ローカル機器の前記ローカルＩＰアドレスに接続して、前記宛先ポートアドレスと、前記外部機器の外部ＩＰアドレスとの間を関連付け、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行うことを特徴とするネットワークアドレス変換ゲートウェイ。
【請求項２】
前記ＬＡＮ上のローカル機器から外部機器へデータグラムを伝送する前記手段が更に、前記データグラムが暗号化されているか否かを判断し、前記データグラムが暗号化されている場合は、前記データグラムのＳＰＩが前記内部のテーブルのＳＰＩ−Ｏｕｔフィールドに記録されているか否かを判断し、ＳＰＩが前記ＳＰＩ−Ｏｕｔフィールドに記録されている場合は、前記データグラムのソースＩＰアドレスを前記ゲートウェイの前記外部ＩＰアドレスに修正して、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行う手段を備えたことを特徴とする請求項１記載のネットワークアドレス変換ゲートウェイ。
【請求項３】
前記ＳＰＩが前記内部のテーブルのＳＰＩ−Ｏｕｔフィールドに記録されていない場合、前記ローカル機器のローカルＩＰアドレスに対応するＳＰＩ−Ｉｎフィールドをゼロに設定し、前記ＳＰＩ−Ｏｕｔフィールドを前記ＳＰＩに等しく設定し、前記データグラムの前記ソースＩＰアドレスを前記ゲートウェイの前記外部ＩＰアドレスに修正して前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行う手段を更に備えたことを特徴とする請求項２に記載のネットワークアドレス変換ゲートウェイ。
【請求項４】
前記ネットワークアドレス変換ゲートウェイが更に前記ＬＡＮ上のローカル機器へ伝送することを意図して前記外部ネットワーク上の外部機器よりデータグラムを受信することにより、データグラムを前記外部機器から前記ローカル機器へ伝送する手段と、 前記データグラムが暗号化されているか否かを判断し、前記データグラムが暗号化されている場合は、データグラムのＳＰＩが前記内部のテーブルの前記ＳＰＩ−Ｉｎフィールドに記録されているか否かを判断し、前記ＳＰＩが前記ＳＰＩ−Ｉｎフィールドに記録されている場合は、前記データグラムの宛先アドレスを前記ローカル機器の前記ローカルＩＰアドレスに修正して、前記データグラムを前記ＬＡＮに移し、前記ローカル機器へのルーティングと伝送とを行い、 前記ＳＰＩが前記内部のテーブルの前記ＳＰＩ−Ｉｎフィールドに記録されていない場合は、前記外部機器の前記ＩＰアドレスに対応する前記ＳＰＩ−Ｉｎフィールドがゼロであるか否かを判断し、前記ＳＰＩ−Ｉｎフィールドがゼロでない場合は、前記データグラムを捨て、前記ＳＰＩ−Ｉｎフィールドがゼロである場合は、前記ＳＰＩ−Ｉｎフィールドを前記ＳＰＩと等しく設定し、前記データグラムの宛先ＩＰアドレスを前記ローカル機器の前記ローカルＩＰアドレスに修正して、前記データグラムを前記ＬＡＮに前記ローカル機器への伝送のために移し、 前記データグラムが暗号化されていない場合は、前記データグラムの宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれているか否かを判断し、前記宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれていない場合は、前記データグラムに対し通常のアドレス変換を実行して、前記データグラムを前記ＬＡＮに前記ローカル機器への伝送のために移し、 前記宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれている場合は、前記宛先ポートアドレスが前記ローカル機器のローカルＩＰアドレスに接続されているか否かを判断し、前記宛先ポートアドレスが前記ローカルＩＰアドレスに接続されていない場合は、前記データグラムを捨て、前記宛先ポートアドレスが前記ローカルＩＰアドレスに接続されている場合は、前記データグラムの前記宛先ＩＰアドレスを前記ローカル機器の前記ローカルＩＰアドレスに修正し、前記宛先ポートアドレスと前記ローカルＩＰアドレスとの接続を解除し、前記データグラムを前記ＬＡＮに移し、前記ローカル機器への伝送を行う手段とを更に備えたことを特徴とする請求項１に記載のネットワークアドレス変換ゲートウェイ。
【請求項５】
更にタイマを備え、ポートアドレスと、ＩＰアドレスとが接続されたことを示す信号を受信した場合、前記タイマは、予め決められた長さの時間の測定を開始し、前記予め決められた長さの時間が経過した場合、前記ポートアドレスと、前記ＩＰアドレスとを非接続状態にする信号を送信し、前記予め決められた長さの時間が経過する前に前記ポートアドレスと、前記ＩＰアドレスとが非接続状態になったことを示す信号を受信した場合、前記タイマは時間の測定を停止しリセットされることを特徴とする請求項１に記載のネットワークアドレス変換ゲートウェイ。
【請求項６】
前記外部のネットワークがインターネットであることを特徴とする請求項１に記載のネットワークアドレス変換ゲートウェイ。
【請求項７】
前記ＬＡＮがバーチャルプライベートネットワークであることを特徴とする請求項６に記載のネットワークアドレス変換ゲートウェイ。
【請求項８】
ローカルＩＰアドレスを用いるＬＡＮ上のローカル機器からのＩＰデータグラムをネットワーク変換ゲートウェイを介して外部ネットワーク上の外部機器へ処理する方法であって、 前記ＬＡＮ上のローカル機器のローカルＩＰアドレス、前記外部ネットワーク上の外部の機器の外部ＩＰアドレス、前記ローカル機器のポートアドレス、前記外部機器のポートアドレス、ＳＰＩ−Ｉｎの値、ＳＰＩ−Ｏｕｔの値、留保されたポートアドレス及び留保されたポートアドレスのリストを関連づけた複数のテーブルを保持するステップと、 データグラムを前記ＬＡＮから受信するステップと、 前記データグラムの宛先ポートアドレスが前記留保されたポートアドレスのテーブルに含まれているか否かを判断し、前記宛先ポートアドレスが前記留保されたポートアドレスのテーブルに含まれていない場合は、前記データグラムに対して通常のアドレス変換を実行して前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行うステップとを備え、 前記宛先ポートアドレスが前記留保されたポートアドレスのテーブルに含まれている場合は、前記宛先ポートアドレスがＩＰアドレスと接続されているか否かを判断し、前記宛先ポートアドレスがＩＰアドレスと接続されている場合は、前記データグラムに対して通常のアドレス変換を実行して前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行い、 前記宛先ポートアドレスがＩＰアドレスと接続されていない場合は、前記ソースＩＰアドレスを前記外部機器の前記外部ＩＰアドレスに修正し、前記宛先ポートアドレスを前記ローカル機器のローカルＩＰアドレスに接続して前記宛先ポートアドレスと、前記外部機器の前記外部ＩＰアドレス間の連携を作り出して前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行うことを特徴とするＩＰデータグラムの処理方法。
【請求項９】
前記データグラムが暗号化されているか否かを判断し、前記データグラムが暗号化されている場合は、前記データグラムのＳＰＩが前記複数の内部のテーブルの内の一つのＳＰＩ−Ｏｕｔフィールドに記録されているか否かを判断し、ＳＰＩが前記内部のテーブルの前記ＳＰＩ−Ｏｕｔフィールドに記録されている場合は、ソースＩＰアドレスを前記ゲートウェイの外部ＩＰアドレスに修正し、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行い、 前記ＳＰＩが内部のテーブルの前記ＳＰＩ−Ｏｕｔフィールドに記録されていない場合は、前記外部機器のＩＰアドレスに対応する前記ＳＰＩ−Ｏｕｔフィールドを前記ＳＰＩに等しく設定すると共に前記内部のテーブルのＳＰＩ−Ｉｎフィールドをゼロに設定し、前記ソースＩＰアドレスを前記ゲートウェイの外部ＩＰアドレスに修正し、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行うステップを更に備えたことを特徴とする請求項８に記載のＩＰデータグラムの処理方法。
【請求項１０】
外部ネットワーク上の外部機器からのＩＰデータグラムをネットワーク変換ゲートウェイを介してローカルＩＰアドレスを用いるＬＡＮ上のローカル機器へ処理する方法であって、 前記ＬＡＮ上のローカル機器のローカルＩＰアドレスと、前記外部ネットワーク上の外部の機器の外部ＩＰアドレスと、前記ローカル機器のポートアドレスと、前記外部機器のポートアドレスと、ＳＰＩ−Ｉｎの値と、ＳＰＩ−Ｏｕｔの値と、留保されたポートアドレスと、留保されたポートアドレスのリストとを関連づけた複数のテーブルを保持するステップと、 データグラムを前記外部ネットワークから受信するステップと、 前記データグラムが暗号化されているか否かを判断し、前記データグラムが暗号化されていない場合は、前記データグラムの宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれているか否かを判断し、前記宛先ポートアドレスが留保されたポートアドレスのリストに含まれていない場合は、通常のアドレス変換を実行して前記データグラムを前記ＬＡＮに移し、前記ローカル機器へのルーティングと伝送とを行うステップとを備え、 前記宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれている場合は、前記宛先ポートアドレスが前記ローカルＩＰアドレスに接続されているか否かを判断し、前記宛先ポートが前記ローカルＩＰアドレスに接続されていない場合は、前記データグラムを捨て、 前記宛先ポートアドレスが前記ローカルＩＰアドレスに接続されている場合は、前記宛先ＩＰアドレスを前記ローカル機器の前記ローカルＩＰアドレスに修正し、前記宛先ポートアドレスと前記ローカルＩＰアドレスとの接続を解き、前記データグラムを前記ＬＡＮに移し、前記ローカル機器へのルーティングと伝送とを行うことを特徴とするＩＰデータグラムの処理方法。
【請求項１１】
前記データグラムが暗号化されている場合において、 前記データグラムのＳＰＩが前記複数の内部のテーブルの内の一つのＳＰＩ−Ｉｎフィールドに記録されているか否かを判断し、ＳＰＩが前記内部のテーブルの前記ＳＰＩ−Ｉｎフィールドに記録されている場合は、宛先ＩＰアドレスを前記ローカル機器の内部ＩＰアドレスに修正して前記データグラムを前記ＬＡＮに移し、前記ローカル機器へのルーティングと伝送とを行うステップを更に備え、 前記ＳＰＩが内部のテーブルの前記ＳＰＩ−Ｉｎフィールドに記録されていない場合は、前記外部機器のＩＰアドレスに対応する前記ＳＰＩ−Ｉｎフィールドがゼロか否かを判断し、前記ＳＰＩ−Ｉｎフィールドがゼロでない場合前記データグラムを捨て、 前記ＳＰＩ−Ｉｎフィールドがゼロである場合、前記ＳＰＩ−Ｉｎフィールドを前記ＳＰＩに修正し、前記宛先ＩＰアドレスを前記ローカル機器の前記ローカルＩＰアドレスに修正し、前記データグラムを前記ＬＡＮに移し、前記ローカル機器へのルーティングと伝送とを行うことを特徴とする請求項１０に記載のＩＰデータグラムの処理方法。
【請求項１２】
前記宛先ポートアドレスが、前記ローカル機器の前記ローカルＩＰアドレスに接続された場合、タイマを起動するステップと、 前記宛先ポートアドレスが解除された場合、前記タイマをリセットし、 前記タイマが作動中で且つ、前記タイマが起動した後予め決められた時間が経過した場合、信号を送信するステップを更に備えることを特徴とする請求項１１に記載のＩＰデータグラムの処理方法。
【請求項１３】
前記宛先ポートアドレスが、前記ローカル機器の前記ローカルＩＰアドレスに接続された場合、タイマを起動するステップと、 前記宛先ポートアドレスが解除された場合、前記タイマをリセットし、 前記タイマが作動中で且つ、前記タイマが起動した後予め決められた時間が経過した場合、信号を送信するステップを更に備えることを特徴とする請求項１２に記載のＩＰデータグラムの処理方法。
【請求項１４】
前記外部ネットワークがインターネットであることを特徴とする請求項１１又は１２に記載のＩＰデータグラムの処理方法。
【請求項１５】
前記ＬＡＮはバーチャルプライベートネットワークであることを特徴とする請求項１１又は１２に記載のＩＰデータグラムの処理方法。
【請求項１６】
機械で実行可能な複数のコードセクションを有し、ネットワークアドレス変換ゲートウェイを介して外部のネットワークにＬＡＮを接続するコンピュータプログラムを記憶した機械的に読み取り可能な記憶装置であって、 前記ゲートウェイは、前記ＬＡＮ上の機器により認識することができるローカルＩＰアドレスと、前記外部ネットワーク上の機器により認識することができる外部ＩＰアドレスとを有し、更に前記ＬＡＮ上のローカル機器のローカルＩＰアドレス、前記外部ネットワーク上の外部機器の外部ＩＰアドレス、ソースポートアドレス、宛先ポートアドレス、留保されたポートアドレス及び留保されたポートアドレスのリストの組み合わせを関連づけた複数の内部のテーブルを含み、 前記ＬＡＮローカル機器からのデータグラムを、前記外部ネットワーク上の外部の機器に、前記ＬＡＮ上のローカル機器からのデータグラムを前記外部ネットワーク上の外部機器へ伝送することを意図して受信することによって伝送することを試みるステップと、 前記データグラムの宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれているか否か及び前記宛先ポートアドレスは前記ローカル機器の前記ローカルＩＰアドレスに接続されているか否かを判断するステップと、 前記宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれていない場合は、前記データグラムに対する通常のアドレス変換を実行し、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行うステップと、 前記宛先ポートアドレスが前記留保されたポートアドレスのリストに含まれており、また、前記宛先ポートアドレスが前記ローカルＩＰアドレスに接続されている場合は、前記データグラムに対する通常のアドレス変換を実行し、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行うステップと、 前記データグラムの前記ソースＩＰアドレスを前記ゲートウェイの前記外部のＩＰアドレスに変更し、前記宛先ポートアドレスを前記ローカル機器の前記ローカルＩＰアドレスに接続し、前記宛先ポートアドレスと、前記外部機器の外部ＩＰアドレス間の連携を作り出し、前記宛先ポートアドレスが前記ローカル機器の前記ローカルＩＰアドレスに接続されていない場合は、前記データグラムを前記外部ネットワークに移し、前記外部機器へのルーティングと伝送とを行うステップとを前記マシンに実行させることを特徴とする記憶装置。
【発明の詳細な説明】
【０００１】
〈発明の属する技術分野〉
ＴＣＰ／ＩＰを用いたバーチャルプライベートネットワーキング（ＶＰＮ）は、インターネットを通信の媒体として用いることにより、離れた演算サイト間での、安全で高速の通信を可能にする。インターネットを横断してサイト間を通過する情報は、好ましくない盗聴者や、悪質なハッカーによる妨害に対して、種々のセキュリティ手段により守られるのが望ましい。効果的なセキュリティ手段は、少なくとも、次のような保護の内の何れか、または全てを保証する連携した機能でなければならない。上記の保護としては、不注意又は通過途中でのデータの悪質な修正に対抗できるデータの完全性、反反復手段によりサービス妨害攻撃の回避、ソース認証、通過時のソースアドレスと他のヘッダ情報の信頼性、好ましくない妨害に対するパケットペイロードプロテクションの保護などがある。インターネットの安全を与える一つの標準的なモデルは、インターネットプロトコルセキュリティであるＩＰＳｅｃである。ＩＰＳｅｃは、ＴＣＰ／ＩＰ通信プロトコルと協働し、インターネットに接続されている機器間、又はそれ自体がインターネットに接続されている私的なＬＡＮ（ローカルエリアネットワーク）に接続されている機器間の安全な通信を提供する。
【０００２】
〈従来の技術〉
ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルは、ネットワーク上の各機器を識別するためにＩＰアドレスを使用する。グローバルＩＰアドレスは、インターネット上の一つの機器を一意に識別する。そのような機器としては、コンピュータ、プリンタ、ルータ、スイッチ、ゲートウェイ、又は他のネットワーク機器を挙げることができる。グローバルＩＰアドレスを有する機器は、インターネット上でソース又は宛先として直接参照することができる。しかしながら、ＴＣＰ／ＩＰ通信プロトコルは、専らインターネットに限定されたものではなく、私的なＬＡＮにも同様に使用される。ＴＣＰ／ＩＰを用いる私的なＬＡＮは、しばしば「ローカル」なＩＰアドレスをネットワーク機器に使用する。私的なＬＡＮ上の二つの機器が、同じローカルＩＰアドレスを共有することはないが、私的ＬＡＮはインターネットから隔離されており、ＬＡＮ上のローカル機器はインターネットから不可視である。従って、ローカル機器のＩＰアドレスは、「グローバル」に唯一のものである必要がない。ローカルＩＰアドレスを用いているＬＡＮは、ゲートウェイを通してインターネットに接続される。ゲートウェイは、ＬＡＮとインターネットとの間でメッセージにフィルタをかけるか又は経路を決める機器である。ゲートウェイは直接インターネットに接続され、またインターネットから見ることができるため、ゲートウェイは、インターネットを横断して通信を行うために、グローバルに唯一のＩＰアドレスを持たなければならない。しかし、ＬＡＮはインターネットから直接見えないため、ＬＡＮ上のローカル機器はグローバルに唯一のものであるＩＰアドレスを要求しない。
【０００３】
ＴＣＰ／ＩＰはインターネット上で使用される通信プロトコルである。ＴＣＰ／ＩＰを用いて通信される情報は、「データグラム」に入れられる。データグラムは不連続な情報の「パケット」からなり、一又はそれより多くのヘッダが付加されている。ヘッダは、ＴＣＰ／ＩＰが、パケットを所望の宛先に導き、通過の際にその正しい取り扱いを保証するために必要とする情報を含んでいる。各データグラムは個別にアドレスを付けることができ、コネクション型ＴＣＰデータグラム或いは「コネクションレス」ＵＤＰ（User Datagram Protocol）データグラムである。各ＵＤＰデータグラムは、ＩＰヘッダと、ＵＤＰヘッダとを含んでいる。ＩＰヘッダは少なくとも「ソース」ＩＰアドレスと、「宛先」ＩＰアドレスとを含んでいる一方、ＵＤＰヘッダは、ソースアドレスと宛先サービスアドレス（番号で付与されるポートアドレス）とを含んでいる。ＩＰｖ４では、ＩＰアドレスは長さが３２ビットであり、現在よく知られているｘｘｘ．ｘｘｘ．ｘｘｘ．ｘｘｘのフォーマットに関連している。このフォーマットでは、各３桁の部分は８ビットの２進数であり、０と２５５の間の番号を表している。完全なＩＰアドレスは、ロジカルネットワーク又はネットワークセグメントのアドレスをネットワーク上の「ノード」（機器）のアドレスと結合する。ネットワーク又はネットワークセグメントのアドレスは、ＩＰアドレスの最初の３、６、又は９桁に含まれる。ネットワーク上又はネットワークセグメント上の機器は、ネットワーク又はネットワークセグメントのアドレスの中に、使用されることなく残っている桁からなるノードアドレスによって識別される。
【０００４】
ＵＤＰヘッダに含まれるソースアドレス及び宛先サービスアドレスは、１６ビットの数字で、「ポート」又は「ソケット」として種々知られており、送信又は受信の機器でアクティブな所望のプロセスにパケットを導くために使用される。用語「ポート」又は「ポートアドレス」は、ここで使用されているように、ＵＤＰヘッダ中のサービスアドレスフィールドに言及するものである。理論上は、１６ビットの数字で表されるアドレスの数だけのポートがあるが、慣例により多くのポートアドレスは確立したプロセスのために留保されている。従って、例えば、ポート８０はＨＴＴＰのために留保され、ポート２０及び２１はＦＴＰのために留保されている。ポートアドレスを使用することにより、一つ以上のプロセスを実施しているローカルマシンに到着したデータは、所望のプロセスに導かれる。ローカルホストで実行されるプロセスは留保されているプロセスではないため、ローカルホストは、留保されていないポート番号の群の中から何れかのポート番号を「ソース」プロセスを識別するために選択する。そのポート番号を「宛先」フィールドで言及している応答パケットは、該当するプロセスに導かれる。
【０００５】
過去１０年間のインターネットの爆発的な発展と、将来の予測される発展により、グローバルに唯一のＩＰアドレスは乏しい資源となってきた。更に、私的なＬＡＮを維持する多くのビジネスは、ＬＡＮ上の各コンピュータ及び機器がグローバルに唯一のＩＰアドレスを有する必要性を、ほとんど又は全く有しない。多くのそのようなビジネスは、少なくともそれらのコンピュータのＩＰアドレスの秘密性を維持することの方を望むであろう。各ローカル機器にグローバルに唯一のＩＰアドレスを与えることにより限られたグローバルな資源を浪費するよりむしろ、多くの私的ＬＡＮはＬＡＮ上の機器にローカルＩＰアドレスを使用している。インターネットに対する接続性のために、そのようなＬＡＮは、ＬＡＮをインターネットから切り離しているゲートウェイによってインターネット上で使用するべく、一つのグローバルに唯一のアドレスを用いている。
【０００６】
ネットワークアドレス変換（ＮＡＴ）技術を使用することで、ＬＡＮをインターネットから分離しているゲートウェイ機器は、ローカルのＩＰアドレスを有するマシンがゲートウェイのグローバルに唯一のアドレスを通してインターネットに接続することを可能にしながらファイアウォールとしてセキュリティを提供することができる。ＬＡＮ上の機器は、静的なローカルＩＰアドレスを有するか、またはログオン時に動的に割り当てられたローカルＩＰアドレスを有する。ゲートウェイは、ＬＡＮ上の各機器のローカルＩＰアドレスを具備する変換テーブルを保持する。ローカルマシンから送信され、インターネットに向けられたＵＤＰパケットは、ＩＰ及びＵＤＰヘッダのソースフィールドでそれぞれ特定されるローカルＩＰアドレスとポートアドレスを有する。ゲートウェイは、ローカルマシンからパケットを受信し、その外部のグローバルに唯一のＩＰアドレスと、新しいポートアドレス（使われていない、備蓄されていないポートアドレスの群から取得された）をＩＰ及びＵＤＰヘッダのソースフィールドに置き換える。次にＣＲＣ（Cyclical Redundancy Check）を更新し、データの完全性を保証するための他の必要な変更を行い、パケットをインターネットに送る。プロセスの一部として、ゲートウェイはローカルマシンのＩＰアドレスと、そのマシンからオリジナルに報告されたソースポートアドレスと、インターネットに接続されたパケットに割り当てられた新しいソースポートアドレスと、宛先のＩＰアドレスとを相互に参照するためのその内部の変換テーブルを更新する。インターネットから応答を受信すると、ゲートウェイはパケットのヘッダ中の自身のＩＰアドレスを認識し、入って来たパケットの宛先ポートアドレスを調査する。内部のテーブルに宛先ポートアドレスがあるときは、ゲートウェイは、相互参照されたローカルマシンのＩＰアドレスと、オリジナルポートアドレスとをパケットの宛先フィールドに置き換え、ＣＲＣと、他の必要なパラメータを更新して、パケットをＬＡＮに送り出す。パケットはローカルマシンによって受信され、適切なプロセスに導かれる。この方法で、ローカルＩＰアドレスのみを持つＬＡＮ上の多くのコンピュータが、一つのグローバルに唯一のＩＰアドレスを介して、インターネットを横断して通信することができる。
【０００７】
ＮＡＴゲートウェイはインターネットからのＬＡＮへの直接のアクセスに対し、ファイアウォールによるセキュリティを備えている。しかし、インターネットを通過するときのＬＡＮに対して意図された妨害又はパケットの修正に対するセキュリティは備えておらず、また、ＬＡＮ内で発生する問題に対する「信頼性」を保証するものではない。このように、ＩＰＳｅｃにより提供されるセキュリティは、インターネットと接続しているときにセキュリティを維持しなければならないＬＡＮにとって必要な防備である。
【０００８】
ＩＰＳｅｃの代表的な実行は、少なくとも一つの主演算サイトと、１またはそれより多くの遠隔地のＬＡＮからなるＶＰＮにセキュリティを提供することである。メインサイトと、遠隔地のＬＡＮとは、インターネットを横断して接続されている。サイト同士の通信には、かなり高価なリースされた私的回線の代わりに高速の媒体が用いられている。しかしながら、伝送媒体としてインターネットを使う場合の不利な点は、インターネットは本質的に不確かなものであり、詮索、探知、「茶化し」、根本的な窃盗、ハッカーによる修正や変更に対して、本質的に防備が少ししかないか、又は全くない。このように、信頼できるデータの伝送が得られる、総合的なセキュリティに対する要求がある。ＩＰＳｅｃプロトコルは、セキュリティ手段のデータの認証と、データの完全性とを確実なものにする。
【０００９】
ＩＰＳｅｃプロトコルの一組は、マルチレイヤＯＳＩ（Open System Interconnection）ネットワーク参照システムのネットワークレイヤのセキュリティを実行する。プロトコルは、インターネットを横断する情報ＵＤＰデータグラムのセキュリティを確実にする共に互いに使用される多くの分かれたプロトコルを含む。ＩＰｅｃに準拠したシステムの基本アーキテクチャは、ＲＦＣ２４０１「インターネットプロトコルのためのセキュリティアーキテクチャ」S.Kent及びR.Atkinson（１９９８年１１月）において説明されている。ＡＨ（Authentication Header）プロトコルはデータの完全性、ソース認証を確実にし、サービス拒絶攻撃を阻止する「反反復」手段を具体化する。ＥＳＰ（Encapsulation Security Payload）プロトコルは、ＡＨに類似した防備を提供するが、ペイロードの暗号化の追加的特徴を追加する。ＡＨ及びＥＳＰヘッダの双方は、セキュリティパラメータインデックス（ＳＰＩ）のフィールドを有する。ＳＰＩは、データグラムのためのセキュリティアソシエイション（ＳＡ）を確認するために使用される３２ビットの疑似ランダム値である。これらのプロトコルに関連するさらなる情報は、R.Atkinson（１９９５年８月）によるＲＦＣ１８２６「ＩＰ認証ヘッダ」及びＲＦＣ２４９６「ＩＰカプセル化セキュリティペイロード（ＥＳＰ）」S.Kent及びR.Atkinson（１９９８年１１月）に見出される。ISAKMP／Oakley（Internet  Security  Association and Key Manahgement Protocol、また通常インターネットキーイクスチェンジ−ＩＫＥ）は、二つのホストとセキュリティセッションのパラメータを作るハンドシェイクプロトコルであり、セキュリティセッションを実施するために使用されるキーイングと他のセキュリティ情報の交換を提供し、暗号化データの送信を認める。ISAKMP／Oakleyプロトコル（以後、単にISAKMPとする）は、暗号化されていないメッセージの最初の交換をし、両方のマシンに、認証が行われ、データの暗号化のための安全キーが生成される開始データが提供される。これらのプロセスの説明は、ＲＦＣ２４０９「インターネットキーイクスチェンジ」D.Harkins and D.Carrel（１９９８年１１月）に見られる。ホスト間に、セキュリティアソシエイション（ＳＡ）を充分に作るセキュリティパラメータが一旦交換されると、全ての後の送信は暗号化され、一致するプロトコルに従って、完全に認証される。その時、ISAKMPプロトコルは終了する。次のアドレス付けは、各マシンのＩＰアドレスと、そのセッションの前記マシンのＳＰＩとに基づく。ＳＰＩは、セッションの間、各マシンに特有のものである。私的ＬＡＮのためのゲートウェイは、内部テーブルを保持している。前記内部テーブルにおいて、「ＳＰＩ−ｉｎ」がローカルマシンのＩＰアドレスに対して相互参照された値中にあり、また、「ＳＰＩ−ｏｕｔ」がローカルマシンと通信するインターネット上のマシンのＩＰアドレスに対して相互参照される。各マシンのＳＰＩは、ISAKMPの送信の間に交換される情報から計算され、また、ＵＤＰパケットに付加されるＡＨ又はＥＳＰヘッダ中で運ばれる。ＩＰｅｃプロトコルは種々の環境においてセキュリティを提供するために入れ子になっているため、一つのデータグラムは、ＡＨ及びＥＳＰヘッダの両方を含み、いくらかのヘッダ情報を暗号化する。
【００１０】
先の各セキュリティプロトコルは、ＵＤＰパケットをパケットに新しいヘッダ情報を置くことで修正し、パケット中の何れかのフィールドを、使用されたプロトコルに一致するように修正し、場合によっては、ペイロードと、全ての又は一部の他のパケットヘッダとを暗号化する。このように、ＩＰＳｅｃの下で、ＵＤＰのデータグラムが信用できないネットワークを通過するために「安全な」ドメインを残すとき、ＵＤＰデータグラムは通常ＩＰヘッダ、ＡＨ又はＥＳＰヘッダ（あるいは両方）、そしてカプセル化したペイロードよりなる。ヘッダの情報は、宛先アドレス、ＳＰＩ、データグラムがその宛先に届き、宛先ホストに認証されることができると保証するに十分なＳＡ情報を含む。ペイロードのカプセル化は、ペイロードに含まれる情報が悪質な盗聴者とハッカーを拒絶することを保証する。データグラムの最初の宛先ホストは、ルータ、ゲートウェイ又はＬＡＮと、インターネットとの間のファイアウォールである。ＬＡＮと、インターネットとの間の境界の機器に到着すると、全体又は部分が調査又は復号化される。そしてデータグラムが開かれ、更なるアドレス情報のために分析され、ＬＡＮ上のローカルＩＰアドレスに送られる。
【００１１】
ＩＰＳｅｃで使用されたISAKMPハンドシェイクプロトコルは、両方のホストに、それらの間に、最初のメッセージの交換のためのプロセス特有のポートアドレス（ポート５００）を用いた安全セッションを作ることを意図することを要求する。この理由で、ポート５００は、ISAKMPプロトコルで、排他的に使用するものとして割り当てられて来ている。慣例により、ISAKMPプロトコルにより安全な通信パラメータを流通させようとするコンピュータは、それぞれのコンピュータのポート５００を通して厳密に通信しなければならない。即ち、どちらのコンピュータからのISAKMPメッセージも、ポート５００をソース及び宛先アドレスの両方として認識しなければならない。どちらかのコンピュータが、ポート５００が、ソース及び宛先の両方として特定されないパケットを受信すると、パケットは捨てられる。
【００１２】
このプロトコルは、２つのホストが互いに通信しているとの保証を提供するため、１つのホストがローカルＩＰアドレスとＮＡＴゲートウェイとを用いるＬＡＮ上に位置するとき、実行不可能になる。例えば、遠隔地のＬＡＮで、ＮＡＴゲートウェイで守られているローカルＩＰアドレスを有し、ホストＢと共に安全セッションを作ろうとしているホストＡは、メインオフィスの演算サイトに位置している。ホストＡは、ホストＢに暗号化されていないＵＤＰデータグラムを、「宛先」をホストＢのＩＰアドレスとして、また、宛先アドレスを「ポート５００」として送ることによりプロトコルを開始する。しかしながら、データグラムが、遠隔地のＬＡＮをインターネットに接続しているＮＡＴゲートウェイに到着したとき、ゲートウェイは、宛先ポートアドレスを任意のポートアドレスに変換する。ホストＢへのデータグラムの到着によって、ISAKMPプロトコルは認識されずホストＢは応答しない。コンピュータは安全セッションを作ることができなくなる。この困難性のため、ISAKMPプロトコルは、遠隔ＬＡＮ上の各コンピュータが、グローバルＩＰアドレスよりむしろローカルＩＰアドレスを用いるＮＡＴゲートウェイを用いてＶＰＮを作るために用いることができないと従来信じられて来た 。
【００１３】
従って、ISAKMPプロトコルの認証の使用と、非グローバルＩＰアドレスを有するコンピュータと、ホストコンピュータとの間のキー交換を可能にするインターネットを伝送媒体として使用するゲートウェイを提供することが、本発明の目的である。
【００１４】
ローカルＩＰアドレスを使用している私的ＬＡＮ上の何台のコンピュータに対してもISAKMPプロトコルを用いてインターネットを介してメッセージを開始し、または受信することを可能にするゲートウェイを提供することは、本発明の更なる目的である。
【００１５】
インターネット上の２またはそれより多くのＬＡＮサイト間のバーチャルプライベートネットワークを、安全な通信を開始するISAKMPプロトコルを用いて使用する方法を提供することは本発明の他の目的である。
【００１６】
以降の説明により、本発明の種々の目的が明らかとなるであろう。
【００１７】
〈発明の開示〉
本発明に基づき、ＮＡＴゲートウェイを介してインターネットのような外部のネットワークに接続されている遠隔地のＬＡＮのローカルＩＰアドレスを用いているコンピュータは、ISAKMPプロトコルをキーを交換し、ＩＰＳｅｃの下で安全セッションを支持するＳＡを作るために使用する。非−ISAKMPトラヒックのためにゲートウェイは、通常のアドレス変換を実行する。しかしながら、ＬＡＮ上のマシンが、ISAKMPプロトコルメッセージを発したときはいつでもゲートウェイは、ポートアドレスポート５００を含むデータグラムを認識する。そのようなデータグラムに出会うと、ゲートウェイはソースＩＰアドレスを変換するが、ソースポートアドレスは変換せず、ソースアドレスをポート５００に留め、パケットをポート５００をソース及び宛先ポートアドレスとしてインターネットに送り出す。ゲートウェイは、また、内部のテーブルをポート５００をローカルＩＰアドレスに「接続」するために更新し、その接続を宛先マシンの外部アドレスと、予め決められた時間の間関連づける。予め決められた有効な応答がない場合は、ポート５００とローカルＩＰアドレス間の「接続」は解除される。この特徴は、ポート５００が例えばISAKMPプロトコル送信が不正確な宛先ＩＰアドレスへ開始されるような状況において、無期限に一時停止しないことを保証するために必要である。そのような状況の下では、ゲートウェイは、有効な応答を受信することはない。有効な応答が受信されない期間の後にポート５００を解除するタイマがなければ、ポートはゲートウェイがリセットされるまでローカルＩＰアドレスに接続されたままになる。ほとんどの状態では、２秒間の時間は有効な応答を待つ間ポート５００とローカルＩＰアドレス間の接続を維持するために充分な長さである。
【００１８】
ポート５００がローカルＩＰアドレスに接続されている間、ゲートウェイは有効な応答を待つ間ポート５００が、ポートアドレスを持つことなくデータグラムの通常のデータグラム処理を続けて行う。有効な応答は、ポート５００と関連づけられている外部ＩＰアドレスと同じソースＩＰアドレスを有するデータグラムであり、ソース及び宛先ポートアドレスをポート５００とする。有効な応答を待つ間、ゲートウェイはポート５００ソースと宛先ポートアドレスとを有するが、適切なソースＩＰアドレスを有しない外部のネットワークからの他のＵＤＰデータグラムは無視する。また、ポート５００が、ローカルＩＰアドレスに接続されている間、ポート５００のソース及び宛先ポートアドレスを有するＬＡＮから受信したデータグラムは、ポート５００ソースポートアドレスが、外部ネットワークに送られる前の任意なものへ変換される「通常の」アドレス変換を受ける。そのようなデータグラムは、ポート５００のソース及び宛先アドレスを有していないので、有効なISAKMPデータグラムではなく、ＩＰ宛先に到着したときに無視される。ポート５００をローカルＩＰアドレスに接続する期間が有効なデータグラムがゲートウェイに受信されることなく経過すると、接続は解除され、ポート５００はポート５００をソースと宛先ポートアドレスとする次のデータグラムが使用できるようになる。
【００１９】
ポート５００が接続されているので、ポート５００のソース及び宛先ポートアドレスと、カレントソースＩＰアドレスとを有する有効な応答データグラムを受信すると、ゲートウェイはデータグラムをローカルマシンのＩＰアドレスをデータグラムのヘッダの宛先ＩＰアドレスフィールドに置き換える処理をし、データグラムをローカルマシンへ送り出すためにＬＡＮに通過させる。データグラムがゲートウェイを離れるとき、ゲートウェイはローカルＩＰアドレスとポート５００の間の接続を解除し、通常のデータグラム処理を開始する。
【００２０】
ポート５００の適切なソースＩＰアドレスとポートアドレスとを有する応答が外部ネットワークから受信できないときはゲートウェイは、短い、予め決められた時間の経過後時間切れとなる。ゲートウェイが有効な応答が受信される前に時間切れになると、ISAKMPメッセージ交換は完了することができず、再開されなければならない。
【００２１】
一旦、ISAKMPプロトコルが完了し、暗号化された安全セッションが進行中であると、ゲートウェイは、入って来るデータグラムと、出て行くデータグラムのＥＳＰヘッダ中のＳＰＩを参照し、ローカルアドレス変換を果たす。ゲートウェイはまた、各パケットタイプ（ＥＳＰパケットはタイプ５０）がゲートウェイを通過するデータグラムに対して正しいことを保証する。時々、ＶＰＮを横断する安全セッションが妨害され、或いは新しいセッションが始まることがある。ゲートウェイのこのことについての最初の兆候は、ＩＰアドレスは認識されるが、宛先と関係付けられているＳＰＩはその内部のテーブルに現れないタイプ５０データグラムの受信である。このことが起きると、ゲートウェイは、データグラムを新しいＳＰＩを用いて宛先ＩＰアドレスへ送り出し、また、そのテーブル中の宛先ＳＰＩの値（ＳＰＩ−ｉｎ又はＳＰＩ−ｏｕｔ、送信の方向による）を新しい値にして、ソースＳＰＩの値をゼロにする。送信に対する応答を受信すると、ゲートウェイは、ＳＰＩフィールドのテーブルのゼロを宛先ＩＰアドレスの新しいＳＰＩで置き換える。
【００２２】
本発明のゲートウェイは、メッセージを暗号化したり、復号したりせず、単にペイロード（暗号化されたり、復号されたりする）を、ＬＡＮまたはインターネットへ受信するマシンでの処理のために通過させるため、強い処理機能は求められず、費用と、準備の簡単さと、メンテナンスが、考慮すべき事項である私的ＬＡＮで用いられる。
【００２３】
〈発明を実施する場合の最良の形態〉
図１は、バーチャルプライベートネットワーク（ＶＰＮ）を示し、プライベートローカルエリアネットワーク（ＬＡＮ）１０は、インターネット５０に接続されている演算サイト３０に接続されている。ＬＡＮ１０は、ローカルＩＰアドレスを用いており、インターネットに対して本発明２０のネットワークアドレストランスレーション（ＮＡＴ）ゲートウェイ２０を介して接続されている。演算サイト３０は、事業の本拠、或いは多国籍企業に使用されるプライベートＬＡＮの一つ、或いは教育施設、或いは遠隔地から頻繁にアクセスされる他のサイトとすることができる。そのようなサイトは、通常、常時機能する暗号化アプリケーション及び他のセキュリティーアプリケーションが利用できるファイアウォールまたはゲートウェイ３５を有している。そのようなゲートウェイは、パケットを開き、復号化するか、そうでなければその内容にアクセスし、またアドレストランスレーション、ルーティング、反カプセル化、それにデータマニピュレーション機能を実施する。そのような機器は、ISAKMP及び他のＩＰＳｅｃプロトコルをサポートできる一方、それらは、パケットを開き、復号化し、データのマニピュレーションを行うことにより、前記サポートを行うので、メインの演算サイトでＶＰＮを立ち上げる必要のある遠隔地のＬＡＮサイトで効果的に用いられるには全般に高価過ぎ、また強力過ぎる。
【００２４】
メインサイトのサーバ４０は、ＶＰＮサーバソフトウェアを実行する。遠隔地のサイトのコンピュータ１５は、それぞれのコンピュータでＩＰＳｅｃのセキュリティプロトコルを実行する適切なＶＰＮクライアントソフトウエアをそれぞれ実行する。
【００２５】
ＬＡＮ１０上のコンピュータ１５は、ゲートウェイ２０を介して、演算サイト３０のサーバ４０にＩＰデータグラムを送信することによりインターネット上の、又はインターネットが介在する機器と通信する。
【００２６】
ゲートウェイ２０で受信されたデータグラムは、図２及び図３に示した決定チャートに基づいて処理される。図２及び図３のフローチャートは、共に処理のステップと、ステップの順序とを示しているが、いくつかの機能を実行する順序は重要ではなく、いくつかのステップは、最終の結果には影響を与えずにフローチャートに示された順序とは別の順序で実施することができる。例えば、図２及び図３は、データグラムがゲートウェイによって受信された後の最初のステップはデータグラムのタイプを決定するものであるが、最後のステップは、データグラムがゲートウェイを通過する前に必要なＩＰアドレス変換を実行することを示す。しかしながら、いくつかの実施形態は、アドレス変換のステップをプロセスの中のどこか早い場所に置くことができ、このことは、プロセスの結果に影響しない。ＩＰアドレスの変換の順序はプロセス全体に対して重大な意味を持つものでないため、いつ変換を行うべきかを決めることは、技術上の選択の問題である。
【００２７】
図２に示すように、ＬＡＮからデータグラムを受信すると、ゲートウェイはデータグラムが暗号化されているかどうかをチェックする。このことは、ＩＰヘッダ中の「次のヘッダ」フィールドをチェックして、それが係わっているデータグラムのタイプを判断し、データグラムが暗号化されたか否かを知ることにより行われる。データグラムのタイプ５０（ＥＳＰ）は、データグラムは暗号化され、ポートアドレス情報は得られないことを示す。
【００２８】
図２のツリーを抜け、データグラムが暗号化されていると、ゲートウェイは、データグラムのＳＰＩチェックして、ＳＰＩがゲートウェイの内部のテーブルのＳＰＩ−ｏｕｔフィールドに現れるか否かを知る。そのようなテーブルの代表的なフィールドを図５ａ乃至５ｃに示す。データグラムのＳＰＩが内部のテーブルのＳＰＩ−ｏｕｔフィールドにあった場合、ゲートウェイはデータグラムのソースＩＰアドレスをゲートウェイの外部のＩＰアドレスであるように変更し、データグラムを、外部の機器に伝送するために外部のネットワークに送る。
【００２９】
データグラムが暗号化されてもＳＰＩがゲートウェイの内部のテーブルに現れない場合は、図２の決定チャートに基づき、ゲートウェイは、データグラムが新たな動作を開始したと推測する。この場合は、ゲートウェイは内部のテーブルのＳＰＩ−ｉｎフィールドをゼロ（０）とし、データグラムから、ＳＰＩ−ｏｕｔを新しいＳＰＩとする。内部のテーブルに対するこれらの変更は、図５ａ及び図５ｂに反映しており、図５ａ中のゲートウェイの内部のテーブルのＳＰＩ−ｏｕｔフィールドに現れない「新しい」ＳＰＩ（「１４６６２」）がＳＰＩ−ｏｕｔフィールドに入っているように示され、ＳＰＩ−ｉｎは、図５ｂでゼロ（０）に設定されている。暗号化されたデータグラムは、ソースＩＰアドレスがローカルの機器のそれから変換された後、ゲートウェイの外部のＩＰアドレスに送られる。これらのステップは、図５ｂ及び図５ｃに示されれている。
【００３０】
図２の決定チャートによると、データグラムが暗号化されていない場合、ゲートウェイは次にデータグラムのデスティネイションポートアドレスのチェックを行う。ポートアドレスがＰｏｒｔ５００以外のときは、ゲートウェイはソースポートアドレスをその内部のテーブルに入れ、（ローカル）ソースＩＰアドレスと横断的に参照し、そして、任意に、使用されていないポートアドレスをＩＰヘッダのソースアドレスフィールドに置き換える。その内部のテーブルにまた、新しいポートアドレスが入り、再び（ローカル）ソースＩＰアドレスと横断的に参照される。このプロセスは、暗号化されていない、Ｐｏｒｔ５００を有しないデータグラムをポートアドレスとして使用するもので、ＬＡＮ上で始まるデータグラムのための「ノーマルアドレス変換」として参照されるべきである。これらの変換は、図６の列１と列２に示されている。データグラムは、目的のＩＰアドレスに向かって経路をたどるようにインターネットに向けて発信される。
【００３１】
図２では、入力されるデータグラムのソースと、目標ポートアドレスはＰｏｒｔ５００であり、ゲートウェイは次に、Ｐｏｒｔ５００が既にＩＰアドレスと接続されているか否かを知るためにテーブルをチェックしなければならない。Ｐｏｒｔ５００に何も接続されていない場合は、ゲートウェイは、Ｐｏｒｔ５００をデータグラムの（ローカル）ソースＩＰアドレスに「接続」し、ポートと、（外部の）目的ＩＰアドレスとの間に関連性を作り出し、そして内部タイマをスタートさせる信号を送る。ゲートウェイもまた、ソースＩＰフィールドにおいて、データグラムをゲートウェイの外部ＩＰアドレスをローカルＩＰアドレスに置き換える処理を行う。しかし、前記処理はソースポートアドレスは変換しない。ソースポートアドレスの「通常」の変換を一時的に中断することで、ゲートウェイは目的の機械がデータグラムがISAKMPデータグラムであることを認識することができることを保証する。これらのステップはまた、図６の列５及び列６に示されている。
【００３２】
図２は、ＬＡＮからの入力データグラムがソースアドレスとＰｏｒｔ５００の目的ポートアドレスを有しているが、Ｐｏｒｔ５００が既に他のいずれかのローカルＩＰアドレスと接続されており、ゲートウェイは、Ｐｏｒｔ５００を処理されているメッセージに接続できない場合である。この場合、ゲートウェイはデータグラムをそれがISAKMPデータグラムでないかのように「通常」の処理を行う。即ち、データグラムのソースポートアドレスを任意の番号に変換し、ソースＩＰアドレスをゲートウェイの外部のＩＰアドレスに変換する。ゲートウェイは、データグラムをインターネットに送るが、ISAKMPデータグラムに従わないため目標によって拒絶される。このことは、図７の列１５及び列１６に示されている。
【００３３】
図３に、ステップの概略を示す決定チャートが示されており、ゲートウェイは、インターネットより受け取ったデータグラムの処理に追従する。データグラムを受け取ると、ゲートウェイは、最初にタイプをチェックし、データグラムが暗号化されている場合は、ＳＰＩがその内部のテーブルに現れているか否かをチェックする。ＳＰＩが承認されると、その目標のＩＰアドレスはローカル機器のＩＰアドレスに変換され、データグラムはＬＡＮに送られてローカル機器に伝えられる。ＳＰＩが承認されないときは、ゲートウェイは、次に、データグラムのソースＩＰアドレスに対応するそのＳＰＩ−ｉｎフィールドがゼロ（０）であるか否かをチェックする。ＳＰＩ−ｉｎがゼロの場合は、ゲートウェイは、データグラムは新しい動作の最初の応答であるとみなし、また、ＳＰＩ−ｉｎフィールドのゼロをデータグラムのＳＰＩに置き換える。ゲートウェイは、目標のＩＰアドレスをＬＡＮ上の機器のローカルＩＰアドレスに変換し、データグラムを伝えるために、ＬＡＮに送る。このことは、図５ｂ及び図５ｃに示されている。図５ｂでは、ローカルマシンＬ−１のＳＰＩ−ｉｎは、ゼロに設定されている。ゲートウェイが、３２８８のＳＰＩを有するインターネットからデータグラムを受け取ると、ゲートウェイは、ＳＰＩ−ｉｎフィールドにＳＰＩがあることを見つけることがない。ゲートウェイは、次にＳＰＩ−ｉｎフィールドがゼロの値を保持しているか否かをチェックする。ローカルマシンＬ−１に対するＳＰＩ−ｉｎがゼロであることを確認すると、ゲートウェイは前記ゼロをデータグラム（「３２８８」）のＳＰＩに置き換え、データグラムをＬＡＮに送る。このことは、図５ｃに示されている。
【００３４】
図３において、インターネットからのデータグラムが暗号化されていない場合、ゲートウェイはそれがポートアドレス５００を有しているか否かをチェックする。有していないときは、データグラムは外部のネットワークから、「通常」のデータグラムのアドレス変換を受けるが、これはＬＡＮ上の機器のローカルポートアドレスとローカルＩＰアドレスがデータグラムの目標のフィールドに置き換えられることであり、データグラムは、伝送のためにＬＡＮに送られる。このインターネットからのデータグラムのための「通常」のアドレス変換は、図６の列３及び列４に示されている。
【００３５】
再び図３に言及すると、データグラムがポートアドレス５００を有している場合、ゲートウェイは次に、Ｐｏｒｔ５００はローカルＩＰアドレスに接続されているか否か、また、データグラムの（外部の）ソースＩＰアドレスと関連づけられているか否かをチェックする。上記データグラムが正当なものであるときは、目標のＩＰアドレスが、外部のゲートウェイのそれからローカル機器のＩＰアドレスに変換された後、ＬＡＮに送られる。データグラムをＬＡＮに送ると、ゲートウェイはＰｏｒｔ５００を解除する。
【００３６】
図３でＰｏｒｔ５００がローカルＩＰアドレスに接続され、データグラムのソースＩＰアドレス中のもの以外の外部のＩＰアドレスと関連づけられていると、データグラムは有効なものではなく、ゲートウェイにより更に処理されることがない。このことは、図７の列２５乃至３１に示されている。列２５と列２６において、ローカルマシンＬ−１は、目標Ｔ−１にISAKMPデータグラムを送る。ここで、Ｐｏｒｔ５００は、ローカルマシンＬ−１のＩＰアドレスに接続されており、また、目標Ｔ−１のＩＰアドレスと関連づけられている。しかし、図７に示すように、タイマは、ゲートウェイがＴ−１からの応答を受ける前に時間切れとなり、列２７において、Ｐｏｒｔ５００は解除される。列２８及び列２９において、ローカルマシンＬ−３は、目標Ｔ−３にISAKMPデータグラムを送り、Ｐｏｒｔ５００とＬ−３のＩＰアドレスを接続し、またＴ−３のＩＰアドレスとの関連づけを作り出す。Ｐｏｒｔ５００が接続されている間、応答はＴ−１より受信される。しかしながら、Ｐｏｒｔ５００は接続されており、Ｔ−３のＩＰアドレスと関連づけられているため、Ｔ−１よりの応答は捨てられる。このことは、図７の列３０及び列３１に示されている。
【００３７】
図５ａ乃至５ｃは、ローカルコンピュータと、目標との間の暗号化されたインターネット上の通信のためのＩＰアドレス及びＳＰＩ番号が保持されているゲートウェイの内部のテーブルを示す。フィールドＬ−１、Ｌ−２、Ｌ−ｘ、及びＴ−１乃至Ｔ−３は、参照の便のために含まれており、ゲートウェイの内部のテーブルには現れない。図５においては、フィールド「ＳＰＩ−ｏｕｔ」は、ＬＡＮ上の特定のコンピュータに対する安全セッションの間、ＳＰＩを各目標マシンに対して保持する。ＳＰＩ−ｉｎフィールドは、ローカルコンピュータによって、承認されたデータグラムを表していると認められる、対応するＳＰＩを与える。図５ａは、開始時のテーブルを示す。８台のローカルコンピュータが、Ｔ−１乃至Ｔ−３の３つの目標と共に、テーブルのデータの寿命内において、暗号化されたセッションに加わっている。このことは、各ローカルマシンがそのＩＰアドレスと関連づけられているＳＰＩ−ｉｎを示しているという事実により説明される。前記テーブルには、３つの目標のみが示されているが、各目標は、各ローカルマシンとの通信のために、異なるＳＰＩ−ｏｕｔを用いていることが分かる。この方法で、目標はどのソースから暗号化データグラムが生成されたかを知る。
【００３８】
図５ｂは、図５ａと同一のローカルコンピュータと、目標コンピュータを示す。ここで、しかしながら、Ｌ−１とＴ−１との間のセッションのＳＰＩ−ｏｕｔは新規のＳＰＩであり、コンピュータ間の新しいセッションを示している。ゲートウェイの、新規のセッションが実行されているとの最初の表示は、暗号化されたデータグラムのＳＰＩ「１４６６２」（そのテーブル中にない）を有するＬＡＮからの受信である。ゲートウェイは、データグラムをインターネットに転送するが、また、そのデータグラムのためのソースと、宛先ＩＰアドレスとに関連づけられているＳＰＩ−ｏｕｔフィールドに新しいＳＰＩを入れるテーブルの修正を行う。そこではまた、ＳＰＩ−ｉｎフィールドに、新規のＳＰＩ−ｉｎもまた予測されることを表示するマーカーとしてゼロを入れる。図５ｃは、新しいＳＰＩ「３２８８」は、Ｔ−１から受信されたデータグラムに含まれていたことを示している。そのＳＰＩは、ゲートウェイのＳＰＩ−ｉｎフィールドに入力されてきたものであり、このセッション中のＬ−１とＴ−１との更なる通信は、これらのＳＰＩをメッセージの認証を使用する。
【００３９】
図６は、インターネット上の遠隔地の目標と連絡するＬＡＮ上の一つのコンピュータによる、本発明に係るゲートウェイを通過した代表的なデータグラムの流れを示している。テーブルの各列は、ＬＡＮをゲートウェイに接続するか、またはインターネットをゲートウェイに接続するかのデータグラム中の情報を表している。連続した列は、ゲートウェイに一つの側から入り、他の側からゲートウェイから出るデータを表す。ゲートウェイは、ＬＡＮとのインターフェイスにおいて、ローカルＩＰアドレスである一つのＩＰアドレスを、インターネットとのインターフェイスにおいてグローバルＩＰアドレスを有する。図６の縦行は、データグラムが通るゲートウェイの側面、データグラムのタイプ、データグラムのソースＩＰアドレスとポートアドレス、データグラムの宛先ＩＰアドレスとポートアドレス、及び暗号化されたタイプ５０のデータグラムのためのＥＳＰ（カプセル化セキュリティペイロード）プロトコルを用いたデータグラムのセキュリティパラメータインデックス（ＳＰＩ）を示す。
【００４０】
図６の列１は、ゲートウェイのローカルインタフェイスに届いた、また、ローカルコンピュータＬ−１に対応したソースＩＰアドレスを有するＵＤＰデータグラムと、インターネット上の目標Ｔ−１の宛先ＩＰアドレスを示す。読みやすくするため、図４は、ローカルの記号表示Ｌ−１からＬ−３及び目標の記号表示Ｔ−１からＴ−３を相互に参照したＩＰアドレスのテーブルを提供する。Ｌ−１のソースポートアドレスはＰｏｒｔ６４０４であり、目標の宛先ポートはＰｏｒｔ８０である。データグラムは、暗号化されておらずまた、ポート番号５００は表示されないため、「任意」のポートアドレスであるＰｏｒｔ１０４２５がソースポートアドレスフィールドに置き換えられ、ゲートウェイの外部のＩＰアドレスがデータグラムのソースＩＰアドレスに置き換えられる通常の変換を受ける。変換されたソースポートアドレスは「任意」とされているが、通常は次の手順において、ゲートウェイにより維持された、予約されておらず、また現在使用されていないポートアドレスの蓄えの中から取られる。
【００４１】
データグラムがゲートウェイから出たとき、図６の列２に示すように、ゲートウェイのアドレス変換機能は、ゲートウェイの外部ＩＰアドレスをソースＩＰアドレスのデータグラムヘッダに置き換え、ソースポートに任意の番号を与えている。列３と列４は、目標からの応答データグラムを示す。列３では、目標からのＵＤＰデータグラムは、宛先ＩＰアドレスをゲートウェイの外部ＩＰアドレスとして、宛先ポートをゲートウェイにより任意に割り当てられたポートアドレスとして表示する。データグラムは暗号化されておらず、またポートアドレス５００を有しないため、データグラムは通常の宛先ポートアドレスとＩＰアドレスの変換を受け、ＬＡＮに送信される。列４において、ゲートウェイは、ローカルコンピュータのヘッダの宛先フィールド中のローカルＩＰアドレスと、ポートアドレスとを、データグラムをＬＡＮに送信する前に置き換えている。
【００４２】
図６の列５において、ローカルコンピュータは、目標と共にＳＡＫＭＰプロトコルを開始する。データグラムのタイプは、ＩＳＡＭＰとして示されている。ソースアドレスと宛先ポートアドレスは、共にポート５００である。ゲートウェイが宛先ポートアドレスをポート５００と決定すると、ポート５００がその時何れかのＩＰアドレスに接続されているか否かがチェックされる。上記チェック結果は否であるので、ゲートウェイは、データグラムを通過させ、ソースＩＰアドレスフィールドのみを、ゲートウェイの外部ＩＰアドレスを示すために変換するが、ソースポートアドレスは変更しない。
【００４３】
図６で、列５乃至列１６は、完全に暗号化され、認証されたデータグラムを支持するためのＳＡｓ（セキュリティアソシエイションズ）を確立するために必要な、６つの標準のISAKMP「ハンドシェイク」のデータグラム交換を示す。ISAKMPのいくつかのモードは、より少ない交換を使用するが、主なモードは図６に示されている。ＳＡｓの確立に続いて、ローカルコンピュータと目標とは、ＥＳＰプロトコルで暗号化されたデータグラムを用いて通信を開始する。ここで、データグラムの妥当性は、データグラムのヘッダのＳＰＩフィールド中でセキュリティパラメータインデキシング（ＳＰＩ）番号を用いることで保たれる。各ホストは、データグラムがそのＳＰＩに「アドレスされた」ことを認識し、ＳＰＩは、セッションの間、ホスト間の相互の同意により、連続的なセキュリティを確保するための修正がされうる。データグラムのソースＩＰアドレスがゲートウェイの外部ＩＰアドレスに変換されても、暗号化されたデータグラムが、図６の列１７及び列１８に示すように、ゲートウェイを通過するとき、ソースも宛先ＳＰＩもゲートウェイにより修正されることがない。
【００４４】
このように、暗号化されたデータグラムがゲートウェイにより受信されたとき、タイプ５０のデータグラム（ＥＳＰ）により示される。そのデータグラムタイプが出会うと、ゲートウェイは、データグラムのセキュリティパラメータインデックス（ＳＰＩ）を、そのＳＰＩがその初期の内部のテーブルに記録されているか否かをチェックする。記録されているときは、必要に応じて、ゲートウェイはデータグラムのソースまたは宛先ＩＰアドレス翻訳し、送信の指示に従ってデータグラムをＬＡＮまたはインターネットに送信する。しかし、ＬＡＮよりのデータグラムのＳＰＩがゲートウェイの内部のテーブルに現れず、また、ソースと宛先が承認されたＩＰアドレスであるときは、ゲートウェイは、新しいセッションが始まったと推測する。この場合、それはデータグラムを外部のネットワークに、新しいＳＰＩをそのままにして通過させるが、その内部のテーブルの「ＳＰＩ−ｏｕｔ」フィールド中の新しいＳＰＩを記録し、「ＳＰＩ−ｉｎ」フィールドにゼロを入れる。列２５及び列２６において、新しいＳＰＩが現れており、新しいセッションを示していることが認められる。このことは、「ＳＰＩ−ｉｎ」フィールドの「０」が新しいＳＰＩ−ｏｕｔの「１４６６２」に対応している図５ｂに対応する。列２７及び列２８において、外部のネットワークからの応答パケットは、「古い」ＳＰＩ「９８０２」が「新しい」ＳＰＩ「３２８８」に置き換えられていることを示す。
【００４５】
図７は、図６に対し、ＬＡＮ上の、Ｌ−１、Ｌ−２及びＬ−３で示される３台のコンピュータと、インターネット上で独自のグローバルＩＰアドレスを有する３つの目標との間の、データグラムの本発明に係るゲートウェイを通る通過を示している点を除いて類似している。図４に、参照の便のために、これらの機器のＩＰアドレスを含むテーブルが示されている。図７に示すように、「Ｌ−１  Ｏｕｔ」で示される送信は、ローカルコンピュータＬ−１からゲートウェイへの送信を表す。「Ｔ−１  ｉｎ」は、ゲートウェイから目標Ｔ−１への送信を表す。「Ｔ−１  ｏｕｔ」は、目標Ｔ−１からゲートウェイへの送信を表し、「Ｌ−１  ｉｎ」はゲートウェイからコンピュータＬ−１への送信を表す。
【００４６】
図７の列１乃至列８に示すように、コンピュータＬ−１及びＬ−２は、目標Ｔ−１及びＴ−２と、「暗号でない」通信を行う。列９で、Ｌ−１はＴ−１と共にISAKMPセッションを開始する。列９乃至列１４は、ISAKMPプロトコルの間、Ｌ−１とＴ−１間で交換される最初の３つのメッセージを示す。列１５で、コンピュータＬ−３は、ISAKMP−１のＴ−３とのメッセージ交換を開始する。しかし、そのときポート５００は、Ｌ−１と接続され、Ｔ−１のＩＰアドレスと関連付けられ、Ｔ−１からのISAKMP−４の応答の待ち受けをしている。この状況において、Ｌ−３からのデータグラムは、ポート５００を結び付けることができず、そのソースポートアドレスが変換される。従って、Ｌ−３は、列１５で始まった送信を完遂することができない。
【００４７】
従って、列１７乃至列１８において、Ｔ−１の応答（ISAKMP）はゲートウェイで受信されてＬ−１に送信され、ポート５００は直ちに使用可能になる。このように、Ｌ−３が列１９でISAKMP−１送信を再行したとき、送信は成功する。
【００４８】
図７の列１９乃至列２０で、Ｌ−３のISAKMP−１送信は、ポート５００をＬ−３のＩＰアドレスと接続する。このように、列２１乃至列２２でＬ−１がそのISAKMP−５送信を試みるとき、ポート５００は使用できず、ゲートウェイは単に宛先ポートアドレスをポート５００から「任意」のポート番号（本例では「９０６３」）に変換し、データグラムをインターネットに送る。ここで、目標Ｔ−１は、それをISAKMPデータグラムとして認識しない。しかし、列２３乃至列２４でＬ−３がポート５００を解除した後、Ｌ−１の、そのISAKMP−５送信を送る次の試みはＴ−１によりうまく受信される。しかし、Ｔ−１の応答は遅く、列２７でポート５００は、そのＬ−１への接続が解除され、列２８乃至列２９で直ちにISAKMP−３送信のためにＬ−３によって取り込まれる。このように、Ｔ−１のISAKMP−６応答がゲートウェイに到着したとき、列３０と、列３１とに示すように、ポート５００はブロックされ、データグラムは無視される。従って、Ｌ−１は、そのISAKMP−５に対する応答を受けることなく、列３４乃至列３５でそれを再送信し、Ｔ−１からの応答が列３６乃至列３７で受信される。それらのISAKMPハンドシェイクに従い、Ｌ−１及びＴ−１は、列３８乃至列３９及び列４２乃至列４３で、ＥＳＰプロトコルを用いて安全に通信することができる。
【００４９】
図７の列３８乃至列５７は、ローカルコンピュータの数と、目標との間の種々のデータグラムに対するゲートウェイの対応を実演している。ＵＤＰデータグラムは列４０乃至列４１に、ＥＳＰデータグラムは列４２乃至列４３に、ISAKMPデータグラムは列４４乃至列４５に示されている。図７のテーブルは各機器について異なるＩＰアドレスを示しているが、実際は、多くの処理が同じ機器上で行われる。ゲートウェイによる唯一のソースポートの置き換えと、暗号化された送信を区別するためのＳＰＩの使用とは、一つのマシンで実行される複数の処置により発せられるデータグラムが誤った宛先に送られないことを保証する。
【００５０】
図８は、データグラムを処理する回路１００と、タイマ１１０との間の信号の開始と転送とを示す。ポートアドレスをＩＰアドレスに接続することを要求する事象が発生すると、時間測定開始の信号１２０がタイマに送られる。適当な時間間隔の経過後、タイマは、時間切れを示す信号１４０を送り、接続されている何れのポートも解除される。その間に、予測されたデータグラムが到着し、これまで接続されていたポートが解除されると、タイマが、時間測定を開始する次の信号を待つためにリセットされるべきであることを示す不能化信号１３０がタイマに送られる。明らかに、この技術分野で多数のタイミング回路が知られており、図８に示された具体的な構成は、多くの可能な実施形態一つに過ぎない。
【００５１】
前記より、当業者により、ここで述べられた好ましい実施形態は、発明を実施するただ一つの手段ではなく、しかも他の実施形態が、本発明の精神と範囲から離れることなく、本発明を実施するために選択されることが理解される。例えば、好ましい実施形態が、ISAKMPプロトコルでの使用のために専ら留保されてきたポート５００に関して述べられたが、本発明は、同じ方法で将来他のプロセスまたはプロトコルに割り当てられる他のポートアドレスに向けられたデータグラムを処理するために用いられる。特に、インターネット上で実施されるゲームの多くは、通常のアドレス変換に耐えることのできない、ローカルと外部機器の特定のポートを使用することを要求する。加えて、本発明は主として私的なＬＡＮとインターネット間の通信に関して述べられたが、この発明のゲートウェイは、二つのネットワークのどのインターフェイスにも使用でき、これまでに述べたものと同じ機能性を有していることは明らかである。
【図面の簡単な説明】
【図１】  図１は、ローカルＩＰアドレスを用いる遠隔のＬＡＮがメイン演算サイトと、外部の、インターネットであるネットワークを介してネットワーク化されているバーチャルプライベートネットワークを示す。ＬＡＮは、外部のネットワークにＮＡＴゲートウェイを介して接続されている。
【図２】  図２は、インターネットへ送信するために、ＬＡＮから受信したＵＤＰデータグラムを処理する本発明のゲートウェイにより使用される決定チャートを表す。
【図３】  図３は、本発明のゲートウェイにより使用されるインターネットからＬＡＮ上の機器へ伝送するために受信されたＵＤＰデータグラムを処理するステップの決定チャートを示す。
【図４】  図４は、続く図５、図６及び図７の参照のために準備された図である。図４は、ＬＡＮ（Ｌ−１乃至Ｌ−３）上のローカルマシンのＩＰアドレス、ゲートウェイの内部と外部のＩＰアドレス、及び外部ネットワーク上の外部機器（「目標」Ｔ−１乃至Ｔ−３）のＩＰアドレスを含むテーブルである。
【図５ａ】  図５ａは、ＬＡＮ（Ｌ−１、Ｌ−２、・・・Ｌ−ｘ）上のマシンのローカルＩＰアドレスを横断的に参照しているゲートウェイの内部のテーブルよりの代表的なフィールドと、暗号化データグラムの認証に用いられるＳＰＩ（security parameter indexes）を伴う外部の機器（Ｔ−１乃至Ｔ−３）の外部ＩＰアドレスとを表す。ＳＰＩ−ｏｕｔは、ゲートウェイをインターネット上の機器のために残す暗号化データグラムのＳＰＩを代表しており、ＳＰＩ−ｉｎは、ＬＡＮ上のローカルマシンを宛先とする暗号化データグラムのＳＰＩを代表している。テーブルａは、ソースのヘッダの値、宛先及び異なる時点でのＳＰＩを反映している。変化している値は、１つのローカルマシンと１つの目標マシンによる新しいセッションの関係を示す。
【図５ｂ】  図５ｂは、ＬＡＮ（Ｌ−１、Ｌ−２、・・・Ｌ−ｘ）上のマシンのローカルＩＰアドレスを横断的に参照しているゲートウェイの内部のテーブルよりの代表的なフィールドと、暗号化データグラムの認証に用いられるＳＰＩ（security parameter indexes）を伴う外部の機器（Ｔ−１乃至Ｔ−３）の外部ＩＰアドレスとを表す。ＳＰＩ−ｏｕｔは、ゲートウェイをインターネット上の機器のために残す暗号化データグラムのＳＰＩを代表しており、ＳＰＩ−ｉｎは、ＬＡＮ上のローカルマシンを宛先とする暗号化データグラムのＳＰＩを代表している。テーブルｂは、ソースのヘッダの値、宛先及び異なる時点でのＳＰＩを反映している。変化している値は、１つのローカルマシンと１つの目標マシンによる新しいセッションの関係を示す。
【図５ｃ】  図５ｃは、ＬＡＮ（Ｌ−１、Ｌ−２、・・・Ｌ−ｘ）上のマシンのローカルＩＰアドレスを横断的に参照しているゲートウェイの内部のテーブルよりの代表的なフィールドと、暗号化データグラムの認証に用いられるＳＰＩ（security parameter indexes）を伴う外部の機器（Ｔ−１乃至Ｔ−３）の外部ＩＰアドレスとを表す。ＳＰＩ−ｏｕｔは、ゲートウェイをインターネット上の機器のために残す暗号化データグラムのＳＰＩを代表しており、ＳＰＩ−ｉｎは、ＬＡＮ上のローカルマシンを宛先とする暗号化データグラムのＳＰＩを代表している。テーブルｃは、ソースのヘッダの値、宛先及び異なる時点でのＳＰＩを反映している。変化している値は、１つのローカルマシンと１つの目標マシンによる新しいセッションの関係を示す。
【図６Ａ】  図６Ａは、１つのローカルマシンと、外部ネットワーク上の１つの機器との間で交換が行われているデータグラムヘッダ中の代表的フィールドを示している。
【図６Ｂ】  図６Ｂは、１つのローカルマシンと、外部ネットワーク上の１つの機器との間で交換が行われているデータグラムヘッダ中の代表的フィールドを示している。
【図７Ａ】  図７Ａは、ＬＡＮ上の３つのローカルマシン（Ｌ−１乃至Ｌ−３）と、外部ネットワーク上の３つの目標（Ｔ−１乃至Ｔ−３）との間で、本発明のゲートウェイによる処理によって修正されながら交換が行われている、データグラムヘッダ中の代表的なフィールドを示す。
【図７Ｂ】  図７Ｂは、ＬＡＮ上の３つのローカルマシン（Ｌ−１乃至Ｌ−３）と、外部ネットワーク上の３つの目標（Ｔ−１乃至Ｔ−３）との間で、本発明のゲートウェイによる処理によって修正されながら交換が行われている、データグラムヘッダ中の代表的なフィールドを示す。
【図７Ｃ】  図７Ｃは、ＬＡＮ上の３つのローカルマシン（Ｌ−１乃至Ｌ−３）と、外部ネットワーク上の３つの目標（Ｔ−１乃至Ｔ−３）との間で、本発明のゲートウェイによる処理によって修正されながら交換が行われている、データグラムヘッダ中の代表的なフィールドを示す。
【図８】  図８は、データグラムを処理する機能とタイマ間を通過する信号の概略図である。
【図１】
0004634687.tif 000002
【図２】
0004634687.tif 000003
【図３】
0004634687.tif 000004
【図４】
0004634687.tif 000005
【図５ａ】
0004634687.tif 000006
【図５ｂ】
0004634687.tif 000007
【図５ｃ】
0004634687.tif 000008
【図６Ａ】
0004634687.tif 000009
【図６Ｂ】
0004634687.tif 000010
【図７Ａ】
0004634687.tif 000011
【図７Ｂ】
0004634687.tif 000012
【図７Ｃ】
0004634687.tif 000013
【図８】
0004634687.tif 000014