"コンピュータネットワーク上で、第1のコンピュータと第2のコンピュータとの間に安全通信リンクを確立する方法であって、通信の安全通信モードを確立するためのいかなる暗号化情報もユーザが入力することなく、第1のコンピュータで通信の安全通信モードを使用可能にする段階、および使用可能にされた通信の安全通信モードに基づくコンピュータネットワーク上で、第1のコンピュータと第2のコンピュータとの間に安全通信リンクを確立する段階を含み、安全通信リンクが、コンピュータネットワーク上の仮想専用ネットワーク通信リンクである方法。通信の安全通信モードを使用可能にする段階に応答して、第1のコンピュータ上に安全通信ソフトウェアモジュールが記憶されているかどうかを判定する段階、第1のコンピュータ上にソフトウェアモジュールが記憶されていないときに、安全通信ソフトウェアモジュールをロードするために、所定のコンピュータネットワークアドレスにアクセスする段階、および第1のコンピュータにソフトウェアモジュールを記憶する段階をさらに含む、請求項1記載の方法。仮想専用ネットワークが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を、各データパケットに挿入することに基づく、請求項1記載の方法。仮想専用ネットワークが、仮想専用ネットワークに関連する所定のサービスレベルを表す少なくとも1つのデータ値を、少なくとも1つのデータパケットに挿入することに基づく、請求項1記載の方法。仮想専用ネットワークが、第1のコンピュータと第2のコンピュータとの間で送信されるパケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられるコンピュータネットワークアドレスホッピング方式に基づく、請求項1記載の方法。仮想専用ネットワークが、第1のコンピュータと第2のコンピュータとの間で送信される各データパケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項1記載の方法。仮想専用ネットワークが、各データパケットのヘッダ内のディスクリミネータフィールドを、第1のコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項1記載の方法。コンピュータネットワークがインターネットを含む、請求項1記載の方法。通信の安全通信モードを使用可能にする段階が、安全通信モードを指定するコマンドを第1のコンピュータに入力する段階を含む、請求項1記載の方法。コマンドが、通信の安全通信モードに関連するセットアップパラメータを定義するために入力され、かつ安全通信リンクが、コンピュータネットワーク上に通信リンクが確立されたときに自動的に確立される、請求項9記載の方法。安全通信リンク動作モードを使用可能にする段階が、第1のコンピュータの表示装置上に表示されたアイコンを選択する段階を含む、請求項1記載の方法。安全通信リンクが確立されていることの表示を、第1のコンピュータのディスプレイ上に表示する段階をさらに含む、請求項1記載の方法。表示がアイコンである、請求項12記載の方法。安全通信リンクが、安全通信リンク階層内の複数の安全通信リンクのうちの1つである、請求項1記載の方法。安全通信リンクが、コンピュータネットワークに接続された安全ポータルを介し、かつ第2のコンピュータが安全ドメイン名サービスを含む、請求項1記載の方法。コンピュータ可読記憶媒体であって、記憶領域、およびコンピュータネットワーク上で、第1のコンピュータと第2のコンピュータとの間に安全通信リンクを確立する方法に関するコンピュータ可読命令を含み、該方法が、通信の安全通信モードを確立するためのいかなる暗号化情報もユーザが入力することなく、第1のコンピュータで通信の安全通信モードを使用可能にする段階、および使用可能にされた通信の安全通信モードに基づくコンピュータネットワーク上で、第1のコンピュータと第2のコンピュータとの間に安全通信リンクを確立する段階を含み、安全通信リンクが、コンピュータネットワーク上の仮想専用ネットワーク通信リンクである、コンピュータ可読記憶媒体。通信の安全通信モードを使用可能にする段階に応答して、第1のコンピュータ上に安全通信ソフトウェアモジュールが記憶されているかどうかを判定する段階、第1のコンピュータ上にソフトウェアモジュールが記憶されていないときに、安全通信ソフトウェアモジュールをロードするために、所定のコンピュータネットワークアドレスにアクセスする段階、および第1のコンピュータにソフトウェアモジュールを記憶する段階をさらに含む、請求項15記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、仮想専用ネットワークに関連する所定のサービスレベルを表す少なくとも1つのデータ値を、少なくとも1つのデータパケットに挿入することに基づく、請求項16記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を、各データパケットに挿入することに基づく、請求項16記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、第1のコンピュータと第2のコンピュータとの間で送信されるパケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項16記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、第1のコンピュータと第2のコンピュータとの間で送信される各データパケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項16記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、各データパケットのヘッダ内のディスクリミネータフィールドを、第1のコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項16記載のコンピュータ可読記憶媒体。コンピュータネットワークがインターネットを含む、請求項16記載のコンピュータ可読記憶媒体。通信の安全通信モードを使用可能にする段階が、安全通信モードを指定するコマンドを第1のコンピュータに入力する段階を含む、請求項16記載のコンピュータ可読記憶媒体。コマンドが、通信の安全通信モードに関連するセットアップパラメータを定義するために入力され、かつ安全通信リンクが、コンピュータネットワーク上に通信リンクが確立されたときに自動的に確立される、請求項24記載のコンピュータ可読記憶媒体。安全通信リンク動作モードを使用可能にする段階が、第1のコンピュータのディスプレイ装置上に表示されたアイコンを選択する段階を含む、請求項16記載のコンピュータ可読記憶媒体。安全通信リンクが確立されたことの表示を、第1のコンピュータのディスプレイ上に表示する段階をさらに含む、請求項16記載のコンピュータ可読記憶媒体。表示がアイコンである、請求項27記載のコンピュータ可読記憶媒体。安全通信リンクが、安全通信リンク階層内の複数の安全通信リンクのうちの1つである、請求項16記載のコンピュータ可読記憶媒体。安全通信リンクが、コンピュータネットワークに接続された安全ポータルを介し、かつ第2のコンピュータが安全ドメイン名サービスを含む、請求項16記載のコンピュータ可読記憶媒体。以下の段階を含む、安全コンピュータネットワークアドレスにアクセスする方法:安全ドメイン名を受信する段階、安全ドメイン名に対応する安全コンピュータネットワークアドレスを要求する問合せメッセージを、安全ドメイン名サービスに送信する段階、安全ドメイン名に対応する安全コンピュータネットワークアドレスを含む、応答メッセージを受信する段階、および安全コンピュータネットワークアドレスに記憶されている情報を求める要求を含むアクセス要求メッセージを、仮想専用ネットワーク通信リンクを使用して安全コンピュータネットワークアドレスに送信する段階。安全ドメイン名を受信する段階が、所定の非安全ドメイン名に対応する安全コンピュータネットワークアドレスとの仮想専用ネットワーク通信リンクを確立するための、コマンドを受信する段階、および非安全ドメイン名に対応する安全ドメイン名を自動的に生成する段階を含む、請求項31記載の方法。仮想専用ネットワーク通信リンクを確立するためのコマンドを受信する段階が、コンピュータディスプレイ上に表示された所定のアイコンを選択する段階を含む、請求項32記載の方法。応答メッセージが、仮想専用ネットワークに関する準備provisioning情報を含む、請求項31記載の方法。仮想専用ネットワークが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を、安全コンピュータネットワークアドレスに送信される各データパケットに挿入することに基づく、請求項34記載の方法。仮想専用ネットワークが、仮想専用ネットワークに関連する所定のサービスレベルを表す少なくとも1つのデータ値を、少なくとも1つのデータパケットに挿入することに基づく、請求項34記載の方法。仮想専用ネットワークが、第1のコンピュータと第2のコンピュータとの間で送信されるパケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項34記載の方法。仮想専用ネットワークが、安全コンピュータネットワークに送信される各データパケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項34記載の方法。仮想専用ネットワークが、安全コンピュータネットワークアドレスへの、各データパケットのヘッダ内のディスクリミネータフィールドを、妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項34記載の方法。コンピュータネットワークがインターネットを含む、請求項31記載の方法。安全ドメイン名が、scom、snet、sorg、sedu、smil、またはsgovのうちの1つを含む、トップレベルドメイン名を有する、請求項31記載の方法。コンピュータ可読記憶媒体であって、記憶領域、および安全コンピュータネットワークアドレスにアクセスする方法に関する、コンピュータ可読命令を含み、該方法が、安全ドメイン名を受信する段階、安全ドメイン名に対応する安全コンピュータネットワークアドレスを要求する問合せメッセージを、安全ドメイン名サービスに送信する段階、安全ドメイン名に対応する安全コンピュータネットワークアドレスを含む、応答メッセージを受信する段階、および安全コンピュータネットワークアドレスに記憶されている情報を求める要求を含むアクセス要求メッセージを、仮想専用ネットワーク通信リンクを使用して安全コンピュータネットワークアドレスに送信する段階を含む、コンピュータ可読記憶媒体。安全ドメイン名を受信する段階が、所定の非安全ドメイン名に対応する、安全コンピュータネットワークアドレスとの仮想専用ネットワーク通信リンクを確立するためのコマンドを受信する段階、および非安全ドメイン名に対応する安全ドメイン名を自動的に生成する段階を含む、請求項42記載のコンピュータ可読記憶媒体。仮想専用ネットワーク通信リンクを確立するためのコマンドを受信する段階が、コンピュータディスプレイ上に表示された所定のアイコンを選択する段階を含む、請求項43記載のコンピュータ可読記憶媒体。応答メッセージが仮想専用ネットワークに関する準備情報を含む、請求項42記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を、安全コンピュータネットワークアドレスに送信される各データパケットに挿入することに基づく、請求項45記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、仮想専用ネットワークに関連する所定のサービスレベルを表す少なくとも1つのデータ値を、少なくとも1つのデータパケットに挿入することに基づく、請求項45記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、第1のコンピュータと第2のコンピュータとの間で送信されるパケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項45記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、安全コンピュータネットワークアドレスに送信される各データパケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項45記載のコンピュータ可読記憶媒体。仮想専用ネットワークが、安全コンピュータネットワークアドレスへの、各データパケットのヘッダ内のディスクリミネータフィールドを、妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項45記載のコンピュータ可読記憶媒体。コンピュータネットワークがインターネットを含む、請求項42記載のコンピュータ可読記憶媒体。安全ドメイン名が、scom、snet、sorg、sedu、smil、またはsgovのうちの1つを含む、トップレベルドメイン名を有する、請求項42記載のコンピュータ可読記憶媒体。コンピュータネットワーク上で、クライアントコンピュータとサーバコンピュータとの間の専用通信リンクを使用して、通信する方法であって、コンピュータネットワーク上でクライアントコンピュータからサーバコンピュータに情報パケットを送信する段階であって、該情報パケットが、クライアントコンピュータとサーバコンピュータとの間に仮想専用接続を形成するのに用いられるデータを含み、仮想専用接続を形成するのに用いられるデータが、アプリケーション層プログラムによって、クライアントコンピュータで情報パケットのペイロード部に挿入される段階、サーバコンピュータ上のオペレーティングシステムのカーネル層で、情報パケットを受信する段階、および情報パケットが、仮想専用接続を形成するのに用いられるデータを含んでいるかどうかを、サーバコンピュータ上のオペレーティングシステムのカーネル層で判定する段階を含む方法。情報パケットを、コンピュータネットワーク上で送信する前にファイアウォールを通過させる段階をさらに含む、請求項53記載の方法。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータによってクライアントコンピュータに提供される、所定のレベルのサービスに対応する、請求項53記載の方法。コンピュータネットワーク上でサーバコンピュータからクライアントコンピュータに、第2の情報パケットを送信する段階をさらに含み、第2の情報パケットが、仮想専用接続を形成するのに用いられるデータを含み、仮想専用接続を形成するのに用いられるデータが、サーバコンピュータ上のオペレーティングシステムのカーネル層によって、第2の情報パケットのペイロード部に挿入される、請求項53記載の方法。情報パケットがUDPプロトコル情報パケットである、請求項53記載の方法。情報パケットが、TCPIPプロトコル情報パケットおよびICMPプロトコル情報パケットのうちの1つである、請求項53記載の方法。仮想専用接続を形成するのに用いられるデータが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を含む、請求項53記載の方法。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信されるパケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項53記載の方法。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信される各データパケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項53記載の方法。仮想専用接続を形成するのに用いられるデータが、各データパケットのヘッダ内のディスクリミネータフィールドを、クライアントコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項53記載の方法。コンピュータネットワークがインターネットを含む、請求項53記載の方法。コンピュータ可読記憶媒体であって、記憶領域、およびコンピュータネットワーク上で、クライアントコンピュータとサーバコンピュータとの間の専用通信リンクを使用して通信する方法に関する、コンピュータ可読命令を含み、該方法が、コンピュータネットワーク上でクライアントコンピュータからサーバコンピュータに情報パケットを送信する段階であって、情報パケットが、クライアントコンピュータとサーバコンピュータとの間に仮想専用接続を形成するのに用いられるデータを含み、仮想専用接続を形成するのに用いられるデータが、アプリケーション層プログラムによって、クライアントコンピュータで情報パケットのペイロード部に挿入される段階、サーバコンピュータ上のオペレーティングシステムのカーネル層で、情報パケットを受信する段階、および情報パケットが、仮想専用接続を形成するのに用いられるデータを含んでいるかどうかを、サーバコンピュータ上のオペレーティングシステムのカーネル層で判定する段階を含む、コンピュータ可読記憶媒体。情報パケットを、コンピュータネットワーク上で送信する前にファイアウォールを通過させる段階をさらに含む、請求項64記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータによってクライアントコンピュータに提供される、所定のレベルのサービスに対応する、請求項64記載のコンピュータ可読記憶媒体。コンピュータネットワーク上で、サーバコンピュータからクライアントコンピュータに第2の情報パケットを送信する段階をさらに含み、第2の情報パケットが、仮想専用接続を形成するのに用いられるデータを含み、仮想専用接続を形成するのに用いられるデータが、サーバコンピュータ上のオペレーティングシステムのカーネル層によって、第2の情報パケットのペイロード部に挿入される、請求項64記載のコンピュータ可読記憶媒体。情報パケットがUDPプロトコル情報パケットである、請求項64記載のコンピュータ可読記憶媒体。情報パケットが、TCPIPプロトコル情報パケットおよびICMPプロトコル情報パケットのうちの1つである、請求項64記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を含む、請求項64記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信されるパケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項64記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信される各データパケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項64記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、各データパケットのヘッダ内のディスクリミネータフィールドを、クライアントコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項64記載のコンピュータ可読記憶媒体。コンピュータネットワークがインターネットを含む、請求項64記載のコンピュータ可読記憶媒体。以下の段階を含む、コンピュータネットワーク上でクライアントコンピュータとサーバコンピュータとの間の専用通信リンクを使用して、通信する方法:クライアントコンピュータで情報パケットを生成する段階、クライアントコンピュータとサーバコンピュータとの間に仮想専用接続を形成するのに用いられるデータを、情報パケットのペイロード部に挿入することによって、クライアントコンピュータ内のアプリケーション層で情報パケットを修正する段階、および修正された情報パケットを、コンピュータネットワーク上でクライアントコンピュータからサーバコンピュータに送信する段階。修正された情報パケットを、コンピュータネットワーク上で送信する前にファイアウォールを通過させる段階をさらに含む、請求項75記載の方法。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータによってクライアントコンピュータに提供される所定のレベルのサービスに対応する、請求項75記載の方法。コンピュータネットワーク上でサーバコンピュータから送信された情報パケットを、クライアントコンピュータ内のアプリケーション層で受信する段階、および情報パケットが、仮想専用接続を形成するのに用いられるデータを含んでいるかどうかを、クライアントコンピュータのアプリケーション層で判定する段階をさらに含む、請求項75記載の方法。修正された情報パケットがUDPプロトコル情報パケットである、請求項75記載の方法。修正された情報パケットが、TCPIPプロトコル情報パケットおよびICMPプロトコル情報パケットのうちの1つである、請求項75記載の方法。仮想専用接続を形成するのに用いられるデータが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を含む、請求項75記載の方法。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信される情報パケット内のコンピュータネットワークアドレスを擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項75記載の方法。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信される各情報パケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項75記載の方法。仮想専用接続を形成するのに用いられるデータが、各情報パケットのヘッダ内のディスクリミネータフィールドを、クライアントコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項75記載の方法。コンピュータネットワークがインターネットを含む、請求項75記載の方法。コンピュータ可読記憶媒体であって、記憶領域、およびコンピュータネットワーク上で、クライアントコンピュータとサーバコンピュータとの間の専用通信リンクを使用して通信する方法に関する、コンピュータ可読命令を含み、該方法が、クライアントコンピュータで情報パケットを生成する段階、クライアントコンピュータとサーバコンピュータとの間に仮想専用接続を形成するのに用いられるデータを、情報パケットのペイロード部に挿入することによって、クライアントコンピュータ内のアプリケーション層で情報パケットを修正する段階、および修正された情報パケットをコンピュータネットワーク上でクライアントコンピュータからサーバコンピュータに送信する段階を含む、コンピュータ可読記憶媒体。修正された情報パケットを、コンピュータネットワーク上で送信する前にファイアウォールを通過させる段階をさらに含む、請求項86記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータによってクライアントコンピュータに提供される、所定のレベルのサービスに対応する、請求項86記載のコンピュータ可読記憶媒体。コンピュータネットワーク上でサーバコンピュータから送信された情報パケットを、クライアントコンピュータ内のアプリケーション層で受信する段階、および情報パケットが、仮想専用接続を形成するのに用いられるデータを含んでいるかどうかを、クライアントコンピュータのアプリケーション層で判定する段階をさらに含む、請求項86記載のコンピュータ可読記憶媒体。修正された情報パケットがUDPプロトコル情報パケットである、請求項86記載のコンピュータ可読記憶媒体。修正された情報パケットが、TCPIPプロトコル情報パケットおよびICMPプロトコル情報パケットのうちの1つである、請求項86記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を含む、請求項86記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信される情報パケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項86記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、クライアントコンピュータとサーバコンピュータとの間で送信される各情報パケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項86記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、各情報パケットのヘッダ内のディスクリミネータフィールドを、クライアントコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項86記載のコンピュータ可読記憶媒体。コンピュータネットワークがインターネットを含む、請求項86記載のコンピュータ可読記憶媒体。コンピュータネットワーク上で、サーバコンピュータとクライアントコンピュータとの間の専用通信リンクを使用して通信する方法であって、サーバコンピュータで情報パケットを生成する段階、サーバコンピュータとクライアントコンピュータとの間に仮想専用接続を形成するのに用いられるデータを、情報パケットのペイロード部に挿入することによって、サーバコンピュータのオペレーティングシステム内のカーネル層で、情報パケットを修正する段階、および修正された情報パケットを、コンピュータネットワーク上でサーバコンピュータからクライアントコンピュータ内のアプリケーション層に送信する段階を含む方法。修正された情報パケットが、コンピュータネットワーク上で送信された後、クライアントコンピュータでアプリケーション層によって受信される前に、修正された情報パケットをファイアウォールに通過させる段階をさらに含む、請求項97記載の方法。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータによってクライアントコンピュータに提供される、所定のレベルのサービスに対応する、請求項97記載の方法。修正された情報パケットがUDPプロトコル情報パケットである、請求項97記載の方法。修正された情報パケットが、TCPIPプロトコル情報パケットおよびICMPプロトコル情報パケットのうちの1つである、請求項97記載の方法。仮想専用接続を形成するのに用いられるデータが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を含む、請求項97記載の方法。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータとクライアントコンピュータとの間で送信される、修正された情報パケット内のコンピュータネットワークアドレスを擬似乱数的に変更するのに用いられるコンピュータネットワークアドレスホッピング方式に基づく、請求項97記載の方法。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータとクライアントコンピュータとの間で送信される各データの修正された情報パケット内の値を、妥当な値の移動ウィンドウと比較することに基づくデータである、請求項97記載の方法。仮想専用接続を形成するのに用いられるデータが、修正された各情報パケットのヘッダ内のディスクリミネータフィールドを、サーバコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項97記載の方法。コンピュータネットワークがインターネットを含む、請求項97記載の方法。コンピュータ可読記憶媒体であって、記憶領域、およびコンピュータネットワーク上で、サーバコンピュータとクライアントコンピュータとの間の専用通信リンクを使用して通信する方法に関する、コンピュータ可読命令を含み、該方法が、サーバコンピュータで情報パケットを生成する段階、サーバコンピュータとクライアントコンピュータとの間に仮想専用接続を形成するのに用いられるデータを、情報パケットのペイロード部に挿入することによって、サーバコンピュータのオペレーティングシステム内のカーネル層で情報パケットを修正する段階、および修正された情報パケットを、コンピュータネットワーク上でサーバコンピュータからクライアントコンピュータ内のアプリケーション層に送信する段階を含む、コンピュータ可読記憶媒体。修正された情報パケットが、コンピュータネットワーク上で送信された後、クライアントコンピュータでアプリケーション層によって受信される前に、修正された情報パケットをファイアウォールに通過させる段階をさらに含む、請求項107記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータによってクライアントコンピュータに提供される、所定のレベルのサービスに対応する、請求項107記載のコンピュータ可読記憶媒体。修正された情報パケットがUDPプロトコル情報パケットである、請求項107記載のコンピュータ可読記憶媒体。修正された情報パケットが、TCPIPプロトコル情報パケットおよびICMPプロトコル情報パケットのうちの1つである、請求項107記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、擬似乱数シーケンスに従って変化する1つまたは複数のデータ値を含む、請求項107記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータとクライアントコンピュータとの間で送信されるパケット内のコンピュータネットワークアドレスを、擬似乱数的に変更するのに用いられる、コンピュータネットワークアドレスホッピング方式に基づく、請求項107記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、サーバコンピュータとクライアントコンピュータとの間で送信される、各データの修正された情報パケット内の値を、妥当な値の移動ウィンドウと比較することに基づく、請求項107記載のコンピュータ可読記憶媒体。仮想専用接続を形成するのに用いられるデータが、修正された各情報パケットのヘッダ内のディスクリミネータフィールドを、サーバコンピュータ用に維持されている妥当なディスクリミネータフィールドのテーブルと比較することに基づく、請求項107記載のコンピュータ可読記憶媒体。コンピュータネットワークがインターネットを含む、請求項107記載のコンピュータ可読記憶媒体。態様の詳細な説明図2を参照するとわかるように、インターネットを介して通信する安全機構は、各ルータが、1つまたは複数のIPアドレスを有しており、かつ通常のIPプロトコルを使用して、TARPパケット140と呼ばれる、通常のパケットと同様なIPパケットメッセージを送信するという点で、正規のIPルータ128~132と類似している、TARPルータ122~127と呼ばれるいくつかの特殊なルータまたはサーバを使用する。TARPパケット140は、それぞれが通常のIPパケットと同様に着信先アドレスを含むので、正規のIPルータ128~132によってルーティングされる通常のIPパケットメッセージと同一である。しかし、TARPパケット140IPヘッダは、IPヘッダの着信先フィールドで最終着信先を示す示すのではなく、常に、一連のTARPルータホップ内の次のホップまたは最終着信先、すなわちTARP端末110を指し示す。TARPパケットのヘッダが次のホップ着信先のみを含むため、着信先は常に、次のホップTARPルータおよび最終着信先、すなわちTARP端末110であるので、傍受されたTARPパケットにはそのTARPパケットの真の着信先を明白に示すものがない。各TARPパケットの真の着信先は、リンク鍵146を使用して生成された暗号化アウタレイヤに隠される。リンク鍵146は、発信元TARP端末100と着信先TARP端末110を接続するホップのチェーン内の単一のリンクのエンドポイントTARP端末またはTARPルータ間の暗号化された通信に使用される暗号化鍵である。各TARPルータ122~127は、チェーン内の前のホップとに通信に使用するリンク鍵146を使用してTARPパケットの真の着信先を知ることができる。受信側TARPまたはルーティング端末は、TARPパケットの暗号化アウタレイヤを復号するのに必要なリンク鍵を識別するために、平文IPヘッダの送信側フィールドによって使用されるリンク鍵を示すことのできる送信側端末を識別することができる。あるいは、平文IPヘッダ内の利用可能なビット内の他の暗号化レイヤにこのIDを隠すことができる。各TARPルータは、TARPメッセージを受信すると、TARPパケット内の認証データを使用することによって、そのメッセージがTARPメッセージであるかどうかを判定する。これは、TARPパケットのIPヘッダ内の利用可能なバイトに記録することができる。あるいは、リンク鍵146を使用して復号を試み、結果が予期されていた結果であるかどうかを判定することによって、TARPパケットを認証することができる。この方法は復号過程を伴わないので計算面の利点を有する。TARPルータ122~127によって復号アウタレイヤが完成した後、TARPルータは最終着信先を判定する。システムは好ましくは、トラフィック分析を無効にする助けになるように各TARPパケット140に最小数のホップを受けさせるように構成される。TARPメッセージのIPヘッダ内のタイムツーリブカウンタを使用して、完了すべき残りのTARPルータホップの数を示すことができる。各TARPルータは次いで、このカウンタを減分し、それにより、TARPパケット140を他のTARPルータ122~127に転送すべきか、それとも着信先TARP端末110に転送すべきかを判定する。タイムツーリブカウンタが減分後にゼロ以下になった場合、使用例として、TARPパケット140を受信したTARPルータは、このTARPパケット140を着信先TARP端末110に転送することができる。タイムツーリブカウンタが減分後にゼロを超えた場合、使用例として、TARPパケット140を受信したTARPルータは、この現在のTARP端末によって無作為に選択されたTARP端末122~127にこのTARPパケット140を転送することができる。その結果、各TARPパケット140は、無作為に選択されたTARPルータ122~127の最小数のホップを通してルーティングされる。したがって、各TARPパケットは、インターネット内のトラフィックを判定する従来の因子とは無関係に、着信先に到着する前に地理的に異なるいくつかのルータの間を無作為に移動し、各移動は、上述のように独立に無作為に決定されるので、所与のメッセージを構成する各パケットごとに異なる可能性が非常に高くなる。この機能をアジルルーティングと呼ぶ。まもなく明らかになる理由により、様々なパケットがそれぞれの異なる経路をとるため、侵入者が、マルチパケットメッセージ全体を形成するすべてのパケットを得ることは困難になる。アジルルーティングは、この目的を促進する他の機能、すなわち、あらゆるメッセージが複数のパケットに分割されるようにする機能と組み合される。TARPルータは、TARPルータによって使用されているIPアドレスがTARPパケットのIPヘッダIPC内のIPアドレスと一致するときにTARPパケットを受信する。しかし、TARPルータのIPアドレスは一定でなくてよい。攻撃を回避し管理するために、各TARPルータは、独立して、あるいは他のTARP端末またはTARPルータからの指示の下で、IPアドレスを変更することができる。変更可能な別の識別子またはアドレスも定義される。このアドレスは、TARPアドレスと呼ばれ、TARPルータおよびTARP端末のみに知られ、いつでもTARPルータまたはTARP端末によって参照テーブルLUTを使用して相関付けることができる。TARPルータまたはTARP端末は、IPアドレスを変更したときに、他のTARPルータまたはTARP端末を更新し、これらのTARPルータまたはTARP端末はそれぞれのLUTを更新する。実際、TARPルータは、暗号化されたヘッダ内の着信先のアドレスを参照するときは常に、ルータ自体のLUTを使用してTARPアドレスを実際のIPアドレスに変換しなければならない。TARPパケットを受信したあらゆるTARPルータは、パケットの最終着信先を判定することができるが、メッセージペイロードは、セッション鍵を使用しないかぎりロック解除できないTARPパケット内の暗号化インナレイヤに埋め込まれる。発信元TARP端末100と着信先TARP端末110との間に介在するTARPルータ122~127はセッション鍵を利用することができない。セッション鍵を使用してTARPパケット140のペイロードを復号し、メッセージ全体を再構成することができる。一つの態様では、リンク鍵およびセッション鍵を使用して通信を公開されないようにすることができ、任意の所望の方法に従ってリンク鍵およびセッション鍵を共用し使用することができる。たとえば、公開鍵法を使用して、リンクエンドポイントまたはセッションエンドポイント間で公開鍵または対称鍵を伝達することができる。許可されたコンピュータのみがTARPパケット140内のプライベート情報にアクセスできるようにデータのセキュリティを確保する他の様々な機構のいずれかを必要に応じて使用することができる。図3aを参照するとわかるように、一連のTARPパケットを構成する場合、IPパケット207a、207b、207cなどのデータストリーム300、すなわち、ネットワークIP層過程によって形成された一連のパケットが、一連の小さなセグメントに分割される。この例では、等しいサイズのセグメント1~9が定義され、これらを使用して、1組のインタリーブされたデータパケットA、B、およびCが構成される。この場合、形成されるインタリーブされたパケットA、B、およびCの数を3つと仮定し、インタリーブされた3つのパケットA、B、およびCを形成するために使用されるIPパケット207a~207cの数も3つと仮定する。もちろん、インタリーブされたパケットのグループに展開されるIPパケットの数は、着信データストリームが展開されたインタリーブされたパケットの数と同様に任意の好都合な数でよい。データストリームが展開されたインタリーブされたパケットの数をインタリーブウィンドウと呼ぶ。送信側ソフトウェアは、パケットを作成する場合、通常のIPパケット207aおよび後続のパケットをインタリーブして、新しい1組のインタリーブされたペイロードデータ320を形成する。このペイロードデータ320は次いで、各データA、B、およびCがTARPパケットのペイロードを形成する、セッション鍵で暗号化された1組のペイロードデータ330を、セッション鍵を使用して形成することによって暗号化される。最初のパケット207a~207cのIPヘッダデータを使用して、新しいTARPパケットIPTが形成される。TARPパケットIPTは、通常のIPヘッダと同一でよく、あるいは何らかの方法でカスタマイズすることができる。好ましい態様では、TARPパケットIPTは、メッセージのルーティングおよび再構成に必要な以下の情報を提供する追加のデータを含むIPヘッダである。このデータのいくつかは通常、通常のIPヘッダに含まれており、あるいは通常のIPヘッダに含めることができる。1.ウィンドウシーケンス番号-最初のメッセージシーケンス内でパケットがどこに属するかを示す識別子。2.インタリーブシーケンス番号-パケットをインタリーブウィンドウ内の他のパケットと共にインタリーブ解除できるようにパケットを形成するために使用されるインタリーブシーケンスを示す識別子。3.タイムツーリブTTLデータ-パケットがその着信先に到着する前に実行すべきTARPルータホップの数を示す。TTLパラメータが、パケットを着信先にルーティングすべきか、それとも他のホップにルーティングすべきかを判定するための確率公式で使用すべきデータを提供できることに留意されたい。4.データタイプ識別子-ペイロードが、たとえばTCPデータを含むべきか、それともUDPデータを含むべきかを示す。5.送信側のアドレス-TARPネットワーク内の送信側のアドレスを示す。6.着信先アドレス-TARPネットワーク内の着信先端末のアドレスを示す。7.デコイ/実-パケットが実際のメッセージデータを含むか、それともダミーデコイデータを含むか、それとも組合せを含むかのインディケータ。自明のことながら、単一のインタリーブウィンドウに入るパケットは、共通の着信先を有するパケットのみを含まなければならない。したがって、図の例では、IPパケット207a~207cのIPヘッダはすべて、同じ着信先アドレスを含むか、あるいはインタリーブ解除できるように少なくとも同じ端末によって受信されるものと仮定されている。他の場合に所与のメッセージのサイズによって必要とされるよりも大きなインタリーブウィンドウを形成するようにダミーまたはデコイデータまたはパケットを追加できることに留意されたい。デコイデータまたはダミーデータをストリームに付加してネットワーク上の負荷を一様にすることにより、トラフィック分析を無効にする助けにすることができる。したがって、インターネット内のある点での通信バーストを他の点での通信バーストに結合して通信エンドポイントを知ることができなくなるように、時間またはその他の基準に応答して低トラフィック期間中により多くのデコイデータを生成する能力をTARP過程に付与することが望ましい。ダミーデータは、データをより多くの目立たないサイズのパケットに分割して、インタリーブウィンドウのサイズを大きくすることを可能にし、同時に各パケットごとに合理的なサイズを維持するうえでも助けになる。パケットサイズは、単一の標準サイズでよく、あるいは一定の範囲のサイズから選択することができる。各メッセージを複数のパケットに分割することが望ましい1つの主要な理由は、インタリーブの前にチェーンブロック暗号化方式を使用して第1の暗号化レイヤが形成される場合に明らかである。メッセージの一部または全体に単一のブロック暗号化を適用し、次いでその部分または全体をインタリーブしていくつかの別々のパケットを得ることができる。図3bを参照するとわかるように、TARPパケット構成の代替態様では、一連のIPパケットが蓄積され所定のインタリーブウィンドウが形成される。パケットのペイロードを使用し、セッション鍵を使用して、チェーンブロック暗号化用の単一のブロック520が構成される。ブロックを形成するために使用されるペイロードは、同じ端末を着信先とするものと仮定する。ブロックサイズは、図3bの態様例に示されたインタリーブウィンドウと一致することができる。暗号化の後で、暗号化されたブロックは別々のペイロードおよびセグメントに分割され、これらのペイロードおよびセグメントが図3aの態様のようにインタリーブされる。結果として得られるインタリーブされたパケットA、B、およびCは次いで、図3aの例のようにTARPヘッダを有するTARPパケットとしてパッケージングされる。残りの過程は、図3aに示され、図3aを参照して論じられるとおりである。TARPパケット340が形成された後、TARPヘッダIPTを含む各TARPパケット340全体が、第1のホップTARPルータと通信するためのリンク鍵を使用して暗号化される。第1のホップTARPルータは無作為に選択される。暗号化された各TARPパケット240に最後の未暗号化IPヘッダIPCが付加され、TARPルータに送信できる通常のIPパケット360が形成される。TARPパケット360を構成する過程を前述のように段階的に行う必要がないことに留意されたい。上記の説明は、最終プロダクト、すなわち、TARPパケットを説明するための有用なヒューリスティックに過ぎない。TARPパケットIPTを、上記で識別された情報を含むことを除いて、通常のIPヘッダとはまったく異なる完全なカスタムヘッダ構成にすることができることに留意されたい。これは、このヘッダがTARPルータによってのみ解釈されるからである。上記の方式は、TARPシステムに参加している各サーバまたは端末のデータリンク層とネットワーク層との間で動作する過程によって完全に実施することができる。図4を参照するとわかるように、TARPトランシーバ405は発信元端末100、着信先端末110、またはTARPルータ122~127でよい。各TARPトランシーバ405において、ネットワークIP層から通常のパケットを受信し、ネットワークを介して伝達できるTARPパケットを生成する送信側過程が生成される。TARPパケットを含む通常のIPパケットを受信し、このIPパケットから、ネットワークIP層に渡される通常のIPパケットを生成する受信側過程が生成される。TARPトランシーバ405がルータである場合、受信されたTARPパケット140は、適切なTARPパケットとして認証され、次いで他のTARPルータまたはTARP着信先端末110に渡されるだけでよいので、IPパケット415のストリームとして処理されないことに留意されたい。介入する過程、すなわちTARP層420をデータリンク層430またはネットワーク層410と組み合わせることができる。いずれの場合も、この過程は、埋め込まれたTARPパケットを含む正規のIPパケットを受信し、一連の組立て直されたIPパケットをネットワーク層410に渡すようにデータリンク層430に介入する。TARP層420をデータリンク層430と組み合わせる例として、プログラムによって、通信カード、たとえばイーサネット登録商標カードを実行する通常の過程を拡張することができる。あるいは、TARP層過程は、動的にロード可能なモジュールの、ロードされネットワーク層とデータリンク層の間の通信をサポートするように実行される部分を形成することができる。上述の暗号化システムはデータリンク層とネットワーク層との間に挿入することができるので、暗号化された通信をサポートするうえで使用される過程は、IPネットワーク層以上での過程に対して完全に透過的であってよい。TARP過程は、データリンク層に対しても完全に透過的であってよい。したがって、ネットワーク層以上での動作も、データリンク層以下での動作も、TARPスタックを挿入することの影響を受けない。これにより、たとえば、ハッカーによるネットワーク層への許可されないアクセスの困難さが大幅に増大するので、ネットワーク層以上でのすべての過程に追加のセキュリティがもたらされる。セッション層で実行される新たに開発されたサーバの場合でも、セッション層よりも下のすべての過程が侵害される可能性がある。この構造では、セキュリティが分散されることに留意されたい。すなわち、たとえば、移動中の管理職によって使用されるノートブックコンピュータは、セキュリティを損なうことなくインターネットを介して通信することができる。TARP端末およびTARPルータによるIPアドレス変更は、一定の間隔または無作為の間隔で行うことも、または攻撃が検出されたときに行うこともできることに留意されたい。IPアドレスを変更することにより、どのコンピュータが通信しているかを知ることのできるトラフィック分析が抑制され、攻撃に対するある程度の保護ももたらされる。攻撃に対する保護の程度は、ホストのIPアドレスが変更される率にほぼ比例する。前述のように、IPアドレスは攻撃に応答して変更することができる。たとえば、ルータがある方法で調べられていることを示す組織だった一連のメッセージによって、攻撃を知ることができる。攻撃が検出されると、TARP層過程は、そのIPアドレスを変更することによってこの事象に応答することができる。TARP過程は、これを行うために、一例としてインターネット制御メッセージプロトコルICMPデータグラムの形式で、TARPフォーマットのメッセージを構成する。このメッセージは、マシンのTARPアドレス、マシンの前のIPアドレス、およびマシンの新しいIPアドレスを含む。TARP層は、このパケットを少なくとも1つの既知のTARPルータに送信し、このTARPルータは、メッセージを受信し、その妥当性を確認した後、前述のTARPアドレスの新しいIPアドレスでルータ自体のLUTを更新する。TARPルータは次いで、同様なメッセージを作成し、他のTARPルータがLUTを更新できるようにそれらのTARPルータにこのメッセージをブロードキャストする。所与のサブネット上のTARPルータの総数は比較的小さいことが予期されるので、この更新過程は比較的高速であるべきである。しかし、この過程は、比較的小数のTARPルータおよび/または比較的多数のクライアントがあるときにはうまく作用しないことがある。このため、この構造はスケーリング可能性を実現するように改良されている。この改良によって、後述の第2の態様が得られた。TARP過程は、攻撃を検出したときに、最初のIPアドレスを維持し、攻撃者との対話を続けるサブ過程を作成することもできる。この対話によって、攻撃者を追跡するか、あるいは攻撃者の方法を研究する機会を得ることができる金魚鉢のことを海と考えているが、実際には捕えられ観察されている金魚鉢内の小さな魚にたとえてフィッシュボウリングと呼ばれる。攻撃者と破棄されたフィッシュボウルされたIPアドレスとの間の通信の履歴を、人間が分析できるように記録または送信するか、あるいはある方法で応答するためにさらに合成することができる。上述のように、TARP端末またはTARPルータによって発信データにデコイまたはダミーデータまたはパケットを付加することができる。このようなデコイパケットは、より多くの別々のパケットにデータを好都合に分散するだけでなく、トラフィック分析の試みを無効にする助けになるようにインターネットのイナクティブ部分上の付加を均一にすることもできる。デコイパケットは、アルゴリズムによって決定されるある基準に従って各TARP端末100、110または各ルータ122~127によって生成することができる。たとえば、アルゴリズムは、端末がアイドル状態であるときに無作為にパケットを生成することを要求するランダムアルゴリズムでよい。あるいは、アルゴリズムは、時間または低トラフィックの検出に応答して低トラフィック時により多くのデコイパケットを生成することができる。パケットが好ましくは、1つずつ生成されるのではなく、実際のメッセージをシミュレートするようなサイズのグループとして生成されることに留意されたい。また、デコイパケットを通常のTARPメッセージストリームに挿入できるように、バックグラウンドループは、メッセージストリームが受信されているときにデコイパケットを挿入する可能性を高くするラッチを有することができる。すなわち、一連のメッセージが受信されるときに、デコイパケット生成率を高めることができる。あるいは、多数のデコイパケットが正規のTARPパケットと共に受信される場合、アルゴリズムは、これらのデコイパケットを転送するのではなくそれらを除去する率を高くすることができる。このようにデコイパケットを除去し生成すると、見掛けの着信メッセージサイズが見掛けの発信メッセージサイズと異なるものになり、トラフィック分析を無効にすることができる。デコイパケットであるか、それとも他のパケットであるかにかかわらず、パケットの受信率を、ペリッシャブルデコイ正規パケットカウンタを通してデコイパケット除去過程およびデコイパケット生成過程に示すことができる。ぺリッシャブルカウンタは、急速に連続して増分されたときに大きな値を含み、低速で増分されるかあるいは少ない回数だけ急速に連続して増分されたときには小さな値を含むように時間に応答して値をリセットまたは減分するカウンタである。着信先TARP端末110が、単にパケットをルーティングしており、したがって、着信先端末でないように見えるように、受信されたTARPパケットと数およびサイズの等しいデコイパケットを生成できることに留意されたい。図5を参照するとわかるように、TARPパケットをルーティングする上述の方法で以下の特定の段階を使用することができる。S0デコイIPパケットの生成を決定するアルゴリズムを適用するバックグラウンドループ動作が実行される。このループは、暗号化されたTARPパケットが受信されたときに割り込まれる。S2TARPパケットを、リンク鍵を使用して復号することを試みる前に、何らかの方法で調べて認証することができる。すなわち、ルータは、ペイロードに含まれる暗号化されたTARPパケットに付加された平文IPヘッダと共に含まれるあるデータに対して選択された動作を実行することによって、パケットが真正なTARPパケットであることを判定することができる。これによって、真正なTARPパケットではないパケットに復号を実行することを避けることが可能になる。S3TARPパケットが復号され、着信先TARPアドレスと、このパケットがデコイパケットであるか、それとも実際のメッセージの一部であるかが明らかになる。S4このパケットがデコイパケットである場合、ペリッシャブルデコイカウンタが増分される。S5ルータは、デコイ生成/除去アルゴリズムおよびペリッシャブルデコイカウンタ値に基づいて、パケットがデコイパケットである場合には、それを破棄することを選択することができる。受信されたパケットがデコイパケットであり、これを破棄すべきであると判定された場合S6、制御は段階S0に戻る。S7TARPヘッダのTTLパラメータが減分され、TTLパラメータがゼロより大きいかどうかが判定される。S8TTLパラメータがゼロよりも大きい場合、ルータによって維持されているTARPアドレスのリストからTARPアドレスが無作為に選択され、このTARPアドレスに対応するリンク鍵およびIPアドレスが、このTARPパケットを含む新しいIPパケットを作成する際に使用できるように記憶される。S9TTLパラメータがゼロ以下である場合、着信先のTARPアドレスに対応するリンク鍵およびIPアドレスが、このTARPパケットを含む新しいIPパケットを作成する際に使用できるように記憶される。S10TARPパケットが、記憶されたリンク鍵を使用して暗号化される。S11記憶されたIPアドレスを含むパケットにIPヘッダが付加され、暗号化されたTARPパケットがIPヘッダで覆われ、完成したパケットが次のホップまたは着信先に送信される。図6を参照するとわかるように、TARPパケットを生成する上述の方法では以下の特定の段階を使用することができる。S20バックグラウンドループ動作が、デコイIPパケットの生成を決定するアルゴリズムを適用する。このループは、IPパケットを含むデータストリームが、後で送信できるように受信されたときに割り込まれる。S21受信されたIPパケットが、一定のIP着信先アドレスを有するメッセージから成る集合としてグループ化される。この集合はさらに、インタリーブウィンドウの最大サイズに一致するように分割される。集合が暗号化されインタリーブされ、TARPパケットになる予定の1組のペイロードが得られる。S22IPアドレスに対応するTARPアドレスが、参照テーブルから判定され、TARPヘッダを生成するために記憶される。初期TTLカウントが生成され、ヘッダに格納される。TTLカウントは、最小値および最大値を有する無作為の値でも、あるいは一定の値でもよく、あるいは他の何らかのパラメータによって決定することができる。S23ウィンドウシーケンス番号およびインタリーブシーケンスが各パケットのTARPヘッダに記録される。S24各TARPパケットごとに1つのTARPルータアドレスが無作為に選択され、このアドレスに対応するIPアドレスが、平文IPヘッダで使用できるように記憶される。このルータに対応するリンク鍵が識別され、インタリーブされ暗号化されたデータおよびTARPヘッダを含むTARPパケットが、このリンク鍵を使用して暗号化される。S25第1のホップルータの実際のIPアドレスを有する平文IPヘッダが生成され、暗号化されたTARPパケットおよび結果として得られるパケットのそれぞれに付加される。図7を参照するとわかるように、TARPパケットを受信する上述の方法で以下の特定の段階を使用することができる。S40デコイIPパケットの生成を決定するアルゴリズムを適用するバックグラウンドループ動作が実行される。このループは、暗号化されたTARPパケットが受信されたときに割り込まれる。S42TARPパケットが、リンク鍵を使用して復号される前に、調べられ認証される。S43TARPパケットが適切なリンク鍵を用いて復号され、着信先TARPアドレスと、このパケットがデコイパケットであるか、それとも実際のメッセージの一部であるかが明らかになる。S44このパケットがデコイパケットである場合、ペリッシャブルデコイカウンタが増分される。S45受信側は、デコイ生成/除去アルゴリズムおよびペリッシャブルデコイカウンタ値に基づいて、パケットがデコイパケットである場合には、それを破棄することを選択することができる。S46インタリーブウィンドウを形成するすべてのパケットが受信されるまでTARPパケットがキャッシュされる。S47インタリーブウィンドウのすべてのパケットが受信された後、パケットがインタリーブ解除される。S48次いで、インタリーブウィンドウを形成する組み合わされた各パケットのパケットブロックが、セッション鍵を使用して復号される。S49次いで、復号されたブロックが、ウィンドウシーケンスデータを使用して分割され、IPrヘッダが通常のIPCヘッダに変化される。ウィンドウシーケンス番号がIPCヘッダに組み込まれる。S50次いで、パケットがIPレイヤ過程に渡される。1.スケーリング可能性の向上上述のIPアジリティ機能は、IPアドレスの変更をすべてのTARPルータに送信する能力に依存する。この機能を含む各態様は、インターネットなど大規模なネットワーク向けにこのような機能をスケーリングする際の潜在的な制限のためにブティック態様と呼ばれる。しかし、ブティック態様は、たとえば、小規模な仮想専用網など小規模なネットワークで使用する場合にはロバストである。ブティック態様の1つの問題は、IPアドレスの変更が頻繁に行われる場合、すべてのルータを十分に高速に更新するのに必要なメッセージトラフィックのために、TARPルータおよび/またはクライアントの数が非常に多くなるとインターネットに大きな負荷が掛かる。すべてのTARPルータを更新するために使用される帯域幅負荷であって、たとえばICMPパケットにおいてネットワークに加わる帯域幅負荷は、インターネットのスケールに近い大規模なインプリメンテーションの場合にインターネットの能力を超える可能性がある。言い換えれば、ブティックシステムのスケーリング可能性は限られている。追加的なメッセージ負荷なしにIPアジリティの利益をもたらすように、上記の態様の特徴のうちのいくつかの兼合いを取るシステムを構成することができる。これは、TARPノードなどのノード間の通信セッションに参加しているリンク間で使用されるIPアドレスを管理する共用アルゴリズムに従ってIPアドレスホッピングによって行われる。IPホッピング技法をブティック態様に適用することもできることに留意されたい。ブティックシステムに関して論じたIPアジリティ機能は、スケーリング可能なこの方式の下で分散され、かつ上述の共用アルゴリズムによって管理されるように修正することができる。ブティックシステムの他の機能をこの新しい種類のIPアジリティrと組み合わせることができる。この新しい態様は、通信する各ノードペアによって交換されるローカルアルゴリズムおよび1組のIPアドレスによって管理されるIPアジリティをもたらすという利点を有する。このローカル管理は、直接通信するノードペア間で転送されるセッションまたはエンドポイントにかかわらず、ノードペア間の通信を管理できるという点でセッションに依存しない。スケーリング可能なこの態様では、ネットワーク内の各ノードにIPアドレスのブロックが割り付けられる。このスケーリング可能性は、将来において、インターネットプロトコルアドレスが128ビットフィールドに増加し、明確にアドレス可能なノードの数が大幅に増加したときに高くなる。したがって、各ノードは、そのノードに割り当てられたIPアドレスのいずれかを使用してネットワーク内の他のノードと通信することができる。実際には、通信する各ノードペアは複数の送信元IPアドレスおよび着信先IPアドレスを使用して互いに通信することができる。任意のセッションに参加しているチェーン内の通信する各ノードペアは、ネットブロックと呼ばれる2つのIPアドレスブロックと、アルゴリズムと、次のメッセージを送信するために使用される次の送信元/着信先IPアドレスペアを各ネットブロックごとに選択するための無作為化シードとを記憶する。言い換えれば、このアルゴリズムは、各ネットブロックからのIPアドレスペア、1つの送信側IPアドレス、および1つの受信側IPアドレスの順次選択を管理する。アルゴリズムと、シードと、ネットブロックIPアドレスブロックの組合せをホップブロックと呼ぶ。ルータは別々の送信ホップブロックおよび受信ホップブロックをルータのクライアントに発行する。クライアントによって送信される各発信パケットのIPヘッダの送信アドレスおよび受信アドレスには、アルゴリズムによって管理される送信IPアドレスおよび受信IPアドレスが充填される。アルゴリズムは、ペアが使用されるたびに、アルゴリズムが次に送信すべきパケット用の新しい送信ペアを作成するように、カウンタによってクロッキングインデックス付けされる。ルータの受信ホップブロックはクライアントの送信ホップブロックと同一である。ルータは、このクライアントからの次に予期されるパケット用の送信IPアドレス受信IPアドレスペアが何であるかを、受信ホップブロックを使用して予想する。各パケットは順序正しく受信されないことがあるので、ルータが、次の順次パケット上にどんなIPアドレスが来るかを確実に予想することは不可能である。ルータは、この問題を考慮して、次に受信されるパケットの後に続く可能性のある送信パケット送信/受信アドレスの数を包含するある範囲の予想を生成する。したがって、所与のパケットが、その前にクライアントによって送信された5つのパケットよりも前にルータに到着する可能性が非常に低い場合、ルータは、次に受信されるパケットと比較すべき一連の6つの送信/受信IPアドレスペアまたはホップウィンドウを生成することができる。パケットが受信されると、このパケットは、受信されたものとしてホップウィンドウ内にマーク付けされ、したがって、同じIPアドレスペアを有する第2のパケットは破棄される。シーケンスからずれたパケットが所定のタイムアウト期間内に到着しない場合、その通信セッションに使用されているプロトコルに応じ、あるいは場合によっては規約によって、そのパケットを再送信することを要求するか、あるいは単に受信テーブルから破棄することができる。ルータは、クライアントのパケットを受信すると、パケットの送信IPアドレスおよび受信IPアドレスを、予想される次のN個の送信IPアドレス受信アドレスペアと比較し、パケットがこの集合のメンバーではない場合、パケットを拒絶する。ウィンドウに収まった予想される送信元/着信先IPアドレスを有さない受信パケットは拒絶され、したがって、可能なハッカーは妨害される。可能な組合せの数を用いた場合、かなり大きなウィンドウであっても無作為にこの中に収めることは困難である。パケットがこの集合のメンバーである場合、ルータはパケットを受け入れ、さらに処理する。リンクベースのこのIPホッピング方式は、IHOPと呼ばれ、独立しており、必ずしも上述のブティックシステムの要素を伴わないネットワーク要素である。ブティック態様に関して説明したルーティングアジリティ機能をこのリンクベースIPホッピング方式と組み合わせた場合、ルータの次の段階は、TARPヘッダを復号して、パケットの着信先TARPルータを判定し、かつパケットの次のホップを何にすべきかを判定することである。TARPルータは次いで、無作為のTARPルータにパケットを転送するか、あるいは送信先ルータがリンクベースのIPホッピング通信を確立させる着信先TARPルータにパケットを転送する。図8は、クライアントコンピュータ801およびTARPルータ811が安全なセッションを確立するにはどうすべきかを示している。クライアント801は、TARPルータ811とのHOPセッションを確立する際、TARPルータ811に安全同期要求SSYNパケット821を送信する。このSYNパケット821は、クライアント811の認証トークンを含み、暗号化フォーマットでルータ811に送信することができる。パケット821上の送信先IP番号および着信先IP番号は、クライアント801の現在の固定IPアドレスおよびルータ811の既知の固定IPアドレスである。セキュリティのために、着信先がルータの既知の固定IPアドレスである、ローカルネットワークの外部からのあらゆるパケットを拒絶することが望ましい。ルータ811は、クライアント801のSSYNパケット821を受信し、妥当性を確認した後、暗号化された安全同期確認応答SSYNACK822をクライアント801に送信することによって応答する。このSSYNACK822は、クライアント801がTARPルータ811と通信するときに使用する送信ホップブロックおよび受信ホップブロックを含む。クライアント801は、その固定IPアドレスからTARPルータ811の既知の固定IPアドレスに送信される暗号化されたSSYNACKACKパケット823を生成することによって、TARPルータ811の応答パケット822で確認応答する。クライアント801は、SSYNACKACKパケットを同時に生成する。このSSYNACKパケットは、安全セッション初期設定SSIパケット824と呼ばれ、TARPルータ811によってSSYNACKパケット822内に与えられる送信ホップブロックに指定される、クライアントの送信テーブル921図9内の第1の{送信側、受信側}IPペアと共に送信される。TARPルータ811は、TARPルータの送信テーブル923内の第1の{送信側、受信側}IPペアと共に送信されるSSIACKパケット825を用いてSSIパケット824に応答する。これらのパケットが首尾良く交換された後、安全な通信セッションが確立され、クライアント801とTARPルータ811との間の他のすべての安全な通信は、同期が維持されるかぎり、この安全なセッションを介して行われる。同期が失われた場合、クライアント801およびTARPルータ802は、図8に概略的に示し上記で説明した手順によって安全なセッションを再確立することができる。安全なセッションがアクティブであるとき、クライアント901とTARPルータ911図9は共に、セッション同期822中にTARPルータから与えられるそれぞれの送信テーブル921、923および受信テーブル922、924を維持する。クライアントの送信テーブル921内のIPペアのシーケンスがTARPルータの受信テーブル924内のIPペアのシーケンスと同一であることが重要である。同様に、クライアントの受信テーブル922内のIPペアのシーケンスはルータの送信テーブル923内のIPペアのシーケンスと同一でなければならない。このことはセッション同期を維持するうえで必要である。クライアント701は、安全なセッションの間1つの送信テーブル921および1つの受信テーブル922のみを維持する必要がある。クライアント901によって送信される各順次パケットは、TCPセッションであるか、それともUDPセッションであるかにかかわらず、送信テーブル内の次の{送信側、受信側}IPアドレスペアを使用する。TARPルータ911は、クライアント911から到着する各パケットが受信テーブル内に示された次のIPアドレスを保持していることを予期する。しかし、パケットは順序正しく到着しないことがあるので、ルータは受信テーブル内にルックアヘッドバッファを維持することができ、すでに受信されているIPペアを未来のパケットに対して無効なIPペアとしてマーク付けする。IPルックアヘッドバッファ内に存在するが、受信済みIPペアとしてマーク付けされているIPペアを含む未来のパケットは破棄される。TARPルータ911からクライアント901への通信も同様に維持される。特に、ルータ911は、クライアント901に送信すべきパケットを構成する際にルータ911の送信テーブル923から次のIPアドレスペアを選択し、クライアント901は、それが受信するパケット上の予期されるIPペアのルックアヘッドバッファを維持する。各TARPルータは、そのTARPルータとの安全なセッションを行っているか、あるいはそのTARPルータを通して安全なセッションを行っている各クライアントごとに別々の送信テーブル受信テーブルペアを維持する。クライアントは、それをインターネットにリンクするクライアントのホップブロックを第1のサーバから受信し、それに対して、ルータはホップブロックを交換する。ルータが他のルータとのリンクベースのIPホッピング通信方式を確立すると、ペア交換の各ルータはその送信ホップブロックを交換する。各ルータの送信ホップブロックは他方のルータの受信ホップブロックになる。ルータ間の通信は、クライアントが第1のルータにパケットを送信する例で説明したように管理される。上記の方式はIP環境でうまく作用するが、インターネットに接続される多くのローカルネットワークはイーサネット登録商標システムである。イーサネット登録商標では、既知の過程アドレス分解プロトコルおよび逆アドレス分解プロトコルを使用して着信先装置のIPアドレスをハードウェアアドレスに変換しなければならず、その逆もまた同様である。しかし、リンクベースのIPホッピング方式を使用する場合、相関過程が厄介なものになる。リンクベースのIPホッピング方式の代替態様はイーサネット登録商標ネットワーク内で使用することができる。この解決策では、インターネットをイーサネット登録商標にリンクするノードボーダーノードと呼ぶが、リンクベースのIPホッピング通信方式を使用してイーサネット登録商標LANの外部のノードと通信できるようにする。イーサネット登録商標LAN内で、各TARPノードは、従来どおりにアドレス指定される単一のIPアドレスを有する。LAN内TARPノードは、{送信側、受信側}IPアドレスペアを比較してパケットを認証するのではなく、1つのIPヘッダ拡張フィールドを使用してパケットを認証する。したがって、ボーダーノードは、LAN内TARPノードによって共用されるアルゴリズムを使用して、IPヘッダ内の空きフィールドに格納される記号を生成し、LAN内TARPノードは、この特定の送信元IPアドレスから次に受信されることが予期されるパケットについてのノード自体の予想に基づいてある範囲の記号を生成する。パケットは、予想される記号たとえば、数値の集合内に収まらない場合には拒絶され、収まった場合には受け入れられる。LAN内TARPノードからボーダーノードへの通信も同様に行われる。ただし、セキュリティ上の理由で、アルゴリズムは必然的に異なる。したがって、各通信ノードは、図9と同様に送信テーブルおよび受信テーブルを生成する。すなわち、LAN内TARPノードの送信テーブルはボーダーノードの受信テーブルと同一であり、LAN内TARPノードの受信テーブルはボーダーノードの送信テーブルと同一である。IPアドレスホッピングに使用されるアルゴリズムは任意の所望のアルゴリズムでよい。たとえば、アルゴリズムは、所与のシードを有する許可されたIPアドレスをカバーする範囲の番号を生成する擬似乱数生成プログラムでよい。あるいは、セッション参加者が、ある種のアルゴリズムを仮定し、単にそのアルゴリズムを適用するためのパラメータを指定することができる。たとえば、仮定されるアルゴリズムは特定の擬似乱数生成プログラムでよく、セッション参加者は単にシード値を交換することができる。発信元端末ノードと着信先端末ノードとの間に永久的な物理的な違いはないことに留意されたい。いずれのエンドポイントのいずれの装置もペアの同期を開始することができる。別々のメッセージ交換が必要にならないように認証/同期要求および確認応答およびホップブロック交換がすべて単一のメッセージによって実行できることにも留意されたい。前述の構造の他の拡張態様として、リンク冗長性を実現し、さらに、サービスを拒否する試みおよびトラフィック監視を妨げるために、クライアントによって複数の物理パスを使用することができる。図10に示すように、たとえば、クライアント1001は、それぞれの異なるISP1011、1012、1013から与えられる3つのTARPルータのそれぞれとの3つの同時セッションを確立することができる。一例として、クライアント1001は3つの異なる電話回線1021、1022、1023や2つの電話回線およびケーブルモデムなどを使用してISPに接続することができる。この方式では、送信されるパケットが様々な物理パスの間で無作為に送信される。この構造は高度の通信冗長性を実現し、サービス拒否攻撃およびトラフィック監視に対する保護を向上させる。2他の拡張態様以下に、上述の技法、システム、および方法の様々な拡張態様について説明する。上述のように、コンピュータネットワークインターネット、イーサネット登録商標など内のコンピュータ間で行われる通信のセキュリティは、ネットワークを介して送信されるデータパケットの、見掛け上無作為の送信元インターネットプロトコルIPアドレスおよび着信先IPアドレスを使用することによって向上させることができる。この機能は、リスナーが、ネットワーク内のどのコンピュータが通信しているかを判定するのを妨げ、同時に、通信している2つのコンピュータが、受信された所与のデータパケットが正当なパケットであるか否かを容易に認識できるようにする。上述のシステムの一つの態様では、IPヘッダ拡張フィールドを使用してイーサネット登録商標上の着信パケットが認証される。本明細書で説明する前述の技法の様々な拡張態様には、1ホップされるハードウェアまたはMACアドレスをブロードキャスト型ネットワークで使用すること、2コンピュータが送信側との同期を自動的に回復できるようにする自己同期技法、3送信側コンピュータおよび受信側コンピュータがパケット喪失事象またはその他の事象の場合に同期を迅速に再確立できるようにする同期アルゴリズム、および4無効なパケットを拒絶する高速パケット拒絶機構が含まれる。これらの拡張態様のいずれかまたはすべてを様々な方法のいずれかで上述の機能と組み合わせることができる。A.ハードウェアアドレスホッピングLAN上のインターネットプロトコルベース通信技法または任意の専用物理媒体を介したインターネットプロトコルベース通信技法では通常、フレームと呼ばれることの多い下位パケット内にIPパケットが埋め込まれる。図11に示すように、たとえば、第1のイーサネット登録商標フレーム1150はフレームヘッダ1101および埋め込まれた2つのIPパケットIP1およびIP2を備え、それに対して、第2のイーサネット登録商標フレーム1160は異なるフレームヘッダ1104および単一のIPパケットIP3を備えている。各フレームヘッダは一般に、送信元ハードウェアアドレス1101Aおよび着信先ハードウェアアドレス1101Bを含む。図11では、図を明確にするためにフレームヘッダ内の他の公知のフィールドは省略されている。物理通信チャネルを介して通信する2つのハードウェアノードは、チャネルまたはネットワーク上のどのノードがフレームを受信すべきかを示す適切な送信元ハードウェアアドレスおよび着信先ハードウェアアドレスを挿入する。悪意あるリスナーが、IPパケット自体ではなくあるいはそれに加えてローカルネットワーク上のフレームを調べることによって、フレームの内容および/またはそのフレームの通信者に関する情報を得ることが可能である。このことは、フレームを生成したマシンのハードウェアアドレスおよびフレームが送信されるマシンのハードウェアアドレスをフレームヘッダに挿入する必要がある、イーサネット登録商標などのブロードキャスト媒体に特に当てはまる。ネットワーク上のすべてのノードは場合によっては、ネットワークを介して送信されるすべてのパケットを見ることができる。これは、特に、情報交換を行っているのは誰かを第三者が識別できることを通信者が望んでいない場合に、安全な通信に対する問題となる恐れがある。この問題に対処する1つの方法は、アドレスホッピング方式をハードウェア層に拡張することである。本発明の様々な態様によれば、ハードウェアアドレスは、IPアドレスを変更するために使用される方法と同様な方法でホップされ、したがって、リスナーは、特定のメッセージを生成したのはどのハードウェアノードであるかを判定することも、あるいは所期されている受信側はどのノードであるかを判定することもできない。図12Aは、イーサネット登録商標などのネットワーク上のセキュリティを向上させるために媒体アクセス制御MACハードウェアアドレスがホップされるシステムを示している。この説明ではイーサネット登録商標環境の例示的なケースを引用するが、本発明の原則は他の種類の通信媒体にも同様に適用することができる。イーサネット登録商標の場合、送信側および受信側のMACアドレスは、イーサネット登録商標フレームに挿入され、そのフレームのブロードキャスト範囲内にいるLAN上のあらゆる人によって見ることができる。安全な通信を実現する場合、特定の送信側や受信側に帰属しないMACアドレスを持つフレームを生成することが望ましくなる。図12Aに示すように、コンピュータノード1201および1202はイサーネットなどの通信チャネルを介して通信する。各ノードは、それぞれ通信ソフトウェア1204および1217によりパケットを送信することによって通信する1つまたは複数のアプリケーションプログラム1203および1218を実行する。アプリケーションプログラムの例にはビデオ会議、eメール、文書処理プログラムなどが含まれる。通信ソフトウェア1204および1217は、たとえば、様々な機能レベルで実現される様々なサービスを標準化するOSI層化構造またはスタックを備えることができる。通信ソフトウェア1204および1217の最下位レベルはそれぞれ、ハードウェア構成要素1206および1214と通信し、各構成要素は、様々な通信プロトコルに従ってハードウェアを再構成または制御できるようにする1つまたは複数のレジスタ1207および1215を含むことができる。ハードウェア構成要素たとえば、イーサネット登録商標ネットワークインタフェースカードは通信媒体を介して互いに通信する。各ハードウェア構成要素には通常、そのハードウェア構成要素をネットワーク上の他のノードへに対して識別する固定ハードウェアアドレスまたはMAC番号が事前に割り当てられる。以下に詳しく説明するように、本発明の原則の様々な態様は、1つまたは複数のアルゴリズムと、受信されたパケットの妥当性を確認するためにある範囲の妥当なアドレスを追跡する1つまたは複数の移動ウィンドウを使用して、様々なアドレスのホッピングを可能にする。本発明の1つまたは複数の原則に従って送信されるパケットは一般に、マシンによって相関付けされた通常のアドレスを使用して平文で送信される通常のデータパケットと区別するために安全なパケットまたは安全な通信と呼ばれる。帰属不能なMACアドレスを生成する1つの簡単な方法はIPホッピング方式の拡張態様である。この場合、同じLAN上の2つのマシンは、安全に通信して乱数発生プログラムおよびシードを交換し、同期式ホッピングのための準無作為MACアドレスのシーケンスを作成する。この場合、インプリメンテーションおよび同期の問題はIPホッピングの同じ問題と類似している。しかし、この手法では、LAN上で現在アクティブなMACアドレスが使用される恐れがあり、それによって、これらのマシンの通信が中断される可能性がある。イーサネット登録商標MACアドレスが現在の所、長さが48ビットであるので、アクティブなMACアドレスが無作為に乱用される可能性は実際には極めて低い。しかし、この数字に広範囲のLANで見られるような多数のノードの数、パケット音声またはストリーミングビデオの場合のような多数のフレームの数、および多数の並行仮想専用網VPNの数を乗じた場合、アドレスホッピングされるフレームで安全でないマシンのMACアドレスが使用される可能性は無視できないものになる。簡単に言えば、LAN上の他のマシンの通信を中断する可能性が少しでもあるあらゆる方式は、先見の明のあるシステム管理者から反対を受ける。それにもかかわらず、これは技術的に実施可能であり、マシンの数が少ないLAN上で安全に実施することができ、あるいはLAN上のすべてのマシンがMACホップ通信を行う場合に安全に実施することができる。同期式MACアドレスホッピングは、セッションを確立する際、特に通信に関与する複数のセッションまたは複数のノードがある場合、ある程度のオーバヘッドを伴うことがある。MACアドレスを無作為化するより簡単な方法は、各ノードがネットワーク上で発生したあらゆるフレームを受信し処理できるようにすることである。通常、各ネットワークインタフェースドライバは、発生したあらゆるフレームのヘッダ内の着信先MACアドレスを検査し、そのマシンのMACアドレスに一致するかどうかを調べる。一致しない場合、このフレームは破棄される。しかし、一つの態様では、これらの検査を無効化することができ、発生したあらゆるパケットがTARPスタックに渡され処理される。これは、発生したあらゆるフレームが処理されるのでプロミスキュアスモードと呼ばれる。プロミスキュアスモードでは、着信先マシンがフレームを確実に処理できるので、送信側は、同期の取れていない完全に無作為のMACアドレスを使用することができる。パケットの着信先が本当にそのマシンであるかどうかに関する決定はTARPスタックによって処理され、TARPスタックは、送信元IPアドレスと着信先IPアドレスがTARPスタックのIP同期テーブルにおいて一致しているかどうかを検査する。一致が見つからない場合、このパケットは破棄される。一致した場合、パケットが開放され、インナヘッダが評価される。パケットの着信先がこのマシンであることをインナヘッダが示している場合、パケットがIPスタックに転送され、そうでない場合、パケットは破棄される。純粋に無作為のMACアドレスホッピングの1つの欠点は、処理オーバヘッドに対するこのホッピングの影響である。すなわち、発生したあらゆるフレームを処理しなければならないので、ネットワークインタフェースドライバがパケットを一方的に区別し拒絶する場合よりもかなり頻繁にマシンのCPUが使用される。妥協的な手法として、メッセージの着信先である実際の受信側にかかわらず、MACホップ通信に使用すべきアドレスとして単一の固定MACアドレスまたは少数のMACアドレスたとえば、イーサネット登録商標上の各仮想専用網ごとに1つのMACアドレスを選択する手法がある。このモードでは、ネットワークインタフェースが、発生した各フレームを事前に確立された1つまたは少数のMACアドレスと突き合わせて検査することができ、それによって、CPUは物理層パケットの区別を行わなく済む。この方式では、LAN上の侵入者に重要な情報が漏れることがない。特に、アウタヘッダ内の固有のパケットタイプによってあらゆる安全なパケットを事前に識別しておくことができる。しかし、安全な通信を行うすべてのマシンが同じMACアドレスを使用するか、あるいは所定のMACアドレスの小さな集合から選択するので、特定のマシンと特定のMACアドレスとの間の関連付けが実際上、失われる。この方式では、ネットワークインタフェースドライバが、このマシンを着信先とする安全なパケットと他のVPNからの安全なパケットを常に一方的に区別することはできないので、CPUは、安全でない通信または同期式MACアドレスホッピングの場合よりも頻繁に使用される。しかし、ネットワークインタフェースにおいて安全でないトラフィックをなくすのは容易であり、したがって、CPUに必要な処理の量が少なくなる。これらが当てはまらない境界条件があり、たとえば、LAN上のすべてのトラフィックが安全なトラフィックである場合、CPUは純粋に無作為のアドレスホッピングの場合と同じ程度に使用される。あるいは、LAN上の各VPNが異なるMACアドレスを使用する場合、ネットワークインタフェースは、ローカルマシンを着信先とする安全なフレームを、他のVPNを構成する安全なフレームと完全に区別することができる。これらは技術上の兼ね合せであり、ユーザがソフトウェアをインストールし、かつ/またはVPNを確立する際に管理オプションを与えることによって最もうまく処理することができる。しかし、この場合でも、LAN上の1つまたは複数のノードによって使用されるMACアドレスが選択されるわずかな可能性が依然として残る。この問題に対する1つの解決策として、MACホップ通信で使用される1つのアドレスまたはある範囲のアドレスが公式に割り当てられる。これは通常、割当て番号登録権限を介して行われ、たとえば、イーサネット登録商標の場合、電気電子技術者協会IEEEによってベンダにMACアドレス範囲が割り当てられている。公式に割り当てられるアドレス範囲によって、安全なフレームはLAN上の適切に構成され適切に機能するマシンに確実に適合する。次に、本発明の原則に従った多数の組合せおよび特徴について説明するために図12Aおよび図12Bを参照する。上述のように、2つのコンピュータノード1201および1202がイーサネット登録商標などのネットワークまたは通信媒体を介して通信しているものと仮定する。各ノードの通信プロトコルそれぞれ、1204および1217は、標準通信プロトコルから導かれるある機能を実行する修正された要素1205および1216を含む。特に、コンピュータノード1201は、各パケットを他方のコンピュータノードに送信するために見掛け上無作為の送信元IPアドレスおよび着信先IPアドレスおよび一つの態様では、見掛け上無作為のIPヘッダディスクリミネータフィールドを選択する第1のホップアルゴリズム1208Xを実施する。たとえば、ノード1201は、送信先S、着信先D,および発信IPパケットヘッダに挿入されるディスクリミネータフィールドDSの3つ組を含む送信テーブル1208を維持する。このテーブルは、受信側ノード1202に知られている適切なアルゴリズムたとえば、適切なシードを用いてシードされる乱数生成プログラムを使用することによって生成される。新しい各IPパケットが形成される際、送信側の送信テーブル1208の順次エントリを使用してIP送信元、IP着信先、およびIPヘッダ拡張フィールドたとえば、ディスクリミネータフィールドが埋められる。送信テーブルを事前に作成しておく必要がなく、その代わり、動作時に、各パケットを形成する際にアルゴリズムを実行することによって作成できることが理解されよう。受信側ノード1202では、同じIPホップアルゴリズム1222Xが維持され、送信元IPアドレス、着信先IPアドレス、およびディスクリミネータフィールドの妥当な3つ組をリストした受信テーブル1222を、上記のアルゴリズムを使用して生成するために使用される。これは、送信テーブル1208の第1の5つのエントリが、受信テーブル1222の第2の5つのエントリに一致することによって示されている。各テーブルは、パケットの喪失、パケットの順序のずれ、または送信遅延のために任意の特定の時間にわずかにずれる可能性がある。また、ノード1202は、着信IPパケットの一部として受信されたときに受け入れられる妥当なIP送信元、IP着信先、およびディスクリミネータフィールドのリストを表す受信ウィンドウW3を維持する。パケットが受信されると、ウィンドウW3は妥当なエントリのリストを下にスライドさせ、したがって、可能な妥当なエントリは時間の経過と共に変化する。誤った順序で到着したが、それにもかかわらずウィンドウW3内のエントリと一致している2つのパケットは受け入れられる。ウィンドウW3に収まらないパケットは無効なパケットとして拒絶される。ウィンドウW3の長さは、ネットワーク遅延またはその他の因子を反映する必要に応じて調整することができる。ノード1202は、場合によっては異なるホッピングアルゴリズム1221Xを使用して着信先がノード1201であるIPパケットおよびフレームを作成するために同様な送信テーブル1221を維持し、ノード1201は、同じアルゴリズム1209Xを使用して一致する受信テーブル1209を維持する。ノード1202が見掛け上無作為のIP送信先、IP着信先、および/またはディスクリミネータフィールドを使用してノード1201にパケットを送信すると、ノード1201は着信パケット値を、ノード1201の受信テーブルに維持されているウィンドウW1内に収まる値と突き合わせる。実際には、ノード1201の送信テーブル1208と受信側ノード1202の受信テーブル1222との同期が取られるすなわち、同じ順序でエントリが選択される。同様に、ノード1202の送信テーブル1221とノード1201の受信テーブル1209との同期が取られる。図12Aでは送信元、着信先、およびディスクリミネータフィールドについて共通のアルゴリズムが示されているたとえば、3つのフィールドのそれぞれに異なるシードを使用するが、実際には、まったく異なるアルゴリズムを使用してこれらのフィールドのそれぞれの値を確立できることが理解されよう。図のように3つのフィールドすべてではなく1つまたは2つのフィールドをホップできることも理解されよう。本発明の他の態様によれば、ローカルエリアネットワークまたはブロードキャスト型ネットワーク内のセキュリティを向上させるために、IPアドレスおよび/またはディスクリミネータフィールドの代わりにあるいはそれらと共にハードウェアアドレスまたはMACアドレスがホップされる。この目的のために、ノード1201は、ノード1202にある対応する受信テーブル1224との同期が取られるフレームヘッダたとえば、図11のフィールド1101Aおよび1101Bに挿入される送信元ハードウェアアドレスおよび着信先ハードウェアアドレスを、送信アルゴリズム1210Xを使用して生成する、送信テーブル1210をさらに維持する。同様に、ノード1202は、ノード1201にある対応する受信テーブル1211との同期が取られる送信元ハードウェアアドレスおよび着信先ハードウェアアドレスを含む異なる送信テーブル1223を維持する。このように、発信ハードウェアフレームは、各受信側が、所与のパケットの着信先が該受信側であるかどうかを判定できるにもかかわらず、ネットワーク上の完全に無作為のノードから発信され、かつこのようなノードに送信されるように見える。ハードウェアホッピング機能をIPホッピング機能とは異なる通信プロトコルレベルでたとえば、性能を向上させるためにカードドライバまたはハードウェアカード自体で実施できることが理解されよう。図12Bは、前述の原則を用いて使用することのできる3つの異なる態様またはモードを示している。プロミスキュアスモードと呼ばれる第1のモードでは、ネットワーク上のすべてのノードによって共通のハードウェアアドレスたとえば、送信元用の固定アドレスおよび着信先用の別の固定アドレスまたは完全に無作為のハードウェアアドレスが使用され、したがって、特定のパケットを1つのノードに帰属させることはできなくなる。各ノードは最初、共通または無作為のハードウェアアドレスを含むすべてのパケットを受け入れ、IPアドレスまたはディスクリミネータフィールドを調べて、パケットの着信先がそのノードであるかどうかを判定しなければならない。なお、IPアドレスまたはディスクリミネータフィールド、あるいはその両方を上述のアルゴリズムに従って変更することができる。前述のように、この場合、所与のパケットが妥当な送信元ハードウェアアドレスおよび着信先ハードウェアアドレスを有するかどうかを判定する追加の処理が必要になるので、各ノードのオーバヘッドが増大する可能性がある。VPN当たりプロミスキュアスモードと呼ばれる第2のモードでは、少数の1組の固定ハードウェアアドレスが使用され、仮想専用網上で通信するすべてのノードに固定送信元/着信先ハードウェアアドレスが使用される。たとえば、イーサネット登録商標上に6つのノードがあり、1つのVPN上の各ノードがそのVPN上の他の2つのノードのみと通信できるようにネットワークが2つの専用仮想網に分割される場合、第1のVPN用の1組と第2のVPN用の第2の組の、2組のハードウェアアドレスを使用することができる。これにより、指定されたVPNから到着するパケットのみを検査すればよいので、妥当なフレームについての検査に必要なオーバヘッドの量が少なくなる。この場合も、VPN内で安全な通信を行えるように、前述のようにIPアドレスおよび1つまたは複数のディスクリミネータフィールドをホップすることができる。もちろん、この解決策では、VPNの匿名性は無効になるすなわち、トラフィックがどのVPNに属するものであるかを部外者が容易に知ることができる。ただし、部外者がそれを特定のマシン/人と相関付けることはできない。また、ディスクリミネータフィールドを使用してある種のDoS攻撃を受ける可能性を低減させる必要もある。たとえば、ディスクリミネータフィールドがない場合、LAN上のアタッカーが、VPNによって使用されているMACアドレスを含むフレームのストリームを作成することが可能になる。このようなフレームを拒絶するには過度の処理オーバヘッドが必要になる恐れがあるディスクリミネータフィールドは、擬パケットを拒絶する低オーバヘッド手段を実現する。ハードウェアホッピングモードと呼ばれる第3のモードでは、図12Aに示すようにハードウェアアドレスが変更され、それによって、ハードウェア送信元アドレスおよびハードウェア着信先アドレスが常に変更され、アドレスは帰属不能になる。もちろん、これらの態様の変形態様が可能であり、本発明は、いかなる点においてもこれらの例によって制限されることはない。B.アドレス空間の拡張アドレスホッピングによってセキュリティおよびプライバシーが確保される。しかし、保護のレベルは、ホップされるブロック内のアドレスの数によって制限される。ホップブロックは、VPNを実現するためにパケットごとに調整されるフィールドを示す。たとえば、各ブロックが4つのアドレス2ビットから成るホップブロックを使用するIPアドレスホッピングを用いて2つのノードが通信する場合、16個の可能なアドレスペア組合せがある。サイズ16のウィンドウの場合、大部分の時間において大部分のアドレスペアが妥当なペアとして受け入れられる。この制限は、ホップアドレスフィールドに加えてあるいはその代わりにディスクリミネータフィールドを使用することによって解消することができる。ディスクリミネータフィールドは、アドレスフィールドとまったく同じようにホップされ、パケットを受信側によって処理すべきかどうかを判定するために使用される。それぞれが4ビットホップブロックを使用する2つのクライアントが、2つのAブロック間のIPホッピングを介して通信するクライアントに与えられるのと同じ保護レベルを望んでいるものと仮定するホッピングに有効な24ビット。20ビットのディスクリミネータフィールドを、IPアドレスフィールドにおけるホッピングに有効な4アドレスビットと共に使用すると、この保護レベルが達成される。24ビットディスクリミネータフィールドは、アドレスフィールドがホップされず、また無視されない場合に同様な保護レベルを達成する。ディスクリミネータフィールドを使用すると、1任意に高い保護レベルを達成することができ、2アドレスホッピングなしで保護が実現されるという2つの利点が与えられる。これは、アドレスホッピングによってルーティングの問題が起こる環境で重要である。C.同期技法送信側ノードと受信側ノードがアルゴリズムおよびシードまたは準無作為送信元テーブルおよび準無作為着信先テーブルを生成するのに十分な同様な情報を交換した後、2つのノード間のその後の通信は円滑に進行するものと一般に仮定される。しかし、現実的には、2つのノードは、ネットワークの遅延または障害、あるいはその他の問題のために同期を失う可能性がある。したがって、ネットワーク内の、同期を失ったノード間に同期を再確立する手段を提供することが望ましい。ある可能な技法では、各ノードに、各パケットが首尾良く受信されたときに確認応答を供給させ、ある期間内に確認応答が受信されなかった場合に、非確認応答パケットを再送する。しかし、この手法は、オーバヘッドコストを増大させ、たとえば、ストリーミングビデオやストリーミングオーディオなどの高スループット環境では使用不能になる恐れがある。別の手法では、本明細書で自己同期と呼ぶ自動同期技法が使用される。この手法では、各パケットに同期情報が埋め込まれ、それによって、受信側は、送信側との同期を失ったと判定した場合、単一のパケットが受信されたときにそれ自体の同期を取り戻すことができる。すでに通信が進行中であり、受信側が、まだ送信側と同期していると判定した場合、再同期の必要はない。受信側は、たとえば、ある期間が経過した時点で満了し、それぞれの妥当なパケットによってリセットされるデッドマンタイマを使用することによって、同期していないことを検出することができる。パケット再試行攻撃を防止するために、ハッシングによってパブリック同期フィールド以下参照にタイムスタンプを付加することができる。一つの態様では、送信側によって送信される各パケットのヘッダに同期フィールドが付加される。この同期フィールドは、平文であっても、あるいはパケットの暗号化された部分の一部であってもよい。送信側および受信側が乱数生成プログラムRNGおよびシード値を選択しているものと仮定すると、RNGとシードのこの組合せを使用して乱数配列RNSを生成することができる。次いで、RNSを使用して、上述のように送信元/着信先IPペアおよび必要に応じて、ディスクリミネータフィールドならびにハードウェア送信元アドレスおよびハードウェア着信先アドレスが生成される。しかし、シーケンス全体または最初のN-1個の値を生成しなくてもシーケンス内のN番目の乱数を生成することができる。シーケンスインデックスNが既知である場合、このインデックスに対応する無作為の値を直接生成することができる以下参照。それぞれの異なる基本周期を有する様々なRNGおよびシードを使用して送信元IPシーケンスおよび着信先IPシーケンスを生成することができるが、この場合も基本的な概念が適用される。話を簡単にするために、以下の議論では、単一のRNGシーケンシング機構を使用してIP送信元着信先アドレスペアのみがホップされるものと仮定する。各パケットヘッダ内の同期フィールドは、自己同期機能により、IPペアを生成するために使用されているRNSにインデックスすなわち、シーケンス番号付けする。RNSを生成するために使用されているRNGにこのようにインデックス付けすると特定の乱数値が生成され、それによって特定のIPペアが生成される。すなわち、RNG、シード、およびインデックス番号から直接IPペアを生成することができ、この方式では、与えられたインデックス番号に関連付けされたシーケンス値に先行する乱数のシーケンス全体を生成することは不要である。通信者がすでにRNGおよびシードを交換しているものと仮定されているので、IPペアを生成するために与えなければならない新しい情報はシーケンス番号だけである。この番号が送信側によってパケットヘッダ内に与えられる場合、受信側は、この番号をRNGに入力するだけでIPペアを生成することができ、したがって、パケットのヘッダに示されたIPペアが妥当であることを検証することができる。この方式では、送信側と受信側が同期を失った場合、受信側は、パケットヘッダ内のIPペアを、インデックス番号から生成されるIPペアと比較することにより、単一のパケットを受信した時点でただちに同期を取り戻すことができる。したがって、単一のパケットを受信したときに、同期の取れた通信を再開することができ、この方式はマルチキャスト通信にとって理想的な方式になる。極端な場合には、同期テーブルが完全に不要になる。すなわち、送信側と受信側は、同期フィールド内のインデックス番号を使用するだけで各パケット上のIPペアの妥当性を確認することができ、それによってテーブルを完全になくすことができる。前述の方式は、それに関連する、セキュリティ上のある固有の問題を有する。すなわち、同期フィールドの配置の問題である。このフィールドをアウタヘッダに配置した場合、侵入者はこのフィールドの値および該値とIPストリームとの関係を見ることができる。これにより、場合によっては、IPアドレスシーケンスを生成するために使用されているアルゴリズムが影響を受け、したがって、通信のセキュリティが影響を受ける。しかし、この値をインナヘッダに配置した場合、送信側はインナヘッダを復号しないかぎり、同期値を抽出してIPペアの妥当性を確認することができなくなる。この場合、受信側は、パケット再生などある種のサービス拒否DoS攻撃にさらされる。すなわち、受信側がパケットを復号しないかぎりIPペアの妥当性を確認することができない場合、アタッカーが単に、前に妥当であったパケットを再送する場合には、復号に関して著しい量の処理を実行しなければならなくなる恐れがある。アルゴリズムのセキュリティと処理速度との可能な兼ね合せとして、インナヘッダ暗号化済みとアウタヘッダ未暗号化との間で同期値が分割される。すなわち、同期値が十分に長い場合、は、平文で表示することのできる急速に変化する部分と、保護されなければならない固定または非常にゆっくりと変化する部分とに分割することができる。平文で表示することのできる部分をパブリック同期部と呼び、保護されなければならない部分をプライベート同期部と呼ぶ。完全な同期値を生成するにはパブリック同期部とプライベート同期部の両方が必要である。しかし、プライベート部は、固定されるか、あるいはときどきにのみ変化するように選択することができる。したがって、プライベート同期値を受信側によって記憶することができ、したがって、ヘッダを復号しなくても検索することができるようになる。送信側と受信側が、同期のプライベート部分が変化する頻度に関してすでに合意している場合、受信側は、同期を失う原因となった通信ギャップが前のプライベート同期の有効期間を超えた場合に、選択的に単一のヘッダを復号して新しいプライベート同期を抽出することができる。この場合、復号の量が厄介な量になることはなく、したがって、受信側が、単に単一のヘッダをときどき復号する必要があることに基づいてサービス拒否攻撃にさらされることはない。この1つのインプリメンテーションでは、ハッシュ関数を1対1マッピングと共に使用して同期値からプライベート同期部およびパブリック同期部が生成される。このインプリメンテーションは図13に示されており、この場合、たとえば第1のISP1302が送信側であり、第2のISP1303が受信側である。図13では他の代替態様が可能である。送信されるパケットは、暗号化されていないパブリックヘッダまたはアウタヘッダ1305と、たとえばリンク鍵を使用して暗号化されたプライベートヘッダまたはインナヘッダ1306とを備える。アウタヘッダ1305はパブリック同期部を含み、それに対して、インナヘッダ1306はプライベート同期部を含む。受信側ノードは、復号関数1307を使用してインナヘッダを復号し、プライベート同期部を抽出する。この段階が必要になるのは、現在バッファされているプライベート同期の有効期間が満了した場合だけである。現在バッファされているプライベート同期がまだ有効である場合、このプライベート同期は単にメモリから抽出され、段階1308に示すようにパブリック同期に付加逆ハッシュでよいされる。パブリック同期部と復号されたプライベート同期部は関数1308で組み合わされ、組合せ同期1309が生成される。組合せ同期1309は次いで、RNG1310に送られ、IPアドレスペア1311と比較され、パケットの妥当性が確認されるか、あるいはパケットが拒絶される。この構造の重要な点は、パブリック同期値が関与する未来と過去の概念である。スプーフィング攻撃を防止するには同期値自体が無作為の値であるべきであるが、すでに送信された同期値を含むパケットが実際には受信側によって受信されていない場合でも、受信側がこの同期値を即座に識別できることが重要である。1つの解決策として、ハッシングによってタイムスタンプまたはシーケンス番号がパブリック同期部に付加され、したがって、このパブリック同期部を即座に抽出し、検査し、破棄し、それによってパブリック同期部自体の妥当性を確認することができる。一つの態様では、同期フィールドによって生成された送信元/着信先IPペアを、パケットヘッダに示されたペアと比較することによってパケットを検査することができる。1ペアが一致し、2タイムスタンプが妥当であり、3デッドマンタイマが満了している場合、同期が取り直される。そうでない場合、パケットは拒絶される、十分な処理能力が利用できる場合、デッドマンタイマおよび同期テーブルを回避することができ、受信側は単にあらゆるパケットに関して同期を取り直すたとえば、妥当性を確認する。前述の方式では、そのインプリメンテーションに影響を与える大整数たとえば、160ビット計算が必要になることがある。このような大整数レジスタがない場合、スループットに影響が及び、したがって、場合によってはサービス拒否の点でセキュリティに影響が及ぶ。それにもかかわらず、大整数計算処理機能が普及すると、このような機能を実施するコストが削減される。D.他の同期方式上述のように、VPN内の通信側と受信側の間で、連続するW個以上のパケットが失われた場合Wはウィンドウサイズ、受信側のウィンドウは更新されておらず、送信側は、受信側のウィンドウに入っていないパケットは送信しない。送信側と受信側は、おそらくウィンドウ内の無作為のペアが偶然に繰り返されるまで同期を回復しない。したがって、可能なときにはいつでも送信側と受信側を同期させ、同期が失われたときは常にそれを再確立する必要がある。同期を失った送信側と受信側の間の同期を、チェックポイント方式を使用して回復することができる。この方式では、無作為のIPアドレスペアを備えたチェックポイントメッセージを使用して同期情報が伝達される。一つの態様では、2つのメッセージを使用して送信側と受信側の間で以下の同期情報が伝達される。1.SYNCREQは、送信側が同期を取る必要があることを示すために送信側によって使用されるメッセージであり、2.SYNCACKは、受信側の同期が取れたことを送信側に知らせるために受信側によって使用されるメッセージである。この手法の一変形態様によれば、送信側と受信側は共に以下の3つのチェックポイントを維持する図14参照。1.送信側において、ckptoチェックポイントオールドは、最後のSYNCREQパケットを受信側に再送するために使用されたIPペアである。受信側において、ckptoチェックポイントオールドは、送信側から繰り返しSYNCREQパケットを受信するIPペアである。2.送信側において、ckptnチェックポイントニューは、次のSYNCREQパケットを受信側に送信するために使用されるIPペアである。受信側において、ckptnチェックポイントニューは、新しいSYNCREQパケットを送信側から受信し、受信側のウィンドウを再整列させ、ckptoをckptnに設定させ、新しいckptnを生成させ、新しいckptrを生成させるIPペアである。3.送信側において、ckptrは、次のSYNCACKパケットを受信側に送信するために使用されるIPペアである。受信側において、ckptrは、新しいSYNCACKパケットを送信側から受信し、新しいckptnを生成させるIPペアである。SYNCACKは受信側ISPから送信側ISPに送信されるので、送信側ckptrは受信側のckptrをを指し、受信側ckptrは送信側のckptrを指す図14参照。送信側が同期を開始すると、送信側が次のデータパケットを送信するために用いるIPペアが所定の値に設定され、受信側がまずSYNCREQを受信すると、受信側ウィンドウが、送信側の次のIPペアが中心になるように更新される。同期はパケットカウンタによって開始することもたとえば、N個のパケットが送信されるたびに同期を開始する、あるいはタイマによって開始することもS秒おきに同期を開始する、あるいはそれらの組合せによって開始することもできる。図15を参照されたい。送信側から見ると、この技法は以下のように作用する。1各送信側は、受信側が同期していることを確認するために定期的に同期要求メッセージを受信側に送信する。2受信側は、まだ同期している場合、同期確認メッセージを送り返す。これがうまくいった場合、さらなる処置は必要とされない。3ある期間内に同期確認が受信されなかった場合、送信側は同期要求を再び送信する。送信側が同期確認応答を受信せずに次のチェックポイントに到達した場合、同期が失われ、送信側は送信を停止する必要がある。送信側はsyncackを受信するまでsyncreqsを送信し続け、受信した時点で送信が再確立される。受信側から見ると、この方式は以下のように作用する。1受信側は、送信側から同期要求要求を受信すると、ウィンドウを次のチェックポイント位置へ進め場合によっては必要に応じてペアをスキップする、同期応答メッセージを送信側に送信する。同期が失われていない場合、ジャンプアヘッドによって、テーブル内の次の利用可能なアドレスペアに進むすなわち、通常の前進。侵入者が同期要求メッセージを捕捉し、新しい同期要求メッセージを送信することによって通信の干渉を試みた場合、同期が確立されているか、あるいはこのメッセージが実際に同期を再確立する助けになる場合、このメッセージは無視される。ウィンドウは、再同期が行われたときは常に再整列させられる。この再整列に伴い、SYNCREQパケットが送信された直後に送信されたパケットによって使用されたアドレスペアにまたがるように受信側のウィンドウが更新される。通常、送信側と受信側は互いに同期させられる。しかし、ネットワーク事象が起こった場合、再同期中に受信側のウィンドウを多数の段階分進めなければならないことがある。この場合、介在する乱数間を順次進む必要なしにウィンドウを進めることが望ましい。この機能は、上述の自動同期手法にも望ましい。E.ジャンプアヘッド機能を有する乱数生成プログラム無作為にホップされるアドレスを生成するための魅力的な方法は、送信側と受信側で同一の乱数生成プログラムを使用し、パケットが送信され受信されたときにこのプログラムを進める方法である。使用できる多数の乱数生成アルゴリズムがある。各アルゴリズムは、アドレスホッピング応用例に対する利点と欠点を有する。線形乱数生成プログラムLCRは、明確な特徴を有する高速で簡単な乱数生成プログラムであり、効率的にn段階先にジャンプさせることができる。LCRは、以下の反復を使用してシードX0から始まる乱数X1、X2、X3、、XKを生成する。数1Ximodc式中、a、b、およびcは特定のLCRを定義する符号である。Xiに関する別の数式、すなわち、数2Xi-bmodcによって、ジャンプアヘッド機能が有効になる。係数aiは、拘束されない場合、iが小さい場合もで非常に大きなることができる。したがって、モジュロ演算のいくつかの特殊な特性を使用して、2を計算するのに必要なサイズおよび処理時間を調節することができる。2は次式のように書くことができる。数3Xib-bmodc以下のことを示すことができる。数4b-bmodccb-bmodcbをbmodcとして記憶し、bをbmodcとして記憶し、aimodcを計算することができるこれには0回の段階が必要である。このアルゴリズムの実際的なインプリメンテーションは、各同期間で一定距離nだけジャンプする。これは、nパケットおきの同期に相当する。ウィンドウは、前のウィンドウが開始してからnIPペア後に開始する。ノードは、Xjw、すなわち、J番目のチェックポイントでの乱数をX0として使用し、nをiとして使用して、LCR当たり1度anmodcを記憶し、数5Xj1wXncb-bmodcを、j1番目の同期用の乱数を生成するように設定することができる。ノードは、この構成を使用して、nとは無関係の一定の時間内に、各同期間で任意のしかし、一定の距離だけ先にジャンプすることができる。したがって、一般に擬似乱数生成プログラム、特にLCRはそのサイクルを繰り返す。この繰返しは、IPホッピング方式の弱点となる可能性がある。すなわち、敵は、繰返しを待つだけで未来のシーケンスを予想することができる。この弱点に対処する1つの方法は、既知の長いサイクルを有する乱数生成プログラムを作成することである。無作為のシーケンスが繰り返される前に、このシーケンスを新しい乱数生成プログラムで置き換えることができる。既知の長いサイクルを有するLCRを構成することができる。このことは、現在の所、多くの乱数生成プログラムには当てはまらない。乱数生成プログラムは、暗号に関して安全でない点がある。敵は、出力またはその一部を調べることによってRNGパラメータを導くことができる。このことはLCGに当てはまる。この弱点は、出力を乱数生成プログラムの一部とするように構成された暗号化プログラムを組み込むことによって軽減することができる。乱数生成プログラムは、敵が暗号プログラムに攻撃、たとえば既知の平文攻撃を開始するのを防止する。F.乱数生成プログラムの例a31、b4、およびc15であるRNGについて考える。この場合、数式1は数6Ximod15になる。X01を設定した場合、数式6はシーケンス1、5、9、13、2、6、10、14、3、7、11、0、4、8、12を生成する。このシーケンスは無限に繰り返される。このシーケンスで3つの数だけ先にジャンプする場合、an31329791、c1530450、およびanmodc313mod29791mod91である。数式5は数7-430mod15表1は、7のジャンプアヘッド計算を示している。この計算は、5から始まり3つ先にジャンプする。G.高速パケットフィルタアドレスホッピングVPNは、パケットが妥当なヘッドを有し、したがって、さらなる処理を必要とするか、それとも不当なヘッダを有し有害なパケット、ただちに拒絶すべきであるかどうかを即座に判定しなければならない。このような高速の判定を高速パケットフィルタリングと呼ぶ。この機能は、受信側のプロセッサを飽和させるために受信側で有害なパケットのストリームを即座に作成する敵による攻撃いわゆるサービス拒否攻撃からVPNを保護する。高速パケットフィルタリングは、イーサネット登録商標などの共用媒体上でVPNを実施するための重要な機能である。VPNのすべての参加者が、割り当てられていないAアドレスブロックを共用すると仮定した場合、1つの可能性として、共用媒体上でアドレスホッピングされないマシンに割り当てられることのない実験的なAブロックが使用される。Aブロックは、Cブロック内の8ビットとは逆にホップできる24ビットのアドレスを有する。この場合、ホップブロックはAブロックになる。イーサネット登録商標上では以下の理由で、実験的なAブロックが使用される可能性が高い。1.アドレスが、イーサネット登録商標の外部で無効であり、ゲートウェイによって妥当な外部の着信先にルーティングされることがない。2.各Aブロック内でホップできる224~1600万個のアドレスがある。このため、>280兆個の可能なアドレスペアが生成され、敵が妥当なアドレスを推測できる可能性は非常に低くなる。また、別々のVPN同士が衝突する可能性が許容される程度に低くなる共用される媒体上のすべてのVPNが独立に、Aブロックから無作為のアドレスペアを生成する。3.マシンがプロミスキュアスモードでないかぎりパケットが、イーサネット登録商標上のユーザであり、かつVPN上には存在しないユーザに受信されることがなく、非VPNコンピュータに対する影響が最小限に抑えられる。このイーサネット登録商標の例を、高速パケットフィルタリングの1インプリメンテーションを説明するために使用する。理想的なアルゴリズムは、パケットヘッダを即座に調べ、パケットが有害であるかどうかを判定し、あらゆる有害なパケットを拒絶するか、あるいはパケットヘッダが一致するのはどのアクティブIPペアかを判定する。この場合の問題は、従来のアソシエーティブメモリの問題である。この問題を解決するために様々な技法が開発されているハッシング、Bツリーなど。これらの手法はそれぞれ、利点と欠点を有する。たとえば、ハッシュテーブルは、統計的な意味で極めて即座に動作させることができるが、場合によってはずっと低速のアルゴリズムに退化することがある。この低速はある期間にわたって持続することがある。有害なパケットは常に即座に破棄する必要があるので、ハッシングは受け入れられない。H.存在ベクトルアルゴリズム存在ベクトルとは、nビット番号それぞれ0から2n-1までの範囲によってインデックス付けすることのできる長さ2nのビットベクトルである。各番号によってインデックス付けされた存在ベクトル内のビットを1に設定することにより、k個のnビット番号必ずしも一意ではないの存在を示すことができる。nビット番号xがk個の番号のうちの1つであるのは、存在ベクトルのx番目のビットが1である場合だけである。存在ベクトルにインデックス付けし、1を探すことによって高速パケットフィルタを実施することができる。この方法をテストと呼ぶ。たとえば、存在ベクトルを使用して番号135を表す必要があるものと仮定する。ベクトルの135番目のビットが設定される。したがって、1つのビット、すなわち135番目のビットを検査することによって、アドレス135が妥当であるかどうかを迅速に判定することができる。存在ベクトルは、IPアドレスのテーブルエントリに対応するように事前に作成することができる。実際には、着信アドレスを長いベクトルのインデックスとして使用して、比較を非常に即座に行うことができる。各RNGが新しいアドレスを生成すると、存在ベクトルはこの情報を反映するように更新される。ウィンドウが移動すると、存在ベクトルは、もはや妥当ではないアドレスをゼロにするように更新される。テストの効率と、存在ベクトルを記憶するのに必要なメモリの量との兼ね合せがある。たとえば、48ビットのホッピングアドレスをインデックスとして使用する必要がある場合、存在ベクトルは35テラバイトを有する必要がある。これが実際上大き過ぎることは明らかである。この代わりに、48ビットをいくつかのより小さなフィールドに分割することができる。たとえば、48ビットを4つの12ビットフィールドに細分することができる。これによって、記憶要件は2048バイトに削減され、その代わりに、ときどき有害なパケットを処理しなければならなくなる。実際には、1つの長い存在ベクトルではなく、分解された各アドレス部分が、4つの短い存在ベクトルのすべてに一致しないかぎり、さらなる処理が許可されなくなる。アドレス部分の第1の部分が第1の存在ベクトルに一致しない場合、残りの3つの存在ベクトルを検査する必要はない。存在ベクトルのy番目のビットが1であるのは、対応するフィールドがyである1つまたは複数のアドレスがアクティブである場合だけである。アドレスがアクティブであるのは、そのアドレスの適切なサブフィールドによってインデックス付けされた各存在ベクトルが1である場合だけである。32個のアクティブアドレスおよび3個のチェックポイントから成るウィンドウについて考える。有害なパケットは、1つの存在ベクトルに99よりも長い時間にわたってインデックス付けすることによって拒絶される。有害なパケットは、4つの存在ベクトルのすべてに999999995よりも長い時間にわたってインデックス付けすることによって拒絶される。平均すると、有害なパケットは102回未満の存在ベクトルインデックス動作で拒絶される。高速パケットフィルタを通過した少数の有害パケットは、一致するペアが、アクティブウィンドウ内に見つからないか、あるいはアクティブチェックポイントであるときに拒絶される。思いがけずヘッダに一致した有害なパケットは、VPNソフトウェアがこのヘッダの復号を試みたときに拒絶される。しかし、これらのケースは極めてまれである。空間と速度の兼合いを図るようにこの方法を構成する手段として、他に多くの方法がある。I.他の同期拡張態様上述の同期技法のわずかに修正された形態を使用することができる。前述のチェックポイント同期方式の基本原則は同じである。しかし、チェックポイントを受信したことによる処置はわずかに異なる。この変形態様では、受信側は、OoO誤った順序ないし2xWINDOWSIZEOoO個のアクティブアドレスを維持する。1≦OoO≦WINDOWSIZEおよびWINDOWSIZE≧1。OoOおよびWINDOWSIZEは、調整可能なパラメータであり、OoOは、ネットワーク内の事象または順序のずれた到着による失われたパケットに対処するのに必要なアドレスの最小数であり、WINDOWSIZEは、SYNCREQが発行される前に送信されたパケットの数である。図17は、受信側のアクティブアドレスの格納アレイを示している。受信側は、ロードされておりアクティブであるデータを受信する準備が整った最初の2xWINDOWSIZE個のアドレスから始まる。パケットが受信されると、対応するエントリが使用済みとマーク付けされ、もはやパケットを受信することはできなくなる。送信側は、最初は0に設定されるパケットカウンタであって、SYNCACKが受信されたSYNCREQの最後の初期送信以来送信されたデータパケットの数を含む、パケットカウンタを維持する。送信側のパケットカウンタがWINDOWSIZEに等しくなると、送信側は、SYNCREQを生成し、その初期送信を行う。受信側は、その現在のCKPTNに対応するSYNCREQを受信すると、次のWINDOWS個のアドレスを生成し、最後のアクティブアドレスの後の最初の位置から始まり、アレイの終了部分に到達した後でアレイの開始部分に戻る順序での、これらのアドレスのロードを開始する。受信側のアレイは、SYNCREQが受信されたときには図18のようになる。この場合、SYNCREQが受信されるときに、2、3のパケットが失われているか、あるいは誤った順序で受信される。図19は、新しいアドレスが生成された後の受信側のアレイを示している。送信側は、SYNCACKを受信しない場合、SYNCREQを一定の間隔で再発行する。送信側がSYNCACKを受信すると、パケットカウンタがWINDOWSIZEだけ減分される。パケットカウンタが2xWINDOWSIZE-OoOに到達した場合、送信側は、最終的に適切なSYNCACKが受信されるまでデータパケットの送信を停止する。送信側は次いで、データパケットの送信を再開する。未来の動作は主として、この初期サイクルの繰返しである。この手法の利点は以下のとおりである。1.乱数生成プログラムにおいて効率的なジュンプアヘッドが必要とされない。2.受信側に対応するエントリを有さないパケットが送信されることがない。3.タイマベースの再同期が不要である。これは2の結果である。4.受信側は、最後に送信されたメッセージからOoO個以内の送信されたデータメッセージを受け入れる能力を常に有する。J.分散送信パス変形態様本発明の様々な原則を組み込んだ他の態様が図20に示されている。この態様において、メッセージ送信システムは、中間コンピュータのネットワーク2011を介して第2のコンピュータ2002と通信する第1のコンピュータ2001を含む。この態様の一変形態様では、ネットワークは、それぞれが、複数のインターネットサービスプロバイダISP2005から2010にリンクされた、2つのエッジルータを含む。各ISPは、代表的な構成に過ぎず、制限的なものではない、図20に示す構成で他の複数のISPに結合されている。ISP間の各接続は、図20において、特定の物理的送信パスを示すように符号が付けられているたとえば、ADは、ISPA要素2005をISPD要素2008にリンクする物理的パスである。各エッジルータに到着したパケットは、無作為選択基準または準無作為選択基準に基づいてルータが接続されているISPのうち1つに選択的に送信される。図21に示すように、コンピュータ2001またはエッジルータ2003は、パケットを送信するために使用できるIPアドレスの妥当な集合を、ネットワーク内の潜在的な各送信パスごとに識別する、複数のリンク送信テーブル2100を組み込んでいる。たとえば、ADテーブル2101は、無作為または準無作為に生成された複数のIP送信元/着信先ペアを含む。第1のコンピュータ2001から第2のコンピュータ2002へパケットを送信する際、1つのリンクテーブルが無作為または準無作為に選択され、このテーブル内の次の妥当な送信先/着信先アドレスペアを使用して、パケットがネットワークを介して送信される。たとえば、パスADを無作為に選択した場合、ISPA要素2005とISPB要素との間で送信することが事前に決定されている次の送信元/着信先IPアドレスペアを使用してパケットが送信される。送信パスのうちの1つが劣化するか、あるいは動作不能になった場合、そのリンクテーブルを、テーブル2105に示されているようにダウン状態に設定し、したがって、このテーブルからアドレスが選択されるのを防止することができる。他の送信パスが、破壊されたこのリンクの影響を受けることはない。3.一部継続改良点以下では、上述の態様に適用できる様々な改良および特徴について説明する。これらの改良には、1伝送パスの品質に応じて異なる伝送パスを超えてパケットを分配するロードバランサと、2ドメイン名の問合せに応答して仮想専用網を透過的に形成するDNSプロキシサーバと、3システムチェックポイントでのサービス拒否攻撃を防止する大小リンク帯域幅管理機能と、4送信側と受信側の同期をとることができる速度を制限することによって着信パケットを規制するトラフィックリミッタと、5多数のノードが通信機能を2つの別々のエンティティ間で分割することによって中央ノードと通信できるようにするシグナリングシンクロナイザとが含まれる。各改良について以下に別々に考察する。A.ロードバランサ上述の様々な態様には、送信ノードと受信ノードが複数の伝送パスを通して結合されており、かつ連続するパケットが複数のパス上で準無作為的に分配されるシステムが含まれる。たとえば、図20および図21とそれに伴う説明を参照されたい。本発明の改良により、この基本概念は拡大されて、伝送リンクの品質に応じてパスに対する負荷が概ね釣り合うように、異なるパスを超えてパケットを分配する段階を包含する。一つの態様において、システムは、場合によっては変動する送信品質を有する複数の伝送パスを介して連結された、送信ノードおよび受信ノードを含む。連続するパケットが、各パスに関する重み値分配機能に基づいて、パス上で送信される。パケットが所与のパス上で送信される速度は、各パスごとに異なる可能性がある。劣化したパスを識別するために各伝送パスの相対的な正常性healthが監視される。一つの態様において、各パスの正常性は、送信されたパケットの数を、受信されたパケット肯定応答の数と比較することによって送信側において監視される。各伝送パスは、物理的に分離されたパスたとえば、ダイヤルアップ電話回線、コンピュータネットワーク、ルータ、ブリッジなどを含んでいても、広帯域通信媒体内に含まれる論理的に分離されたパスたとえば、FDM、TDM、CDMA、または他の種類の変調伝送リンクまたは非変調伝送リンクを含んでいてもよい。パスの送信品質があらかじめ決められたしきい値よりも低くなり、パケットを送信できる他のパスがあるとき、送信側はそのパスに使用されている重み値を変更し、そのパスを介して所与のパケットが送信される可能性を低くする。重みは好ましくは、パス上に公称トラフィックを維持する最小値以上に設定されると考えられる。他の利用可能なパスの重みは、影響を受けるパスの変更を補償するように改変される。送信側が同期機能によってオフにされるまでパスの品質が劣化しすなわち、パケットが全く宛先に到着しないとき、重みはゼロに設定される。すべての送信側がオフにされる場合、パケットは全く送信されない。従来のTCPIPプロトコルは、送信中に遅延またはエラーが起こっていると判定されるときにパケットの送信速度を低下させる、スロットリング機能を含む。この点で、場合によっては、パケットが受信されたかどうかを判定するのにタイマが用いられることがある。しかし、パケットの送信を制限するこれらの従来の技術は、他のパスに対して特定のパスを超える送信がリンクの品質に基づいて変更される、2つのノード間の複数の伝送パスを伴わない。ある態様によれば、重みの分配がたとえば、階段関数に従って大幅に変更された場合に、別の方法で起こりうる発振を減衰させるために、線形減衰公式または指数減衰公式を適用して、劣化しているパスが使用されると考えられる時間にわたって重み値を減少させることができる。同様に、劣化したパスの正常性が改善される場合、そのパスの重み値は徐々に増大される。伝送リンクの正常性は、送信ウィンドウ上述の態様を参照内で肯定応答されるパケットの数を、そのウィンドウ内で送信されたパケットの数と比較することによって評価することができ、かつ送信側の状態すなわち、オンまたはオフによって評価することができる。言い換えれば、ある特定の実施では、パスに関してある時間にわたって総体的な送信統計を蓄積するのではなく、上述のウィンドウ概念を使用して伝送パスの正常性を評価する。異常なパスから正常なパスに仮想回線パスを移動し、新しい仮想回線用のパスを選択するのに、同じ方式を使用することができる。図22Aには、複数の伝送リンクに関連する重み値を調整するためのフローチャートを示す。1つまたは複数のコンピュータノードで実行されるソフトウェアが、図22Aに示されている各段階を実行すると仮定する。また、磁気ディスクや光ディスクなどのコンピュータ可読媒体上に、コンピュータによって実行するためのソフトウェアを記憶できると仮定する。まず段階2201で、所与の伝送パスの送信品質が測定される。上述のように、この測定は、特定のリンク上で送信されたパケットの数とこのリンク上で受信されたパケット肯定応答信号の数との比較たとえば、単位時間当たりや絶対項においてに基づくことができる。または、送信ウィンドウ内で肯定応答されたパケットの数を、このウィンドウ内で送信されたパケットの数と比較することによって、品質を評価することができる。別の変形態様では、受信されなかった同期メッセージの数を用いて、リンク品質を示すことができる。もちろん、他の多くの変形態様が可能である。段階2202で、複数の送信側たとえば、伝送パスがオンになっているかどうかを判定する検査が行われる。複数の送信側がオンになっていない場合、この過程は終了し、段階2201から再開する。段階2203で、リンク品質が所与のしきい値たとえば、50または任意の不定数と比較される。品質がしきい値よりも低くなる場合、段階2207で、重みが最小レベルたとえば、1を超えているかどうかを判定する検査が行われる。超えていない場合、段階2209で、重みが最小レベルに設定され、かつ処理が段階2201で再開する。重みが最小レベルを超えている場合、段階2208で、このパスに関して重みが徐々に減少し、次いで段階2206で、補償するように残りのパスの重みが調整されるたとえば、重みが増大する。段階2203でパスの品質がしきい値以上である場合、段階2204で、重みがそのパスの定常状態値より小さいかどうかを判定する検査が行われる。その場合は、段階2205で重みは定常状態値に近くなるように増大され、段階2206で、補償するように残りのパスの重みが調整されるたとえば、重みを減少させる。段階2204で、重みが定常状態値以上である場合、処理は重みを調整せずに段階2201で再開する。重みは、好ましくは値を徐々に変更することにより、様々な関数に従って増分的に調整することができる。一つの態様では、線形減少関数を使用して重みが調整され、別の態様によれば、指数減衰関数が使用される。重みを徐々に変更することにより、さもなければ確率が急激に変化した場合に起こりうる振動子を減衰させるのを促進することができる。図22Aには明示的に示されていないが、過程はたとえば、タイムスケジュールに従って周期的にのみ行うことができるか、またはバックグラウンド操作モードなどで連続的に動作することもできる。一つの態様では、すべての潜在的なパスの組み合わされた重みは合計で1unityになるべきであるたとえば、あるパスの重みを減少させると、他のパスが選択される対応する重みは増大すると考えられる。他のパスの重み値の調整は比例配分することができる。たとえば、あるパスの重み値を10減少させると、残りのパスの重みに均等に増分が分配される。または、所望の加重公式weightedformulaに応じてたとえば、正常なパスを正常性の劣るパスよりも支持する重みづけを調整してもよい。別の変形態様では、トラフィック重みづけに比例するように、残りのリンク上で重み値の差を償却することができる。図22Bには、送信側がオフになる伝送リンクを遮断するために実行できる段階が示されている。段階2210で、送信側遮断事象が起こる。段階2211で、少なくとも1つの送信側が依然としてオンになるかどうかを判定する試験が行われる。オンになる送信側がない場合、段階2215で、送信側がオンになるまですべてのパケットが破棄される。段階2211で、少なくとも1つの送信側がオンになる場合、段階2212で、パスの重みがゼロに設定され、かつそれに応じて残りのパスの重みが調整される。図23には、上述の態様の様々な原則を利用するコンピュータノード2301が示されている。図23に示されている種類の2つのコンピュータノードが複数の別々の物理的伝送パスを介して通信すると仮定する。図23に示されているように、4つの伝送パスX1からX4は、2つのノード間の通信に関して定義されている。各ノードは、上述の送信テーブル2308に従って作動するパケット送信側2302を含む。パケット送信側は、上述のIPホッピング機能を使用せずに作動することもできるが、以下の説明では、パス選択機構と共に何らかの形のホッピングが使用されると仮定する。コンピュータノードは、有効なパケットが受信されたときに移動する移動ウィンドウWを含む、受信テーブル2309に従って作動するパケット受信側2303も含む。ウィンドウWに入らない送信元アドレスおよび宛先アドレスを有する無効なパケットは拒絶される。各パケットを送信する準備が整えられると、上述の様々なアルゴリズムのうちの任意のものに従って、送信元IPアドレスおよび宛先IPアドレスまたは他のディスクリミネータ値が送信テーブル2308から選択され、4つの伝送パスが連結されているノードに対応する、これらの送信元/宛先アドレスペアを含むパケットが、伝送パススイッチ2307に対して生成される。ソフトウェア機能を含みうるスイッチ2307は、重み分配テーブル2306に従って利用可能な伝送パスのうちの1つを選択する。たとえば、パスX1の重みが02である場合、パケットはパスX1上で5つおきに送信される。図示されている他のパスに関しても同様な方式が適用される。最初は、各リンクの重み値は、帯域幅に比例するように設定することができ、これを重み値の定常状態値と呼ぶ。パケット受信側2303は、上述のように作動して各伝送パスの品質を判定するリンク品質測定機能2304への出力を生成する着信パケットを受信するパケット受信側2303への入力は、図を明確にするために省略される。リンク品質測定機能2304は、リンク品質を各伝送リンクのしきい値と比較し、かつ必要な場合は、重み調整機能2305への出力を生成する。重み調整が必要である場合、テーブル2306内の重みがそれに応じて、好ましくは漸減たとえば、線形減衰または指数減衰関数に従って調整される。一つの態様では、すべての利用可能なパスの重み値は最初は、同じ値に設定され、かつパスの品質が劣化するときにのみ、重みが差を反映するように変更される。リンク品質測定機能2304は、上述のシンクロナイザ機能の一部として作動させることができる。すなわち、再同期が行われて、同期が失われたたとえば、結果として、順序が乱れて同期ウィンドウWが進んだことを受信側が検出する場合、この事実を使用してリンク品質測定機能2304を駆動することができる。一つの態様によれば、通常の同期中に得られ、リンクの正常性を受信側から送信側に伝えるためにわずかに増大される情報を使用して、ロードバランシングが行われる。受信側は、同期ウィンドウWで受信されたメッセージのカウント値であるMESSRを維持する。ウィンドウWの終了点に対応する同期要求SYNCREQを受信すると、受信側は送信側に送り返される、結果として得られる同期肯定応答SYNCACKにカウンタMESSRを含める。これによって、送信側は、送信されたメッセージを受信されたメッセージと比較して、リンクの正常性を評価することができる。同期が完全に失われている場合、重み調整機能2305は、影響を受けるパス上の重み値をゼロに減少させる。同期が回復すると、影響を受けるパスの重み値が徐々に増大され、最初の値になる。または、受信側が同期要求に肯定応答するのに必要な時間の長さを評価することによって、リンクの品質を測定することができる。一つの態様では、各送信パスごとに別々の送信テーブルおよび受信テーブルが使用される。送信側がSYNCACKを受信すると、MESSRが、ウィンドウMESST内で送信されたメッセージの数と比較される。送信側がSYNCACKを受信すると、トラフィック確率が調べられ、必要な場合は調整されると考えられる。MESSRはウィンドウMESST内で送信されたメッセージの数と比較される。以下の2つの可能性がある。1.MESSRがしきい値THRESHよりも小さい場合、リンクは異常であると考えられる。送信側がオフになった場合、送信側はオンにされ、そのリンクの重みPは最小値MINに設定される。これにより、それが回復するまで、監視のためにリンク上に少量のトラフィックが維持されると考えられる。送信側がオンになった場合、そのリンクの重みPは次式のように設定されると考えられる。数8Pα×MIN×P式1は、サービスが劣化している期間中にトラフィック重み値を指数関数的にMINまで減少させる。2.リンクのMESSRがTHRESH以上である場合、リンクは正常であると考えられる。そのリンクの重みPがそのリンクの定常状態値S以上である場合、Pは不変である。そのリンクの重みPがTHRESHよりも小さい場合、Pは次式のように設定されると考えられる。数9Pβ×S×P式中、βはPの減衰率を決定する0β1であるようなパラメータである。式2は、受け入れられるサービスの持続期間中に、トラフィック重みを減衰指数関数的にSまで増大させると考えられる。次に、図24を参照して詳細な例について説明する。図24に示されているように、第1のコンピュータ2401は、2つのルータ2403および2404を通して第2のコンピュータ2402と通信する。各ルータは、3つの伝送リンクを通して他のルータに結合されている。上述のように、これらは、物理的に離散したリンクまたは仮想専用網を含む論理リンクでもよい。第1のリンクL1が100Mbsの送信帯域幅を維持することができ、かつウィンドウサイズが32であり、リンクL2が75Mbsを維持することができ、かつウィンドウサイズが24であり、さらにリンクL3が25Mbsを維持することができ、かつウィンドウサイズが8であると仮定する。したがって、組み合わされたリンクは200Mbsを維持することができ、定常状態のトラフィック重みは、リンクL1に関しては05であり、リンクL2に関しては0375であり、リンクL3に関しては0125である。MIN1Mbsであり、各リンクに関してTHRESH08MESSTであり、α075およびβ05である。これらのトラフィック重みは、リンクが同期をとるために停止するか、またはTHRESHよりも少ない数のパケットが受信されたことを報告するまで安定なままであると考えられる。以下の事象シーケンスを考慮されたい。1.リンクL1は、最後のウィンドウで送信されたMESSTのメッセージの75のみが、首尾良く受信されたことを示す、24のMESSRを含むSYNCACKを受信する。リンクL1は、THRESHよりも低くなる。リンクL1のトラフィック重み値は012825まで減少する一方、リンクL2のトラフィック重み値は065812まで増大し、リンクL3のトラフィック重み値は0217938まで増大すると考えられる。2.リンクL2およびL3は正常なままであり、リンクL1は同期をとるために停止する。次いで、リンクL1のトラフィック重み値が0に設定され、リンクL2のトラフィック重み値が075に設定され、リンクL3のトラフィック重み値が025に設定されると考えられる。3.リンクL1は、最後のウィンドウで送信されたMESSTのメッセージのうちの1つも首尾良く受信されなかったことを示す、0のMESSRを含むSYNCACKを受信する。リンクL1は、THRESHよりも低くなると考えられる。リンクL1のトラフィック重み値は0005まで増大し、リンクL2のトラフィック重み値は074625まで減少し、リンクL3のトラフィック重み値は024875まで減少すると考えられる。4.リンクL1は、最後のウィンドウで送信されたMESSTのメッセージのうちの100が首尾良く受信されたことを示す、32のMESSRを含むSYNCACKを受信する。リンクL1は、THRESHを超えると考えられる。リンクL1のトラフィック重み値は02525まで増大する一方、リンクL2のトラフィック重み値は0560625まで減少し、リンクL3のトラフィック重み値は0186875まで減少すると考えられる。5.リンクL1は、最後のウィンドウで送信されたMESSTのメッセージのうちの100が首尾良く受信されたことを示す、32のMESSRを含むSYNCACKを受信する。リンクL1は、THRESHを超える。リンクL1のトラフィック重み値は037625まで増大し、リンクL2のトラフィック重み値は04678125まで減少し、リンクL3のトラフィック重み値は01559375まで減少すると考えられる。6.リンクL1は正常なままであり、トラフィック確率はその定常状態のトラフィック確率に近づく。B.DNSプロキシを用いて仮想専用網を透過的に作成する第2の改良は、ドメイン名サーバ参照機能に応答して仮想専用網VPNを自動的に作成することに関する。従来のドメイン名サーバDNSは、要求されたコンピュータまたはホストのIPアドレスを返す参照機能を提供する。たとえば、コンピュータのユーザがウェブ名Yahoocomを入力すると、ユーザのウェブブラウザがDNSに要求を送信し、それによってこのウェブ名が、ユーザのブラウザに返されて、次に宛先ウェブサイトに接触するためにブラウザによって用いられる、4分割IPアドレスに変換される。この従来の方式を図25に示す。ユーザのコンピュータ2501は、クライアントアプリケーション2504たとえば、ウェブブラウザおよびIPプロトコルスタック2505を含む。ユーザが宛先ホストの名前を入力すると、この名前に関連するIPアドレスを参照することを求める要求DNSREQがIPプロトコルスタック2505を通して、DNS2502に対してなされる。DNSはIPアドレスDNSRESPをクライアントアプリケーション2504に返し、IPアドレスを用いてPAGEREQおよびPAGERESPのような別々のトランザクションを通じて、ホスト2503と通信することができる。図25に示されている従来の構造において、インターネット上の不埒なリスナーは、DNSREQパケットおよびDNSRESPパケットを傍受し、したがってユーザがどんなIPアドレスに接触しているかを知ることができる。たとえば、ユーザがTargetcomという名前を有するウェブサイトと、安全な通信パスを設定することを望んだ場合に、ユーザのブラウザがそのウェブサイトのIPアドレスを見出すためにDNSに接触した場合、そのウェブサイトの真のIPアドレスはDNS問合せの一部としてインターネット上で明らかにされる。これによってインターネット上の匿名の通信が阻害される。インターネット上で安全な仮想専用網を提供する1つの従来の方式は、DNSサーバがアドレスを有するマシンの公開鍵を有するDNSサーバを提供する。このため、ホストは、ユーザに宛先ホストの公開鍵を入力させずにVPNを設定できるように、通信相手のホストの公開鍵を自動的に検索することができる。この標準の実施は現在、FreeSWANプロジェクトRFC2535の一部として開発されている。この従来の方式はある欠点を有する。たとえば、任意のユーザがDNS要求を実行することができる。さらに、DNS要求はすべてのユーザに対して同じ値になる。本発明のある態様によれば、専用DNSサーバがDNS要求を取り込み、その要求が特別の種類のユーザに由来する要求である場合たとえば、安全な通信サービスが規定されているユーザ、サーバはターゲットノードの真のIPアドレスを返さず、その代わりに、ターゲットノードとユーザとの間に仮想専用網を自動的に設定する。VPNは好ましくは、上述の基本的な発明のIPアドレスホッピング機能を使用して実施され、たとえ通信中のパケットが傍受されても、2つのノードの真の同一性を判定することはできないように実施される。安全なサービスを必要としないと判定されるDNS要求に関してたとえば、未登録のユーザ、要求するホストが安全でないサイトを解決する許可を得ているという条件で、DNSサーバは要求を透過的に通過させ、通常の参照機能を提供し、ターゲットウェブサーバのIPアドレスを返す。異なるユーザは同一のDNS要求を出す場合、異なる結果を提供することができる。図26には、上記で要約した様々な原則を使用するシステムが示されている。ユーザのコンピュータ2601は、従来のクライアントたとえば、ウェブブラウザ2605、および好ましくは上記で概説したIPホッピング機能2607に従って作動する、IPプロトコルスタック2606を含む。修正されたDNSサーバ2602は、従来のDNSサーバ機能2609およびDNSプロキシ2610を含む。修正されたDNSサーバと安全なターゲットサイト2604との間にゲートキーパサーバ2603が挿入される。従来のIPプロトコルを介して安全でないターゲットサイト2611もアクセス可能である。一つの態様によれば、DNSプロキシ2610は、クライアント2605由来のすべてのDNS参照機能を傍受し、安全なサイトへのアクセスが要求されたかどうかを判定する。安全なサイトへのアクセスが要求された場合例えばドメイン名拡張、またはそのようなサイトの内部テーブルの参照によって、判定されるように、DNSプロキシ2610は、ユーザがこのサイトにアクセスするのに十分なセキュリティ特権を有しているかどうかを判定する。十分なセキュリティ特権を有している場合、DNSプロキシ2610は、ユーザコンピュータ2601と安全なターゲットサイト2604との間に仮想専用網を作成することを求めるメッセージをゲートキーパ2603に送信する。一つの態様において、ゲートキーパ2603は、安全な通信を行うためにコンピュータ2601および安全なターゲットサイト2604によって使用されるホップブロックを作成する。次いで、ゲートキーパ2603はこれらをユーザコンピュータ2601に伝える。その後、DNSプロキシ2610は、DNSプロキシ2610に転送されて解決されたアドレスこのアドレスは実際のターゲットコンピュータとは異なってもよいを、ゲートキーパ2604によって好ましくは安全な管理VPNを使用してユーザコンピュータ2601に返す。返されたアドレスは宛先コンピュータの実際のアドレスでなくてもよい。ユーザがサイト2611のような安全でないウェブサイトの参照を要求した場合、DNSプロキシは単に参照要求を通過させて、従来のDNSサーバ2609に送り、この要求が従来どおりに処理され、安全でないウェブサイト2611のIPアドレスを返すと考えられる。ユーザが安全なウェブサイトの参照を要求したが、そのような接続を作成するための信頼性に欠ける場合、DNSプロキシ2610は未知のホストエラーをユーザに返す。このように、同じDNS名へのアクセスを要求する異なるユーザには、異なる参照結果が提供される。ゲートキーパ2603は、図26に示されているように別個のコンピュータ上で実施されても、修正されたDNSサーバ2602内の機能として実施されてもよい。一般に、ゲートキーパ2703は、ホッピングされたIPアドレスを使用することなどにより、安全に通信するのに必要な情報の配分および交換を容易にすることが予想される。サイト2604のような安全なホストは、IPホッピング機能2608のような安全な通信機能を備えていると仮定される。便宜上、DNSプロキシ2610およびDNSサーバ2609の機能を組み合わせて単一のサーバとすることができることが認識されると考えられる。さらに、要素2602は2つのサーバの機能を組み合わせたものとして示されているが、2つのサーバを独立に作動させることができる。図27には、安全なホストに関するDNS参照を求める要求を処理するために、DNSプロキシサーバ2610によって実行できる段階が示されている。段階2701で、ターゲットホストに関してDNS参照要求が受信される。段階2702で、安全なホストへのアクセスが要求されたかどうかを判定する検査が行われる。安全なホストへのアクセスが要求されなかった場合、段階2703で、このDNS要求は従来のDNSサーバ2609に送られ、DNSサーバ2609はターゲットサイトのIPアドレスを参照し、さらに処理するためにユーザのアプリケーションに返す。段階2702で、安全なホストへのアクセスが要求された場合、段階2704で、ユーザがその安全なホストに接続することを許可されているかどうかを判定するさらなる検査が行われる。このような検査は、許可されているIPアドレスの内部に記憶されているリストを参照して行うことができるか、またはゲートキーパ2603と通信することによって行うことができるたとえば、安全な管理VPN上で。ホストの異なる範疇に対して、異なるレベルのセキュリティが提供されることは認識されると考えられる。たとえば、いくつかのサイトがあるセキュリティレベルを有するサイトとして指定されてもよく、かつアクセスを要求するユーザのセキュリティレベルはそのセキュリティレベルに一致しなければならない。十分な特権を有していることを証明することを求める要求メッセージを、ユーザのコンピュータに送り返すことによって、ユーザのセキュリティレベルを判定することもできる。ユーザが安全なサイトにアクセスする許可を得ていない場合、未知のホストメッセージが返される段階2705。ユーザが十分なセキュリティ特権を有する場合、段階2706で、ユーザのコンピュータと安全なターゲットサイトとの間に安全なVPNが確立される。上述のように、これは好ましくは、ユーザのコンピュータと安全なターゲットサイトとの間で実施されるホッピング式を配分することによって行われ、好ましくはユーザに対して透過的に実行されるすなわち、ユーザが安全なリンクを作成することに関与する必要はない。本出願の様々な態様で説明するように、安全に通信するために様々なフィールドの任意のものがホッピングされうるたとえば、IP送信元/宛先アドレス、ヘッダ内のフィールドなど。ゲートキーパ2603は安全なサイトへの接続を求めるすべての要求を処理するように、いくつかまたはすべてのセキュリティ機能をゲートキーパ2603に埋め込むことができる。この態様において、DNSプロキシ2610は、ゲートキーパ2603と通信し、ユーザが特定のウェブサイトにアクセスできるかどうかを好ましくは安全な管理VPNを介して判定する。これらの機能を実施するための様々なシナリオを以下の例によって説明する。シナリオ1:クライアントはターゲットコンピュータにアクセスする許可を得ており、ゲートキーパはクライアント用のVPNを作るという規則を有する。このシナリオでは、クライアントのDNS要求はDNSプロキシサーバ2610によって受信され、DNSプロキシサーバ2610はこの要求をゲートキーパ2603に転送する。ゲートキーパはクライアントと要求されたターゲットとの間にVPNを確立する。ゲートキーパはDNSプロキシに宛先のアドレスを提供し、次いでDNSプロキシは結果として解決された名前を返す。解決されたアドレスは、安全な管理VPNにおいてクライアントに送り返すことができる。シナリオ2:クライアントはターゲットコンピュータにアクセスする許可を得ていない。このシナリオでは、クライアントのDNS要求はDNSプロキシサーバ2610によって受信され、DNSプロキシサーバ2610はこの要求をゲートキーパ2603に転送する。ゲートキーパはこの要求を拒絶し、ターゲットコンピュータを見出すことができなかったことをDNSプロキシサーバ2610に知らせる。次いで、DNSプロキシ2610は未知のホストエラーメッセージをクライアントに返す。シナリオ3:クライアントは、通常の非VPNリンクを使用して接続する許可を得ており、ゲートキーパは、ターゲットサイトに対するクライアント用のVPNを設定するという規則を有していない。このシナリオでは、クライアントのDNS要求はDNSプロキシサーバ2610によって受信され、DNSプロキシサーバ2610はこの規則を検査し、VPNは無用であると判定する。ゲートキーパ2603は、次にDNSプロキシサーバに、この要求を従来のDNSサーバ2609に転送することを知らせ、DNSサーバ2609はこの要求を解決し、結果をDNSプロキシサーバに返して、クライアントに返す。シナリオ4:クライアントは、通常/非VPNリンクを確立する許可を得ておらず、ゲートキーパは、ターゲットサイトに対するクライアント用のVPNを作るという規則を有していない。このシナリオでは、DNSプロキシサーバは、クライアントのDNS要求を受信してゲートキーパ2603に転送する。ゲートキーパ2603は、特別のVPNは無用であるが、クライアントは非VPNメンバーと通信する許可を得ていないと判定する。ゲートキーパはこの要求を拒絶し、DNSプロキシサーバ2610にクライアントへエラーメッセージを返させる。C.大リンクから小リンクへの帯域幅管理基本的な構造の1つの特徴は、コンピュータハッカーが既知のインターネットノードにパケットをフラッドさせる場合に起こりうる、いわゆるサービスの拒否攻撃を防止し、したがってノードが他のノードと通信することを防止する能力である。IPアドレスまたは他のフィールドはホッピングされ、無効なアドレスと共に到着するパケットはただちに破棄されるので、インターネットノードは、単一のIPアドレスを標的としたフラッドに対して保護される。コンピュータが、限られた帯域幅を有するリンクたとえば、エッジルータを通して、はるかに高い帯域幅を有するリンクをサポートできるノードたとえば、インターネットサービスプロバイダに結合されているシステムでは、確信的なハッカーが潜在的な弱点を利用することができる。図28を参照し、第1のホストコンピュータ2801が、上述のIPアドレスホッピング原則を使用して第2のホストコンピュータ2804と通信すると仮定する。第1のホストコンピュータは、エッジルータ2802を通じて低帯域幅リンクLOWBWを介してインターネットサービスプロバイダISP2803に結合されており、次にインターネットの一部を通じ高帯域幅リンクHIGHBWを介して第2のホストコンピュータ2804に結合されている。この構造において、ISPはインターネットに対して高帯域幅をサポートすることができるが、エッジルータ2802に対してサポートできる帯域幅ははるかに低い。コンピュータハッカーが、第1のホストコンピュータ2801にアドレス指定された大量のダミーパケットを高帯域幅リンクHIGHBWを超えて送信することができると仮定する。通常、ホストコンピュータは、これらのパケットがIPアドレスホッピング方式で許可される受入れウィンドウ内に入らないため、これらのパケットを即座に拒絶することができる。しかし、パケットは、低帯域幅リンクLOWBWを横切らなければならないため、ホストコンピュータ2801によって受信される前にこのより低い帯域幅リンクを占有する。したがって、ホストコンピュータ2801へのリンクは、パケットが破棄されうる前に事実上フラッドされる。本発明の一つの改良によれば、低帯域幅のターゲットノードを宛先とするパケットが有効なパケットでない場合に、それを即座に破棄するリンクガード機能2805が、高帯域幅ノードたとえば、ISP2803に挿入される。低帯域幅ノードを宛先とする各パケットは、VPNに属するかどうかを判定するために暗号によって認証される。有効なVPNパケットでない場合、高帯域幅ノードで破棄される。パケットは、VPNに属すると認証された場合、高い優先順位で送られる。パケットは、有効な非VPNパケットである場合、より低い品質のサービスたとえば、より低い優先順位と共に送られる。一つの態様において、ISPは、パケットのプロトコルを使用してVPNパケットと非VPNパケットを区別する。IPSECrfc2401の場合、パケットはIPプロトコル420および421を有する。TARPVPNの場合、パケットは、定義されていないIPプロトコルを有する。ISPのリンクガードである2805は、VPNパケットが暗合的に有効であるかどうかを検証するのに用いられる、有効なVPNテーブルを維持している。一つの態様によれば、低帯域幅リンク上のノードによって使用されるホップウィンドウ内に入らないパケットは、拒絶されるか、またはより低い品質のサービスと共に送信される。これを行う1つの手法は、高帯域幅ノードと低帯域幅ノードの両方が、ホッピングされたパケットを追跡するたとえば、有効なパケットが受信されたときに、高帯域幅ノードがそのホッピングウィンドウを移動させるように、低帯域幅ノードによって使用されるIPホッピングテーブルのコピーを高帯域幅ノードに提供することである。このようなシナリオにおいて、高帯域幅ノードは、ホッピングウィンドウに入らないパケットが低帯域幅リンクを介して送信される前に、このようなパケットを破棄する。したがって、たとえば、ISP2903は、ホストコンピュータ2901によって使用される受信テーブルのコピー2910を維持する。この受信テーブル内に入らない着信パケットは破棄される。異なる態様によれば、リンクガード2805は、鍵をかけられたハッシュメッセージ認証符号HMACrfc2104を使用して各VPNパケットを検証する。他の態様によれば、低帯域幅ノードと高帯域幅ノードとの間の通信用にたとえば、ホップブロックを使用する別々のVPNを確立することができるすなわち、高帯域幅ノードに到着するパケットは、低帯域幅ノードに送信される前に異なるパケットに変換される。図29に示されているように、たとえば、第1のホストコンピュータ2900がインターネット上で第2のホストコンピュータ2902と通信しており、かつパスがISP2901への高帯域幅リンクHIGHBWおよびエッジルータ2904を介する低帯域幅リンクLOWBWを含むと仮定する。上述の基本的な構造によれば、第1のホストコンピュータ2900および第2のホストコンピュータ2902はホップブロックまたはホップブロックアルゴリズムを交換し、かつ一致する送信テーブルならびに受信テーブル2905、2906、2912、および2913を作成することができる。次に、基本的な構造によれば、2つのコンピュータは、直示的に無作為なIP送信元アドレスおよびIP宛先アドレスを有するパケットを送信し、各コンピュータは、有効なパケットが受信されたときにその受信テーブル内の対応するホッピングウィンドウを移動させる。ある範囲のIPアドレスたとえば、簡単にするためにアドレス100からアドレス200を有するパケットがISP2901に送信されており、これらのパケットが低帯域幅リンク上で転送されていることを不埒なコンピュータハッカー2903が推論することができると仮定する。したがって、ハッカーのコンピュータ2903は、100から200の範囲内のアドレスを有するパケットが低帯域幅リンクLOWBWに沿って転送され、したがって低帯域幅リンクが占有されるることを予想して、それらのパケットをフラッドさせることができる。第1のホストコンピュータ3000内の高速パケット拒絶機構は、これらのパケットを拒絶するうえでほとんど無用である。というのは、これらのパケットが拒絶される前に低帯域幅リンクが実際上渋滞してしまうからである。しかし、改良の一つの態様によれば、VPNリンクガード2911は、この攻撃がVPNトラフィックの性能に影響を与えるのを防止する。なぜなら、これらのパケットは無効なVPNパケットとして拒絶されるか、または比較的狭い帯域幅を有するリンクを介してVPNトラフィックよりも低い品質のサービスが与えられるからである。しかし、サービス拒否フラッド攻撃は依然として非VPNトラフィックを妨害する。改良の一つの態様によれば、ISP2901は、第1のホストコンピュータ2900と別個のVPNを維持し、したがって、ISPに到着したパケットを、ホストコンピュータ2900に送信される前に異なるIPヘッダを有するパケットに変換する。リンクガード2911でVPNパケットを認証するのに用いられる暗号鍵と、ホスト2902およびホスト2901でVPNパケットを暗号化し復号するのに用いられる暗号鍵は、異なるものでよく、したがって、リンクガード2911は、専用ホストデータにアクセスすることができず、これらのパケットを認証できるに過ぎない。第3の態様によれば、低帯域幅ノードは、ホッピングされたパケットのみが低帯域幅ノードに転送されるように特定のIPアドレスに対するすべての送信を遮断するよう高帯域幅ノードに指示する特別のメッセージを、高帯域幅ノードに送信することができる。この態様は、ハッカーが、単一のIPアドレスを使用するパケットをフラッドさせるのを防止する。第4の態様によれば、高帯域幅ノードは、送信速度が任意の所与のIPアドレスの、あるあらかじめ決められたしきい値を超えている場合に、低帯域幅ノードに送信されたパケットを破棄するように構成することができる。これにより、ホッピングされたパケットを通過させることができる。この場合、所与のIPアドレスに対するパケットの率がしきい値率を超えていることを、リンクガード2911を用いて検出することができる。同じIPアドレスにアドレス指定された他のパケットは、破棄されるか、または比較的低い優先順位で送信されるたとえば、遅延される。D.トラフィックリミッタ複数のノードをホッピング技術を使用して通信するシステムでは、背信的なインサイダーが内部でシステムにパケットをフラッドさせる可能性がある。この可能性を防止するために、本発明の一つの改良は、受信側が各パケット送信側に帯域幅の制限を課すことができるように、システム内のノード間に契約を設定する段階を伴う。これを行う1つの技術は、送信側からのチェックポイント同期要求の受入れを、ある期間が経過するまでたとえば、1分遅延させることである。各受信側は、SYNCREQメッセージに対するSYNCACK応答を遅延させることによってホッピングウィンドウが移動する速度を実際上調節することができる。チェックポイントシンクロナイザを簡単に修正することにより、内部の背信的なクライアントによる、偶然または故意の過負荷から受信側を保護することができる。この修正は、ホッピングされたアドレスCKPTNに対するSYNCREQが受信されるまで、受信側がテーブルを更新しないことに基づいて行われる。これは、前のチェックポイントから適切な間隔が経過するまで、新しいCKPTNの生成を遅延させることによって簡単に行うことができる。受信側が送信側からの受信を毎秒100パケットに制限することを望んでおり、チェックポイント同期メッセージが50パケットごとにトリガされると仮定する。適切な送信側が新しいSYNCREQメッセージを発行する頻度は、05秒おき以下である。受信側は、最後のSYNCREQが受けいれられてから05秒間CKPTNの発行を遅延させることにより、不適切な送信側が同期をとるのを遅延させることができる。一般に、M個の受信側が、W個のメッセージを受信するたびに新しいSYNCREQメッセージを発行するN個の送信側を、全体として毎秒R個のメッセージの送信に制限する必要がある場合、各受信側は、最後のSYNCREQが受信され受け入れられてからM×N×WR秒が経過するまで、新しいCKPTNの発行を遅延させることができる。送信側は、一ペアのチェックポイント間でこの率を超えている場合、受信側が新しいチェックポイントを受信する準備ができる前にこのチェックポイントを発行し、SYNCREQが受信側によって破棄される。この後、送信側はSYNCACKを受信するまでT1秒おきにSYNCREQを再発行する。受信側は最終的にCKPTNを更新し、SYNCREQが肯定応答される。送信速度が許容速度を大幅に超えている場合、送信側は、送信速度が適切な速度になるまで停止する。送信側が許容速度を少しだけ超えている場合、送信速度が適切な速度になるまで数回同期を遅延させられた後、最終的に停止する。遮断を行わない送信側の符号をハッキングしても、送信側に受入れウィンドウを失わせることしかできない。この場合、送信側は、送信速度が再び適切な速度になった後にのみウィンドウを回復して動作を進めることができる。上記の方式を実施する際には、2つの実際的な問題を考慮しなければならない。1.トラフィック到着時間の統計的な変動、およびロードバランシングの非一様性を考慮するため、受信側の速度は許容速度よりもわずかに速くなければならない。2.送信側は、SYNCREQが送信されてからある期間にわたって引き続き正しく送信するので、上記のアルゴリズムは送信側の帯域幅を人為的に縮小する可能性がある。事象により、適合した送信側がある期間たとえば、ネットワークがSYNCREQまたはSYNCACKを破棄する期間の間同期をとることができない場合、SYNCREQが受け入れられる時間は予期されるよりも遅くなる。この後、送信側は、次のチェックポイントに出会う前に、予想されるよりも少ない数のメッセージを送信する。新しいチェックポイントは活動化されておらず、送信側はSYNCREQを再送する必要がある。このことは、受信側からは、送信側の送信速度が不適切であるかのように見える。したがって、送信側からは、次のチェックポイントが受け入れられるのが遅くなったように見える。これは、送信側がある期間にわたって、合意されている速度よりも遅いパケット速度で送信を行うまで、送信側の許容パケット速度を低下させる効果を有する。これを防止するために、受信側は、最後のCSYNCREQが受信され受け入れられた回数を追跡し、CKPTNを活動化する時間として、最後のSYNCREQが受信され受け入れられてからM×N×WR秒後、最後のSYNCREQの次のSYNCREQが受信され受け入れられてから2×M×N×WR秒後、最後のSYNCREQから番目のSYNCREQが受信されてからC×M×N×WR秒後の最小値を使用しなければならない。これにより、最初の試みで最後のC個のSYNCREQのうちの少なくとも1つが処理された場合に、受信側が送信側のパケット速度を不適切に制限するのが防止される。図30には、上述の原則を使用するシステムが示されている。図30において、2つのコンピュータ3000および3001は、上述のホッピング原則たとえば、ホッピングされたIPアドレス、ディスクリミネータ値などに従ってネットワークNを介して通信すると仮定されている。簡単にするために、コンピュータ3000を受信側コンピュータと呼び、コンピュータ3001を送信側コンピュータと呼ぶ。ただし、もちろん全二重動作を想定する。さらに、単一の送信側しか示されていないが、複数の送信側が受信側3000に送信を行ってよい。上述のように、受信側コンピュータ3000は、着信データパケットに現われたときに受け入れられる有効なIPアドレスペアを定義するウィンドウWを含む、受信テーブル3002を維持する。送信側コンピュータ3001は、受信側コンピュータ3000にパケットを送信する際に次のIPアドレスペアを選択するための送信テーブル3003を維持する。図示のため、ウィンドウWも送信テーブル3003を基準として示されている。送信側コンピュータは、テーブル内を移動する際、最終的に機能3010に示されているようにSYNCREQメッセージを生成する。このメッセージは、送信側3001がSYNCACKメッセージの一部として含まれるCKPTNの形の応答を予期している受信テーブル3002の同期をとることを、受信側3000に求める要求である。送信側コンピュータ3001は、割り当てられているよりも多くのメッセージを送信する場合、通常よりも早くSYNCREQメッセージを生成する。送信側がSYNCREQメッセージを生成しないように変更されている場合、受信側3000がウィンドウWに入らないパケットを即座に拒絶するため、送信側が同期をとることはできず、送信側3001によって生成された余分なパケットは破棄される。上述の改良によれば、受信側コンピュータ3000は、図30に示されているようにSYNCREQメッセージが受信されたときにある段階を実行する。段階3004で受信側コンピュータ3000はSYNCREQメッセージを受信する。段階3005で、要求が重複していないかどうかを判定する検査が行われる。重複している場合、段階3006で要求は破棄される。段階3007で送信側3001から受信されたSYNCREQが、許容速度Rすなわち、最後のSYNCREQメッセージの時間の周期を超えた速度で受信されたかどうかを判定する検査が行われる。値Rは一定であっても、必要に応じて変動させてもよい。速度がRを超えている場合、段階3008で、次のCKPTNホッピングテーブルエントリの次の活動化が、最後のSYNCREQが受け入れられてからWR秒遅延される。要求が重複していない場合、段階3109で、送信側3101からの次のSYNCREQの前に、次のCKPTN値が算出され受信側のホッピングテーブルに挿入される。次いで、送信側3101はSYNCREQを通常どおり処理する。E.シグナリングシンクロナイザ多数のユーザが安全なホッピング技術を使用して中央ノードと通信するシステムでは、ホッピングテーブルおよびそれがサポートするデータ構造用に多量のメモリを確保する必要がある。たとえば、あるウェブサイトの百万人の加入者がそのウェブサイトと時折通信する場合、そのサイトは百万個のホッピングテーブルを維持しなければならず、したがって、任意の一時点でシステムを実際に使用するユーザが全加入者のわずかな割合に過ぎないにもかかわらず、貴重なコンピュータ資源が使い尽くされてしまう。望ましい解決策は、ある最大数の同時リンクを維持できるようにするが、数百万人の登録されたユーザを任意の一時点で認識するシステムである。言い換えれば、百万人の登録されたユーザのうち、1度に数千人のユーザが、適切なサイズの百万個のホッピングテーブルをサーバに維持させる必要なしに、同時に中央サーバと通信することができる。1つの解決策は、中央ノードを2つのノード、すなわち、ユーザのログオンおよびログオフのためのセッション開始を行う最小限のサイズのテーブルしか必要としないシグナリングサーバと、ユーザ用の比較的大きなホッピングテーブルを含むトランスポートサーバとに分割することである。シグナリングサーバは、数百万人の既知のユーザをリスンし、他の不適切なパケットの高速パケット拒絶を行う。既知のユーザからパケットが受信されると、シグナリングサーバは、ユーザと、ホッピングテーブルが割り当てられ維持されるトランスポートサーバとの間の仮想専用リンクVPLを活動化する。ユーザがシグナリングサーバにログオンされると、トランスポートサーバと通信し、したがってVPLを活動化するためのホッピングテーブルがユーザのコンピュータに与えられる。VPLは、ある期間にわたって非活動状態であったときに切り離すか、またはユーザログアウト時に切り離してよい。ユーザのログオンおよびログオフを可能にするシグナリングサーバとの通信は、上述のチェックポイント方式の専用バージョンを使用して行うことができる。図31には、上述の原則のうちのある原則を使用するシステムが示されている。図31において、シグナリングサーバ3101とトランスポートサーバ3102はリンクを介して通信する。シグナリングサーバ3101は、1つまたは複数のクライアント3103および3104に対する通信要求を認証するのに十分な情報を含む、多数の小さなテーブル3106および3107を含む。以下に詳しく説明するように、これらの小さなテーブルは、前述の同期チェックポイントテーブルの特別な場合として構築できるので有利である。トランスポートサーバ3102は、好ましくはシグナリングサーバ3101と通信する独立のコンピュータであり、1つのクライアントコンピュータを持つVPNを作成するように割り当てることができる比較的少数の比較的大きなホッピングテーブル3108、3109、および3110を含む。一つの態様によれば、たとえば、システム管理機能、ユーザ登録手順、または他の何らかの方法を介してすでにシステムに登録しているクライアントは、コンピュータたとえば、ウェブサイトに情報を求める要求を送信する。一変形態様では、この要求がホッピングされたパケットを使用して行われ、それによって、シグナリングサーバ3101はハッカーコンピュータ3105のような許可されていないコンピュータからの、無効なパケットを即座に拒絶する。ハッカーがシグナリングサーバ3101に不適切なパケットをフラッドさせることができないように、すべてのクライアントとシグナリングサーバとの間に管理VPNを確立することができる。この方式の詳細を以下に示す。シグナリングサーバ3101は、要求3111を受信し、それを使用してクライアント3103が無効に登録されたユーザであると判定する。次に、シグナリングサーバ3101は、クライアント3103を含むVPNを作成するために、ホッピングテーブルもしくはホッピングアルゴリズムまたは他の方式を割り当てることを求める要求をトランスポートサーバ3102に発行する。割り当てられたホッピングパラメータはシグナリングサーバ3101パス3113に返され、次いで、シグナリングサーバ3101はホッピングパラメータを好ましくは暗号形式でパス3114を介してクライアント3103に供給する。その後、クライアント3103は、上述の通常のホッピング技術を使用してトランスポートサーバ3102と通信する。シグナリングサーバ3101およびトランスポートサーバ3102は2つの別々のコンピュータとして示され、もちろん、これらを単一のコンピュータに組み合わせ、これらの機能をこの単一のコンピュータ上で実行してもよいことは認識されると考えられる。または、本発明の原則から逸脱せずに、図31に示されている機能を、図示されているのとは異なるように分割することも可能である。上述の技術の1つの利点は、シグナリングサーバ3101が、多数の潜在的なユーザに関して少量の情報を維持するだけでよく、それにもかかわらずハッカーコンピュータ3105のような許可されていないユーザからのパケットを即座に拒絶する機能を保持することである。その代わり、ホッピング機能および同期機能を実行するのに必要な比較的大きなデータテーブルがトランスポートサーバ3102内に維持され、これらのテーブルは、アクティブリンクに割り当てられるに過ぎないので比較的少数でよい。VPNがある期間たとえば、1時間にわたって非活動状態であると、トランスポートサーバ3102またはシグナリングサーバ3101によってVPNを自動的に切り離すことができる。次に、上述のシグナリング方式を実施するのにチェックポイント同期機能の特別なケースをどのように用いればよいかに関して詳しく説明する。シグナリングシンクロナイザは、多数数百万の固定低帯域幅接続をサポートする場合に必要になる。したがって、シグナリングシンクロナイザは、ホッピング技術によるセキュリティを実現しつつVPLメモリ使用量を最小限に抑えなければならない。シグナリングサーバにおけるメモリ使用量を低減させるには、データホッピングテーブルを完全になくすか、またはデータをSYNCREQメッセージの一部として搬送することができる。サーバ側受信側およびクライアント側送信側によって使用されるテーブルは、図31に要素3106として概略的に示されている。CKPTN、CKPTO、およびCKPTRの意味および動作は、CKPTNが、データとSYNCREQメッセージの組合せまたはデータを含まないSYNCREQメッセージを受信できることを除いて前の説明と同じである。このプロトコルは、前述のシンクロナイザをそのまま拡張したものである。クライアント送信側がオンであり、テーブルの同期がとられると仮定する。初期テーブルは同期のとれていない状態で生成することができる。たとえば、クライアントは、インターネット上にアカウントを確立するためにウェブサーバにログインすることができる。クライアントは、インターネット上で、暗号化された鍵などを受信する。その間、サーバはシグナリングサーバ上でシグナリングVPNを設定する。クライアントアプリケーションが、クライアントの固定シグナリングVPL上でサーバにパケットを送信する必要があると仮定する。1.クライアントは、送信側のCKPTNアドレスを使用してインナーヘッダ上のデータメッセージとしてマークされたメッセージを送信する。クライアントは、送信側をオフにし、CKPTOを示すタイマT1を開始する。メッセージは、3つの種類、DATA、SYNCREQ、およびSYNCACKのうちの1つであってよい。通常のアルゴリズムでは、各メッセージタイプを暗号化されたインナーヘッダフィールドの一部として識別することによって、いくつかの潜在的な問題を防止することができる。このアルゴリズムでは、データとSYNCREQが同じアドレスで送信されるので、シグナリングシンクロナイザにおいてデータパケットとSYNCREQを区別することが重要である。2.サーバは、そのCKPTN上でデータメッセージを受信すると、このメッセージを検証し、スタックに沿って転送する。メッセージは、インナーヘッダーに含まれているメッセージの種類および他の情報すなわち、ユーザの信頼を検査することによって検証することができる。サーバは、そのCKPTOをCKPTNで置き換え、次のCKPTNを生成する。サーバは、その送信側CKPTRをクライアントの受信側CKPTRに対応するように更新し、ペイロード内にCKPTOを含むSYNCACKを送信する。3.クライアント受信側が、送信側CKPTOと一致するペイロードを持つSYNCACKをCKPTR上で受信し、送信側がオフであるとき、送信側がオンにされ、受信側CKPTRが更新される。SYNCACKのペイロードが送信側CKPTOと一致しないか、または送信側がオンである場合、SYNCACKは単に破棄される。4.T1が満了する:送信側がオフであり、クライアントの送信側CKPTOがタイマに関連するCKPTOに一致する場合、送信側はCKPTOを示すタイマT1を再開し、送信側のCKPTOアドレスを使用してSYNCREQが送信される。これ以外の場合、何ら措置はとれらない。5.サーバは、そのCKPTN上でSYNCREQを受信すると、そのCKPTOをCKPTNで置き換え、次のCKPTNを生成する。サーバは、その送信側CKPTRをクライアントの受信側CKPTRに対応するように更新し、ペイロード内にCKPTOを含むSYNCACKを送信する。6.サーバは、そのCKPTO上でSYNCREQを受信すると、その送信側CKPTRをクライアントの受信側CKPTRに対応するように更新し、ペイロード内にCKPTOを含むSYNCACKを送信する。図32には、このプロトコルを強調するメッセージフローが示されている。上から下へ読むと分かるように、クライアントはその送信側CKPTNを使用してサーバにデータを送信する。クライアント送信側がオフにされ、再試行タイマがオフにされる。次いで、クライアント送信側は、CKPTNをCKPTOにロードし、CKPTNを更新する。このメッセージは首尾良く受信され、スタックに沿って転送される。このメッセージはまた受信側を同期させ、すなわち、サーバは、CKPTNをCKPTOにロードし、新しいCKPTNを生成し、サーバ送信側で新しいCKPTRを生成し、サーバ側受信側のCKPTOを含むSYNCACKを送信する。SYNCACKはクライアントで首尾良く受信される。クライアント受信側のCKPTRが更新され、送信側がオンにされ、再試行タイマが停止される。クライアント送信側は、新しいデータメッセージを送信する準備を整える。次に、クライアントは、その送信側CKPTNを使用してサーバにデータを送信する。クライアント送信側がオフにされ、再試行タイマがオフにされる。送信側は、オフになっているかぎりメッセージを送信しない。次いで、クライアント送信側はCKPTNをCKPTOにロードし、CKPTNを更新する。このメッセージは失われる。クライアント側タイマが満了し、その結果、クライアント送信側のCKPTO上でSYNCREQが送信されるこれは、クライアントでSYNCACKが受信されるまで行われる。SYNCREQはクライアントで首尾良く受信される。SYNCREQは受信側を同期させ、すなわちサーバは、CKPTNをCKPTOにロードし、新しいCKPTNを生成し、サーバ送信側で新しいCKPTRを生成し、サーバ側受信側のCKPTOを含むSYNCACKを送信する。SYNCACKはクライアントで首尾良く受信される。クライアント受信側のCKPTRが更新され、送信側がオンにされ、再試行タイマが停止される。クライアント送信側は、新しいデータメッセージを送信する準備を整える。このフローの後に続く他の多数のシナリオがある。たとえば、SYNCACKが失われる可能性がある。送信側は、受信側が同期し応答するまでSYNCREQを再送し続ける。上述の手順では、シグナリングサーバ3201が、ハッカーコンピュータ3205によって生成されるような、無効なパケットを即座に拒絶する能力を維持しつつ、シグナリングサーバでクライアントを認証することができる。様々な態様において、シグナリングシンクロナイザはシンクロナイザを模倣したものである。シグナリングシンクロナイザは、ホッピングプロトコルと同じ保護を提供し、多数の低帯域幅接続に対してこれを行う。F.ワンクリック安全オンライン通信および安全ドメイン名サービス本発明は、コンピュータネットワーク上の第1のコンピュータと第2のコンピュータとの間で、安全通信リンクを確立する技術を提供する。好ましくは、ユーザは、マウスの1回のクリック、またはキーボード上で入力されるキーストロークやトラックボールを通じて入力されるクリックのような、他の入力装置からの対応する最小入力を用いて、安全通信リンクを使用可能にする。または、安全リンクは、コンピュータの立ち上げ時にデフォルト設定として自動的に確立されるすなわち、クリックなし。図33は、本発明のワンクリック安全通信方法が適切である、コンピュータネットワークのシステムブロック図3300である。図33において、パーソナルコンピュータPCなどのコンピュータ端末またはクライアントコンピュータ3301は、ISP3303を通じてインターネットなどのコンピュータネットワーク3302に接続されている。または、コンピュータ3301は、エッジルータを通してコンピュータネットワーク3302に接続することができる。コンピュータ3301は、キーボードおよび/またはマウスなどの入力装置、およびモニタなどの表示装置を含む。インストールされて、公知の方法でコンピュータ3301上で動作するブラウザ3306を使用して、コンピュータ3301は従来どおり、通信リンク3305を介してコンピュータネットワーク3302に接続された、他のコンピュータ3304と通信することができる。コンピュータ3304はたとえば、電子商取引を行うのに用いられるサーバコンピュータであってよい。コンピュータネットワーク3302がインターネットである状況では、コンピュータ3304は通常、com、net、org、edu、mil、またはgovなどの標準トップレベルドメイン名を有する。図34は、本発明によるコンピュータネットワーク上にワンクリック安全通信リンクをインストールし、かつ確立する場合の、流れ図3400である。段階3401で、コンピュータ3301は非VPN通信リンク3305を介して、サーバコンピュータ3304に接続される。ウェブブラウザ3306は、公知の方法でサーバ3304に関連付けされたウェブページを表示する。本発明の一つの変形によれば、コンピュータ3301のディスプレイは、コンピュータネットワーク3302を通して端末3301とサーバ3304との間で仮想専用ネットワークVPN通信リンクゴーセキュアハイパーリンクを選択するためのハイパーリンク、またはハイパーリンクを表すアイコンを含む。好ましくは、ゴーセキュアハイパーリンクは、サーバコンピュータ3304からダウンロードされるウェブページの一部として表示され、それによって、エンティティ提供サーバ3304がVPN機能も実現することを示す。コンピュータ3301のユーザは、ゴーセキュアハイパーリンクを表示することによって、コンピュータ3301とサーバコンピュータ3304との間の現在の通信リンクが、非安全非VPN通信リンクであることを知る。段階3402で、コンピュータ3301のユーザがゴーセキュアハイパーリンクを選択したかどうかが判定される。選択していない場合、非安全従来型の通信方法図示せずを使用して処理が再開する。段階3402で、ユーザがゴーセキュアハイパーリンクを選択したと判定された場合、流れは段階3403に進み、そこでコンピュータ3301上にVPN通信ソフトウェアモジュールがインストールされている、とハイパーリンクに関連するオブジェクトが判定する。または、ユーザがコンピュータ3301にゴーセキュアコマンドを入力することができる。段階3403で、ソフトウェアモジュールがインストールされているとオブジェクトが判定した場合、流れは段階3407に進む。段階3403で、ソフトウェアモジュールがインストールされていないとオブジェクトが判定した場合、流れは段階3404に進み、そこでコンピュータネットワーク3302上のコンピュータ3301とウェブサイト3308との間で、公知の方法で非VPN通信リンク3307が開始される。ウェブサイト3308は、非VPN通信リンクを通してコンピュータネットワーク3302に接続されたすべてのコンピュータ端末からアクセス可能である。ウェブサイト3308に接続された後、コンピュータネットワーク3302上に安全通信リンクを確立するソフトウェアモジュールをダウンロードし、インストールすることができる。流れは段階3405に進み、そこでコンピュータ3301がウェブサイト3308に接続された後、通信リンクを確立するソフトウェアモジュールがダウンロードされ、公知の方法でコンピュータ端末3301上にソフトウェアモジュール3309としてインストールされる。段階3405で、ユーザは、コンピュータネットワーク3302上のすべての通信リンク用の通信の安全通信モードを使用可能にするように、ソフトウェアモジュール用のパラメータを任意に選択することができる。次いで、段階3406で、コンピュータ3301とウェブサイト3308との間の通信リンクが公知の方法で終了する。コンピュータ3301のユーザは、ゴーセキュアハイパーリンクをクリックすることによって、コンピュータ3301とサーバコンピュータ3304との間で、通信の安全通信モードを使用可能にした。本発明の一変形態様によれば、ユーザは、ゴーセキュアハイパーリンクをクリックするだけでよい。ユーザが、ユーザ識別情報、パスワード、または安全通信リンクを確立する暗号化鍵を入力する必要はない。コンピュータ3301とサーバコンピュータ3304との間に安全通信リンクを確立するのに必要なすべての手順は、コンピュータ3301のユーザに対して透過的に実行される。段階3407で、安全VPN通信動作モードが使用可能にされており、ソフトウェアモジュール3309はVPN通信リンクの確立を開始する。一態様において、ソフトウェアモジュール3309は、ブラウザ3406内のサーバ3304のトップレベルドメイン名を、サーバコンピュータの安全トップレベルドメイン名で自動的に置き換える。たとえば、サーバ3304のトップレベルドメイン名がcomである場合、ソフトウェアモジュール3309はcomトップレベルドメイン名をscomトップレベルドメイン名で置き換える。この場合、sは安全secureを表す。または、ソフトウェアモジュール3409は、サーバ3304のトップレベルドメイン名を他の非標準トップレベルドメイン名で置き換えることができる。安全トップレベルドメイン名が非標準ドメイン名であるため、標準ドメイン名サービスDNSに対する問合せは、URLが不明であることを示すメッセージを返す。本発明によれば、ソフトウェアモジュール3409は、安全トップレベルドメイン名のURLを得るために、安全ドメイン名サービスSDNSに問い合わせるためのURLを含む。この点において、ソフトウェアモジュール3309は、安全ネットワーク3311をコンピュータネットワーク3302に接続する、安全ポータル3310にアクセスする。安全ネットワーク3311は、内部ルータ3312、安全ドメイン名サービスSDNS3313、VPNゲートキーパ3314、および安全プロキシ3315を含む。安全ネットワークは、eメール3316、複数のチャットルーム1つのチャットルーム3317しか示されていない、および標準ドメイン名サービスSTDDNS3318のような他のネットワークサービスを含みうる。もちろん、安全ネットワーク3311は、図33に示されていない他のリソースおよびサービスを含んでよい。ソフトウェアモジュール3309が、サーバ3304の標準トップレベルドメイン名を安全トップレベルドメイン名で置き換えると、ソフトウェアモジュール3309は、段階3408で、好ましくは管理VPN通信リンク3319を使用して、安全ポータル3310を通してSDNS3313に問合せを送信する。この構成では、安全ポータル3310はVPN通信リンクを用いた場合にのみアクセスすることができる。好ましくは、このようなVPN通信リンクは、擬似乱数シーケンス;クライアントコンピュータと安全ターゲットコンピュータとの間で送信されるパケット内のIPアドレスを擬似乱数的に変更する、IPアドレスホッピング方式;既知のシーケンスに従った一連のデータパケット内の少なくとも1つのフィールドの周期的な変更;第2のコンピュータのテーブルに維持されている妥当なIPアドレスのテーブルと比較される各データパケットのヘッダ内のインターネットプロトコルIPアドレス、および/または各データパケットのヘッド内のアドレスと妥当なIPアドレスの移動ウィンドウとの比較に従って選択される各データパケットに、送信元宛先IPアドレス対を挿入し、かつおよび移動ウィンドウに入らないIPアドレスを有するデータパケットを拒絶する技術に基づくリンクであってよい。他の種類のVPNを使用することもできる。安全ポータル3310は、VPN通信リンク3319に用いられる特定の情報ホッピング技術に基づいて、ソフトウェアモジュール3309からの問合せを認証する。SDNS3313は、安全ドメイン名および対応する安全ネットワークアドレスの相互参照データベースを含む。すなわちSDNS3313は、各安全ドメイン名ごとに、安全ドメイン名に対応するコンピュータネットワークアドレスを記憶する。エンティティは、エンティティのウェブサイトとの安全通信リンクを望むユーザが、この安全ウェブサイトの安全コンピュータネットワークアドレスを自動的に得ることができるように、SDNS3313に安全ドメイン名を登録することができる。さらにエンティティは、各々がアクセスレベル階層における安全ウェブサイトへのアクセスの異なる優先順位レベルを表す、複数の安全ドメイン名を登録することができる。たとえば、証券取引ウェブサイトは、ウェブサイトにサービスを求めたことに対する拒否が、安全ウェブサイトサービスに加入しているユーザに対して無効になるように、ユーザ安全アクセスを提供することができる。たとえば、手数料に基づいて様々な加入レベルを設けることができ、したがって、ユーザは安全証券取引ウェブサイトに接続するための所望の保証レベルを選択することができる。ユーザが証券取引ウェブサイトの安全コンピュータネットワークアドレスについてSDNS3313に問い合わせると、SDNS3313は、ユーザのIDおよびユーザの加入レベルに基づいて特定の安全コンピュータネットワークアドレスを判定する。段階3409で、SDNS3313は、ソフトウェアモジュール3309と安全サーバ3320との間にVPN通信リンクを確立する場合、VPNゲートキーパ3314にアクセスする。サーバ3320にはVPN通信リンクによってのみアクセスすることができる。VPNゲートキーパ3314は、コンピュータ3301および安全ウェブサーバコンピュータ3320、または安全コンピュータ3320の安全エッジルータに関する準備をし、それによってVPNを作成する。安全サーバコンピュータ3320は、サーバコンピュータ3304とは別のサーバコンピュータであっても、サーバコンピュータ3322によって示されるような、非VPN通信リンク機能とVPN通信リンク機能の両方を有する、同じサーバコンピュータであってもよい。図34に戻ると分かるように、段階3410で、SDNS3313は、サーバ3304に対応する安全サーバ3320のscomサーバアドレスを求める安全URLを、ソフトウェアモジュール3309に返す。または、安全ポータル3310を通して平文でintheclear、すなわち、管理VPN通信リンクを使用せずに、SDNS3313にアクセスすることができる。この状況では、安全ポータル3310は好ましくは、問合せをSDNS3319に送信できるようにする前に、暗号化技術のような公知の技術を使用して問合せを認証する。この状況での初期通信リンクはVPN通信リンクではないので、問合せに対する応答は平文であってよい。問合せ側コンピュータは、平文の問合せを用いて所望のドメイン名とのVPNリンクを確立することができる。または、SDNS3313に対する問合せは平文であってよく、SDNS3313およびゲートキーパ3314は、応答を送信するために問合せ側コンピュータとのVPN通信リンクを確立するよう動作することができる。段階3411で、ソフトウェアモジュール3309は、VPNゲートキーパ3314に割り当てられたVPNリソースに基づくVPN通信リンク3321を通して、安全サーバ3320にアクセスする。段階3412で、ウェブブラウザ3306は、サーバ3320との現在の通信リンクが安全VPN通信リンクであることを示す、安全アイコンを表示する。サーバ3301とコンピュータ3320との間のさらなる通信は、たとえば上記で論じたホッピング方式を使用して、VPNを介して行われる。段階3413でVPNリンク3321が終了すると、流れは段階3414に進み、そこでソフトウェアモジュール3309が安全トップレベルドメイン名を、サーバ3304の対応する非安全トップレベルドメイン名で自動的に置き換える。ブラウザ3306は、標準DNS3325にアクセスしてサーバ3304の非安全URLを得る。次いで、ブラウザ3306は公知の方法でサーバ3304に接続する。段階3415で、ブラウザ3306は、端末3301とサーバ3304との間のVPN通信リンクを選択するためのゴーセキュアハイパーリンク、またはアイコンを表示する。この場合もゴーセキュアハイパーリンクを表示することにより、ユーザは現在の通信リンクが非安全非VPN通信リンクであることを知る。ソフトウェアモジュール3309をインストールしているとき、またはユーザがオフラインであるとき、ユーザは、コンピュータネットワーク3302上で確立されているすべての通信リンクが安全通信リンクであることを任意に指定することができる。したがって、通信リンクが確立されているときはいつでも、リンクはVPNリンクである。したがって、ソフトウェアモジュール3309は、SDNS3313に透過的にアクセスし、選択された安全ウェブサイトのURLを得る。言い換えれば、一態様において、ユーザは安全通信を行うたびに安全オプションをクリックする必要はない。さらに、コンピュータ3301のユーザは、プロキシコンピュータ3315を通して、安全通信リンクを任意に選択することができる。したがってコンピュータ3301は、プロキシコンピュータ3315を通して安全サーバコンピュータ3320とのVPN通信リンク3323を確立することができる。または、コンピュータ3301は、非安全サーバコンピュータ3304などの非安全ウェブサイトとの非VPN通信リンク3324を確立することができる。図35は、本発明による安全ドメイン名を登録する場合の流れ図3500を示している。段階3501で、要求側はウェブサイト3308にアクセスし、ウェブサイト3308を通して利用可能な安全ドメイン名登録サービスにログインする。段階3502で要求側は、com、net、org、edu、mil、またはgovなどのトップレベルドメイン名を有する安全ドメイン名を登録するための、オンライン登録フォームを完成する。もちろん、他の安全トップレベルドメイン名を使用してもよい。好ましくは要求側は、要求されている同等な安全ドメイン名に対応する非安全ドメイン名をすでに登録している必要がある。たとえば、安全ドメイン名websitescomの登録を試みる要求側は、対応する非安全ドメイン名websitecomをすでに登録している必要がある。段階3503で、ウェブサイト3308での安全ドメイン名登録サービスは、たとえば、要求された安全ドメイン名に対応する非安全ドメイン名に関する所有権情報を判定するためのwhois問合せを使用して、標準DNS3322などの非安全ドメイン名サーバデータベースに問い合わせる。段階3504で、ウェブサイト3308での安全ドメイン名登録サービスは、標準DNS3322から応答を受信し、段階3505で、対応する非安全ドメイン名の矛盾する所有権情報があるかどうかを判定する。矛盾する所有権情報がない場合、流れは段階3507に進み、矛盾する所有権情報がある場合は、段階3506に進み、そこで矛盾する所有権情報が要求側に提供される。流れは段階3502に戻る。段階3505で矛盾する所有権情報がないとき、安全ドメイン名登録サービスウェブサイト3308は、矛盾する所有権情報がないことを要求側に知らせ、オンラインフォームに入力された情報を検証し、承認されている支払いフォームを選択するよう要求側に促す。入力された情報および適切な支払い情報を確認した後、流れは段階3508に進み、そこで新たに登録された安全ドメイン名が通信リンク3326を介してSDNS3313に送信される。段階3505で、要求された安全ドメイン名が対応する同等な非安全ドメイン名を有さない場合、本発明は要求側にこの状況を知らせ、かつ料金の増加に関して、対応する同等な非安全ドメイン名を得るよう要求側に促す。この申し出を受け入れることによって、本発明は、対応する同等な非安全ドメイン名を標準DNS3325に公知の方法で自動的に登録する。次いで、流れは段階3508に進む。G.ウェブプロキシを使用した既存のプロトコルによるトネリング安全アドレスホッピングプロトコル本発明は、2つのコンピュータネットワーク間のファイアウォールのクライアント側のアプリケーションプログラム、およびファイアウォールのサーバ側のネットワークスタックにおいて、上述のフィールドホッピング方式を実施する技術も提供する。本発明は、サービス拒絶機能を適切に拒否する新しい安全無接続プロトコルを、ICMPプロトコル、UDPプロトコル、TCPプロトコルのような既存のIPプロトコル上に、このプロトコル層を形成することによって使用する。本発明によれば、ローカルブラウザアプリケーションからの、暗号化されておらず保護されていない通信パケットを受け入れるクライアント側プロキシアプリケーションプログラムによって、通信が保護される。クライアント側プロキシアプリケーションプログラムは、暗号化されておらず保護されていない通信パケットを、新しいプロトコルによってトネリングし、それによってサーバ側でのサービスの拒否から通信を保護する。もちろん、暗号化されておらず保護されていない通信パケットを、トネリングの前に暗号化しておいてもよい。クライアント側プロキシアプリケーションプログラムは、オペレーティングシステムの拡張機能ではなく、オペレーティングシステムのネットワークスタックおよびドライバの修正を必要としない。したがって、クライアントは、VPNと比べてインストール、除去、および維持が容易である。さらに、クライアント側プロキシアプリケーションは、ファイアウォールのずっと小さな穴を用いて共同ファイアウォールを通過することができ、プロトコル層VPNを共同ファイアウォールを通過させる場合と比べて、セキュリティリスクの可能性が低い。本発明のサーバ側インプリメンテーションは、標準仮想専用ネットワークと同様に、サーバパケット処理の非常に早いうちに、フィールドホッピングされた妥当なパケットを妥当または無効であると認証し、通常のTCPIP通信およびHTTP通信と比べて、サービスを要求して拒否されることの影響を最小限に抑え、それによってサーバを無効な通信から保護する。図36は、コンピュータネットワーク3600のシステムブロック図であり、本発明による仮想専用接続は、2つのコンピュータネットワーク間のファイアウォールをより容易に横切るように構成することができる。図37は、既存のネットワークプロトコルを用いてカプセル化された、仮想専用接続を確立する場合の流れ図3700である。図36では、ファイアウォール構成3603を通して、インターネットのような他のコンピュータネットワーク3602にローカルエリアネットワークLAN3601が接続されている。ファイアウォール構成は、LAN3601とコンピュータネットワーク3602を相互接続し、LAN3601の外側で開始された攻撃からLAN3601を保護するように公知の方法で動作する。LAN3601にはクライアント3604が公知の方法で接続されている。クライアントコンピュータ3604は、オペレーティングシステム3605とおよびウェブブラウザ3606を含む。オペレーティングシステム3605は、クライアントコンピュータ3604を動作させるカーネルモード機能を実現する。ブラウザ3606は、公知の方法でLAN3601およびコンピュータネットワーク3602に接続された、コンピュータネットワークリソースにアクセスするアプリケーションプログラムである。本発明によれば、クライアントコンピュータ3604上にプロキシアプリケーション3607も記憶されており、このアプリケーションは、アプリケーション層でブラウザ3606と共に動作する。プロキシアプリケーション3607は、クライアントコンピュータ3604内のアプリケーション層で動作し、使用可能にされると、LAN3601またはコンピュータネットワーク3602に接続されたクライアントコンピュータ3604とサーバコンピュータとの仮想専用接続を形成するのに用いられるメッセージパケットにデータを挿入することにより、ブラウザ3606によって生成された保護されておらず暗号化されていないメッセージパケットを修正する。本発明によれば、仮想専用接続が、仮想専用ネットワークと同じセキュリティレベルをクライアントコンピュータに対して実現することはない。仮想専用接続は好都合なことに、たとえば、サービス攻撃に対する拒否を迅速に拒絶できるように認証することができ、それによってユーザが加入できる様々なレベルのサービスを提供する。プロキシアプリケーション3607は、クライアントコンピュータ3604内のアプリケーション層で動作するため、ユーザによって都合よくインストールおよびアンインストールされる。インストール時には、プロキシアプリケーション3607は好ましくは、すべてのウェブ通信にプロキシアプリケーションを使用するようにブラウザ3606を構成する。すなわち、すべてのメッセージパケットのペイロード部が、クライアントコンピュータ3604とサーバコンピュータとの間の仮想専用接続を形成するためのデータを用いて修正される。好ましくは、仮想専用接続を形成するためのデータは、上記でVPNに関連して説明したフィールドホッピングデータを含む。または、修正されたメッセージパケットはTCPIPプロトコルまたはICMPプロトコルと一致することができる。または、たとえばブラウザ3606から提供されるオプションによって、プロキシアプリケーション3606を選択し使用可能にすることができる。さらに、クライアントコンピュータ3604と、指定されたホストコンピュータとの間に仮想専用接続を形成するためのデータにより、特別に指定されたメッセージパケットのペイロード部のみが修正されるように、プロキシアプリケーション3607を使用可能にすることができる。特別に指定されるメッセージパケットはたとえば、選択された所定のドメイン名であってよい。図37を参照すると分かるように、段階3701で、保護されておらず暗号化されていないメッセージパケットがブラウザ3606によって生成される。段階3702で、プロキシアプリケーション3607は、クライアントコンピュータ3604と宛先サーバコンピュータとの間に仮想専用接続を形成するためのデータをペイロード部にトネリングすることによって、すべてのメッセージパケットのペイロード部を修正する。段階3703で、修正されたメッセージパケットが、コンピュータネットワーク3602上でクライアントコンピュータ3604から、たとえばウェブサイトサーバコンピュータ3608に送信される。ウェブサイト3608は、VPNガード部3609、サーバプロキシ部3610、およびウェブサーバ部3611を含む。VPNガード部3609は、ウェブサイト3608に対する大きな帯域幅の攻撃が迅速に拒絶されるように、ウェブサイト3608のオペレーティングシステムのカーネル層内に埋め込まれている。クライアントコンピュータ3604が、ウェブサイト3608との認証された接続を開始すると、VPNガード部3609が、クライアントコンピュータ3604からのメッセージパケットに含まれるホッピングシーケンスによって調節され、それにより、段階3704でウェブサイト3608に入るクライアントパケットストリームの強力な認証を実行する。VPNガード部3609は、加入しているサービスレベルに応じて様々なレベルの認証を行い、したがって様々なレベルの品質を提供するように構成することができる。すなわち、VPNガード部3609は、サービス攻撃の拒否が検出されるまですべてのメッセージパケットを通過させ、拒否された場合、本発明の調節されたホッピングシーケンスのようなホッピングシーケンスに一致する、クライアントパケットストリームのみを許可するように、構成することができる。サーバプロキシ部3610もウェブサイト3608内のカーネル層で動作し、VPNレベルでクライアントコンピュータ3604からの着信メッセージパケットを取り込む。段階3705で、サーバプロキシ部3610は、IPアドレス、UDPポート、およびディスクリミネータフィールドを用いてホストコンピュータ3604内のカーネルレベルでメッセージパケットを認証する。次いで、認証されたメッセージパケットは、通常のTCPウェブトランザクションとしてウェブサーバ部3611に転送される。段階3705で、ウェブサーバ部3611は、メッセージパケットの特定の性質に従って、クライアントコンピュータ3604から受信されたメッセージパケットに、応答メッセージパケットを生成することによって応答する。たとえば、クライアントコンピュータがウェブページを要求すると、ウェブサーバ部3611は、要求されたウェブページに対応するメッセージパケットを生成する。段階3706で、応答メッセージパケットはサーバプロキシ部3610を通過し、サーバプロキシ部3610は、コンピュータネットワーク3602上のホストコンピュータ3608とクライアントコンピュータ3604との間に仮想専用接続を形成するのに用いられるデータを、メッセージパケットのペイロード部に挿入する。好ましくは、仮想専用接続を形成するためのデータは、上記でVPNに関連して説明したようなフィールドホッピングデータを含む。サーバプロキシ部3610は、応答メッセージパケットのペイロード部に仮想専用接続データを挿入するように、ホストコンピュータ内のカーネル層で動作する。好ましくは、ホストコンピュータ3608によってクライアントコンピュータ3604に送信される修正されたメッセージパケットは、UDPプロトコルに従う。または、修正されたメッセージパケットがTCPIPプロトコルまたはICMPプロトコルに従ってよい。段階3707で、修正されたパケットは、コンピュータネットワーク3602上でホストコンピュータ3608から送信され、ファイアウォール3603を通過する。修正されたパケットは、ファイアウォール3603を通過した後、LAN3601上でクライアントコンピュータ3604に送られ、段階3708で、プロキシアプリケーション3607によりクライアントコンピュータ3604内のアプリケーション層で受信される。プロキシアプリケーション3607は、修正されたメッセージパケットを迅速に評価し、受信されたパケットを受け入れるべきかそれとも破棄すべきかを判定するように動作する。受信された情報パケットに挿入された仮想専用接続データが、予想される仮想専用接続データと一致している場合、受信されたパケットは受け入れられる。一致していない場合、受信されたパケットは破棄される。図示された態様に関連して本発明を説明したが、本発明の真の趣旨および範囲から逸脱せずに修正を加えられることが認識され、理解されると考えられる。"