(57)【要約】  モバイルコンピューティング環境および断続的に接続されたコンピューティング環境における規格に基づいた仮想私設網（ＶＰＮ）ＩＰＳＥＣアルゴリズムを用いた安全な接続を可能にするための方法およびデバイスにより、近年の規格に基づいたアルゴリズムが高まる。これは、ネットワークアプリケーションセッションを維持している間に、モバイルエンドシステムが均一または不均一のネットワークを介して移動しながら、移動デバイスが、セキュリティセッションを自動的に（再）設定できることにより、行われる。ネットワーク間の遷移が、ネットワーク化されたアプリケーションを接続中の割込みから遮蔽することにより、均一に生じる。これらのアプリケーションおよび／またはユーザーは、介入は可能ではあるが、これらの遷移を感知する必要がない。この方法を、現在のネットワークインフラストラクチャおよび／またはネットワーク化されたアプリケーションに対して修正する必要はない。
2005515700.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのネットワークアプリケーションセッションに関係する少なくとも１つのネットワーク化されたアプリケーションを実行する、モバイルまたは他の断続的に接続されたコンピューティングデバイスとの、ネットワーク通信の維持方法において、
（ａ）上記コンピューティングデバイスとのネットワーク通信に影響を与える事象の発生を検出するステップと、
（ｂ）上記検出に応じて、上記ネットワークアプリケーションセッションを維持している間に、上記コンピューティングデバイスが使用するＩＰセキュリティセッションを終了し、インスタンス生成し、および／または、再インスタンス生成するステップと
を含むネットワーク通信の維持方法。
【請求項２】
上記検出には、接続するネットワークポイントの変更の検出が含まれる、請求項１に記載の方法。
【請求項３】
上記検出には、ネットワーク接続の割込みによって、以前のＩＰセキュリティセッションが終了したことを検出することが含まれる、請求項１に記載の方法。
【請求項４】
上記検出には、モバイルデバイスのネットワーク識別子が変化したことを検出することが含まれる、請求項１に記載の方法。
【請求項５】
上記検出には、モバイルデバイスが様々なネットワークまたはサブネットワークにローミングしたことを検出することが含まれる、請求項１に記載の方法。
【請求項６】
上記ステップ（ｂ）には、ネットワーク化されたアプリケーションに対して透過的な方法で、以前に遮断されたＩＰセキュリティセッションに代えて、新たなＩＰセキュリティセッションをネゴシエートするステップが含まれている、請求項１に記載の方法。
【請求項７】
上記ステップ（ｂ）には、ネットワークを介して安全なトンネルを形成するために、ＩＰＳｅｃを使用するステップが含まれている、請求項１に記載の方法。
【請求項８】
さらに、上記ＩＰセキュリティセッションを超えて、ネットワーク通信の流れを、選択的に許可し、拒否し、または、遅らせるためのポリシー規定を適用するステップが含まれる、請求項１に記載の方法。
【請求項９】
さらに、中央局から上記ＩＰセキュリティセッションの形成に関するポリシーを集中的に管理し、分配するステップが含まれる、請求項１に記載の方法。
【請求項１０】
さらに、上記モバイルデバイス通信を安全にプロキシするステップが含まれる、請求項１に記載の方法。
【請求項１１】
さらに、上記検出に基づいた以前のＩＰセキュリティセッションを終了するステップが含まれる、請求項１に記載の方法。
【請求項１２】
少なくとも１つのソフトウェアコンポーネントを備えたオペレーティング環境の修正方法において、上記オペレーティング環境は、トランスポートエンジンプロトコルを使用し、少なくとも１つのアプリケーションを実行し、
（ａ）上記オペレーティング環境にコンピュータ命令を、透過的で選択的に注入するステップと、
（ｂ）上記オペレーティング環境コンポーネント、トランスポートエンジンプロトコル、および、アプリケーションに対して、バイナリ互換性を維持している間に、他の機能を得るために、少なくとも１つのソフトウェアコンポーネントの実行パスを転送するステップとを含む方法。
【請求項１３】
上記転送がプロセス名に基づいて行われる、請求項１２に記載の方法。
【請求項１４】
モバイルコンピューティング環境におけるデータ通信の供給方法において、上記環境には、ネットワークアプリケーションおよびオペレーティングシステムコンポーネントのための、少なくとも１つのネットワークインターフェースを用いた少なくとも１つのデバイスが含まれており、
（ａ）上記少なくとも１つのネットワークインターフェースを選択的および透過的に仮想化することにより、ネットワークアプリケーションを保護し、モバイルコンピューティング環境の少なくともいくつかの特性からシステムコンポーネントを操作するステップと、
（ｂ）他の上記コンポーネントが、少なくとも接続の割込み、および、接続するネットワークポイントの変更を認識できるステップと
を含んだ方法。
【請求項１５】
ネットワークアプリケーションおよびオペレーティングシステムコンポーネントのための、少なくとも１つのネットワークインターフェースを用いた少なくとも１つのデバイスを含んだ環境における、データ通信の提供方法において、
（ａ）少なくとも１つのネットワークインターフェースを選択的に仮想化し、これにより、ネットワークアプリケーションおよびオペレーティングシステムコンポーネントを、通信を妨げてしまいかねない少なくともいくつかの有害事象から保護するステップと、
（ｂ）上記仮想化されたネットワークインターフェースを、データ通信を実行するために使用するステップと
を含んだ方法。
【請求項１６】
上記有害事象が、接続するネットワークポイントの変更を含む、請求項１５に記載の方法。
【請求項１７】
上記有害事象が、ネットワーク切断の時期を含んでいる、請求項１５に記載の方法。
【請求項１８】
接続する少なくとも１つのネットワークポイントと関連のある複数のネットワークインターフェースを越えた、複数のＩＰセキュリティセッションの使用方法において、
（ａ）上記複数のＩＰセキュリティセッションを越えて同時に流れるために、ネットワークアプリケーション通信を分散するステップと、
（ｂ）上記分散された通信の流れを、対応する高い層通信セッションに多重化／逆多重化するステップと
を含む方法。
【請求項１９】
さらに、上記複数のＩＰセキュリティセッションのうちの少なくとも１つを越えて、ネットワーク通信の流れを、選択的に、許可し、拒否し、または、遅らせるために、ポリシー規定を適用する、請求項１８に記載の方法。
【請求項２０】
中央局から複数のＩＰセキュリティセッションの設定に関するポリシーを集中的に管理し、分配する、請求項１８に記載の方法。
【請求項２１】
（ａ）複数のＩＰセキュリティセッションの形成を促進するステップと、
（ｂ）少なくとも適用しているポリシー規定の一部に基づいた、複数のＩＰセキュリティセッションのうちの少なくとも１つを越えて、ネットワーク通信の流れを、選択的に、許可し、拒否し、および／または、遅らせるステップと
を含む方法。
【請求項２２】
さらに、中央局から上記ポリシー規定を集中的に管理し、分配する、請求項２１に記載の方法。
【請求項２３】
安全なネットワーク接続の施行方法において、
（ａ）コンピューティングネットワーク内にＩＰセキュリティセッションを設定するステップと、
（ｂ）中央局から上記ＩＰセキュリティセッションの設定に関するポリシーを集中的に管理し、分配するステップと
を含んだ方法。
【請求項２４】
モバイル通信のプロキシ方法において、
（ａ）モバイルデバイスとの通信を設定するステップと、
（ｂ）上記モバイルデバイスの最終的なピアとの通信を設定するステップと、
（ｂ）上記モバイルデバイスの代わりに最終的なピアを有する実行可能な複数のＩＰセキュリティセッションのうちの少なくとも１つをインスタンス生成するステップと
を含んだ方法。
【請求項２５】
上記モバイルデバイスがクライアントを含み、ステップ（ａ）にはクライアントサーバー通信を設定するステップが含まれる、請求項２４に記載の方法。
【請求項２６】
モバイル通信のプロキシ方法において、
（ａ）上記モバイルデバイスとその通信ピアとの間の少なくとも１つのＩＰセキュリティセッションを設定するステップと、
（ｂ）上記モバイルデバイスに到達できない期間に、上記通信ピアとのＩＰセキュリティセッションを維持するステップと
を含む方法。
【請求項２７】
モビリティサーバーと最終的な通信ピアとの間のＩＰセキュリティセッションの管理方法において、
（ａ）上記モビリティサーバーと最終的な通信ピアとの間に少なくとも１つのＩＰセキュリティセッションを設定するステップと、
（ｂ）所定の事象の発生に応じて、ＩＰセキュリティセッションを自動的に終了するステップと
を含む方法。
【請求項２８】
上記所定の事象は、活動中のリンク、活動していないアプリケーションセッション、および、通信エンドポイントの終了の中から選択される、請求項２７に記載の方法。
【請求項２９】
ネットワーク識別子を有するモビリティクライアント、モビリティサーバー、および、最終的な通信ピア間の、安全な通信の提供方法において、
（ａ）上記モビリティサーバーと最終的なピアとの間の少なくとも１つのＩＰセキュリティセッションを設定するステップと、
（ｂ）上記モビリティクライアントのネットワーク識別子が変化する場合でさえ、ＩＰセキュリティセッションを安全に維持するステップと
を含む方法。
【請求項３０】
少なくとも１つのネットワークアプリケーションセッションに関係する少なくとも１つのネットワーク化されたアプリケーションを実行する、モバイルまたは他の断続的に接続されたコンピューティングデバイスとの、ネットワーク通信を維持するためのシステムにおいて、
上記コンピューティングデバイスとのネットワーク通信に影響を与える事象の発生を検出する、検出デバイスと、
上記検出に応じて、ネットワークアプリケーションセッションを維持している間に、コンピューティングデバイスが使用するＩＰセキュリティセッションをインスタンス生成し、または、再インスタンス生成する、セキュリティモジュールとを含んだシステム。
【請求項３１】
上記検出器が、接続するネットワークポイントの変更を検出する、請求項３０に記載のシステム。
【請求項３２】
上記検出器が、ネットワーク接続の割込みによって、以前のＩＰセキュリティセッションを終了したことを検出する、請求項３０に記載のシステム。
【請求項３３】
上記検出器が、モバイルデバイスのネットワーク識別子が変化したことを検出する、請求項３０に記載のシステム。
【請求項３４】
上記検出器が、モバイルデバイスが様々なネットワークまたはサブネットワークにローミングしたことを検出する、請求項３０に記載のシステム。
【請求項３５】
上記セキュリティモジュールが、ネットワーク化されたアプリケーションに対して透過的な方法で、以前に遮断されたＩＰセキュリティセッションに代えて、新たなＩＰセキュリティセッションをネゴシエートする、請求項３０に記載のシステム。
【請求項３６】
上記セキュリティモジュールが、ネットワーク通信を介して安全なセッションを形成するために、ＩＰＳｅｃを使用する、請求項３０に記載のシステム。
【請求項３７】
さらに、上記ＩＰセキュリティセッションを超えて、ネットワーク通信の流れを選択的に、許可し、否定し、または、遅らせるために、ポリシー規定を適用する、ポリシーマネージャーを含んだ、請求項３０に記載のシステム。
【請求項３８】
さらに、上記ＩＰセキュリティセッションの形成に関してポリシーを集中的に管理し、分配する中央ポリシー管理局を含む、請求項３０に記載のシステム。
【請求項３９】
さらに、上記モバイルデバイス通信を安全にプロキシする、モビリティサーバーを含む、請求項３０に記載のシステム。
【請求項４０】
上記セキュリティモジュールが、上記検出に基づいた以前のＩＰセキュリティセッションを終了する、請求項３０に記載のシステム。
【請求項４１】
少なくとも１つのソフトウェアコンポーネントを備えたオペレーティング環境であって、トランスポートエンジンプロトコルを使用し、少なくとも１つのアプリケーションを実行し、さらに、その中に透過的で選択的に注入されたコンピュータ命令を含んでいる、環境において、
上記オペレーティング環境コンポーネント、トランスポートエンジンプロトコル、および、アプリケーションのバイナリ互換性を維持する間、上記注入されたコンピュータ命令が、さらなる機能を獲得するために少なくとも１つのソフトウェアコンポーネントの実行パスを転送するリダイレクタを含んでいる環境。
【請求項４２】
上記リダイレクタが、プロセス名に基づいた実行パスを転送する、請求項４１に記載の環境。
【請求項４３】
ネットワークアプリケーションおよびオペレーティングシステムコンポーネントのための少なくとも１つのネットワークインターフェースを用いた、少なくとも１つのデバイスを含むモバイルコンピューティング環境において、
（ａ）少なくとも１つのネットワークインターフェースを選択的かつ透過的に仮想化して、これによって、上記モバイルコンピューティング環境のうちの少なくともいくつかの特性から上記ネットワークアプリケーションおよびオペレーティングシステムコンポーネントを保護する命令と、
（ｂ）他の上記コンポーネントが少なくとも接続の割込み、および、接続するネットワークポイントの変更を認識できる、さらなる命令と
を含んだ環境。
【請求項４４】
ネットワークアプリケーションおよびオペレーティングシステムコンポーネントのための少なくとも１つのネットワークインターフェースを用いた、少なくとも１つのデバイスを含んだ環境において、
上記少なくとも１つのネットワークインターフェースを選択的に仮想化することにより、ネットワークアプリケーションおよびオペレーティングシステムコンポーネントを、通信を妨げてしまいかねない少なくともいくつかの有害事象から保護する命令と、
データ通信を実行するために、仮想化されたネットワークインターフェースを使用する他の構造と
を含む環境。
【請求項４５】
上記有害事象が、接続するネットワークポイントを含む、請求項４４に記載の環境。
【請求項４６】
上記有害事象が、ネットワーク切断の時期を含む、請求項４４に記載の環境。
【請求項４７】
接続する少なくとも１つのネットワークポイントに関係のある複数のネットワークインターフェースを越えて、複数のＩＰセキュリティセッションを用いるためのシステムにおいて、
上記複数のＩＰセキュリティセッションを越えて同時に流れるために、ネットワークアプリケーション通信を分配する、データディストリビュータと、
（ｂ）上記分配された通信の流れを、対応する高い層通信セッションに多重化および逆多重化する、多重デバイス／逆多重デバイスと
を含むシステム。
【請求項４８】
さらに、少なくとも１つの上記ＩＰセキュリティセッションを超えて、ネットワーク通信の流れを、選択的に、許可し、拒否し、または、遅らせるために、ポリシー規定を適用する、請求項１８に記載のシステム。
【請求項４９】
さらに、上記複数のＩＰセキュリティセッションの設定に関して、ポリシーを中央に管理・分配する、中央局を含む、請求項４７に記載のシステム。
【請求項５０】
（ａ）複数のＩＰセキュリティセッションの生成を促進する、セキュリティフレームワークと、
（ｂ）少なくともポリシー規定の一部に基づいた、複数のＩＰセキュリティセッションのうちの少なくとも１つを越えたネットワーク通信の流れを、選択的に、許可し、拒否し、および／または、遅らせる、ポリシーエージェントを含んだシステム。
【請求項５１】
さらに、上記ポリシー規定を集中的に管理し、分配する中央局を含む、請求項５０に記載のシステム。
【請求項５２】
安全なネットワーク接続を行うためのシステムにおいて、
コンピューティングネットワーク内にＩＰセキュリティセッションを設定する、セキュリティフレームワークと、
上記ＩＰセキュリティセッションの設定に関して、ポリシーを集中的に管理し、分配する、中央局とを含んだシステム。
【請求項５３】
モバイルデバイスとその最終的なピアとの通信を設定する、通信構造と、
上記モバイルデバイスの代わりに、最終的なピアとの実行可能な複数のＩＰセキュリティセッションのうちの少なくとも１つをインスタンス生成する、セキュリティコンポーネントとを含んだ、モビリティプロキシ。
【請求項５４】
上記モバイルデバイスがクライアントを含み、モビリティプロキシがサーバーを含む、請求項５３に記載のシステム。
【請求項５５】
モバイル通信をプロキシするためのシステムにおいて、
上記モバイルデバイスとその通信ピアとを備えた少なくとも１つのＩＰセキュリティセッションを設定するための通信手段と、
上記モバイルデバイスに到達できない期間に、通信ピアを有するＩＰセキュリティセッションを維持するための手段とを含んだ、システム。
【請求項５６】
モビリティサーバーと最終的な通信ピアとの間のＩＰセキュリティセッションを管理するためのシステムにおいて、
上記モビリティサーバーと最終的な通信ピアとの間の少なくとも１つのＩＰセキュリティセッションを設定するための手段と、
所定の事象の発生に応じて、ＩＰセキュリティセッションを自動的に終了するための手段とを含んだ、システム。
【請求項５７】
上記所定の事象が、リンクアクティビティと、アプリケーションセッションインアクティビティと、通信エンドポイントの終了とを含むグループから選択される請求項５６に記載のシステム。
【請求項５８】
ネットワーク識別子を有するモビリティクライアントと、モビリティサーバーと、最終的な通信ピアとの間の安全な通信を提供するためのシステムにおいて、
上記モビリティサーバーと、最終的なピアと、モビリティクライアントと、モビリティサーバーとの間の少なくとも１つのＩＰセキュリティセッションを設定するための手段と、
上記モビリティクライアントのネットワーク識別子が変化する場合でさえ、ＩＰセキュリティセッションを安全に維持するための手段とを含んだシステム。
【請求項５９】
第１組の命令と第２組の命令とを格納した記憶媒体において、
上記第１組の命令は、ポリシーエージェントフッキングランタイムリンク可能モジュールを、ポリシーエージェントとＩＰＳｅｃインフラストラクチャとを有するオペレーティングシステムに挿入する命令であり、
上記第２組の命令は、ネットワークインターフェース仮想化ドライバーを上記オペレーティングシステムに挿入する命令であり、
上記仮想化ドライバーは、クライアントモジュールネットワークを仮想化し、かつ、ネットワーク状態変化についてＩＰＳｅｃインフラストラクチャに選択的に通知し続けることができる間にモビリティサーバー接続を開始する、記憶媒体。
【請求項６０】
安全に通信するためにモバイルデバイスを準備する方法において、
上記モバイルデバイスは、ポリシーエージェントおよびＩＰＳｅｃインフラストラクチャを含んだ、オペレーティング環境を有し、
コンピュータネットワークを越えてモバイルデバイスにダウンロードするステップと、モバイルデバイスを用いて、ポリシーエージェントフッキングランタイムリンク可能モジュールをオペレーティング環境に挿入する第１組の命令を実行するステップとを含み、上記フッキングモジュールとは、ネットワーク状態変化をポリシーエージェントに通知するものであり、
上記コンピュータネットワークを越えてダウンロードするステップと、ネットワークインターフェース仮想化ドライバーをオペレーティング環境に挿入する第２組の命令を、モバイルデバイスに実行するステップとを含み、
上記仮想化ドライバーは、クライアントモジュールネットワークを仮想化し、かつ、ネットワーク状態変化についてＩＰＳｅｃインフラストラクチャに選択的に通知し続けることができる間にモビリティサーバー接続を開始する方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
〔関連出願の相互参照〕
本出願は、以下の同時係属中の共通に譲り受けた関連米国特許出願：
米国仮特許出願番号６０／３４７，２４３（出願日：２００２年１月１４日、弁理士事件番号３９７８−９）；
米国仮特許出願番号６０／２７４，６１５（出願日：２００１年３月１２日、名称「コンピューティング環境におけるモバイル接続および他の断続的接続を提供するための方法およびデバイス」（弁理士事件番号３９７８−６）；
米国仮特許出願番号０９／３３０，３１０（出願日：１９９９年６月１１日、名称「コンピューティング環境におけるモバイル接続および他の断続的接続を提供するための方法およびデバイス」（弁理士事件番号３９７８−３）；
米国仮特許出願番号０９／６６０，５００（出願日：２０００年９月１２日、名称「コンピューティング環境におけるモバイル接続および他の断続的接続を提供するための方法およびデバイス」（弁理士事件番号３９７８−２）；
ＰＣＴ国際出願番号ＰＣＴ／ＵＳ０１／２８３９１（出願日：２００１年９月１２日、名称「コンピューティング環境におけるモバイル接続および他の断続的接続を提供するための方法およびデバイス」（弁理士事件番号３９７８−７）に対する優先権を主張するものである。
【０００２】
上記全ての文献は、参照によりここに含められる。
【０００３】
〔連邦政府による委託研究または進展に関する説明〕
適用できない。
【０００４】
〔発明の背景および要約〕
無線ネットワークが広範に普及している。学生達が、講義室に座っている間に、または、大学キャンパスの中央にある戸外で楽しみながら、大学のコンピュータネットワークから科目情報にアクセスしている。医者達が、巡回しながら、病院のコンピュータネットワークとコンピュータ接続し続けている。会社員が、オフィスから会議室に移動しながら、書類を検討して電子メールにアクセスし続けることができる。ラップトップまたはＰＤＡユーザーは、会議室、ホテル、空港、および、喫茶店で、ウェブにアクセスして情報を見ることができ、インターネットを介して電子メールおよび他のアプリケーションにアクセスできる。ホームユーザーは、ケーブルを引かずに無線ネットワークを使用している。
【０００５】
無線接続は、自由度が大きいが、安全性に対するリスクがある。ケーブルまたは他の有線ネットワークを介して伝送された情報は、通常、安全である。なぜなら、情報は、伝送するためにケーブルに接続する必要があるからである。これに対して、無線伝送された情報は、範囲内にいる無線受信器を有する全ての人によって受信されてしまう。安全性に対するリスクは、科目の資料を読む学生、または、ＷＷＷにアクセスして情報を見る喫茶店の客、にとってはたいした問題ではないが、顧客、利用者、および、病人だけでなく、ビジネスおよび専門家にとっては、重要な関心事である。
【０００６】
通常、有線式コンピューティングワールドと無線式コンピューティングワールドとは、非常に異なるパラダイムのもとで動作している。有線式ワールドのアドレスは固定されており、その接続は、一定で、帯域幅が高い。結果として、有線式ワールド用に設計されたアプリケーションおよびメッセージプロトコルは、通常、無線環境において作業しない。しかしながら、エンドユーザーの無線に対する期待は、それらの有線ネットワークのパフォーマンスおよび動作によって設定される。これらの期待を満たすことは、無線ネットワーク構造、ソフトウェア、および、デバイスを設計および開発する人にとって非常に難しい。
【０００７】
ユーザーを認証し、信用のできる通信を維持することは、有線ネットワークよりも無線ネットワークにおいて、より困難である。無線ネットワークは、通常、有線ネットワークにはほとんど用いられない、非常に多種の攻撃（例えば、マン・イン・ザ・ミドル、盗聴、「フリーライド」、および、脅威となる広域）および仮定の対象となる。例えば、無線ネットワークおよびインターネットに基づいた仮想私設網（ＶＰＮ）のような現代のネットワーク接続形態では、公衆網と私設網との間の物理的境界線が存在しない。これらのようなネットワークでは、ユーザーがシステムにアクセスするために許可を必要とするのかどうかということを、安全な設備の中の有線ネットワークのように物理的位置からは想定できない。さらに、無線データを、無線周波放送することも多い。この無線データは、組織の制御を超えて、壁および天井を介して、駐車場または街路でさえも通過できる。したがって、ネットワークが伝える情報は、盗聴されやすい。きわめて重要な病院の患者情報が、認証されていない人によって病院のロビーでラップトップコンピュータを用いて妨害または変更されてしまう場合、または、産業スパイがその競争相手の秘密を、上の階にあるオフィスから、または、駐車場の車から、無線伝送を妨害することによって突き止めてしまう場合を、仮定してみる。有線ネットワークケーブルを用いた場合に、安全な設備の中で有線ネットワークケーブルに接続している間、実際に事件が生じる可能性は、無線ネットワークからの無線送信が妨害される可能性よりも低いだろう。さらに、安全に対する脅威および問題に直面してしまうのは、ユーザーが、感知可能データおよびアプリケーションにアクセスするために、かつてないほど多くの様々な無線公衆網の使用を望む場合である。
【０００８】
無線ネットワークハードウェア供給メーカーによる相互運用システムの形成を可能にする、多数のオープンスタンダードが、機密保持の形態をいくつか提供する。例えば、ＩＥＥＥ８０２．１１ｂ「Ｗｉ−Ｆｉ」スタンダードが、全ての種類のコンピューティングデバイスに対して無線接続を提供するために、広範に実施されてきた。このスタンダードは、広範に実施されてきた任意のワイヤードエクイバレントプライバシ（「ＷＥＰ」）機能を提供する。様々な付加的な無線関連のスタンダードを用いて、無線ネットワークにおいて、安全に対する問題の解決を試みる。これらの無線ネットワークには、例えば、
・無線アプリケーションプロトコル（ＷＡＰ）および有線式トランスポート層セキュリティ（ＷＴＬＳ）
・モバイルＩＰ
が含まれる。
しかしながら、以下で説明するように、および、産業全体に認められているように、これらのスタンダードは、異なるネットワークまたはサブネットワーク間でローミングを行うモバイルコンピューティングデバイスのための、簡単に実施できる完全に透過的な、安全に対するソリューションを提供してこなかった。
【０００９】
ＷＡＰは、通常、低帯域幅無線ネットワークを介して、携帯電話、ページャ、ＰＤＡといったデバイスにデータを伝送するために、設計されている。ＷＡＰにおける有線式トランスポート層セキュリティ（ＷＴＬＳ）プロトコルは、ＷＡＰに基づいたアプリケーション間の、プライバシ、データインテグリティ、および、認証を提供する。ＷＡＰゲートウェイは、ＷＡＰプロトコル，スタンダードウェブおよび／またはＨＴＴＰおよびＴＣＰ／ＩＰのようなインターネットプロトコル間で切り替わり、ＷＴＬＳは、暗号化された安全なパイプを形成するために用いられる。このモデルの１つの問題とは、中間にあるＷＡＰゲートウェイがデータを解読するとすぐに、クリアテキストフォームで利用できるという点にある。クリアテクストフォームとは、システムの終端間の安全を危うくしてしまうものである。さらに、ＷＡＰは、通常、無線ローカルエリアネットワークパーソナルコンピュータの接続のような高い帯域幅シナリオに対して実施されてこなかった。
【００１０】
ＷＥＰ（Wired Equivalent Privacy）は、保護されていない有線ローカルエリアネットワークのレベルと同じプライバシのレベルを提供するためのものである。ＷＥＰは、ＩＥＥＥ８０２．１１スタンダードの任意の部分であるが、多くのハードウェア供給メーカーが、ＷＥＰを実施していた。ＷＥＰは、ある程度の認証および機密性を提供するが、欠点および制限もいくつかある。
【００１１】
認証および機密性を提供するために、ＷＥＰは、通常、無線デバイス（例えば、無線ＬＡＮアダプタを備えたラップトップコンピュータ）と無線アクセスポイントとの間で共有される暗号化鍵の、デフォルトセット（初期設定）に基づいている。ＷＥＰを用いて、正しい暗号化鍵を有するクライアントが、ネットワークのロックを解き、無線ネットワーク上のいくつかのアクセスポイントと通信できる。しかしながら、このネットワークは、適切な鍵がなければ、リンクレベルの接続要求を拒否する。それらがそのように形成されると、ＷＥＰによって実現できるワイヤレスデバイスおよびアクセスポイントも、データを伝送する前に暗号化し、パケットが通過中に変更されないように、確実にインテグリティチェックが行われる。正しい鍵がなければ、伝送されたデータを解読できない。この解読とは、つまり、他の無線デバイスが盗聴することを予防するということである。
【００１２】
ＷＥＰは、業界アナリストの中に、ＷＥＰが現在用いている暗号化の強さについて疑問を呈した人たちがいるとはいっても、通常、無線リンクを保護するために効果的である。しかし、ＷＥＰの主な限界は、ＷＥＰの提供する保護が無線リンク自体を超えて拡大しないという点にある。データを無線アクセスポイントによって受信し、他のいくつかのネットワーク宛先にデータを転送する必要がある場合に、ＷＥＰは、通常、終端間の保護を提供しない。データがネットワークアクセスポイントまたはゲートウェイに達したとき、暗号化・保護が解かれる。他の安全（セキュリティ）に対するソリューションのいくつかは、通常、終端間の認証およびプライバシを提供するために用いられる必要がある。
【００１３】
モバイルＩＰは、無線ネットワークおよび他の断続的に接続されたネットワークが有するいくつかの問題の解決を試みる、他のスタンダードである。通常、モバイルＩＰは、モバイルデバイスが同質および異質のネットワーク環境を越えてアタッチメント（接続）のモバイルデバイスのネットワークポイントを移動できる、アルゴリズムに基づいたスタンダードである。つまり、このインターネットスタンダードは、インターネットにおけるモバイルノードへのインターネットプロトコル（ＩＰ）データグラム（例えば、メッセージ）の経路を指定できる、プロトコルの向上（エンハンスメント）を具体的に特定する。これについては、例えば、Perkins, C.,「ＩＰモビリティサポート（IP Mobility Support）」（『RFC 2002』,１９９６年１０月）に示されている。
【００１４】
モバイルＩＰは、インターネットへの接続する（アタッチメントの）モバイルノードの現在のポイントとは関係なく、各モバイルノードがそのホームアドレスによって常に識別されることを考慮している。モバイルノードは、そのホームから離れて位置する間、「気付アドレス（ケアオブアドレス）」にも関連している。気付アドレスは、インターネットへの接続の現在のポイントについての情報を提供するものである。プロトコルは、ホームエージェントに「気付アドレス」の位置登録を行うことに備えている。このホームエージェントは、「トンネル」を介してモバイルノードに向かうデータグラムを、「気付アドレス」に送信する。「トンネル」の端に達した後、次に、各データグラムは、モバイルノードに配信される。
【００１５】
モバイルＩＰが遠隔接続用に有益な技術を提供しているが、まだ広範には展開／実施されていない。このことは、様々な要因によるものと思われる。これらの要因のうちの少なくとも１つは、いくつかの未解決の問題、または、モバイルＩＰスタンダードが欠けている領域、および、エンハンスメントまたは改善が望まれる領域を引き続き有しているという点にある。例えば、今やセキュリティが、モバイルネットワーク化の非常に重要な観点としてかなり広範に認められているが、モバイルＩＰのセキュリティコンポーネントは、主に、リダイレクション攻撃のような、制限されたたくさんのセキュリティ問題に向けられている。
【００１６】
リダイレクション攻撃は、全てのモビリティシステムにおいて、本当に脅威である。例えば、悪意のあるノードが（例えば、時々、前のメッセージを簡単に再生することによって）間違った情報をモバイルＩＰネットワークのホームエージェントに与えると、リダイレクション攻撃が生じてしまう。このことは、間違った「住所変更」用紙を郵便局に提出する人に似ている。その結果、あなたの全てのメールが、だれか他の人のメールボックスに届く。ホームエージェントは、モバイルノードが新しい「気付アドレス」を有していることを知らせる。しかし、実際には、この新しい「気付アドレス」は、悪意のあるノードによって制御される。この間違った位置登録が生じた後、モバイルノードにアドレス指定された全てのＩＰデータグラムは、悪意のあるノードに転送される。
【００１７】
モバイルＩＰがリダイレクション攻撃を防ぐためのメカニズムを提供する間、企業が、それらの無線ネットワークソリューションの安全性が十分であると感知できる前に、取り組むべき他の重要な安全に対する脅威が存在する。例えば、モバイルＩＰは、通常、
・セッション障害許容力／持続性、
・ポリシー管理、
・分散されたファイヤーウォール機能、
・位置に基づくサービス、
・パワーマネージメント、および、
・他の機能、
といった、モバイルコンピューティング機能を含んだ安全に対する総合的なソリューションを提供しない。
【００１８】
現在までに、モバイルＩＰおよび他の事情におけるインターネットコミュニティによって安全に対する多くの作業がなされてきたが、ソリューションが改善されることがまだ可能であり、望まれる。特に、簡単に使用できる総合的なモビリティソリューションを企業および他の組織に提供する必要がある。これらは、現在の、そして、新しいインフラストラクチャに、終端間のセキュリティを加えることを望んでいる。また、このインフラストラクチャとは、従来の技術およびスタンダードを広範に使用して、「モバイルを認識」しなくてもよいアプリケーションに透過的にローミングするモビリティをサポートするものである。ソリューションがいくつか存在するが、インフラストラクチャの多くは、実施および維持が困難な現在のインフラストラクチャに変える必要がある。
【００１９】
例えば、存在している現在の実例に関しては、モバイルＩＰが、現在の動作システム環境のコンポーネントを交換するために、ＴＣＰ／ＩＰプロトコルスタック中の「バンプ」として、時々実施される。このような構造の例を、従来技術の図１に示す。図示した例証となる典型的な従来技術の構成では、モバイルＩＰモジュールが、規則的なＴＣＰ／ＩＰプロトコルスタックコンポーネントの下に位置しており、１つのネットワークから他のネットワークへの遷移を管理している。通常、このようなソリューションを用いて、現在のコアとなるネットワークインフラストラクチャの構成要素（エンティティ）への追加および修正することにより、ノマディックコンピューティングまたはミグラトリーコンピューティングの動作を容易にする必要がある。このような修正が必要なので、広範に実装できず、保全性および互換性という点で問題が生じるのである。
【００２０】
企業にとって魅力的であった安全に対する他の一般的なソリューションは、仮想私設網（ＶＰＮ）と呼ばれるものである。ＶＰＮは、有線ネットワークと無線ネットワークとに共通である。通常、ＶＰＮは、安全プロトコルトンネルを介して、ネットワークコンポーネントおよびリソースに連結しており、その結果、個々のネットワークに接続されたデバイスは、共通のプライベートバックボーンを共有するように見える。ＶＰＮは、このことを、ユーザーが無線ネットワークまたは他の公衆網を介して「トンネルを掘る」ことができることにより成し遂げる。このとき、ＶＰＮが私設有線ネットワークに接続されるときと少なくとも同じレベルの機密性および特徴を、「トンネル」に関係する構成が享受するような方法で行う。「トンネル」を形成できる前に、トンネルに関係する構成のアイデンティティ（識別子）を形成および認証するために、暗号方式が用いられる。ＶＰＮ接続を行っている間に、プライバシを提供するために、トンネルを通過する情報を暗号化できる。
【００２１】
ＶＰＮは、安全ではない一つまたは複数のネットワークを越えて通信する２つのノードのために、終端間のセキュリティオーバーレイを提供する。各ノードでのＶＰＮ機能は、他のネットワークセキュリティが侵害されるか、または、存在しない場合に、認証およびプライバシをさらに供給する。ＶＰＮは、例えば、安全ではないホームインターネット接続を介してユーザーがオフィスのローカルエリアネットワークに接続できるような、様々なネットワーク状況において、広範に受入れられてきた。このようなソリューションは、ＡＥＳ（次世代標準暗号化方式）、圧縮、および、プロトコルチャッティネスを低減するためのリンク最適化のような、強い暗号を提供できる。しかしながら、多くのＶＰＮまたは大抵のＶＰＮは、ユーザーに、安全なトンネルを「中断」しなければ、サブネットまたはネットワーク間でローミングさせない。さらに、多くのＶＰＮまたは大抵のＶＰＮは、ローミング中に形成されたままである、トランスポート、セキュリティセッション、および、アプリケーションセッションを許可しない。また、他の潜在的な障害となるのが、従来の動作システムであるが、それらの全てが、現在の無線ＶＰＮの保護との互換性があるとは限らない。
【００２２】
いくつかのローミング問題に取り組むために、上述したように、スタンダードの効力がモバイルＩＰを規定してきた。しかし、モバイルＩＰは、例えば、ネットワーク層で動作し、したがって、通常、セッション持続性／障害許容力に備えていない。モバイルノードが、かなり短い期間でも、範囲外にあるか、または、中断されると、形成されたネットワークセッションが断たれる（ドロップされる）だろうと思われる。このことによって、ユーザビリティおよび生産性という点で、重要な問題が生じてしまう。セッション持続性によって、ユーザーは、形成されたセッションおよび接続されたＶＰＮトンネルを保つので、カバレージホールがアプリケーショントランザクションの間に入力されるとはいえ、セッション持続性が望ましい。業界アナリストおよび無線イーサネット（登録商標）互換性推進機関は、企業がＶＰＮ技術を展開することを薦めている。このＶＰＮ技術とは、安全に対する問題に直接取り組み、ネットワークおよびサブネットローミングのような進歩した特徴、断続的な接続のためのセッション持続性、および、モバイルデバイス用の電池寿命管理を提供する。しかし、ＶＰＮソリューションは、スタンダードセキュリティ暗号アルゴリズムおよび今日のより小さな無線デバイスに適した無線最適化を、サポートすることが望ましく、現在のインフラストラクチャのために、変更しない、または、わずかの変更ですむことが望ましい。
【００２３】
スタンダードに基づいた１つのセキュリティアーキテクチャと、終端間の安全な通信を提供するために用いられてきたプロトコルアプローチとは、「インターネットセキュリティプロトコル」（「ＩＰＳｅｃ」）と呼ばれている。ＩＰＳｅｃは、公衆網および私設網を介した通信を確保するために、インターネット技術標準化委員会（ＩＥＴＦ）によって発展してきたオープンスタンダードの集合体である。これについては、例えば、
・ＲＦＣ  １８２７、「ＩＰカプセル化セキュリティペイロード（ＥＳＰ）」R. Atkinson（１９９５年８月）、
・ＲＦＣ  １８２６、「ＩＰ認証ヘッダー」R. Atkinson、（１９９５年８月）、
・ＲＦＣ  １８２５、「インターネットプロトコル用のセキュリティアーキテクチャ」R. Atkinson（１９９５年８月）
に示されている。
【００２４】
手短に言えば、ＩＰＳｅｃは、暗号セキュリティサービスの使用を介して、インターネットプロトコル（ＩＰ）ネットワーク上の私設（専用）の安全な通信を保証するための枠組みである。暗号化に基づいた保護サービスおよびセキュリティプロトコルのＩＰＳｅｃスーツは、データ暗号化、データインテグリティ確認、および、メッセージ機密性と同様に、コンピュータレベルユーザーおよびメッセージ認証を提供する。ＩＰＳｅｃ機能は、暗号鍵交換および管理、メッセージヘッダー認証、ハッシュメッセージ認証、カプセル化セキュリティペイロードプロトコル、トリプルデータ暗号化、次世代標準暗号方式、および、他の特徴を含んでいる。詳しくは、ＩＰＳｅｃは、メッセージペイロードを暗号化するトランスポートモードと、ペイロード、ヘッダー、および、各メッセージの経路情報を暗号化するトンネルモードとを提供する。経費を低減するために、ＩＰＳｅｃは、ポリシーアドミニストレーションを使用する。ＩＰＳｅｃポリシーは、アプリケーションプログラミングインターフェース（ＡＰＩ）よりもむしろ、ＩＰＳｅｃセキュリティサービスを構成するために用いられる。このポリシーは、現在のほとんどのネットワークにおけるほとんどのトラフィックタイプに適した、様々なレベルの保護を提供する。コンピュータ、アプリケーション、組織単位、ドメイン、サイト、または、ＩＰアドレスおよび／またはポート番号に基づいたグローバル企業の、セキュリティ要求を満たすために、ＩＰＳｅｃポリシーを構成できる。
【００２５】
ＩＰＳｅｃは、一般に、ファイヤーウォール、認証プロダクト、および、ＶＰＮにおいて用いられる。さらに、マイクロソフト社は、ＩＰＳｅｃを、そのウインドウズ２０００（登録商標）オペレーティングシステムおよびウインドウズＸＰ（登録商標）オペレーティングシステムの部品として、実施した。ＩＰＳｅｃのトンネルモードは、特に、終端間の安全なＶＰＮを形成するために有益である。公開鍵暗号に基づいたＩＰＳｅｃ  ＶＰＮは、終端間の安全なメッセージ認証およびプライバシを提供する。ＩＰＳｅｃエンドポイントは、暗号鍵およびセキュリティアソシエーションを管理・分散するデータベースとして機能する。ＩＰＳｅｃは、正確に実施するために、電子メール、ファイルのダウンロード、ニュースの供給、カルテ、マルチメディア、または、他の全てのタイプの情報のような、攻撃されやすいデータを交換するためのプライベートチャンネルを提供できる。
【００２６】
初めに、スタンダードなＩＰＳｅｃセキュリティアルゴリズムのようなセキュリティアルゴリズムを、モバイルＩＰまたは他のモビリティプロトコルに比較的簡単に加えることが、求められる場合がある。例えば、従来技術の図２に示したような形態における各エンティティの階層化によって、モバイルノードＩＰアドレスを変更する必要のない環境において、セキュリティを考慮すると思われる。したがって、モバイルノードとその最終的なピアとの間のＩＰＳｅｃセキュリティアソシエーションを、ネットワークゼグメント境界を介して保護でき、終端間のセキュリティも保護される。しかし、このように、モバイルＩＰとＩＰＳｅｃアルゴリズムとの結合には、それ自体に問題がある。
【００２７】
例えば、モバイルノードが性質の違うネットワークにローミングしてその最終的なピアと通信しているとき、モバイルノードによって生成されたパケットを、ファイヤーウォールのようなポリシーエンフォースメントエンティティが処分してもよい。このことは、イングレスフィルタリングルールとして知られる一般的な方法のゆえに生じる。多くのファイヤーウォールが、パケットを処分する。これらのパケットは、ファイヤーウォールのホームアドレス（内部ネットワーク識別子）を用いたモバイルノードによって生成され、ネットワークを保護するために、外部に面したネットワークインターフェースにおいて受信されるものである。この処分プロセスは、ファイヤーウォールによって保護されたネットワークを攻撃から守るためのものである。また、イングレスフィルタリングには、モバイルＩＰフレームのトンネリングを両方向に強いる効果がある。例えば、RFC 2356 Sun’s SKIP Firewall Traversal for Mobile IP: G. Montenegro, V. Gupta.（１９９８年６月）に示されている。
【００２８】
さらに、パケットが外部ネットワーク相互接続と内部ネットワーク相互接続（別称：ＶＰＮ）との間を通過する前に、ＩＰＳｅｃセキュリティセッションが、外部エージェント（フォーリン・エージェント）と外部に面したポリシーエンフォースメント装置（例えば、ファイヤーウォール）との間に設置される必要があるということが、業界において一般的に実施されるようになっている。外部エージェントは、モバイルノードと共に配置されると、動作が困難になってしまう。模範的な図３が示しているように、他のレベルのネットワークプロトコルの包囲化（エンベローピング）を、必要とされるセキュリティ政策を満たすために用いることもありうる。このことは、ネットワーク通信量が、モバイルノード間で、ポリシーエンフォースメント装置（例えば、ファイヤーウォール）を介して、外部エージェント、ホームエージェント、および、他の通信エンドポイント（つまり、最終的なピア）に、流れることができるようにするためである。しかし、このことは、さらなるカプセル化のためにさらなる実質的な経費を加える。さらに、外部エージェントの構成要素がモバイルノードと共に（または新たに攻撃されるネットワーク上でポリシー制限と共に）配置されていないと、特定の外部エージェントを、これらの通信に用いる必要がある場合があり、クレデンシャル情報を、外部エージェントと第１（外部）ＩＰＳｅｃセッションの終端との間で何らかの形で共有する必要がある。この方法論の欠点は、ユーザーまたは共同管理制御下に直接なくてもよいネットワークエンティティを有するクレデンシャル情報を共有することにより、セキュリティリスクを増やしてしまうという点にある。
【００２９】
セキュリティと、ネットワークローミングと、現在のネットワークアプリケーションを修正する必要がなければスタンダードＩＰに基づいたネットワークに限定されない、従来の情報通信を超えたセッション持続性とを定める、これらの問題を解決する必要がある。さらに、このようなソリューションは、遠隔ネットワークにアクセスするときに、モバイルＩＰ、または、外部エージェントのような他の全てのインフラストラクチャを、配置する必要がなかった場合に、有効だろう。また、機能性が、ネットワーク化されたアプリケーションに対して透過的であってもよい。したがって、上記ネットワーク化されたアプリケーションを修正する必要もない。
【００３０】
本発明は、通例経験している侵入フィルタリング問題を避けると同時に、ＩＰＳｅｃ、マイクロソフト、または、他のオペレーティングシステムセキュリティ機能のような、従来の技術を用いて、安全で持続性のある、ローミング可能なＩＰに基づいた、通信を透過的に提供することにより、この問題を解決する。そして、モバイルＩＰの少なくともいくつかの実装とは違って、あるとしても極わずかな変化が基礎を成すネットワークインフラストラクチャに必要である。
【００３１】
通常、典型的で制限のない１つの好ましい実施形態が、基礎をなすネットワークを仮想化するモビリティクライアント（ＭＣ）機能を提供する。モビリティクライアントで動作しているアプリケーションは、少なくとも１つの一貫した仮想ネットワークのアイデンティティ（識別子）（例えば、ＩＰアドレス）を参照する。モビリティクライアント上のアプリケーションがネットワーク要求を形成する場合、モビリティクライアントは、この要求を傍受し、ＩＰＳＥＣのようなセキュリティをサポートするモビリティサーバー（ＭＳ）に導く。モビリティサーバーは、この要求を解き、サーバーがクライアント用のプロキシとして作用するクライアントであったように、この要求をネットワーク上で認識する。
【００３２】
典型的な実施形態では、その逆も生じる。ピアホストがパケットをモビリティクライアントの仮想ネットワークのアイデンティティ（識別子）に送信するとき、パケットは、初めにモビリティサーバーによって受信され、次に、モビリティクライアントに転送される。モビリティクライアントが、全てのネットワークの範囲外で中断またはローミングするだけではなく、ネットワーク間で自由にローミングしている間、モビリティサーバーは、ピアホスト用の通信の安定した地点を維持する。モビリティクライアントが範囲外にあるとき、モビリティサーバーは、モビリティクライアントのセッションを活動状態のまま保ち、モビリティクライアントの要求を待ち行列に入れる。モビリティクライアントがもう一度到達可能であるとき、モビリティサーバーおよびクライアントは、全ての待機データを転送し、中断していた箇所で通信が再開できる。
【００３３】
したがって、限定のない好ましい典型的な実装は、無線最適化、および、安全なＶＰＮまたは他の接続の状況におけるネットワークセッション持続性およびアプリケーションセッション持続性を提供する。現在の帯域幅を最大限使用するために、無線最適化によって、データをできるだけ効果的に転送できる。例えばこのシステムを、複数の接続（例えば、Ｗｉ−ＦｉおよびＧＰＲＳ）が活性であるときに最も速い帯域幅ネットワーク接続に自動的に変換するために用いることができる。ネットワークセッション持続性とは、ユーザーが１つのＩＰサブネットから他のＩＰサブネットへ移動し、または、ネットワークの範囲外に出て戻ってくるときに、ユーザーがログインプロセスを繰り返す必要がないということを意味する。典型的な実装では、ユーザーがローミングを行う毎時に、ユーザーの介入を必要とせずに、接続を自動的に再認証する。アプリケーションセッション持続性とは、スタンダードネットワークアプリケーションがそれらのピアに接続したままで、有用なユーザー時間およびデータの損失を予防することを意味している。このような最適化および持続性は、認証およびプライバシのための、終端間のセキュリティを供給するセキュリティアーキテクチャという状況において供給される。
【００３４】
１つの例証となる実施形態では、ネットワークとモビリティクライアントとの間でデータを転送する前に、ネットワークが、エンドユーザーが必要な許可を有していることを保証する。ユーザーは、従来の（例えば、ウインドウズ（登録商標）の）ドメインユーザー名およびパスワードを用いて、モビリティクライアントにログインすることにより、ユーザーの識別子を設定する。従来のドメインのクレデンシャルを使用することにより、単一のサインオンのプロセスが考慮され、さらなる認証テーブルまたは他のインフラストラクチャ加算が必要とならない。単一のサインオンも、ユーザーのアクセスを、ファイルシステム共用のような他のドメインリソースに提供する。ユーザーが認証されるとすぐに、通信パスが、アプリケーションデータを移送するために形成される。様々なプロトコルの全数（例えば、オープン化ファイル／プリンタ共有システム、Ｒａｄｉｕｓ等）を、ユーザー認証に用いることができる。これらのプロトコルのうちのいくつかを用いて、モビリティサーバーが、ネットワークアクセスサーバーとして機能できる。これにより、従来のプロトコル（例えば、ＥＡＰ−ＭＤ５、ＬＥＡＰ、または、他のプロトコル）を用いて、ユーザーのユーザー名およびパスワードを形成する初期アクセスネゴシエーションを確保する。いくつかの無線プロトコルとは違って、限定のない典型的な実装におけるこのような認証は、ユーザーに特有のパスワードを提供する。このパスワードは、ユーザーに基づいたアクセスおよび資源割付けを与えるポリシーマネージメントに用いられるものである。
【００３５】
著しく、限定のない典型的な実装を、ＩＰＳＥＣによって、または、例えばウインドウズＮＴ（登録商標）およびウインドウズ２０００（登録商標）のような従来のオペレーティングシステムにおける他のセキュリティ特性によって、簡単に統合できる。これにより、従来のＶＰＮおよび／または安全が証明された他の接続技術にアクセスできる。ＩＰＳｅｃポリシーを、例えばアクティブディレクトリのグループポリシー特性を介して割り当てできる。これにより、ＩＰＳｅｃポリシーを、ドメインまたは組織的レベルで割り当てでき、各コンピュータを個々に構成する管理オーバーヘッドを低減する。オンデマンドセキュリティネゴシエーションおよび自動鍵管理サービスを、インターネットＲＦＣ２４０９によって示されるように、ＩＥＴＦによって規定された従来のインターネット鍵交換（ＩＫＥ）を用いて提供できる。このような典型的な実装は、ＩＥＦＴスタンダードに基づいた認証方法を提供できる。これにより、あらかじめ共有された鍵のような、公開鍵暗号に基づく証明書および／またはパスワードを用いたコンピュータ間の信頼関係を形成できる。公開鍵インフラストラクチャのような従来のスタンダードに基づいたセキュリティ特性への統合によって、安全なメール、安全なウェブサイト、安全なウェブ通信、スマートカードログオンプロセス、ＩＰＳｅｃクライアント認証などを含んだ、様々なセキュリティソリューションに接近できる。
【００３６】
例証となる典型的な実施形態は、ネットワークアイデンティティ（ネットワーク識別子）における変化を認識でき、ネットワーク接続における遷移を選択的に管理でき、場合によっては、少なくとも１つの複数のネットワークインターフェースを越えて、通信エンティティ間のＩＰＳｅｃセキュリティセッションが終了し、および／または（再び）具体化する。例証となる模範的な実施形態も、ネットワークリソースの消費を認可し、拒否し、および／または、遅らせるために状態を規定する他のパラメータと同様に、セントラルマネージメント（一元管理）、分散、および／または、ＩＰセキュリティセッションの設定および／または終了するためのポリシー規定の実行に、備えている。
【００３７】
限定のない例証となる有効な特性について、以下に示す。
【００３８】
・ローミング可能なＩＰＳｅｃによって、ＩＰＳｅｃトンネルは、モバイルコンピューティングデバイスが作動する所はどこでも上記デバイスを用いて自動的にローミングできる。公認のＩＰＳｅｃセキュリティスタンダードに基づいて、ローミング可能なＩＰＳｅｃは、ＩＰＳｅｃの、認証、インテグリティ、および、暗号、を有する物理的または電子的な全ての境界を越えて、均一にローミングできる。これにより、ＩＰＳｅｃトンネルにおけるＶＰＮレベルセキュリティおよび暗号を用いる移動中および遠隔のユーザーが、どこへ行こうとも、および、かれらの企業データにいかにアクセスしようとも、無線ユーザーによって均一にローミングできる、スタンダードに基づいたソリューションを提供する。
【００３９】
・接続（アタッチメント）するネットワークポイントの変化、ネットワーク接続の割込み、異なるネットワークに対するローミングまたは他のサブネットワーク、モバイルクライアントのアイデンティティ、または、他の不連続性が、何時にモバイルクライアント上で生じたかを検出し、ネットワークアプリケーションセッション（つまり、ネットワーク化されたアプリケーションに対して透過的であるほぼ全て）を維持している間に、ＩＰセキュリティセッションを（再び）具体化する。
【００４０】
・コンピュータ命令を透過的および選択的に注入し、少なくとも１つのソフトウェア、または、例えばプロセス名に基づく他のコンポーネント、の実行パスを転送することにより、オペレーティングシステムコンポーネント、トランスポートプロトコルエンジン、および／または、アプリケーションの、バイナリ互換性を維持する間に、さらなる機能レベルを達成する。
【００４１】
・アプリケーションおよびオペレーティングシステムコンポーネント用の、少なくとも１つのネットワークインターフェースを選択的だが透過的に仮想化する。つまり、他のコンポーネントが、接続する（アタッチメントの）ネットワークポイントにおける接続および変化において割込みを認識できる間に、モバイルコンピューティングの特徴から、上記アプリケーションおよびオペレーティングシステムコンポーネントを保護する。
【００４２】
・ネットワークアプリケーションおよびオペレーティングシステムコンポーネント用の、少なくとも１つのネットワークインターフェースを選択的に仮想化する。したがって、上記ネットワークアプリケーションおよびオペレーティングシステムコンポーネントを、接続する（アタッチメントの）ネットワークポイントおよび／または切断の時期、の変化のような通信を邪魔してしまう有害事象から保護する。
【００４３】
・接続（アタッチメント）する少なくとも１つのネットワークポイントに関連のある１つまたはそれ以上のネットワークインターフェースを越えて、多数のＩＰセキュリティセッションを設定でき、ネットワークアプリケーション通信が、多数のＩＰセキュリティセッションの全てを越えて、同時に流れ出ることができ、正確に多重化された／逆多重化された、分散されたこれらの通信が、対応する高い層通信セッションへと流れる。
【００４４】
・少なくとも１つの複数のＩＰセキュリティセッションを越えて、ネットワーク通信の流れを、選択的に許可し、拒否し、および／または、遅らせるために、ポリシー規定を適用する。
【００４５】
・ＩＰセキュリティセッションの設定に関するポリシーを、中央局（セントラルオーソリティ）から主に管理し、および／または、分散する。
【００４６】
・「加算セッション」構想‐モバイルクライアント用の通信のプロキシの間、モビリティサーバーは、モビリティクライアントの利益のために、モビリティサーバーと最終的なピアとの間の、可能な複数のＩＰセキュリティセッションのうちの少なくとも１つを、インスタンス生成できる。
【００４７】
・モビリティクライアントに到達できない期間でも、モビリティサーバーと最終的な通信ピアとの間にＩＰセキュリティセッションを設定・維持する。
【００４８】
・無活動のリンク、無活動のアプリケーションセッション、または、通信エンドポイントの終了、に基づいているが限定されていない、モビリティサーバーと最終的な通信ピアとの間のＩＰセキュリティセッションを、自動的に終了する。
【００４９】
・モビリティサーバー、最終的なピア、モビリティクライアント、および、現在のモビリティクライアントネットワーク識別子に関するモビリティサーバー、の間の少なくとも１つのＩＰセキュリティセッションに関係している。
【００５０】
・コンピュータ命令を透過的に注入し、実行パスを転送することにより、オペレーティングシステムコンポーネント、トランスポートプロトコルエンジン、および、アプリケーションとのバイナリ互換性を維持する間に、他のレベルの機能を達成する。
【００５１】
・接続する（アタッチメントの）少なくとも１つのネットワークポイントに関連のある複数のネットワークインターフェースを越えて、複数のＩＰセキュリティセッションのうちの少なくとも１つを設定し、ネットワークアプリケーション通信が、複数のＩＰセキュリティセッションのうちの少なくとも１つを越えて同時に流れることができ、正確に多重化／逆多重化され分散されたこれらの通信が、適度に高い層通信セッションへと環流する。
【００５２】
・ネットワークアプリケーションおよびオペレーティングシステムコンポーネント用の少なくとも１つのネットワークインターフェースを選択的に仮想化し、したがって、上記ネットワークアプリケーションおよびオペレーティングシステムコンポーネントを、接続する（アタッチメントの）ネットワークポイントおよび／または切断の時期、の変化のような、通信を中断させてしまう全ての有害事象から遮蔽する。
【００５３】
・モバイルクライアントおよび／またはモバイルサーバー用の、ＩＰセキュリティセッションの設定および／または終了に関して、ポリシー規定を中央局から集中的に管理し、分配する。
【００５４】
・モバイルデバイスで開始し、安全なユーザー認証と必要であれば安全なデータ暗号との両方を提供する、モビリティセキュリティソリューション。
【００５５】
・業界全体の開かれた他のスタンダードに基づいていない単一のベンダソリューションには必要ではない、モビリティセキュリティソリューション。
【００５６】
・ネットワーク管理者によって動的に制御可能な異なる構成を有する様々な異なる公衆データ網（例えば、Ｗｉ−Ｆｉネットワークホットスポット、ＣＤＰＤまたはＧＰＲＳ等のような広域ワイヤレスソリューションに拡張可能な、安全ＶＰＮ。
【００５７】
・異なるオペレーティングシステムを実行する、異なる構成のいろいろな異なるコンピューティングデバイスと連携する、モビリティセキュリティソリューション。
【００５８】
・ネットワークアプリケーションセッションを維持する間に、ユーザーが安全なセッションを中断・回復することにより、バッテリーを維持できる。
【００５９】
・デッドスポットおよびカバレージホールを備えた無線接続形態において、安全なソリューションを提供する。
【００６０】
・カスタムモバイルアプリケーションを発展させ、または、モバイル環境で動作するアプリケーションを得るためのモバイルライブラリを使用する必要がない。
【００６１】
・安全なトランスポート・アプリケーションセッション持続性。
【００６２】
・現在のネットワークセキュリティ内で作動するため、ネットワークが危険にさらされない。
【００６３】
・例えば、ＲＡＤＩＵＳ、ケルベロス、公開鍵インフラストラクチャ（ＰＫＩ）、および、インターネットセキュリティプロトコル（ＩＰＳｅｃ）を含んだ、様々な従来の全てのセキュリティプロトコルと互換性がある。
【００６４】
・コンピューティング環境およびアプリケーションは、変化しなくてよい。モビリティは、そこで使用する必要があるが、その使用は、ユーザーおよびアプリケーションに対して透過的である。
【００６５】
・全てのまたはほぼ全てのアプリケーションは、修正されずに駆動するので、再開発もユーザーの再訓練も必要ではない。
【００６６】
・カスタマイズされた間隔で、ユーザーセッションキーを自動的に再生成する。
【００６７】
・有線データネットワークと無線データネットワークとの間のデータインテグリティを保証する、継続的で安全な接続。
【００６８】
・ＶＰＮ（例えば、ＰＰＴＰ、Ｌ２ＴＰ／ＩＰＳｅｃ、ＩＰＳｅｃ、Ｎｏｒｔｅｌ、Ｃｉｓｃｏ、等）を動かす企業は、これらの技術を使用して、無線最適化、セッション持続性、および、モバイルワーカーの他のセキュリティを加えることができる。
【００６９】
・ＬＥＡＰまたは他のアクセスポイント認証セキュリティが、最適化されたローミング可能なセキュリティと暗号とを加えるために分散される企業にシームレスに統合する。
【００７０】
〔実施形態の詳細な説明〕
図４は、典型的、かつ、包括的な実例であり、限定されないモビリティアーキテクチャを示している。本実施例のモビリティアーキテクチャには、モビリティクライアント（ＭＣ）およびモビリティサーバー（ＭＳ）が含まれている。モビリティクライアントは、例えば、ラップトップ、パームトップ、ポケットＰＣ、携帯電話（セルラ電話）、デスクトップコンピュータ、または、他の全ての様々な遠隔接続機能を有する器械といった、あらゆる種類のコンピューティングデバイスであってもよい。１つの具体的な実施形態において、モビリティクライアントＭＣは、計算能力のあるプラットフォームを含んでいる。このプラットフォームは、セキュリティ（例えばＩＰＳｅｃ）機能を有するマイクロソフトウインドウズ２０００（登録商標）／ウインドウズＸＰ（登録商標）のオペレーティングシステムを実行するが、他の実装も可能である。図示したシステムは、規模が大きく、モビリティクライアントおよびモビリティサーバーをいくつでも提供できる。
【００７１】
ある典型的な実施形態では、モビリティクライアントＭＣを、インターネットのようなネットワーク、企業のＬＡＮまたはＷＡＮ、イントラネット、または、他の全てのコンピュータネットワークに接続してもよい。このような接続を、例えば携帯電話ネットワークのような無線通信リンクを、または、他の無線通信リンクや他の通信リンクを介して、無線で行うことができる。実施形態の中には、モビリティクライアントＭＣをネットワークに断続的に接続してもよいものもある。しかし、図示したシステムは、無線接続に限定されず、例えばコンピューティングデバイスが有線ネットワークに断続的に接続されている状況において、有線接続をサポートすることもできる。ローカルエリアネットワーク、広域ネットワーク、または、他のネットワークでは、無線接続または他の接続を行うことができる。
【００７２】
この具体的な実施形態において、モビリティクライアントＭＣは、実行できる複数のネットワークインターフェースのうちの少なくとも１つを越えて、インターネットプロトコル（ＩＰ）または他の適切なプロトコルを用いているネットワークと通信する。実例となる実施形態では、モビリティサーバー（ＭＳ）も、実行できる複数のネットワークインターフェースのうちの少なくとも１つを越えて、ネットワークに接続される。また、モビリティサーバーＭＳは、１つまたは複数のピアまたは他のコンピューティングデバイスと通信してもよい。具体的な図４のアーキテクチャによって、モビリティクライアントＭＣは、通信リンク、ネットワークおよび／またはモビリティサーバーＭＳを介してピアホストと安全に通信できる。
【００７３】
より詳細には、図４のモビリティサーバーは、各モバイルデバイスの状態を維持し、セッション管理を行う。このセッション管理とは、ネットワークアプリケーションに対する連続的な接続を維持するために必要なものである。中断、カバレッジ外への移動、または、モバイルデバイスの「存在点（現在位置）」アドレスの変化のために、モバイルデバイスが手の届かない状態になったとき、モビリティサーバーは、データの受信に応答して要求を待ち行列に入れることにより、ネットワークホストへの接続を維持する。
【００７４】
また、具体的なモビリティサーバーも、モバイルデバイスに対するネットワークアドレスを管理している。モバイルデバイスで動作する各デバイスは、ネットワークにおける仮想アドレス、および、実在するポイントのアドレスを有している。スタンダードプロトコル（例えば、ＤＨＣＰ）または静的割り当てが、上記仮想アドレスを決定する。一方、モバイルデバイスがあるサブネットから他のサブネットに移るとき、モバイルデバイスの実在するポイントのアドレスは変化する（接続が活性である間、仮想アドレスは一定である）。
【００７５】
本実施例の構成は、ＴＣＰ／ＩＰのようなスタンダードトランスポートプロトコルと連動している。このようなプロトコルでは、モバイルデバイスおよびモビリティサーバーにおける能力により、モバイルデバイスで動かすアプリケーションがそのサーバーと同調しつづけていることが保証される。
【００７６】
モビリティサーバーはまた、コンソールアプリケーションおよび完全なメトリクスによる集中型システム管理を提供する。システム管理者は、遠隔接続、障害追跡問題、および処理通信量調査を形成・管理するために、これらのツールを用いることができる。
【００７７】
モビリティサーバーも、典型的な実施形態では、モビリティサーバーとモバイルデバイスとの間で、一般通信路または有線ネットワーク上を伝送するデータのセキュリティを管理する。このサーバーは、ネットワークを介して認証されたデバイスにのみネットワークへのアクセスを与えることにより、ファイヤーウォール機能を提供する。モビリティサーバーはまた、サーバーとモバイルデバイスとの間の全ての通信を認定し、随意的に暗号化できる。また、アクティブディレクトリまたは他のディレクトリ／名前サービスとの密接な統合により、セキュリティに対する集中型ユーザーポリシー管理が提供される。
【００７８】
図４のアーキテクチャを、図５に示した具体的な状況に限定せずに、大きな様々な状況に提供できる（簡潔明瞭には、実施例を、接続（アタッチメント）する単一のネットワークポイントを用いて記載しているが、本発明がこのような範囲および使用に限定されていないということが理解されるだろう）。
【００７９】
・図５に示した位置番号１、および図５Ａを参照すると、モビリティクライアント（わかりやすように、ラップトップコンピュータとして描写している）が、共同のファイヤーウォールまたは他のファイヤーウォールの中に示されており、アクセスポイントを有する無線ＬＡＮ（ＷＬＡＮ）に接続されている。この例では、私設無線ネットワークが、モビリティサーバーを介して有線ネットワークに接続されている。無線ネットワーク上で生成された、または、無線ネットワークに向かうことになっている、全てのアプリケーション通信量が保護され、他のネットワーク通信量が、該無線ネットワークに接続されたり、該無線ネットワークに送られることはない。さらに、オペレーティングシステムにおける標準のファイヤーウォール特性を用いることで、このシステムは、モビリティ通信量のみを該無線ネットワーク上でモビリティサーバーが処理できるように構成できる。この例では、モビリティクライアントは、モビリティサーバーに認証される。パケットは、通常、モビリティクライアントとモビリティサーバーとの間を流れており、モビリティクライアントとモビリティサーバーとの間の通信チャネルは、従来のＩＰＳｅｃセキュリティプロトコルを用いて保護される。
【００８０】
・図５に示した位置番号２では、モビリティクライアントは、デッドスポットに移動し、ネットワークに接続していない。モビリティサーバーは、この時間の間、モビリティクライアントのネットワークアプリケーションセッションを維持する。モバイルクライアントがこの具体的な実施形態の代わりにモバイルＩＰを用いている場合、クライアントのセッションは、モバイルＩＰがセッション持続性を提供しないので、切断されていた。
【００８１】
・位置番号３では、モビリティクライアントは、異なるサブネット上の企業ネットワークの範囲に戻ってきている。モビリティクライアントは、新しいサブネット上における新たな存在点（実在ポイント）（ＰＯＰ）のアドレスを獲得し、ＩＰＳｅｃを用いてモビリティサーバーに戻って新たな安全なチャネルを取り決め、モビリティサーバーとの認証を再び行い、ユーザーからの介入なく、また、アプリケーションを再び開始することなく、以前に中断されたネットワークセッションを再開する。このプロセスは、モバイルアプリケーションおよびアプリケーションサーバーに対して透過的である。
【００８２】
・図５に示した位置番号４・５において、図５Ｂ・図５Ｃも参照すると、モビリティクライアントは、共同のネットワークから離れており、公衆ネットワーク（公衆網）の範囲にローミングされている。例えば、図５に示した位置４でのモバイルクライアントは、従来の無線広域ネットワーク（ＷＷＡＮ）無線塔の範囲に示されており、図５に示した位置５でのモバイルクライアントは、Ｗｉ‐ＦＩ、または、他の無線アクセスポイント「ホットスポット」（例えば、空港ターミナル、会議センター、喫茶店、等）の範囲において示される。公衆網に用いられる無線技術は、企業内で用いられるものと同じである必要がない。なぜなら、実施例であるシステムは、異質のネットワークを越えて安全にローミングすることを規定しているからである。モビリティクライアントの通信量は、今や、共同のファイヤーウォールまたは他のファイヤーウォールを通過してしまう。このファイヤーウォールは、モビリティサーバーに向かうＩＰＳｅｃ通信量を超過するように構成され、および／または、モビリティクライアントは、ファイヤーウォールに対してＩＰＳｅｃセッションを使用するために構成される。どちらのソリューションも、介入は可能であるが、エンドユーザーのやり取りなしに、実施できる。
【００８３】
・図５Ｂの例では、モビリティデバイスが、様々な公衆広域ネットワークに接続されている。企業はまた、従来のファイヤーウォールを介して公衆網に接続されている。このファイヤーウォールは、具体的な実施形態において、特にモビリティサーバーのアドレスにモビリティ接続できるように、修正される。次に、これらの接続は、ＩＰＳｅｃのような従来のセキュリティプロトコルによって保護される。
【００８４】
・図５Ｃの例には、企業、病院、または、他の構内における私設有線ネットワーク、および、従来のファイヤーウォールを介して無線ローカルエリアネットワークに接続されたモバイルデバイスをサポートしている無線ローカルエリアネットワークが、示されている。正しいポートで伝送されない公衆網から私設網への通信量が、従来のファイヤーウォールルールによって拒否される。ファイヤーウォールルールは、（「１２３．１１．ｘ：５００８にアクセスできる」）ドメイン、または、（「１２３．１１１．２２．３：１００２および１２３．１１１．２３．４：５００８にアクセスできる」）特定のモビリティサーバーのアドレスのいずれかを指定できる。後者のアプローチがより安全である。小さな構内では、単一のマルチホームドモビリティサーバーを、有線ＬＡＮ通信量および無線ＬＡＮ通信量の両方を処理するために用いることができる。ユーザーが認証されるとすぐに、ユーザーは、有線ネットワークにアクセスする。必要な公衆（ルータブル）ＩＰアドレスの数を低減するために、ネットワークアドレストランスレータ（ＮＡＴ）を用いてもよい。図５Ｃに示した例では、多対１の関係が提供されることにより、モバイルデバイスは、それぞれ１つのアドレスを必要とする代わりに、２つのＩＰアドレスのうちの１つだけを使用することができる。無線ＬＡＮアクセスポイントからきた全ての通信量は、両方のファイヤーウォールルールを満たしており、モビリティサーバーによって除去されることが好ましい。使用可能な暗号によって、この構成は、正当な無線ユーザーに対して、共同のデータへの完全で安全なアクセスを供給し、有線ネットワークを保護する。
【００８５】
・図５Ｄは、ユーザーが共同ファイヤーウォールの内側および外側において様々なネットワークを安全に越えてローミングできる構成例を示している。モビリティサーバーは、ファイヤーウォールの後に配置されている。モビリティクライアントが、共同ファイヤーウォールの内側にあり、無線ＬＡＮ（ＷＬＡＮ）に接続され、モビリティサーバーに認証された場合、通常、パケットが伝送され、モバイルデバイスとモビリティサーバー（モバイルＶＰＮ）との間の通信チャネルが、ＩＰＳｅｃによって保護される。この例では、公開鍵インフラストラクチャ、パスワード、および／または、他の全ての所望のメカニズムを、ＩＰＳｅｃトンネルのための鍵交換の実施のために用いることができる。さらなる保護のために、ファイヤーウォール内のＷＬＡＮアクセスポイントを、所望のプロトコル（例えば、ＩＰＳｅｃ）以外の全てのプロトコルをフィルタするために構成できる。モビリティサーバーは、ＩＰＳｅｃ暗号を用いて無線ネットワークを横断するとき、データを保護するＶＰＮとして機能する。この具体的な構成では、モビリティサーバーはまた、侵入者の私設網へのアクセスを防止することにより、ファイヤーウォールとして機能する。モバイルデバイス（クライアント）が異なるサブネット上の共同のネットワークの範囲へ移動するとき、このモバイルデバイスは、新しいサブネット上で、新たな実在ポイント（ＰＯＰ）アドレスを獲得し、ＩＰＳｅｃを用いてモビリティサーバーに戻って新たな安全なチャネルを取り決め、モビリティサーバーによって再び認証され、ユーザーの介入を必要とせずに、以前に中断されたアプリケーションセッションを再開する。これらのアプリケーションを実行し続けることができ、ＴＣＰまたは他の接続を、このネットワーク遷移の間、維持できる。なぜなら、ネットワーク遷移が、アプリケーションに対して透過的であり、モビリティサーバーは、モバイルデバイスが到達できない時間にモバイルデバイスの代わりに通信をプロキシするからである。
【００８６】
・図５Ｅの実施例であるネットワーク構成は、そのモバイルクライアントに対して、共同のファイヤーウォールの保護を拡大する。この実施におけるシナリオでは、モビリティクライアントは、ファイヤーウォールに対して従来のＬ２ＴＰ／ＩＰＳｅｃトンネルを用いて構成されている。モバイルクライアントのトランスポートプロトコルスタックのみに対して、認証されたＩＰＳｅｃパケットを通し、他の全てのパケットを拒否するように、モバイルクライアントにおけるＩＰＳｅｃフィルターを構成できる。信用されたクライアントのために認証されたＩＰＳｅｃパケット（つまり、安全な接続を設定するために必要な全ての制御チャネル、および、特別に許可されたインターネットまたは他のネットワークサービス用にファイヤーウォール内から発するパケットに対する応答）以外の全てのパケットを拒否するように、共同のファイヤーウォールを構成できる。ファイヤーウォールの後ろに配置されたモビリティサーバーは、トランスポートレベル，プロキシファイヤーウォールとして機能する。全てのネットワーク通信量をプロキシすることにより、例えば、不完全なパケット、バッファオーバーフロー、断片化エラー、および、ポート走査、を用いる攻撃を含んだ広範な攻撃からユーザーのデバイスを保護する、制御されたソフトウェアに、ユーザートランザクションは無理やり通される。モビリティサーバーは、トランスポートレベルプロキシとして機能するので、この保護を広範なアプリケーション用に透過的に提供できる。ネットワークに対する攻撃を、ファイヤーウォール、および／または、モビリティサーバーのプロキシファイヤーウォールの機能によって構成されるフィルター規則によって、遮断できる。また、モバイルデバイスに対する攻撃を、モバイルクライアントにおいて構成されたＩＰＳｅｃフィルター規則によって防止する。また、探知攻撃（sniffer attack）を用いてユーザーパスワードを解読するための試みが、ＩＰＳｅｃによって供給された安全なトンネルにより、妨げられる。
【００８７】
・図５Ｆは、具体的な実施例である他の電子商取引モデルを示す。ＷＡＰのように、図５Ｆの構成は、遅くて信頼できない無線ネットワークに対する性能および信頼性を高める最適化を提供する。ＷＡＰとは違って、図５Ｆのシステムによって、データは、暗号化されていない状態では中間サーバーに存在できない。図５Ｆの構造により、ＨＴＴＰおよびＴＬＳといったスタンダードウェブプロトコルを、電子商取引または他のトランザクションに用いることができる（ウェブ通信量はペイロードとして扱われる）。暗号化されたデータは、２つの有線ピアが同じトランザクションを実行していた場合、と同様に処理できる、データの最後の行き先（例えば、ウェブサーバー）へ、転送される。無線ネットワークへの最適化に加えて、図５Ｆシステムは、デバイスが中断されるか、または、無線基地局の範囲外に位置している間に、異なるネットワーク間のシームレスのローミングと、アプリケーションセッション持続性を提供する。公開鍵インフラストラクチャおよび／または他のセキュリティメカニズム用の、例証となるシステムのサポートと組み合わせたとき、これらの機能は、強力なモバイル電子商取引プラットフォームを形成する。
【００８８】
上記シナリオは、かなり多数の他の断続的な、移動可能であり、ノマディックな実施例であるシナリオのみであり、または、他の接続シナリオを規定してもよい。
【００８９】
〔ＩＰＳｅｃスタンダードに基づいたセキュリティフレームワークとの具体的な統合〕
通常、フレームを保護するためのＩＰＳｅｃプロセスは、論理的に区別できる３つの機能によって広範に行われる。これらの機能とは、
・ポリシー構成およびアドミニストレーション
・セキュリティネゴシエーション／キーマネージメント
・プライバシ処理
である。これらのプロセスを論理的に区別できるが、その機能を実施するための信頼性を、１つまたは複数のモジュールが共有してもよいし、または、オペレーティングシステムまたは他のシステム内でいかなる方法で分配してもよい。例えば、具体的な実施例であるクライアントオペレーティングシステムの実施形態では、以下の３つの機能領域または論理モジュールにおいて実装される。
１．ポリシーエージェントモジュール
２．セキュリティネゴシエーションおよびキーマネージメント（例えば、ＩＳＡＫＭＰ／ＩＫＥ）モジュール
３．プライバシ（例えば、ＩＰＳｅｃ）モジュール
この典型的な実施例では、ポリシーエージェントは、構成されたポリシーの構成および格納に対して責任がある。しかし、ポリシーエージェントの要求されたポリシーに実際に作用するのは、ＩＰＳｅｃモジュールである。好ましい具体的な実施例であるシステムは、関連しているが別々の２つの異なる側面を提供する。
・第１側面では、モビリティクライアントからファイヤーウォールまたはモビリティサーバーへ、ＩＰＳｅｃを処理する。
・他の側面では、モビリティサーバーとピアホストとの間で仮想アドレスにおける通信を処理する。
初めに、モビリティクライアントへの、および、モビリティクライアントからの、具体的な実施例の通信について、検討する。
【００９０】
〔具体的なモビリティクライアントアーキテクチャ〕
好ましい実施形態の全体設計の一環として、ネットワークローミングアクティビティは、モビリティクライアントで動作しているアプリケーションから通常隠される。したがって、このアプリケーションは、通常、モビリティローミングに関する詳細についての情報を与えられない（または、上記詳細について知る必要すらない）。簡単に言えば、共通に譲渡されたいくつかの同時係属特許出願および上記刊行物に記載されているように、各モバイルデバイスは、モビリティマネージメントソフトウェアクライアントを実行する。ここで、モビリティマネージメントソフトウェアクライアントとは、ネットワークアクティビティを傍受し、それを（例えば、モバイルＲＰＣまたは他のプロトコルを介して）モビリティマネージメントサーバーに中継するためのインテリジェンスを有するモバイルデバイスを供給するものである。この好ましい実施形態では、モビリティマネージメントクライアントは、通常、ネットワークとの接続が失われたときにクライアント−サイトのアプリケーションセッションを活性に保つために、モバイルデバイスに存在しているオペレーティングシステム特性と透過的に連動する。新たなモバイルインターセプタ／リディレクターコンポーネントは、モバイルデバイスソフトウェアアーキテクチャの従来のトランスポートプロトコルインターフェースに挿入される。モバイルインターセプタ／リディレクターがトランスポートインターフェースとは異なるレベルで動作できる間、トランスポート層自体の上でモバイルインターセプタ／リディレクターが動作することが、有効である。このモバイルインターセプタまたはリディレクターは、このインターフェースで特定の呼び出しを透過的に傍受し、それらの呼び出しを（例えば、ＲＰＣおよびインターネットモビリティプロトコルおよびスタンダードトランスポートプロトコルを介して）データ通信ネットワークを越えてモビリティマネージメントサーバーに転送する。したがって、モバイルインターセプタ／リディレクターは、例えば、ネットワークアクティビティを傍受して、このアクティビティをサーバーに中継できる。インターセプタ／リディレクターは、モバイルデバイスがネットワークとの接続を失ったときにアプリケーションセッションがアクティブのままにできるように、オペレーティングシステム特性と透過的に連動する。
【００９１】
この構成は、アプリケーション、ネットワーク、および、他のネットワークソース／デスティネーションに対する有効な透過度を、提供する。しかし、ＩＰＳｅｃは、特殊な例である。モビリティクライアントとモビリティサーバーとの間、または、モビリティクライアントとファイヤーウォールとの間では、ＩＰＳｅｃは、パケットを、存在点（ＰＯＰ）アドレスを用いて保護している。したがって、１つの具体的な実施形態では、現在のＩＰＳｅｃインフラストラクチャが通常動作できるように、上記インフラストラクチャが、ネットワークの現在の状態に関する情報を残すことが好ましい。したがって、ネットワーク化されたアプリケーションとオペレーティングシステムの残りとをネットワークアクセスの一時的なロスから保護し続ける一方で、ネットワーク状態の変化をＩＰＳｅｃに知らせるために、以前の設計を修正してきた（例えば、したがって、ＩＰＳｅｃは、ネットワーク接続が再び確立されたときにＩＰＳｅｃセッションをネゴシエートできる）。１つの例証となる実施形態において行った方法を記載する前に、初めに、上記方法を図解するためにのみ、図６に示した従来のマイクロソフトウインドウズ２０００（登録商標）／ウインドウズＸＰ（登録商標）のオペレーティングシステムＩＰＳｅｃアーキテクチャについて説明する。なお、ウインドウズ２０００（登録商標）／ウインドウズＸＰ（登録商標）およびＩＰＳｅｃは、図解するためにのみ記載したものであり、他のオペレーティングシステムおよびセキュリティアレンジメントをその代わりに用いることができる。
【００９２】
ウインドウズ２０００（登録商標）／ウインドウズＸＰ（登録商標）では、フレームのフィルタ・保護するのはＩＰＳｅｃによる。補足的な情報については、例えばWeber, Chlis, 「ウインドウズ２０００およびＸＰにおけるＩＰＳｅｃの使用（Using IPSec in Windows（登録商標）2000 and XP）」（『セキュリティフォーカス』２００１年５月１２日）に示されている。つまり、しかしながら、限定のない実施例によると、プロトコルスタックによってフレームを処理できる前に、または、ネットワーク上にフレームを伝送する前に、初めに、ネットワークスタックにより、ＩＰＳｅｃモジュールは、フレームを処理する機会を得る。ＩＰＳｅｃモジュールは、どのようなポリシーがあっても、適切なネットワークアイデンティティに対するポリシーエージェント要求をフレームに適用する。ポリシーエージェントには、フレームを保護するＩＰＳｅｃモジュールが必要であるが、上記ポリシーエージェントが、要求されたポリシーにしたがってピアを有する必要なセキュリティアソシエーション（ＳＡ）をまだ備えていない場合には、モジュールを形成するために、セキュリティネゴシエーション／キーマネージメントモジュールに対する要求を発行する（この実施例のケースでは、ＩＳＡＫＭＰ／ＩＫＥ（Intemet Security Association and Key ManagementProtocol/Internet Key Exchange）モジュール）。要求されたセキュリティアソシエーションをネゴシエーションしてＩＰＳｅｃ（プライバシ）モジュールにセキュリティアソシエーションの進行／状態について知らせることが、この実施例のシステムでは、ＩＳＡＫＭＰ／ＩＫＥの役割である。セキュリティアソシエーションがうまく形成されてすぐに、ＩＰＳｅｃモジュールは、本来のフレームのモジュールの処理を継続する。
【００９３】
この実施例である実施形態では、ポリシーエージェントは、ネットワークの状態を監視してそのポリシーをしかるべく調整するために、従来のマイクロソフトウインソックＡＰＩ（アプリケーションプログラムインターフェース）を使用する。しかし、このことは、他の環境におけるネットワーク状態のこの論理的なコンポーネントに警告するために他のインターフェースを用いるかに依存している。したがって、具体的な実施形態において、トラックネットワーク状態変化と同じくセキュリティアソシエーションネゴシエーションを実行するために、ＩＳＡＫＭＰ／ＩＫＥモジュールも、従来のマイクロソフトウインソックＡＰＩを使用する。
【００９４】
つまり、上記技術は、特定のＩＰアドレスおよび／またはポートに結合された通常安全なＩＰＳｅｃセッションを形成する。また、よく知られているように、維持するために、基本的には上記技術を継続的に用いる必要がある。（例えば、接続を失うかまたは停止したために、または、ローミングのゆえに）安全なセッションが一時的に中断される場合、および／または、ＩＰアドレスおよび／またはポートが変わる場合、ＩＰＳｅｃはこの技術を終了させるだろう。何かを行わなければ、ネットワークセッションが機能を維持し続けているとはいえ、安全なＩＰＳｅｃセッションが終了することにより、モバイルアプリケーションは通信を失ってしまう。例証となる好ましい具体的なこの実施形態は、機能性を導入することによって、この問題を解決する。ここで、機能性とは、この事実をアプリケーションから保護し続けている間に、失われた安全なセッションに達することができる十分な量の情報を、ＩＰＳｅｃに渡すことを保証するものである。また、上記実施形態は、ネットワーク接続が、同じまたは異なるＩＰアドレスまたはポート番号を用いて（ネットワーク化されたアプリケーションに対して全て透過的に）再形成されるとすぐに、ＩＰＳｅｃが安全なセッションをネゴシエートできることにより、問題を解決する。このようにして、具体的な例証となるアプリケーションは、以前のセキュリティセッションの終了、および、新しいセキュリティセッションの設定によって、不都合な影響を受けることはない。アプリケーションが、終了された後、再形成される以前のネットワークに、（または、ローミングについては、その場所で規定される新しいネットワークアイデンティティを有する新たなネットワークに）アクセスすることにより、不都合な影響を受けることはない。同時に、このように中断している間のモビリティサーバーは、モバイルデバイスが通信しているピアとの通信をプロキシし続ける。これにより、ネットワークアプリケーションセッションは、維持され、妨害（インターラプション）が生じる前にネットワークアプリケーションセッションが中止したところから再開することができる。
【００９５】
モビリティクライアント側のサポートおよびモビリティサーバー側のサポートは、それぞれ、異なる要求を有している。したがって、アーキテクチャは、例証となる典型的な実施形態において異なっている。典型的なクライアントアーキテクチャのブロック図を、図５Ｇおよび図７に示す。なお、従来の図６と比較して、さらに２つのコンポーネント
・ポリシーエージェントフッキングコンポーネント（ｎｍｐｌａｇｎｔ）
・ネットワーク仮想化コンポーネント（ｎｍｄｒｖ）
を付け加えた。
【００９６】
つまり、例証となる好ましいこの実施形態では、コアオペレーティングシステムのＩＰＳｅｃインフラストラクチャが、ネットワーク状態の変化に関して情報を選択的に受け取り続けることができる一方で、ネットワーク仮想化コンポーネントは、基礎を成すクライアントモジュールネットワークを仮想化する。例証となるこの実施形態では、ポリシーエージェントフッキングコンポーネントは、特定のポリシーエージェント機能を「フックし」、このような処理をネットワーク仮想化コンポーネントに対して向ける。この結果、ＩＰＳｅｃの通常の機能を幾分修正できる。
【００９７】
より詳細には、典型的なこの実施形態では、ネットワーク仮想化コンポーネント（ｎｍｄｒｖ）は、現在のネットワークスタックのサービスを使用し、基礎を成すクライアントモジュールネットワークを仮想化する役割を持つ層である。このコンポーネントはまた、モビリティサーバーとの接続を開始・維持する。クライアントネットワークアプリケーションがローカルＩＰアドレスのリストを要求する場合、ネットワーク仮想化コンポーネント（ｎｍｄｒｖ）は、要求を傍受し、実行可能な複数のモビリティクライアントの仮想ネットワークアイデンティティ（例えば、仮想ＩＰアドレス）のうちの少なくとも１つを送りかえす。
【００９８】
しかし、固有のＩＰＳｅｃコンポーネントが通常の方法で動作し続けられるように、クライアントアーキテクチャによって、関連のあるＩＰＳｅｃモジュールが、現在の存在点（ＰＯＰ）ネットワークアドレスを理解・探知できることが好ましい。したがって、この典型的な実施形態では、ネットワークアドレスのリストに対する要求が発行され、かつ、この要求がＩＰＳｅｃプロセスにおいて生じたなら、ネットワーク仮想化モジュールは、フィルタまたは修正することなく、固有のネットワークスタックに沿った要求を通す。したがって、ポリシーエージェント（例えば、ウインドウズ２０００（登録商標）では、ｐｏｌａｇｅｎｔ．ｄｌｌ、ウインドウズＸＰ（登録商標）では、ｉｐｓｅｃｓｖｃ．ｄｌｌ）とＩＳＡＫＭＰ／ＩＫＥモジュールとの両方を、モビリティクライアントの現在のＰＯＰアドレスと並行して、維持する。
【００９９】
典型的なこの実施形態では、ネットワーク仮想化モジュールも、アドレスの変化を探知する。このコンポーネントがなければ、ネットワークスタックは、通常、可能であればアプリケーション通信エンドポイントを終了することにより、従来のアプリケーションプログラミングインターフェースを介して、関連のある全てのアプリケーションのアドレスリストの変化を知るだろう。マイクロソフトオペレーティングシステムでは、例えば、この信頼性は、通常、従来のウインソックモジュールに注ぎ込まれる。このモジュールは、同様に、全ての関心のあるネットワークアプリケーションに各変化を知らせるものである。典型的なこの実施形態では、ポリシーエージェントは、（例えば、従来のＷＳＡＩｏｃｔｌ機能を介してＳＩＯ＿ＡＤＤＲＥＳＳ＿ＬＩＳＴ＿ＣＨＡＮＧＥ  ＩＯＣＴＬを用いて）ウインソックに対する影響力を登録し、関連のある要求が完了するのを待つ。ポリシーエージェントは、駆動された事象であってもよく、また、このようなネットワーク状態の変化の非同期通知を受信してもよい。再び、例証となる典型的なこの実施形態では、ポリシーエージェントはまた、（例えば、ＷＳＡＥｖｅｎｔＳｅｌｅｃｔ機能を介したＦＤ＿ＡＤＤＲＥＳＳ＿ＬＩＳＴ＿ＣＨＡＮＧＥにおいて）信号を送るために、ノーティフィケーションイベントをウインソックに登録する。ポリシーエージェントがアドレスリストの変化に対して警告される場合、このポリシーエージェントは、アドレスの現在のリストを検索し、結果的にそのポリシーを調整し、関連のあるポリシーアドミニストレーション論理をアップデートする。さらに、このポリシーエージェントは、セキュリティネゴシエーション／鍵交換モジュール（この場合、ＩＳＡＫＭＰ／ＩＫＥモジュール）に、関連のある状態変化を通知する。セキュリティネゴシエーション／鍵交換モジュール（ＩＳＡＫＭＰ／ＩＫＥ）モジュールは、再び、次の安全なアソシエーション（ＳＡ）ネゴシエーションのためのオープン接続エンドポイントの上記モジュールのリストをアップデートする。
【０１００】
典型的なこの実施形態では、ウインソックおよび関連のあるアプリケーションは、通常、アドレスリストの変化を理解できない。なぜなら、このことは、通常のアプリケーション動作を混乱させ、ネットワーク仮想化コンポーネントによって処理されるからである。したがって、好ましい典型的なこの実施形態では、他のメカニズムが、基礎を成すネットワークに関する変化をポリシーエージェントに知らせるために用いられる。例証となるこの実施形態においてこの要求を満たすために、ポリシーエージェントフッキングモジュール（ｎｍｐｌａｇｎｔ）のサービスが用いられる。
【０１０１】
サービスのリダイレクションを達成するために、例証となるこの実施形態は、フッキングモジュール（ｎｍｐｌａｇｎｔ）の機能を使用し、ポリシーアドミニストレーション、セキュリティネゴシエーション、および、鍵マネージメント（ポリシーエージェント／ＩＳＡＫＭＰ／ＩＫＥ）プロセスに、コードを挿入する。これらのプロセスは、コアオペレーティングシステムの一部として提供される。例証となるこの実施形態では、ポリシーエージェントモジュールの特定の機能のみを転送されたコードにフッキングすることが、インポートアドレステーブル（ＩＡＴ）を操作することと、コード注入として知られる技術の使用とを合わせることを介して成し遂げられる。転送される機能の注入は、例証となるこの実施形態では、従来のオペレーティングシステムＡＰＩ（例えば、ＯｐｅｎＰｒｏｃｅｓｓ、ＶｉｒｔｕａｌＡｌｌｏｃＥｘ、 ＲｅａｄＰｒｏｃｅｓｓＭｅｍｏｒｙ、ＷｒｉｔｅＰｒｏｃｅｓｓＭｅｍｏｒｙ、および、ＣｒｅａｔｅＲｅｍｏｔｅＴｈｒｅａｄ）を用いて成し遂げられる。例証となる好ましいこの実施形態では、ｎｍｐｌａｇｎｔ．ｄｌｌがｌｓａｓｓ．ｅｘｅ実行可能モジュールに注入されると、上記モジュールは、ｌｓａｓｒｖ．ｄｌｌにおけるＬｏａｄＬｉｂｒａｒｙおよびＦｒｅｅＬｉｂｒａｒｙエントリーをフックする。これにより、上記モジュールは、ポリシーエージェントがロードされるとき、および、アンロードされるときを検出できる。言うまでもなく、特定のオペレーティング環境に応じて、他の実装が可能である。
【０１０２】
さらに、例証となるこの実施形態におけるフッキング技術の利点は、マイクロソフトウインドウズ（登録商標）自体がダイナミックランタイムリンキングを実行する方法にある。通常、コードを簡単に再利用するために、マイクロソフトウインドウズ（登録商標）は、ダイナミックリンクライブラリ（ＤＬＬ）を、サポートし、広範囲に使用する。このＤＬＬ技術を使用することにより、プロセスが、ランタイムでコードにリンクできる。ダイナミックにリンクされたライブラリにおける機能を呼び出すために、発信者は、ＤＬＬにおいて特定の機能の位置（アドレス）を知る必要がある。それは、コードモジュール間の連係を解くための、オペレーティングシステムの信頼性であり、発信者と発信者のランタイムコードモジュールとの両方に存在しているし初期化されたテーブルの交換を介して成し遂げられる。呼び出されるダイナミックライブラリは、エクスポートアドレステーブル（ＥＡＴ）を含んでいる。このエクスポートアドレステーブルは、ダイナミックライブラリにおいて特に要求される機能を見出すために必要な情報を含んでいる。サービスを要求するモジュールは、インポートルックアップテーブル（ＩＬＴ）とインポートアドレステーブル（ＩＡＴ）との両方を有している。インポートルックアップテーブルは、ダイナミックライブラリを必要とし、かつ、各ライブラリの機能を使用する、情報を含んでいる。何らかの理由で要求しているモジュールがメモリーにロードされると、コアオペレーティングシステムは、そのモジュールが依存する全てのダイナミックライブラリに関連のあるインポートルックアップテーブルを走査し、これらのＤＬＬをメモリーにロードする。特定のモジュールがロードされるとすぐに、要求しているモジュールのインポートアドレステーブルは、オペレーティングシステムによって、ダイナミックにロードされた各ライブラリにアクセスされてもよい各機能のアドレス（ロケーション）でもってアップデートされる。もう１度言うと、他の環境では、様々な実装が可能である。
【０１０３】
典型的なこの実施形態では、ｎｍｐｌａｇｎｔモジュールは、上記所定の方法によってロードされた後、ポリシーエージェントの呼び出しを、従来のマイクロソフトウインドウズウインソック機能ＷＳＡＳｏｃｋｅｔ、ＷＳＡＩｏｃｔｌ、ＷＳＡＥｖｅｎｔＳｅｌｅｃｔ、ｃｌｏｓｅｓｏｃｋｅｔ、および、ＷＳＡＣｌｅａｎｕｐにフックする。このプロセスを実行した後、ポリシーエージェントモジュールがアドレス変更の通知を登録しようとするときはいつでも、この要求は、ネットワーク仮想化コンポーネントに転送される。上記したように、設計によるネットワーク仮想化コンポーネントは、ネットワーク接続の変化に気づく。このコンポーネントが存在点アドレスへの変化を検出する場合、このコンポーネントは、適切な通知をポリシーエージェントモジュールに送信する。これにより、例証となるこの実施形態では、ポリシーエージェントモジュールは、現在のアドレスリストに対して問い合わせる。したがって、ポリシーエージェントおよび結果としてＩＳＡＫＭＰ／ＩＫＥモジュールは、全てのアドレスリストの変更を通知される。
【０１０４】
図８は、例証となるこの実施形態における単一のＤＬＬからの単一の機能を通話プロセスにリンクする方法についての例を示している。詳しくは、オペレーティングシステムは、ＩＬＴを探し、ｔａｒｇｅｔ．ｄｌｌ要求を見出し、ｔａｒｇｅｔ．ｄｌｌをａｐｐ．ｅｘｅのアドレス空間にロードし、ｔａｒｇｅｔ．ｄｌｌ’s  ＥＡＴ内のＴａｒｇｅｔＦｕｎｃを突き止め、ｔａｒｇｅｔ．ｄｌｌ中のＴａｒｇｅｔＦｕｎｃを示すためのａｐｐ．ｅｘｅ’s  ＩＡＴエントリーを固定した。ａｐｐ．ｅｘｅがそのスタブされたＴａｒｇｅｔＦｕｎｃを呼び出す場合に、スタブ機能は、ＩＡＴを介してインポートされたＴａｒｇｅｔＦｕｎｃに呼び出す。重要な全ての呼び出しがＩＡＴを通過するので、好ましい典型的なこの実施形態は、図９に示したようなＩＡＴ中の各機能に適切なエントリーを交換することにより、そのターゲット機能を簡単にフックできる。この利点も、フッキングを変更する点にある。ターゲットプロセスにおいて要求しているモジュールによってなされる呼び出しのみがフックされる。このシステムの残りは、通常、機能し続ける。
【０１０５】
要約すると、典型的で詳細な１つの実装における例証となる実施形態では、以下のステップが行われる。
１．ポリシーアドミニストレーション、セキュリティネゴシエーション、および、キーマネージメント（ポリシーエージェント／ＩＳＡＫＭＰ／ＩＫＥ）プロセスおよびアドレス空間、へのアクセスを獲得するためのオープンプロセスを呼び出す。
２．関連のあるプロセスのアドレス空間におけるロードライブラリ（ＬｏａｄＬｉｂｒａｒｙ）機能を見出すためのリードプロセスメモリー機能を使用する。
３．ＶｉｒｔｕａｌＡｌｌｏｃＥｘ機能を用いて、特定のプロセスのアドレス空間において、ステップ４に示した例証となる注入コードの保持に十分なメモリーを割り当てる。
４．ステップ３で割り当てられたメモリーに、以下のコードを注入するためのライトプロセスメモリー（ＷｅｉｔｅＰｒｏｃｅｓｓＭｅｍｏｒｙ）を使用する。
【０１０６】
ＬｏａｄＬｉｂｒａｒｙ（＆ｔａｒｇｅｔｌｉｂｒａｒｙｎａｍｅ）;
ｌａｂｅｌ  ｔａｒｇｅｔｌｉｂｒａｒｙｎａｍｅ:
"C:\\Program Files\\NetMotion client\\nmplagnt. dll"
ロードライブラリ（ＬｏａｄＬｉｂｒａｒｙ）機能のアドレスは、ステップ２で決定された。ラベル ターゲットライブラリネイム（ｌａｂｅｌ  ｔａｒｇｅｔｌｉｂｒａｒｙｎａｍｅ）におけるデータバイトは、適切なモジュールが存在しているところで、ロードされるモジュールの名前およびオペレーティングシステム環境に応じて変化する。
５．注入されたコードを実行するために、クリエートリモートスレッド（ＣｒｅａｔｅＲｅｍｏｔｅＴｈｒｅａｄ）機能を呼び出す。
６．終了するために、遠隔スレッドを待つ。
７．割り当てられたメモリーを解放する。
８．プロセスを終了する。
【０１０７】
これらのステップの終わりに、必要な機能呼び出しの処理を転送できる場合、ポリシーアドミニストレーション、セキュリティネゴシエーション、および、キーマネージメント（ポリシーエージェント／ＩＳＡＫＭＰ／ＩＫＥ）プロセスに、ｎｍｐｌａｇｎｔモジュールは注入された。上記コード手順は、オペレーティングシステムであり、プロセッサに依存しており、例証するためにのみ示されており、したがって、この特定の順序または動作に制限されないことが理解される。さらに、これらのコンポーネントをオペレーティング環境に加える役割を持つ実行可能なコードを、記録媒体（例えば、光ディスク）の記録デバイスを介して、および／または、ネットワークを超えてダウンロードすることにより、モバイルデバイスに提供できる。
【０１０８】
また、類似した方法を、フッキングプロセスを逆にしてｎｍｐｌａｇｎｔモジュールをロードしない、ロードライブラリ（ＬｏａｄＬｉｂｒａｒｙ）機能の代わりに、フリーライブラリ（ＦｒｅｅＬｉｂｒａｒｙ）機能を用いて行う。手短に言うと、技術について教え込まれた誰もが、所望の結果を達成できるべきであるので、記載を最小限に留める。
【０１０９】
〔モビリティサーバーアーキテクチャの例〕
モビリティサーバーとピアホストとの間の通信のためのＩＰＳｅｃ方法論を用いることには、モビリティクライアントに対して用いられる同じ技術のうちのいくつかをこの方法論を使用するとはいえ、解決すべき様々な問題がある。図１０は、典型的なサーバーアーキテクチャを示している。典型的な例証となるこの実施形態では、モビリティサーバーＭＳを、ウインドウズ２０００（登録商標）／ウインドウズＸＰ（登録商標）（または、他の全ての）オペレーティングシステムに配置してもよい。特定の例証となるこの実装では、フッキングモジュールも、例証となる実施形態において使用する。しかし、モビリティサーバーＭＳの場合におけるフッキングモジュールによって傍受された機能は、プロキシおよびフィルターモジュールに転送される。これらのフィルターモジュールも、ネットワーク仮想化モジュールの代わりに、例証となる好ましい実施形態によって供給される。
【０１１０】
典型的なモビリティサーバーでは、大容量のモビリティサーバー機能を実行するために、プロキシドライバー（ｎｍｐｒｏｘｙ）を使用することができる。しかし、典型的な１つの実装では、個々の３つの問題があり、それらは、他の３つの論理モジュールを用いることにより解決される。これらの論理モジュールとは、
・ネットワーク恒等写像ドライバー（ｎｍｐｒｔｍａｐ）、
・ＩＰＳｅｃフィルタードライバー（ｎｍｉｐｓｅｃ）、および、
・セキュリティネゴシエーションフッキングライブラリ（ｎｍｉｋｅ）
のことである。
【０１１１】
第１の問題は、モビリティクライアントのためにどのように仮想アドレスを管理するかということである。いくつかのネットワークスタック実装では、オペレーティングシステムの固有のネットワーキングスタックコンポーネントに、複数のアドレスを割り当てることができる。しかしながら、システムの中には、このような機能をサポートしないものもある。より限定的な実装をサポートするために、例証となる実施形態は、恒等写像技術を使用している。これらの技術が、共に互換性があり、互いに相補することが、十分に理解されるだろう。そして、このような恒等写像機能により、セキュリティ機能は、より限定された環境の中でうまく駆動できる。例証となるモビリティサーバーは、受信する間にパケットがプロトコルスタックによって処理される前に、および、これらのパケットがネットワーク上で伝送される前に、ローカルアドレスおよびポートと関連している通信エンドポイントを開き、その後、対応する仮想アドレスおよびポートとの間の恒等写像（アイデンティティマップ）を行う。この写像（マッピング）は、典型的な１つの実施形態では、ネットワーク恒等写像モジュール（ｎｍｐｒｔｍａｐ）のジョブである。例えば、モビリティクライアントにおけるアプリケーションが仮想アドレス１０．１．１．２上のＴＣＰポート２１を開くと仮定する。従来に規定されたメカニズム（参照：例えば、米国特許出願番号０９／３３０，３１０（出願日：１９９９年６月１１日）、名称「コンピューティング環境におけるモバイルおよび他の断続的接続を提供するための方法およびデバイス」）を使用することにより、この要求は、モビリティクライアントからモビリティサーバーに伝送される。それに答えて、ＭＳは、そのポート２０４２のローカルアドレス１０．１．１．１に対する接続を開き、ネットワーク恒等写像モジュールとの適切なマッピングを登録する。プロキシドライバー（ｎｍｐｒｏｘｙ）と組んだモバイルクライアントがその新たに開かれた接続においてデータを送信したい場合、固有のネットワークスタックによって生成されたパケットは、１０．１．１．１ポート２０４２のソースアドレスを有している。ネットワーク恒等写像モジュールは、マッピングテーブルに対して、フレームのプロトコル／アドレス／ポートタプルを適合させ、パケットがネットワークに伝送される前に、ソースアドレスと１０．１．１．２ポート２１とを置き換える。また、逆のオペレーションが、受信されたパケットに対して行われる。このネットワーク恒等写像技術を用いることにより、モビリティサーバーが、コアオペレーティングシステムトランスポートプロトコルスタックに対して修正する必要なく、仮想化されたアドレスを用いてピアシステムに通信できる。
【０１１２】
第２の問題は、このマッピング技術（写像技術）の直接的な結果である。ネットワーク恒等写像モジュールが論理的にＩＰＳｅｃモジュールより下で動作する（つまり、受信する前および伝送した後にフレームを処理する）ので、それは、パケットを破損しなければＩＰＳｅｃの保護されたフレームを直接処理できず、または、プライバシまたは認証プロセスと密接に関係することができない。この問題に取り組むために、例証となる１つの実施形態では、前述のＩＰＳｅｃフィルターモジュール（ｎｍｉｐｓｅｃ）は、オペレーティングシステムネットワーキングスタックコンポーネントとそのＩＰＳｅｃモジュールとの間に自身を挿入する。フィルターモジュールは、ＩＰＳｅｃがパケットを保護する前に各発信パケットを検査し、ＩＰＳｅｃが全ての暗号を除去した後に各着信パケットを検査する。フレームを制御するとすぐに、フレームは、フレームソースまたはあて先アイデンティティがマップされるべきかどうかを決定するために、ネットワーク恒等写像モジュール（ｎｍｐｒｔｍａｐ）を調べる。このようにして、マッピング論理の機能は、ＩＰＳｅｃ処理に干渉することなく、マッピング論理の機能を実行できるレベルに移される。
【０１１３】
ＩＰＳｅｃとネットワーキングスタックコンポーネントとの間のリンクをフッキングすることは、実装およびオペレーティングシステムに応じて変化する。例証となる典型的な実施形態では、再び、固有のＩＰＳｅｃとネットワーキングスタックモジュールとの間で交換されるテーブルを操作することによって、フッキングプロセスが完了される。しかし、他の実装および環境は、他の技術を基にしてもよい。例証となるこの実施形態では、ＩＰＳｅｃフィルターモジュール（ｎｍｉｐｓｅｃ）は、ＩＰＳｅｃモジュールの前、かつ、トランスポートプロトコルモジュールの後でロードする。ＩＰＳｅｃモジュールがトランスポートプロトコルコンポーネントを備えた上記モジュールの機能テーブルを交換しようとするとき、ＩＰＳｅｃフィルターモジュール（ｎｍｉｐｓｅｃ）は、それ自体のエントリーポイントを有する本来の機能ポインターを記録・交換する。上記テーブルがこのように交換されてすぐに、ＩＰＳｅｃフィルターモジュール（ｎｍｉｐｓｅｃ）は、内容を操作でき、固有のＩＰＳｅｃモジュールがどのパケットを動作するかを制御できる。
【０１１４】
第３の問題点は、モビリティクライアントによって用いられるフッキング技術が使用されることである。上述したように、例証となる１つの実装において用いられたマッピング技術のゆえに、固有のネットワーキングスタックは、モビリティクライアントの仮想アドレスを知らない。結果として、ポリシーアドミニストレーション、セキュリティネゴシエーション、および、鍵マネージメント（ポリシーエージェント／ＩＳＡＫＭＰ／ＩＫＥモジュール）プロセスも、これらの付加されたネットワークアドレスを認識しない。したがって、モビリティクライアント仮想アドレスによって受信され、上記アドレスから伝送された、フレームをカバーするためのＩＰＳｅｃセキュリティポリシーが存在しない。さらに、セキュリティネゴシエーションモジュール（この場合は、ＩＳＡＫＭＰ／ＩＫＥモジュール）は、モビリティクライアント用のセキュリティアソシエーションをネゴシエートするために開かれた通信エンドポイントを有していない。例証となる実施形態におけるこの問題に取り組むために、セキュリティネゴシエーションフッキングモジュール（ｎｍｉｋｅ）は、モビリティクライアント用に記載され、図８に示された、同じフッキング方法論を使用することができる。セキュリティネゴシエーションフッキングモジュール（ｎｍｉｋｅ）は、全てのアドレス変化通知要求を傍受する。プロキシモジュールが、ネットワーク恒等写像モジュール（ｎｍｐｒｔｍａｐ）を有するモビリティクライアント仮想アドレスを登録し、または、登録を解除する場合、プロキシモジュールは、セキュリティネゴシエーションフッキングモジュール（ｎｍｉｋｅ）にも知らせる。同時に、このモジュールは、それぞれの変化をポリシーアドミニストレーションモジュール（ポリシーエージェント）に通知する。ポリシーアドミニストレーション（ポリシーエージェント）またはセキュリティネゴシエーション（ＩＳＡＫＭＰ／ＩＫＥ）モジュールが、従来のマイクロソフトウインドウズ（登録商標）ＧｅｔＩｐＡｄｄｒＴａｂｌｅ機能呼び出しを介して現在のアドレスのリストを要求する場合、セキュリティネゴシエーションフッキングモジュール（ｎｍｉｋｅ）が要求を傍受し、現在の仮想アドレスの全てを、返送リストに加える。ポリシーアドミニストレーションモジュール（ポリシーエージェント）がリストにおいて各仮想アドレスを見る場合、このモジュールは、上記アドレスを実際のアドレスと見なし、ＩＰＳｅｃモジュール用に適切なポリシーを形成する。ネットワークアドレスリストの修正に応じて、セキュリティネゴシエーション（ＩＳＡＫＭＰ／ＩＫＥ）モジュールは、リスト中の各アドレスに対して通信エンドポイントを開き、を関係付けようとする。しかし、上述したように、例証となるこの実施形態での固有のネットワーキングスタックが、上記マッピング方法論のゆえにこれらの他のネットワークアドレスに関する事実に気づかないので、このオペレーションは、通常失敗する。この問題を解決するために、セキュリティネゴシエーションフッキングモジュール（ｎｍｉｋｅ）は、従来のマイクロソフトウインドウズ（登録商標）ウインソックバインド機能に対する要求を傍受し、要求された仮想アドレス、および、ＩＮＡＤＤＲ＿ＡＮＹを有するポートを修正する。エンドポイントが固有のトランスポートプロトコルスタックを介して束縛されるとすぐに、セキュリティネゴシエーションフッキングモジュール（ｎｍｉｋｅ）は、ネットワーク恒等写像モジュール（ｎｍｐｒｔｍａｐ）のサービスを行い、実際のアドレスと、仮想アドレスに対して新たに形成された通信エンドポイントに関連のあるポートと、セキュリティネゴシエーションのために割り当てられたポート（この場合、ポート５００はスタンダードＩＳＡＫＭＰポートである）との間のマッピングを生成する。最後に、セキュリティネゴシエーションフッキングモジュール（ｎｍｉｌｅ）は、他のＩＰＳｅｃフィルター処理を行うことなく、特定のアドレスに、および、特定のアドレスから、パケットを通過するためのモジュールに命令するために、実際のアドレスと、ＩＰＳｅｃフィルターモジュールを有するポートとを登録する。
【０１１５】
ここで参照した全ての文献は、援用によって開示に含まれる。これにより、これらの文献について、明確に述べたものとする。
【０１１６】
本発明を、実用的で好ましい実施形態とからめて記載してきたが、本発明をこの実施形態に限定しない。特に、例えば、本発明を、ＩＰＳｅｃまたはマイクロソフトオペレーティングシステムに限定しない。ＩＰＳｅｃおよび関連技術を、ソフトウェアまたはハードウェアにおいて実行するいくつかの必要なアルゴリズムを用いて実行する、様々な方法で、構成できる。すなわち、いくつかの実装が、例えば暗号化プロセス用のハードウェアアクセラレータ技術を含んでいてもよい。多くのネットワークインターフェースおよびコンピュータ工業は、この厳しい目的に用いられる商業的に利用可能な製品を有している。しかし上記仕様が、必要な機能の論理的配置について記載し、分配された方法で実際に実行してもよいということは、十分に理解されるべきである。したがって、本発明は、特許請求の範囲において、あらゆる修正および同等の配置を対象としている。
【図面の簡単な説明】
【０１１７】
【図１】典型的で例証的な従来技術のモバイルＩＰクライアントアーキテクチャを示す図である。
【図２】典型的で例証的な従来技術のＩＰＳｅｃおよびモバイルＩＰアーキテクチャを示す図である。
【図３】実行可能で必要なセキュリティポリシーを満たすために用いてもよい、模範的で例証的なネットワークプロトコルエンベローピングを示す図である。これにより、ネットワーク通信量が、ホームエージェントに対してポリシーエンフォースメント装置（例えば、ファイヤーウォール）を介して外部エージェントへのモバイルノードと、他の通信エンドポイントへのモバイルノードとの間に、流れることができる。
【図４】本発明の好ましい例証的な限定のない典型的な実施形態にかかる、モビリティアーキテクチャの例を示す図である。
【図５】例証的な使用シナリオを示す図である。
【図５Ａ】例証的な使用シナリオを示す図である。
【図５Ｂ】例証的な使用シナリオを示す図である。
【図５Ｃ】例証的な使用シナリオを示す図である。
【図５Ｄ】例証的な使用シナリオを示す図である。
【図５Ｅ】例証的な使用シナリオを示す図である。
【図５Ｆ】例証的な使用シナリオを示す図である。
【図５Ｇ】例証的なクライアント‐サーバーアーキテクチャを示す図である。
【図６】例証的で簡単な従来技術のオペレーティングシステムセキュリティアーキテクチャを示す図である。
【図７】安全で透過的で例証的なモビリティ機能を提供するために修正された、例証的な図６のアーキテクチャを示す図である。
【図８】例証的な実行時間リンクサンプルを示す図である。
【図９】例証的なクライアントポリシーエージェントフッキングを示す図である。
【図１０】典型的なサーバーアーキテクチャを示す図である。
【図１】
2005515700.tif 000003
【図２】
2005515700.tif 000004
【図３】
2005515700.tif 000005
【図４】
2005515700.tif 000006
【図５】
2005515700.tif 000007
【図５Ａ】
2005515700.tif 000008
【図５Ｂ】
2005515700.tif 000009
【図５Ｃ】
2005515700.tif 000010
【図５Ｄ】
2005515700.tif 000011
【図５Ｅ】
2005515700.tif 000012
【図５Ｆ】
2005515700.tif 000013
【図５Ｇ】
2005515700.tif 000014
【図６】
2005515700.tif 000015
【図７】
2005515700.tif 000016
【図８】
2005515700.tif 000017
【図９】
2005515700.tif 000018
【図１０】
2005515700.tif 000019
【国際調査報告】
2005515700.tif 000020
2005515700.tif 000021
2005515700.tif 000022
2005515700.tif 000023