説明

直接アクセスネットワークのためのネットワーク位置決定

ネットワークファイアウォールの背後のプライベートネットワークに接続されるとき、ネットワークファイアウォールの外側のときとは異なるビヘイビアーをサポートするクライアントコンピューター。このクライアントコンピューターは、ネットワーク上のデバイスと通信しようと試みる。その応答に基づき、クライアントコンピューターは、自らがネットワークファイアウォールの背後にあると判断し、クライアントがそのネットワークに直接接続される場合に適した、より制限的でないセキュリティーまたは他のパラメーター用の設定で動作することができる。あるいは、クライアントコンピューターは、自らが外部ネットワークを介してそのネットワークに間接的に接続されており、したがって、そのネットワーク位置で使用するのにより適切な、より制限的なセキュリティーまたは他のパラメーターの設定で動作すべきであると判断することができる。

【発明の詳細な説明】
【背景技術】
【0001】
[0001]コンピューターネットワークは、多くの位置で情報の共有を可能にすることによりビジネスプロセスを合理化するので、企業によって広く使用されている。多くの場合、企業は自社の社員および他の許可されたパーティーに、それらのパーティーが企業の構内から離れた位置にいる場合にさえ、ネットワークアクセスを与える。
【0002】
[0002]Active Directoryサーバーと呼ばれることもある1つまたは複数のドメインコントローラーを使用することにより、許可されたパーティーにのみネットワークリソースへのアクセスを制限するよう、企業ネットワークを構成することができる。ドメインコントローラーは、ネットワークアクセスが付与されるべきユーザーを識別するよう、各ユーザーを認証することができる。場合によっては、複数のドメインコントローラーがあってよい。近くのドメインコントローラーへのネットワークに接続されるデバイスをマップするために、それぞれのドメインコントローラーは、ソースネットワークアドレスの範囲を識別するテーブルを有することができる。ドメインコントローラーがあるデバイスから要求を受信すると、そのドメインコントローラーは、そのデバイスの近くのドメインコントローラーを、そのデバイスのために明らかにすることにより応答することができる。
【0003】
[0003]企業ネットワークへのリモートアクセスは、仮想プライベートネットワーク(VPN)を介して提供することができる。許可されたユーザーによって操作されるコンピューターは、VPNを使い、そのリモートコンピューターが接続可能な公衆ネットワーク上で、VPNゲートウェイサーバーを介して企業ネットワークへのトンネルを確立する。VPNトンネルを介して接続されるコンピューターは企業ネットワークの一部分を構成するので、その後、そのコンピューターはその企業ネットワーク上のリソースを使用することができる。
【0004】
[0004]自社の企業ネットワークへのリモートアクセスを許可する多くの企業では、ネットワークにアクセスするためにポータブルコンピューターが使用される。そのポータブルコンピューターは、企業ネットワークに物理的に接続可能な企業構内で使用することができる。またあるときには、そのポータブルコンピューターは、VPNを介してこのネットワークに論理的に接続される遠隔地に持って行くことができる。使い勝手のよさをもたらすために、そうしたコンピューターは、2つの異なるグループの設定を有するように構成することができ、その設定とはつまり、プライベート企業ネットワーク上での使用に適した1つの設定と、VPNトンネルを確立することができる公衆ネットワークにそのコンピューターが接続される場合の使用に適したもう1つの設定とである。これらの設定は、通常使うプリンター、ホームページ、クロック用のタイムゾーン設定、セキュリティー機能など、ポータブルコンピューターの動作に影響を与える場合がある。例えば、ポータブルコンピューターがネットワークに直接接続されるときに使用されるセキュリティー設定は、企業ネットワークのファイアウォールや他の保護コンポーネントに依拠することができ、したがって、より制限的でない。ポータブルコンピューターがVPNを介して企業ネットワークに接続される場合、より制限的なセキュリティー構成を適用することができる。
【0005】
[0005]適切なグループの設定を決定するために、ポータブルコンピューターは、ネットワークに対してそのコンピューターが有する接続の種類を指示可能な、ネットワーク位置認識コンポーネントを含むことができる。従来、ネットワーク位置は、ネットワーク上のドメインコントローラーに対して認証しようと試みることにより確かめられてきた。ポータブルコンピューターがドメインコントローラーに対して認証することができる場合、企業ネットワークに直接接続されるデバイスに適した設定でそのコンピューターを構成することができる。認証できない場合は、別の設定を使用することができる。
【0006】
[0006]別の状況では、一部のコンピューターは、インターネットへの接続を自らが有するかどうかについての指示を表示する。コンピューターは、インターネット上の知られているサーバーに連絡しようと試みることにより、自らの接続状況を判断することができる
。コンピューターがサーバーから応答を受信する場合、そのコンピューターは自らがインターネットへの接続を有すると推論し、それに応じて指示を表示する。
【発明の概要】
【0007】
[0007]本発明者らは、リモートコンピューターによるプライベートネットワークへの直接アクセスが、間もなく一般化し得ると認識し、理解している。VPNを使用せずにリモートアクセスが可能な場合、リモートデバイスは、プライベートネットワーク上のドメインコントローラーに対して認証することができる。
【0008】
[0008]本発明者らは、ネットワーク位置の確実な指示としてドメインコントローラーに対して認証できることまたは認証できないことに依拠する、ネットワーク位置認識コンポーネントの動作を直接アクセスが変えることをさらに認識し、理解している。ドメインコントローラーに対して認証できることにより、ネットワーク位置の指示が単純に決定される場合、リモートデバイスがVPNを使用せずネットワークに接続する事例は、クライアントがそのネットワークに物理的に接続される事例、またはそのネットワークにVPN接続を介して接続する事例と区別できない。それにもかかわらず、ユーザーまたはコンピューターの管理者は、これらの異なるシナリオにおいてリモートコンピューターが同じ設定を有することを期待しない、または望まない場合がある。
【0009】
[0009]適切な設定を維持するために、プライベートネットワークは、クライアントデバイスのネットワークアドレスの一部分に応じてクライアントデバイスからの要求に対して様々な応答を作成する、1つまたは複数のデバイスを用いて構成することができる。第1の応答は、ネットワークファイアウォール内のネットワークに物理的に接続されることを指示するネットワークアドレスを有するクライアントデバイスから、要求が受信されるときに作成することができる。別の第2の応答は、ネットワークファイアウォール内のネットワークに接続されないリモートデバイスであることを指示するネットワークアドレスを有するクライアントデバイスから、要求が受信されるときに作成することができる。そしてことによると第3の応答は、VPNを使用することによりネットワークファイアウォール内に接続されるリモートクライアントデバイスから要求が受信されるときに作成することができる。だが一部の実施形態によれば、この第3のシナリオでは、第1の応答を生成するようにネットワークを代わりに構成することができる。さらに他の実施形態では、この第3のシナリオにおいて、第2の応答を生成するようにネットワークを代わりに構成することができる。特定の構成に関係なく、クライアントデバイスによって受信される応答の性質に基づき、クライアントデバイスは適切な構成を選択することができる。
【0010】
[0010]上記の内容は、添付の特許請求の範囲によって定義される、本発明の非限定的な概要である。
[0011]添付図面は、縮尺通りに描くことを意図するものではない。これらの図面では、様々な図面に示すそれぞれの同一のまたはほぼ同一のコンポーネントを同様の数字によって表す。明瞭にするために、すべての図面において、すべてのコンポーネントにラベル付けできるわけではない。
【図面の簡単な説明】
【0011】
【図1】[0012]ネットワーク位置決定を行うことができる環境を示す、従来のコンピューティングデバイスの図である。
【図2】[0013]プライベートネットワークへの直接アクセスが提供される従来のネットワーク環境の略図である。
【図3】[0014]ネットワーク位置決定に有用な応答を提供するように構成されるプライベートネットワークの略図である。
【図4】[0015]ネットワーク位置決定に有用な情報を提供するように構成されるプライベートネットワークの代替的実施形態の略図である。
【図5】[0016]ネットワーク位置決定に有用な情報を提供するように構成されるプライベートネットワークの代替的実施形態の略図である。
【図6】[0017]ネットワーク位置決定に有用な情報を提供するように構成されるプライベートネットワークの代替的実施形態の略図である。
【図7】[0018]ネットワーククライアント、およびネットワーク位置決定を行うように構成されるネットワークデバイスの動作の方法についての流れ図である。
【発明を実施するための形態】
【0012】
[0019]企業ネットワーク、エンタープライズネットワーク、または他のプライベートネットワークにアクセスするように構成されるコンピューターでは、そのネットワーク上のデバイスと通信しようと試みるよう、そのコンピューターを構成することにより、改善されたネットワーク位置認識を実現することができる。そのデバイスを、ネットワークへの接続の性質に応じて各デバイスに対して異なるように応答するよう構成することにより、コンピューターはその応答に基づいて自らの位置に関する有用な情報を得ることができる。例えば、物理接続またはVPNを介してプライベートネットワークに接続されるコンピューターは、プライベートネットワークの外側にあるがインターネットなどの公衆ネットワークを使用するリモートアクセス機構を介してそのプライベートネットワークに接続されるデバイスとは異なる応答を経験することができる。
【0013】
[0020]直接ネットワークアクセスが利用可能であり、かつ一部の従来型ネットワーク位置決定手法にはコンピューターがプライベートネットワークに直接接続されていると誤って指示させるようなやり方で、プライベートネットワーク上のドメインコントローラーに対してコンピューターが認証できるようにする場合にも、この情報は正確である。適切なセキュリティー構成を選択するためにこの位置情報が使用される場合、より優れたセキュリティーがコンピューターに提供される。例えば、コンピューターを様々なセキュリティー状態で動作するように構成することができ、そのコンピューターが企業構内のプライベートネットワークに物理的に接続され、したがってファイアウォールの背後にある場合、そのセキュリティー状態のうちの1つが使用に適する。コンピューターがセキュリティーで保護されたVPNトンネルを介してプライベートネットワークに仮想的に接続されるシナリオでは、別のセキュリティー状態が適する場合がある。コンピューターが物理的に、またはVPNトンネルを介して仮想的にプライベートネットワーク上に直接なく、したがってそのプライベートネットワークのファイアウォールによって保護されない、さらに別のシナリオを適用することができる。そのようなセキュリティー状態は、任意の適切な方法で実施することができる。場合によってはこれらのセキュリティー状態は、様々な構成をサポートする、コンピューター上のファイアウォールによって実施される。ネットワークに直接接続されない場合、このファイアウォールはより制限的な構成を有することができる。対照的に、コンピューターがネットワークに直接接続される場合、より制限的でないファイアウォール構成を備えることができる。同様に、コンピューターの位置に基づいて他の設定が選択される場合、位置をより正確に決定することは、それらの設定の自動化された選択をもたらして、より望ましいユーザーエクスペリエンスを提供することができる。
【0014】
[0021]応答を促す要求を発行したコンピューターの位置に基づいて異なる応答を生成するように1つまたは複数のデバイスを構成するのに、いくつかの手法のうちのいずれかが適している。一部の実施形態では、コンピューターの位置を明らかにするために、ネットワークパケットの特定の到着インターフェイスを使用することができる。他の実施形態では、コンピューターの位置を明らかにするために、ネットワークパケットのヘッダー内の情報を使用することができる。例えば、要求または応答を含むパケットヘッダー内のネットワークアドレスは、そのネットワークアドレスがスプーフィングされていないことを知るための何らかの方法をネットワークデバイスが有する場合、要求を発行するコンピューターがネットワーク上に物理的にあるかどうかをそのネットワークデバイスが判定することを可能にすることができる。具体例として、TCP接続を成功裏に確立できることにより、コンピューターがそのアドレス宛てのパケットを受信できることを示すと、そのアドレスのネットワークプレフィックス部分はそのコンピューターの位置を指示することができる。
【0015】
[0022]そのようなパケットが、ネットワークファイアウォールの背後にあるデバイスまたはネットワークファイアウォールの外側にあるデバイスから受信されたこと、もしくは
それらのデバイス宛てであることを指示するネットワークプレフィックスを有するかどうかに基づいて異なるように応答するよう、そのようなパケットを処理する任意の適切な1つまたは複数のデバイスを構成することができる。一部の実施形態では、要求がネットワーク上のサーバーに宛てられる場合がある。そのサーバーは、今日のドメインコントローラーの場合などのように、その要求を発行するコンピューターの位置に応じて異なる応答を作成するようにプログラムすることができる。他の実施形態では、要求に返信するサーバーへのまたはサーバーからのパケットを処理する1つもしくは複数の媒介デバイスが、その要求を発行するコンピューターの位置に応じて異なるように動作することができる。例えばファイアウォールなどの媒介デバイスは、要求を発行したコンピューターに関連する、パケットのヘッダー内のネットワークプレフィックスに基づき、要求または返信を含むそれらのパケットを選択的にブロックすることができる。
【0016】
[0023]一部の実施形態の上記の概要から、1つまたは複数のコンピューターデバイスをプログラミングすることに基づいて諸実施形態を構築できることを当業者なら理解することができる。例示的実施形態の構造および動作についてのより詳細な説明を行う前に、コンピューティングデバイスの中に存在し得るコンポーネントの概要を提供する。
【0017】
[0024]図1は、本発明の一部の実施形態を実施する際に使用することができる適切なコンピューティングシステム環境100の一例を示す。このコンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能性の範囲に関する任意の限定を提案することを意図するものではない。コンピューティング環境100は、例示的動作環境100の中に示すコンポーネントのうちのいずれか1つまたは組合せに関係するいかなる依存性もしくは要件を有すると解釈すべきでもない。
【0018】
[0025]図1を参照すると、本発明を実施するための例示的システムは、コンピューター110の形態をとる汎用コンピューティングデバイスを含む。コンピューター110のコンポーネントには、処理ユニット120、システムメモリー130、および処理ユニット120へのシステムメモリーを含む様々なシステムコンポーネントを結合するシステムバス121が含まれ得るが、これだけに限定されない。システムバス121は、様々なバスアーキテクチャーのうちのいずれかを使用する、メモリーバスまたはメモリーコントローラー、周辺機器用バス、およびローカルバスを含む、数種類のバス構造のうちのいずれかとすることができる。限定ではなく例として、そのようなアーキテクチャーには、業界標準アーキテクチャー(ISA)バス、マイクロチャネルアーキテクチャー(MCA)バス、拡張ISA(EISA)バス、ビデオ電子装置規格化協会(VESA)ローカルバス、およびメザニンバスとしても知られているPeripheral Component Interconnect(PCI)バスが含まれる。
【0019】
[0026]コンピューター110は、典型的には様々なコンピューター可読媒体を含む。コンピューター可読媒体は、コンピューター110によってアクセス可能な任意の利用可能な媒体とすることができ、揮発性/不揮発性媒体、リムーバブル/固定型媒体の両方を含む。限定ではなく例として、コンピューター可読媒体にはコンピューター記憶域媒体および通信媒体が含まれてよい。コンピューター記憶域媒体は、コンピューター可読命令、データ構造、プログラムモジュールや他のデータなどの情報を記憶するための任意の方法または技術により実施される、揮発性/不揮発性媒体、リムーバブル/固定型媒体の両方を含む。コンピューター記憶域媒体には、RAM、ROM、EEPROM、フラッシュメモリーや他のメモリー技術、CD−ROM、デジタル多用途ディスク(DVD)や他の光ディスク記憶域、磁気カセット、磁気テープ、磁気ディスク記憶域や他の磁気記憶装置、または所望の情報を記憶するために使用することができ、かつコンピューター110によってアクセス可能な他の任意の媒体が含まれるが、これだけに限定されない。通信媒体は、典型的にはコンピューター可読命令、データ構造、プログラムモジュール、または搬送波や他のトランスポート機構などの変調データ信号内の他のデータを具体化し、任意の情報配信媒体を含む。用語「変調データ信号」は、信号内の情報をエンコードするような方法で、その特性の1つまたは複数が設定されまたは変更される信号を意味する。限定ではなく例として、通信媒体は、ワイヤードネットワークや直接ワイヤード接続などのワイヤー
ド媒体、およびアコースティック、RF、赤外線や他のワイヤレス媒体などのワイヤレス媒体を含む。上記のものの任意の組合せも、コンピューター可読媒体の範囲に含まれるべきである。
【0020】
[0027]システムメモリー130は、読み取り専用メモリー(ROM)131やランダムアクセスメモリー(RAM)132など、揮発性メモリーおよび/または不揮発性メモリーの形態をとるコンピューター記憶域媒体を含む。起動中などにコンピューター110内の各要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム133(BIOS)が、典型的にはROM131に記憶される。RAM132は、典型的には、処理ユニット120がすぐにアクセス可能でありかつ/または現在操作しているデータおよび/もしくはプログラムモジュールを含む。限定ではなく例として、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
【0021】
[0028]コンピューター110は、他のリムーバブル/固定型、揮発性/不揮発性コンピューター記憶域媒体を含むこともできる。ほんの一例として、図1は、固定型の不揮発性磁気媒体との間で読み書きを行うハードディスクドライブ141、リムーバブル不揮発性磁気ディスク152との間で読み書きを行う磁気ディスクドライブ151、およびCD ROMや他の光媒体などのリムーバブル不揮発性光ディスク156との間で読み書きを行う光ディスクドライブ155を示す。例示的動作環境において使用可能な他のリムーバブル/固定型、揮発性/不揮発性コンピューター記憶域媒体には、磁気テープカセット、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM等が含まれるが、これだけに限定されない。ハードディスクドライブ141は、インターフェイス140などの固定型メモリーインターフェイスを介してシステムバス121に典型的には接続され、磁気ディスクドライブ151および光ディスクドライブ155は、インターフェイス150などのリムーバブルメモリーインターフェイスにより、システムバス121に典型的には接続される。
【0022】
[0029]上記で論じ、図1に示す各ドライブおよびそれらの関連するコンピューター記憶域媒体は、コンピューター110用のコンピューター可読命令、データ構造、プログラムモジュール、および他のデータの記憶域を提供する。例えば図1では、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を記憶するように示される。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じでも異なってもよいことに留意されたい。図1では、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147に異なる番号を与え、少なくともそれらが異なるコピーであることを示す。ユーザーは、キーボード162や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス161などの入力デバイスを使い、コンピューター110にコマンドおよび情報を入力することができる。他の入力デバイス(不図示)には、マイク、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナーなどが含まれ得る。これらのおよび他の入力デバイスは、多くの場合、システムバスに結合されるユーザー入力インターフェイス160を介して処理ユニット120に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)などの他のインターフェイスおよびバス構造によって接続されてもよい。モニター191または他の種類のディスプレイデバイスも、ビデオインターフェイス190などのインターフェイスを介してシステムバス121に接続される。このモニターに加え、コンピューターは、出力周辺機器用インターフェイス195を介して接続することができる、スピーカー197やプリンター196などの他の周辺出力デバイスも含むことができる。
【0023】
[0030]コンピューター110は、リモートコンピューター180などの1台または複数台のリモートコンピューターへの論理接続を使用する、ネットワーク化された環境内で動作することができる。リモートコンピューター180は、パーソナルコンピューター、サ
ーバー、ルーター、ネットワークPC、ピアデバイス、または他のよくあるネットワークノードとすることができ、典型的にはコンピューター110に関連して上記に記載した要素の多くまたはすべてを含むが、図1にはメモリー記憶装置181だけ示す。図1に示す論理接続は、ローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。そうしたネットワーキング環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、およびインターネットにおいてありふれたものである。
【0024】
[0031]LANネットワーキング環境で使用される場合、コンピューター110は、ネットワークインターフェイスまたはアダプター170を介してLAN171に接続される。WANネットワーキング環境で使用される場合、コンピューター110は、典型的にはモデム172、またはインターネットなどのWAN173を介して通信を確立するための他の手段を含む。内蔵型または外付け型とすることができるモデム172は、ユーザー入力インターフェイス160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピューター110またはコンピューター110の一部に関連して示すプログラムモジュールは、リモートメモリー記憶装置に記憶することができる。限定ではなく例として、図1はリモートアプリケーションプログラム185を、メモリーデバイス181上にあるものとして示す。図示するネットワーク接続は例示的であり、コンピューター間の通信リンクを確立する他の手段が使用されてよいことが理解されよう。
【0025】
[0032]図2は、本発明を実施することができるネットワーク化されたコンピューティング環境を示す。このネットワーク化されたコンピューティング環境は、企業イントラネットなど、セキュリティーで保護されたネットワーク200とすることができるネットワークを含む。セキュリティーで保護されたネットワーク200は、セキュリティーで保護されたネットワーク200に物理的に接続されるネットワーク化されたコンピューティングデバイスを含むことができる。セキュリティーで保護されたネットワーク200に対するネットワーク化されたコンピューティングデバイスの物理接続は、任意の適切なコンピューター通信媒体(例えばワイヤード通信やワイヤレス通信)を介して行うことができ、本発明はこの点において限定されない。そのようなネットワーク化されたコンピューティングデバイスの1つが、ドメインコントローラー210として機能することができるコンピューターである。ドメインコントローラーは知られており、ドメインコントローラー210は、当技術分野で知られている技法を使用して実装することができる。ただし、ドメインコントローラー210を構築するために、任意の適切な技法を使用することができる。ドメインコントローラー210の一例は、Windows 2003 Serverオペレーティングシステム上でActive Directoryを実行する、コンピューティングシステム100などのコンピューターである。
【0026】
[0033]別のネットワーク化されたコンピューティングデバイスは、DNSサービスを実行するデバイスの任意の組合せなど、ネームサーバー212として機能するコンピューターとすることができる。ネームサーバーも当技術分野で知られており、ネームサーバー212は知られている技法を使用して実装することができる。ただし、ネームサーバー212を実装するために、任意の適切な技法を使用することができる。代替的技法の一例として、ネームサービスがドメインコントローラー210と同じコンピューター上に実装され得る可能性がある。
【0027】
[0034]このセキュリティーで保護されたネットワークは、ドメインコントローラー210やネームサーバー212などの、セキュリティーで保護されたネットワーク200内のコンピューティングリソースにアクセスすることができる、セキュリティーで保護されたネットワーク200に物理的に接続されるユーザークライアントコンピューター214も含むことができる。クライアントコンピューター214は、セキュリティーで保護されたネットワーク200を提供する企業の構内にあってよい。そのようなシナリオでは、企業の構内にあるネットワークアクセスポイントへのワイヤード接続またはワイヤレス接続により、接続側クライアント214による物理接続を実現することができる。ただし、セキ
ュリティーで保護されたネットワーク200への物理接続を実現するための任意の適切な機構を使用することができる。
【0028】
[0035]図2に示すシナリオでは、クライアント214がドメインコントローラー210に対して認証した。したがって、クライアント214は、セキュリティーで保護されたネットワーク200上のリソースを利用することができる。コンピューティングリソースへのユーザークライアント214のアクセスを、クライアント214とドメインコントローラー210との間のリンク220や、クライアント214とネームサーバー212との間のリンク222などの双方向ネットワークリンクによって示す。
【0029】
[0036]図2のネットワーク化されたコンピューティング環境は、セキュリティーで保護されたネットワーク200が接続される他のネットワークも含むことができる。図2は、一例としてインターネット230を示す。インターネット230には、ユーザークライアントコンピューター234などのリモートコンピューティングデバイスが接続することができる。ここでは、クライアントコンピューター234は、ラップトップコンピューティングデバイスまたは他のモバイルコンピューティングデバイスとすることができる。したがって、クライアント234とクライアント214とを別個のデバイスとして示すが、リモートクライアント234は、別の時間に別の位置で操作されることを除き、クライアント214と同じデバイスとすることができる。例えば、クライアント214は、セキュリティーで保護されたネットワーク200を運用する企業の従業員により就業時間中にオフィス内で使用されるモバイルコンピューターを表すことができる。リモートクライアント234は、就業時間後に使用するために、その従業員により、その従業員の自宅に移動される同一のモバイルコンピューターとすることができる。
【0030】
[0037]クライアント214および234を実装するために使用される特定のハードウェアに関係なく、図2によって示す環境は複数のデバイスをサポートすることができ、それらのデバイスのうちのどれもが、ネットワークファイアウォールの内側でまたはネットワークファイアウォールの外側で、セキュリティーで保護されたネットワーク200に接続することができる。クライアントは、セキュリティーで保護されたネットワーク200上の他のデバイスへの、アクセスポイント、ルーター、スイッチ、ハブ、セキュアトンネル、または他のネットワーク要素を介した直接接続(ワイヤード接続、ワイヤレス接続、または他の任意の適切な媒体を介した接続)により、ファイアウォールの内側に接続され得る。クライアントは、インターネット230または他の外部ネットワークを介した通信を使用するリモートアクセス機構を使用し、ファイアウォールの外側で、セキュリティーで保護されたネットワーク200にリモート接続され得る。
【0031】
[0038]このネットワーク化されたコンピューティング環境は、セキュリティーで保護されたネットワーク200とインターネット230との間の限られたネットワーク通信を可能にする、セキュリティーで保護されたネットワーク200用の非武装地帯(DMZ)240も含む。DMZ240は、ファイアウォールなど、許可されていないトラフィックをブロックするコンポーネント、および一部のトラフィックを通過させる他のコンポーネントを含むことができる。DMZ240は、直接アクセスサーバー250として機能するコンピューティングシステムなど、ネットワーク化されたコンピューティングデバイスを含むことができる。図示の実施形態では、直接アクセスサーバー250はルーターとして実装することができる。クライアントコンピューター234など、セキュリティーで保護されたネットワーク200に物理的に接続されないクライアントは、VPNを使用せずに通信するための直接アクセスサーバー250を介し、ドメインコントローラー210やネームサーバー212などの、セキュリティーで保護されたネットワーク内のコンピューティングリソースに接続することができる。セキュリティーで保護されたネットワーク内のコンピューティングリソースへのユーザークライアント234のアクセスを、クライアント234とドメインコントローラー210との間のリンク260や、クライアント234とネームサーバー212との間のリンク262など、直接アクセスサーバー250を通過する双方向ネットワークリンクによって示す。図示のように、クライアント234などのリモートクライアントは、クライアント214など、セキュリティーで保護されたネットワ
ーク200に物理的に接続されるコンピューターと同じ、セキュリティーで保護されたネットワーク200上のネットワークリソースにアクセスすることができる。
【0032】
[0039]その結果、クライアント234は、クライアント214のようにドメインコントローラー210に対して認証することができる。クライアント234が、ドメインコントローラー210に対して認証できることに基づいて自らのセキュリティー状態を確立する場合、クライアント234は、同じ方法で自らのセキュリティー状態を構成することができるクライアント214とは異なるセキュリティーリスクを有し得る。クライアント214が、悪意のあるサードパーティーによって使用される可能性のあるインターネット230上の他のデバイスからDMZ240によって分離される一方、クライアント234は分離されない。したがって、セキュリティーで保護されたネットワーク200上の他のすべてのデバイスは信頼済みであるとみなされるので、クライアント214はより制限的でないセキュリティー設定を適宜使用することができるのに対し、クライアント234が、同じより制限的でない設定を使用する場合、クライアント234はインターネット230に接続されるデバイスからのリスクにさらされる。したがって一部の実施形態では、たとえクライアント234がドメインコントローラー210に対して認証しても、クライアント234のセキュリティー状態は、クライアント234がドメインコントローラー210に対して認証できることとは無関係である、クライアント234のネットワーク位置についての判断に基づいて確立することができる。
【0033】
[0040]ネットワーク位置に基づいて選択することができる設定の一例として、クライアントのセキュリティー関連アクションを確立する設定を使用するが、他の種類の設定も同様に選択することができる。例えば、クライアント234がネットワーク位置に基づいて他の任意の種類の設定を確立する場合、正確なネットワーク位置決定がなければ、クライアント234は間違って機能するかまたはユーザーが期待するものと反して機能する可能性がある。したがって、ネットワーク位置に基づく任意の設定の選択を改善するために、本明細書に記載する技法を適用することができる。
【0034】
[0041]図3は、図2の環境と同様のネットワーク化されたコンピューティング環境を示す。図3のDMZ240は、VPNゲートウェイサーバー358をさらに組み込む。VPNゲートウェイサーバー358は、当技術分野で知られているようにVPNゲートウェイの機能性を提供するコンピューティングデバイスである。さらに図示するのが、インターネット230に物理的に接続されるVPNクライアント344である。クライアントコンピューター234のように、VPNクライアント344は、ラップトップコンピューティングデバイスまたは他のモバイルコンピューティングデバイスとすることができる。VPNゲートウェイサーバー358は、VPNゲートウェイサーバー358とVPNクライアント344との間にセキュアトンネル360を確立することにより、VPNクライアント344など、セキュリティーで保護されたネットワーク200に物理的に接続されないコンピューターが、セキュリティーで保護されたネットワークに対して仮想接続を確立することを可能にする。VPNゲートウェイサーバー358によりセキュアトンネル360が確立されると、VPNクライアント344は、ネットワークファイアウォール内のセキュリティーで保護されたネットワーク200に仮想的に接続され、セキュリティーで保護されたネットワーク200の一論理部分を構成する。
【0035】
[0042]図3は、ユーザークライアント214、ユーザークライアント234、VPNクライアント344などのコンピューティングデバイスが、自らがセキュリティーで保護されたネットワーク200に直接接続されているかどうかを確実に判断できるようにするための機構も組み込む。このネットワーク化されたコンピューティング環境は、セキュリティーで保護されたネットワーク200に接続されるコンピューティングデバイス上で実行され、ネットワーク位置認識に使用される、HTTPSサービス352などのネットワークサービスをさらに含む。HTTPSサービス352の実装形態の例は、Apache HTTPサーバーや、Microsoftインターネットインフォメーションサービスである。この実施形態では、HTTPSサービス352は、直接アクセスサーバー250上で実行されるが、このHTTPSサービス352は、セキュリティーで保護されたネット
ワーク200に接続される任意のコンピューティングデバイス上で実行されてよい。セキュリティーで保護されたプロトコルの一例としてHTTPSを使用するが、ある実施形態では、セキュリティーで保護されたプロトコルを用いる任意のサービスを使用することができ、HTTPSは一例に過ぎないことを理解すべきである。
【0036】
[0043]直接アクセスサーバー250は、プライベートインターフェイス354およびパブリックインターフェイス356の、2つのネットワークインターフェイスを備える。プライベートインターフェイス354は、直接アクセスサーバー250と、ユーザークライアント214やVPNクライアント344などの、セキュリティーで保護されたネットワークに直接接続されるネットワーク化されたコンピューティングデバイスとの間の接続を提供する。パブリックインターフェイス356は、直接アクセスサーバーと、ユーザークライアント234などの、セキュリティーで保護されたネットワーク200の外側にあるネットワーク化されたコンピューティングデバイスとの間の接続を提供する。図示の実施形態では、パブリックインターフェイス356およびプライベートインターフェイス354は、ネットワーククライアントが、自らの位置に応じて特定の要求に対して異なる応答を認識するよう構成される。例えば、セキュリティーで保護されたネットワーク200に物理的に接続されるクライアント214は、パブリックインターフェイス356およびプライベートインターフェイス354のアクションのために、特定の要求に対してクライアント234とは異なる応答を認識する。このインターフェイス354および356は、プライベートインターフェイス354を介して通信するクライアントはHTTPSサービス352と通信できるが、パブリックインターフェイス356を介して通信するクライアントはHTTPSサービス352と通信できないように構成される。クライアント234と、セキュリティーで保護されたネットワーク200に接続される他のネットワーク化されたコンピューティングデバイスとの間の他のネットワーク通信は、パブリックインターフェイス356を通過することを許される。したがってこの実施形態では、クライアント214およびVPNクライアント344は、HTTPSサービス352に送信された要求に対する返信を受信する。対照的に、クライアント234は、HTTPSサービス352に送信された要求に対する返信を受信しない。このようにして、各クライアントは、返信が受信されるかどうかに応じて異なる応答を認識することができる。
【0037】
[0044]図3では、ネットワーク化されたコンピューティングデバイスが互いに通信できることまたは通信できないことを、単方向ネットワークリンクまたは双方向ネットワークリンクによって示す。パブリックインターフェイス356および直接アクセスサーバー250を通過する双方向リンクは、クライアント234とドメインコントローラー210との間のリンク260や、クライアント234とネームサーバー212との間のリンク262など、セキュリティーで保護されたネットワーク200内のネットワーク化されたコンピューティングリソースと通信できることを示す。同様に、プライベートインターフェイス354および直接アクセスサーバー250を通過する双方向リンク364は、ユーザークライアント214とHTTPSサービス352との間の接続性を示す。同じように、セキュアトンネル360、VPNゲートウェイサーバー358、直接アクセスサーバー250、およびプライベートインターフェイス354を通過する双方向リンク376は、VPNクライアント344とHTTPSサービス352との間で通信できることを示す。その一方で、ユーザークライアント234とHTTPSサービス352との間の単方向リンク374は、パブリックインターフェイス356を通過せず、HTTPSサービス352に対してパブリックインターフェイスを介して通信できないことを示す。
【0038】
[0045]クライアント214やVPNクライアント344など、ネットワークファイアウォール内のセキュリティーで保護されたネットワーク200に接続されるクライアントディレクトリーは、HTTPSサービス352に対してプライベートインターフェイス354を介して通信することができ、したがって、HTTPSサーバー352に対して要求を出し、返信を受信することができる。HTTPSサーバー352からの返信に基づき、クライアント214またはVPNクライアント344は、自らがセキュリティーで保護されたネットワークに直接接続されていることを判断し、それに応じて自らのセキュリティー
ポリシーを設定することができる。その一方で、クライアント234など、セキュリティーで保護されたネットワーク200に直接接続されないクライアントは、HTTPSサービス352に対してパブリックインターフェイス356を介して通信することができず、したがって、HTTPSサーバー352に要求を出すことも返信を受信することもできない。HTTPSサーバー352から返信がないことに基づき、クライアント234は、自らがセキュリティーで保護されたネットワーク200に直接接続されていないという判断を下すことができ、自らがセキュリティーで保護されたネットワーク200に直接接続される場合よりもさらに制限的であるように、自らのセキュリティーポリシーを構成することができる。
【0039】
[0046]図3の実施形態では、セキュリティーで保護されたネットワーク200に物理的に接続されないが、セキュリティーで保護されたネットワーク200に仮想接続を介して直接接続される、VPNクライアント344などのコンピューティングデバイスは、HTTPSサービス352と通信するためにプライベートインターフェイス354を介して接続することができる。したがってこの実施形態では、VPNクライアント344は、HTTPSサービス352に送信された要求に対する返信を受信する。しかし、他の実施形態は、セキュリティーで保護されたネットワーク200に仮想的に接続されるが、物理的に接続されないコンピューティングデバイスを別様に処理することができる。例えば別の実施形態では、プライベートインターフェイス354は、VPNクライアント344とHTTPSサービス352との間の通信を許可しないことができる。この場合、VPNクライアント344は、HTTPSサービス352に送信された要求に対する返信を受信せず、クライアント234のように、自らがセキュリティーで保護されたネットワーク200に物理的に接続される場合よりもさらに制限的であるように、自らのセキュリティーポリシーを構成することを決定することができる。さらに別の実施形態では、プライベートインターフェイス354は、HTTPSサービス352とVPNクライアント344との間の通信を許可することができるが、ユーザークライアント214に提供する応答とは異なる種類の応答をVPNクライアント344に提供するよう、HTTPSサービス352を構成することができる。この他の種類の応答は、VPNクライアント344が、クライアント214によって適用されるセキュリティー設定よりもさらに制限的だが、クライアント234によって適用されるセキュリティー設定よりも制限的でないセキュリティー設定など、第3の種類の設定を適用すべきことを判断できるようにする。
【0040】
[0047]プライベートインターフェイス354は、当技術分野で知られているような技法を使用して実装することができる。パブリックインターフェイス356も同様に、知られているインターフェイス技法を使用して実装することができる。ただし、パブリックインターフェイス356は、リモートクライアントからの通信をブロックするように修正することができる。任意の適切なブロック機構を使用することができる。例えば、パブリックインターフェイス356は、パケットヘッダー内に含まれる宛先アドレスに基づきネットワークパケットをブロックする、フィルタリングコンポーネントで構成することができる。例えば、パブリックインターフェイス356は、HTTPSサービス352への宛先アドレスを含むすべての受信パケットをブロックすることができる。ただし、他の実装形態もあり得る。例えば、パブリックインターフェイス356は、パケットがHTTPSサービス352によって生成されたことを指示するソースアドレスを含む任意の送信パケットをブロックしてもよい。
【0041】
[0048]図3に示す実施形態では、パブリックインターフェイス356は、クライアント234などのリモートクライアントとHTTPSサービス352との間で交換されるすべてのパケットをブロックする。そのような実装形態は、リモートクライアントがアクセスすることを目的とする機能を、HTTPSサービス352が実行しない場合に適切であり得る。リモートクライアントとHTTPSサービス352との間でいくらかの相互作用が意図される場合の実施形態では、パケット内の情報の性質に基づいてパケットをフィルターするよう、パブリックインターフェイス356のフィルタリングコンポーネントをさらに構成することができる。例えば、リモートクライアントが自らのネットワーク位置を決
定できるようにすることをとりわけ目的とする要求に対して応答を提供するよう、HTTPSサービス352を構成することができる。パケット内に含まれる情報の性質を明らかにするパケットの一部を調べるよう、パブリックインターフェイス356のフィルタリングコンポーネントを構成することができる。そのような調査に基づき、このフィルタリングコンポーネントは、ネットワーク位置を決定する際に使用するための要求または返信を含むパケットだけの伝送をブロックすることができる。
【0042】
[0049]位置認識に使用されるHTTPSサービス352などのネットワークサービスは、クライアント214、クライアント234、VPNクライアント344など、ネットワークサービスのクライアントがサービスのIDまたはセキュリティー資格情報を検証し、そのクライアントが、そのサービスから受信した返信を信頼すべきかどうかの判断を下せるようにするためにセキュリティーで保護される。例えば、一部の実施形態では、HTTPSサービス352の返信は、HTTPSサービスのIDを含むSSL証明書を含むことができ、クライアント214など、そのサービスのクライアントは、HTTPSサービス352からの返信を信頼するかどうか判定するためにそのSSL証明書を検証することができる。クライアント214がHTTPSサービス352からの返信を信頼すべきと判定する場合、クライアント214は、自らがセキュリティーで保護されたネットワーク200に物理的に接続されているとみなし、それに応じて自らのセキュリティー設定をより制限的でない状態に実施することができる。その一方で、クライアント214がHTTPSサービス352によって返されるSSL証明書を検証することができない場合、クライアント214は、サービス352から返信を受信していないとみなし、自らがセキュリティーで保護されたネットワーク200に直接接続されていないとみなし、より制限的なセキュリティー設定を実施することができる。
【0043】
[0050]図4は、ネットワーク位置決定をサポートするために他の一部の実施形態に従って構成される、図2の環境と同様のネットワーク化されたコンピューティング環境を示す。図4の実施形態では、DMZ240が、ファイアウォール442として機能することができるネットワークデバイスをさらに組み込む。ファイアウォール442は、セキュリティーで保護されたネットワーク200の外側にあるデバイスから、DMZ240内またはセキュリティーで保護されたネットワーク200内のコンピューティングデバイスへのネットワーク通信を解析し、そうした一部の通信を許可し、または許可しないことができる。具体的には、ファイアウォール442は、クライアント234など、セキュリティーで保護されたネットワークの外側にあるデバイスからHTTPSサービス352への通信を許可しないことができるが、クライアント234など、セキュリティーで保護されたネットワークの外側にあるデバイスから、ドメインコントローラー210やネームサーバー212など、セキュリティーで保護されたネットワークの内側にある他のネットワーク化されたコンピューティングリソースへの通信を許可することができる。双方向リンク260および262によって見てとれるように、ファイアウォール442は、クライアント234とドメインコントローラー210との間の通信、およびクライアント234とネームサーバー212との間の通信をそれぞれ許可する。その一方で、クライアント234からHTTPSサービス352への単方向リンク374はファイアウォール442によってブロックされ、HTTPSサービス352に接続できないことを示す。図3に関連して上記で論じたように、ファイアウォール442は、リモートデバイスからHTTPSサービス352へのすべての通信をブロックすることができる。しかし、ネットワーク位置を決定するためにHTTPSサービス352に対する特定の種類の要求への応答が使用される実施形態では、そのような要求を含むパケットだけブロックするようにファイアウォール442を構成することができる。
【0044】
[0051]図5は、図4に示す実施形態と同様の、本発明の代替的実施形態を示す。図5の実施形態では、DMZ240が、ファイアウォール542として機能することができるネットワーク化されたデバイスを組み込む。ファイアウォール442と同様に、ファイアウォール542は、セキュリティーで保護されたネットワーク200の外側にあるデバイスから、DMZ240内またはセキュリティーで保護されたネットワーク200内のコンピ
ューティングデバイスへのネットワーク通信を解析し、そうした一部の通信を許可し、または許可しないことができる。しかし、ファイアウォール542は、ファイアウォール442とは異なるセキュリティー設定で構成することができる。具体的には、ファイアウォール542は、クライアント234など、セキュリティーで保護されたネットワークの外側にあるデバイスからHTTPSサービス352への受信通信を許可することができるが、HTTPSサービス352からクライアント234への送信通信を許可しないまたはブロックすることができる。ファイアウォール442と同様に、ファイアウォール542は、クライアント234など、セキュリティーで保護されたネットワーク200の外側にあるデバイスと、ドメインコントローラー210やネームサーバー212など、セキュリティーで保護されたネットワークの内側にある他のネットワーク化されたコンピューティングリソースとの間の双方向通信を許可することができる。双方向リンク260および262によって見てとれるように、ファイアウォール542は、クライアント234とドメインコントローラー210との間の通信、およびクライアント234とネームサーバー212との間の通信をそれぞれ許可する。クライアント234からの単方向リンク374は、ファイアウォール542を通過してHTTPSサービス352に到達する。しかし、HTTPSサービス352からクライアント234への単方向リンク576は、ファイアウォール542によってブロックされるものとして示す。図4に関連して論じたように、ネットワーク位置を決定するためにHTTPSサービス352に対する特定の種類の要求への応答が使用される実施形態では、そのような応答を含むパケットだけブロックするようにファイアウォール542を構成することができる。クライアント234によって受信されるHTTPSサービス352からの返信がないことは、自らがセキュリティーで保護されたネットワーク200に直接接続されていないと判断するためにクライアント234によって使用され得る。
【0045】
[0052]図6は、ネットワーク位置決定をサポートするために一部の代替的実施形態に従って構成される、図2の環境と同様のネットワーク化されたコンピューティング環境を示す。HTTPSサービスは、ネットワークアドレスフィルター652などのフィルターをさらに組み込む。パブリックインターフェイス356のフィルタリングコンポーネントに関して図3で論じたのと同様に、ネットワークアドレスフィルターは、HTTPSサービス352への要求のパケットヘッダー内に含まれるソースネットワークアドレスに関する情報に基づき、そうした要求をブロックするよう構成することができる。例えば、ネットワークアドレスフィルター652は、HTTPSサービス352への要求内に含まれるソースネットワークアドレスの一部を調べて、そのソースネットワークアドレスが、セキュリティーで保護されたネットワーク200のネットワークアドレスの範囲内にあるかどうか判定することができる。例えばソースネットワークアドレスがIPv6ネットワークアドレスの場合、ネットワークアドレスフィルターは、そのソースアドレスが、セキュリティーで保護されたネットワークのプレフィックス範囲内にあることを確認することができる。
【0046】
[0053]返信の性質を判断するために使用される基準の例としてネットワークアドレスを使用するが、応答の性質を判断するために他の基準を使用してもよい。例えば、要求がパブリックインターフェイスを介して受信されたか、プライベートインターフェイスを介して受信されたかに応じて、返信は異なることができる。さらに、様々な応答の例として返信を発行することおよび返信を発行しないことを使用するが、これらも様々な応答の例に過ぎない。別の例として、あらゆる場合において返信を発行するが、ネットワーク位置に応じて異なる返信用の形式を使用することにより、様々な応答を生成することができる。一例として、返信は、そのクライアントのネットワークアドレスまたはネットワーク位置を指示することができる。また、上記に記載した実施形態では、ネットワークに直接接続され、または間接的に接続されるクライアントからの要求に対する返信を同一のデバイスが生成する。そのようなアーキテクチャーは必須ではない。例えば、直接接続されるクライアントからの要求を、ある種の返信を発行するあるデバイスにルートすることができる一方、直接接続されないクライアントからの要求は、異なる種類の返信を発行する別のデ
バイスにルートすることができる。
【0047】
[0054]図6に示す実施形態では、クライアント214はセキュリティーで保護されたネットワーク200に物理的に接続され、したがって、IPv6アドレス指定がセキュリティーで保護されたネットワーク200によって使用される場合、クライアント214のネットワークアドレスは、そのセキュリティーで保護されたネットワークのプレフィックス範囲内にある。クライアント234はネットワーク200に物理的に接続されないので、クライアント234のネットワークアドレスは、そのセキュリティーで保護されたネットワークのプレフィックス範囲内にない。ネットワークアドレスフィルター652は、それらのクライアントの要求を調べ次第、クライアント234からHTTPSサービス352への要求をブロックするが、クライアント214からHTTPSサービス352への要求を許可することができる。
【0048】
[0055]前の記載にあるように、ネットワーク化されたコンピューティングデバイスが互いに通信できることまたは通信できないことを、単方向ネットワークリンクまたは双方向ネットワークリンクによって示す。直接アクセスサーバー250を通過する双方向リンクは、クライアント234とドメインコントローラー210との間のリンク260や、クライアント234とネームサーバー212との間のリンク262など、セキュリティーで保護されたネットワーク200内のネットワーク化されたコンピューティングリソースと通信できることを示す。同様に、ネットワークアドレスフィルター652および直接アクセスサーバー250を通過する双方向リンク364は、ユーザークライアント214とHTTPSサービス352との間の接続性を示す。その一方で、ユーザークライアント234とHTTPSサービス352との間の単方向リンク374は、ネットワークアドレスフィルター652を通過せず、クライアント234からHTTPSサービス352への要求をブロックするためにネットワークアドレスフィルター652によってとられるアクションを示す。
【0049】
[0056]この実施形態では、前の実施形態において上記でも論じたように、HTTPSサービス352からの返信がないことは、クライアント234などの要求側が、自らがセキュリティーで保護されたネットワーク200に直接接続されていないという判断を下し、それに応じて自らのセキュリティー設定をより制限的な状態に設定することを可能にすることができる。
【0050】
[0057]図7は、クライアント214または234についての前の実施形態などのネットワーククライアント700、および前に論じた実施形態におけるHTTPSサービス352などのHTTPSサービス702を実行するデバイスなど、ネットワーク位置決定を実行するように構成されるネットワークデバイスの動作の方法についての流れ図を示す。
【0051】
[0058]最初は、クライアント700は自らのネットワーク位置が分からず、ブロック701で、セキュリティーで保護されたネットワークに直接接続されないクライアントに適した既定の設定を適用することができる。セキュリティーポリシーに関して、例えばクライアントは、自らが動作する可能性がある最も安全でない位置に適した設定を適用する。
【0052】
[0059]ステップ704で、クライアント700は、ドメインコントローラー210などのドメインコントローラーに対して自らを認証することができる。この認証は、直接アクセスサーバー250などの直接アクセスサーバーを介して接続することにより行うことができ、またはクライアントが、セキュリティーで保護されたネットワーク200などのセキュリティーで保護されたネットワークに物理的に接続され、もしくはVPNを介してなど仮想的に接続される場合は直接行うことができる。
【0053】
[0060]ステップ706で、クライアント700は、自らに提供(provision)されたHTTPSサービス702の名前を取得する。例えば、クライアント700は、セキュリティーで保護されたネットワーク200などのセキュリティーで保護されたネットワークに物理的に接続されていたときに、HTTPSサービス702の名前を以前に提供されている可能性がある。その時点で、ステップ706にあるように後で取得するために、クライアント上のコンピューター記憶域媒体上に提供された名前がローカルで記憶されている可能性がある。
【0054】
[0061]ステップ712で、クライアント700は、HTTPSサービス702にHTTPS要求を発行する。ステップ714で、クライアント700は、HTTPSサービス702からの返信を所定の期間待つ。
【0055】
[0062]上記に記載した機構のうちの1つにより、クライアント700からの要求がHTTPSサービス702に到達するのをブロックされなかった場合、ステップ716で、HTTPSサービス702はクライアントの要求を受信する。ステップ718で、ネットワークアドレスフィルター652などのフィルターが、そのクライアントのネットワークアドレスの一部を調べて、そのクライアントのネットワークアドレスが、セキュリティーで保護されたネットワーク200などのセキュリティーで保護されたネットワークの範囲内にあるかどうか判定する。そのネットワークアドレスがセキュリティーで保護されたネットワークの範囲内にない場合、図7のプロセスはステップ718から終了ブロック730に分岐し、そのクライアントはHTTPSサービス702から返信を受信しない。その一方で、クライアント700のネットワークアドレスがセキュリティーで保護されたネットワークの範囲内にある場合、ステップ720で、HTTPSサービス702はクライアント700に応答することができ、その応答は、SSL証明書を含むセキュリティーで保護された応答とすることができる。いずれの場合にも、この時点でHTTPSサービス702はクライアント700の要求を処理し終え、終了ブロック730に進む。
【0056】
[0063]だが一部の実施形態では、HTTPSサービス702が、要求を発行するクライアントのネットワーク位置に関係なく応答するが、クライアントの位置に応じて異なる種類の応答を用いて応答することが望ましい場合があることを理解すべきである。そのような実施形態では、クライアントの位置に関係なく応答が生成される場合、ステップ714の待機時間を減らすことができる。
【0057】
[0064]図7のプロセスは、クライアントが所定の期間内にHTTPSサービス702から任意の応答を受信したかどうかに応じて、ステップ722で分岐する。図3〜図6に示す実施形態のうちの1つによりクライアント700の要求または返信がブロックされた場合にそうであり得るように、クライアント700が返信を受信していない場合、クライアント700はステップ728に進み、このステップ728では、クライアント700は、自らがセキュリティーで保護されたネットワーク200などのセキュリティーで保護されたネットワークに物理的に接続されていないという判断を下し、それに応じて自らの設定をその既定の状態のままにしておく。例えば、セキュリティーポリシーは、より制限的な状態に設定されたままである。
【0058】
[0065]クライアント700がHTTPSサービス702から応答を受信した場合、ステップ724で、クライアント700は、SSL証明書など、HTTPSサービス702のIDまたはセキュリティー資格情報を検証する。クライアント700が、HTTPSサービス702から受信したSSL証明書を成功裏に検証できない場合、クライアント700はステップ728に進み、上記に説明したように、自らがセキュリティーで保護されたネットワーク200などのセキュリティーで保護されたネットワークに物理的に接続されていないという判断を下す。クライアントは、それに応じて自らのポリシーを設定し、例えば自らのセキュリティーポリシーをより制限的な状態に設定する。
【0059】
[0066]クライアント700が、HTTPSサービス702から受信したSSL証明書を成功裏に検証する場合、クライアント700はステップ726に進む。この時点で、クライアントは、自らがセキュリティーで保護されたネットワーク200などのセキュリティーで保護されたネットワークに物理的に接続されていると判断することができる。クライアントは、それに応じて自らのポリシーを設定し、例えば自らのセキュリティーポリシーをより制限的でない状態に設定する。
【0060】
[0067]こうして本発明の少なくとも1つの実施形態のいくつかの側面を説明し終え、当業者なら様々な変更形態、修正形態、および改善形態を容易に思いつくことが理解される。
【0061】
[0068]そうした変更形態、修正形態、および改善形態は本開示の一部であることが意図され、本発明の趣旨および範囲に含まれることが意図される。したがって上記の説明およ
び図面は例に過ぎない。
【0062】
[0069]上記に記載した本発明の実施形態は、数多くの方法のうちのいずれかによって実施することができる。例えば、これらの実施形態は、ハードウェア、ソフトウェア、またはその組合せを使用して実装することができる。ソフトウェアによって実装されるとき、そのソフトウェアコードは、単一のコンピューターの中に設けられるにせよ、複数のコンピューターの間で分散されるにせよ任意の適切なプロセッサーまたはプロセッサーの集まりの上で実行することができる。
【0063】
[0070]さらに、コンピューターは、ラックマウント式コンピューター、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューターなど、いくつかの形態のうちのいずれかによって実施できることを理解すべきである。さらに、コンピューターは、PDA(携帯情報端末)、スマートフォン、または他の任意の適切なポータブル/固定電子デバイスを含む、概してコンピューターとみなされていないが適切な処理能力を備えるデバイスに埋め込むことができる。
【0064】
[0071]また、コンピューターは、1つまたは複数の入出力デバイスを有することができる。これらのデバイスは、とりわけユーザーインターフェイスを提示するために使用することができる。ユーザーインターフェイスを提供するために使用することができる出力デバイスの例には、出力を視覚的に提示するためのプリンターやディスプレイ画面、および出力を可聴的に提供するためのスピーカーや他の音声を発生させるデバイスが含まれる。ユーザーインターフェイスに使用することができる入力デバイスの例には、キーボードや、マウス、タッチパッド、デジタイジングタブレットなどのポインティングデバイスが含まれる。別の例として、コンピューターは、音声認識によりまたは他の可聴形式で入力情報を受け取ることができる。
【0065】
[0072]そうしたコンピューターは、エンタープライズネットワークやインターネットなど、ローカルエリアネットワークまたはワイドエリアネットワークを含む、任意の適切な形態の1つまたは複数のネットワークによって相互接続することができる。そうしたネットワークは任意の適切な技術に基づくことができ、任意の適切なプロトコルに従って動作することができ、ワイヤレスネットワーク、ワイヤードネットワーク、または光ファイバーネットワークを含むことができる。
【0066】
[0073]また、本明細書で概説した様々な方法またはプロセスは、多岐にわたるオペレーティングシステムまたはプラットフォームのいずれか1つを使用する、1個または複数個のプロセッサー上で実行可能なソフトウェアとしてコード化することができる。さらに、そうしたソフトウェアはいくつかの適切なプログラミング言語および/またはプログラミングツールもしくはスクリプトツールのいずれかを使用して書くことができ、実行可能な機械言語コードまたはフレームワークもしくは仮想マシン上で実行される中間コードとしてコンパイルすることもできる。
【0067】
[0074]この点で、本発明は、1つまたは複数のコンピューターもしくは他のプロセッサー上で実行されるとき、上記で論じた本発明の様々な実施形態を実施する方法を実行する、1つまたは複数のプログラムを用いてエンコードされるコンピューター可読媒体(または複数のコンピューター可読媒体)(例えば、コンピューターメモリー、1つまたは複数のフロッピーディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリー、書替え可能ゲートアレイや他の半導体デバイス内の回路構成、または他の有形コンピューター記憶域媒体)として実施することができる。この1つまたは複数のコンピューター可読媒体は可搬式とすることができ、そのためその上に記憶される1つまたは複数のプログラムを、1台または複数台の別のコンピューターもしくは他のプロセッサー上にロードして、上記で論じた本発明の様々な態様を実施することができる。
【0068】
[0075]用語「プログラム」または「ソフトウェア」は、上記で論じた本発明の様々な態様を実施するようコンピューターまたは他のプロセッサーをプログラムするために使用することができる、任意の種類のコンピューターコードまたは1組のコンピューター実行可能命令を指すための包括的な意味で本明細書において使用する。さらに、この実施形態の1つの側面によれば、実行されるときに本発明の方法を実行する1つまたは複数のコンピ
ュータープログラムは、単一のコンピューターもしくはプロセッサー上にある必要はなく、本発明の様々な態様を実施するためにいくつもの異なるコンピューターまたはプロセッサーの間でモジュール方式で分散させることができることを理解すべきである。
【0069】
[0076]コンピューター実行可能命令は、1台または複数台のコンピューターもしくは他のデバイスによって実行されるプログラムモジュールなど、多くの形態をなすことができる。概して、プログラムモジュールは、特定のタスクを実行しまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は、様々な実施形態で望まれるようにまとめ、または分散させることができる。
【0070】
[0077]また、データ構造は、任意の適切な形式でコンピューター可読媒体に記憶することができる。説明を簡単にするために、データ構造は、データ構造内の位置(location)により関係するフィールドを有するように示す場合がある。そのような関係は、フィールド間の関係を運ぶコンピューター可読媒体内の位置を有するフィールドに対し、記憶域を割り当てることにより同様に達成することができる。ただし、データ構造のフィールド内の情報間の関係を確立するために、データ要素間の関係を確立するポインター、タグ、または他の機構を使用することによるものを含む、任意の適切な機構を使用することができる。
【0071】
[0078]本発明の様々な態様は、単独で、組合せで、または上記に記載した諸実施形態では特に論じていない様々な構成で使用することができ、したがってその適用において、上記の説明に記載しまたは図面に示した詳細およびコンポーネントの構成に限定されることはない。例えば、ある実施形態で記載した態様を、他の実施形態で記載した態様と任意の方法で組み合わせることができる。
【0072】
[0079]また、本発明は方法として実施することができ、その例を示してきた。その方法の一環として実行される行為は、任意の適切な方法で順序付けることができる。したがって、図示するのとは異なる順序で行為が実行される実施形態を構築することができ、そのような実施形態は、説明のための実施形態では一連の行為として図示されていても、一部の行為を同時に実行することを含むことができる。
【0073】
[0080]請求項の要素を修飾するために、特許請求の範囲の中で「第1の」、「第2の」、「第3の」などの序数を表す用語を使用することは、ある請求項の要素に優先する別の請求項の要素のどんな優先順位、優先権もしくは順序、または方法の行為が実行される時間的順序もそれ自体では意味しないが、請求項の各要素を区別するために、特定の名前を有するある請求項の要素と、同じ名前を有する(が序数を表す用語を使用する)別の要素とを区別するための単なるラベルとして使用する。
【0074】
[0081]また、本明細書で使用した表記および用語は説明を目的としており、限定的であるとみなすべきでない。「含む(including)」、「備える(comprising)」や「有する(having)」、「含有する(containing)」、「伴う(involving)」、およびその改変形態を本明細書で使用することは、その後に列挙される項目およびその等価物ならびに追加項目を包含することを意図する。

【特許請求の範囲】
【請求項1】
ネットワーク境界を定義するネットワークファイアウォールを備えるネットワーク(200)に接続される場合に、クライアントデバイス(214、234)を動作させる方法であって、前記クライアントデバイス(214、234)が少なくとも第1のビヘイビアー(726)および第2のビヘイビアー(728)をサポートする、方法において、
ネットワークデバイス(352)への要求を導くステップ(712)であって、前記ネットワークデバイス(352)は、前記ネットワーク(200)に接続され、前記要求に対して少なくとも第1の応答(720)、または前記第1の応答(720)とは異なる第2の応答(730)を提供するようになされ、前記第1の応答は、前記ネットワーク(200)に接続される前記ネットワークファイアウォール内のクライアントデバイス(214)から前記要求が受信されるときに提供され、前記第2の応答(730)は、前記ネットワークファイアウォールの外側で、前記ネットワーク(200)に接続されるクライアントデバイス(234)から前記要求が受信されるときに提供される、要求を導くステップ(712)と、
前記第1の応答が検出されるとき、前記第1のビヘイビアー(726)に従って動作するよう前記クライアントデバイス(214)を構成するステップと、
前記第2の応答が検出されるとき、前記第2のビヘイビアー(728)に従って動作するよう前記クライアントデバイス(214)を構成するステップと
を含む、方法。
【請求項2】
前記第1の応答は、前記ネットワークデバイス(352)を認証する情報を、前記クライアントデバイス(214)が受信するときに検出され、
前記第2の応答は、ある間隔の間に、前記ネットワークデバイス(352)を認証する情報を、前記クライアントデバイス(234)が受信しないときに検出される、
請求項1に記載の方法。
【請求項3】
前記ネットワークデバイス(352)上で、
前記クライアントデバイス(214)から前記要求を受信するステップ(716)であって、前記要求は前記クライアントデバイス(214)のアドレスを含む、前記要求を受信するステップ(716)と、
前記クライアントデバイス(214)の前記アドレスが、物理的に前記ネットワーク(200)上にある位置、またはVPNを介して前記ネットワークに接続される位置を明らかにするとき、前記第1の応答を用いて応答するステップと、
前記クライアントデバイス(214)の前記アドレスが、前記ネットワークファイアウォール内ではない位置を明らかにするとき、前記第2の応答を用いて応答するステップと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記ネットワークデバイス(352)上で、
前記クライアントデバイス(214)から前記要求を受信するステップ(716)であって、前記要求は前記クライアントデバイス(214)のアドレスを含む、前記要求を受信するステップ(716)と、
前記クライアントデバイス(214)の前記アドレスが、物理的に前記ネットワーク(200)上にある位置を明らかにするとき、前記第1の応答を用いて応答するステップと、
前記クライアント(214)の前記アドレスが、物理的に前記ネットワーク(200)上にない位置、またはVPNを介して前記ネットワークに接続される位置を明らかにするとき、前記第2の応答を用いて応答するステップと
をさらに含む、請求項2に記載の方法。
【請求項5】
前記ネットワークデバイス(352)は第1のネットワークデバイス(352)を含み、前記ネットワーク(200)は第2のネットワークデバイス(442、652)を含む、請求項2に記載の方法であって、
前記第2のネットワークデバイス上で、
前記クライアントデバイス(214)から前記要求を受信するステップであって、前記要求は前記クライアントデバイス(214)のアドレスを含む、前記要求を受信するステップと、
前記クライアントデバイスの前記アドレスが、物理的にまたは仮想的に前記ネットワーク(200)上にある位置を明らかにするとき、前記要求を前記第1のネットワークデバイス(352)に提供するステップと、
前記クライアントデバイス(234)の前記アドレスが、前記ネットワークファイアウォール内ではない位置を明らかにするとき、前記要求が前記第1のネットワークデバイス(352)に到達するのをブロックするステップと
をさらに含む、方法。
【請求項6】
前記ネットワークデバイス(352)は第1のネットワークデバイス(352)を含み、前記ネットワーク(200)は第2のネットワークデバイス(542)を含む、請求項3に記載の方法であって、
前記第2のネットワークデバイス(542)上で、
前記第1のネットワークデバイス(352)から、前記要求に対する応答を受信するステップであって、前記応答は前記クライアントデバイス(214)のアドレスを含む、前記要求に対する応答を受信するステップと、
前記クライアントデバイス(214)の前記アドレスが、物理的に前記ネットワーク(200)上にある位置を明らかにするとき、前記クライアントデバイス(214)に前記応答を提供するステップと、
前記クライアントデバイス(214)の前記アドレスが、物理的に前記ネットワーク(200)上にない位置を明らかにするとき、前記応答が前記クライアントデバイス(214)に到達するのをブロックするステップと
をさらに含む、方法。
【請求項7】
前記ネットワーク(200)は、企業アドレスプレフィックスを有する企業ネットワーク(200)を含む、請求項1に記載の方法であって、
前記要求が、前記企業アドレスプレフィックスを含むソースアドレスによって明らかにされるとき、前記第1の応答を作成するステップと、
前記要求が、前記企業アドレスプレフィックスを有さないソースアドレスによって明らかにされるとき、前記第2の応答を作成するステップと
をさらに含む、方法。
【請求項8】
前記第1のビヘイビアー(726)に従って動作するよう前記クライアントデバイス(214、234)を構成する前記ステップは、前記第2のビヘイビアー(728)に従って動作するよう前記クライアントデバイス(214、234)が構成されるときよりも制限的でないポリシーでファイアウォールを構成するステップを含む、請求項7に記載の方法。
【請求項9】
ネットワーク(200)に接続されるようになされるクライアントデバイス214であって、
当該クライアントデバイス(214)上の動作に影響を与えるコンポーネントであって、前記コンポーネントは少なくとも第1の状態および第2の状態で動作可能である、コンポーネントと、
実行されるとき、
ネットワークデバイス(352)への要求を導くステップ(712)であって、前記要求はソースアドレス部分を含むソースアドレスを含み、前記ネットワークデバイス(352)は少なくとも第1の応答および第2の応答(730)を提供するようになされ、前記要求に対する前記第1の応答(720)は、前記ソースアドレス部分が、前記ネットワークを識別するネットワークアドレス部分に一致するときに提供され、前記要求に対する前記第2の応答(730)は、前記ソースアドレス部分が、前記ネットワークアドレス部分に一致しないときに提供される、要求を導くステップ(712)、
前記第1の応答が検出されるとき、前記コンポーネントを前記第1の状態(726)で動作するよう構成するステップ、および
前記第2の応答が検出されるとき、前記コンポーネントを前記第2の状態(728)で動作するよう構成するステップ
を含む方法を実行する、コンピューター実行可能命令と
を含む、コンピューター記憶域媒体
を含む、クライアントデバイス(214)。
【請求項10】
前記コンポーネントがファイアウォールを含む、請求項9に記載のクライアントデバイス(214)。
【請求項11】
前記コンピューター記憶域媒体が、前記ネットワークデバイス(352)のIDを記憶するようになされるフィールドをさらに含む、請求項9に記載のクライアントデバイス(214)。
【請求項12】
前記コンピューター記憶域媒体が、前記ネットワークデバイス(352)についての認証情報を記憶するようになされる少なくとも1つのフィールドをさらに含み、
前記コンピューター実行可能命令によって実行される前記方法は、前記認証情報を使用して応答が前記ネットワークデバイス(352)によって生成されたことを認証しようと試みることにより、前記応答が前記第1の応答かどうかを確かめるステップ(724)をさらに含む、
請求項11に記載のクライアントデバイス(214)。
【請求項13】
前記ネットワークデバイス(352)がサーバー(250)を含み、前記第1の応答がHTTPSページを含む、請求項9に記載のクライアントデバイス(214、234)。
【請求項14】
前記要求が送信された後の時間を指示するようになされるタイミングコンポーネントをさらに含み、
前記コンピューター実行可能命令によって実行される前記方法は、前記要求が送信された後の前記時間をもって前記第1の応答(720)が受信されないとき、前記第2の応答(730)を検出するステップ(722)をさらに含む、
請求項9に記載のクライアントデバイス(214、234)。
【請求項15】
前記クライアントデバイスが前記ネットワークに直接接続される場合に、および前記クライアントデバイスが前記ネットワークに間接的に接続される場合に、企業ネットワーク200にアクセスするためのコンポーネントをさらに含む、請求項9に記載のクライアントデバイス(214、234)。

【図1】
image rotate

【図7】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2012−507193(P2012−507193A)
【公表日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2011−533241(P2011−533241)
【出願日】平成21年10月15日(2009.10.15)
【国際出願番号】PCT/US2009/060876
【国際公開番号】WO2010/048031
【国際公開日】平成22年4月29日(2010.4.29)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
2.フロッピー
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】