(57)【特許請求の範囲】
【請求項１】
ネットワーク境界を定義するネットワークファイアウォールを備えるセキュリティーで保護されたネットワークに接続される場合に、クライアントデバイスを動作させる方法であって、前記クライアントデバイスが少なくとも第１のビヘイビアーおよび第２のビヘイビアーをサポートする、方法において、
ネットワークデバイスへの要求を導くステップであって、前記ネットワークデバイスは、前記セキュリティーで保護されたネットワークに接続され、前記要求に対して少なくとも第１の応答、または前記第１の応答とは異なる第２の応答を提供するようになされ、前記第１の応答は、前記セキュリティーで保護されたネットワークに接続される前記ネットワークファイアウォール内のクライアントデバイスから前記要求が受信されるときに提供され、前記第２の応答は、前記ネットワークファイアウォールの外側で、前記セキュリティーで保護されたネットワークに接続されるクライアントデバイスから前記要求が受信されるときに提供される、要求を導くステップと、
前記第１の応答が検出されるとき、前記セキュリティーで保護されたネットワークに接続中に前記第１のビヘイビアーに従って動作するよう前記クライアントデバイスを構成するステップであって、前記第１の応答は、前記ネットワークデバイスを認証する情報を、前記クライアントデバイスが受信するときに検出される、ステップと、
前記第２の応答が検出されるとき、前記セキュリティーで保護されたネットワークに接続中に前記第２のビヘイビアーに従って動作するよう前記クライアントデバイスを構成するステップであって、前記第２の応答は、ある間隔の間に、前記ネットワークデバイスを認証する情報を、前記クライアントデバイスが受信しないときに検出される、ステップと
を含む、方法。
【請求項２】
前記ネットワークデバイス上で、
前記クライアントデバイスから前記要求を受信するステップであって、前記要求は前記クライアントデバイスのアドレスを含む、前記要求を受信するステップと、
前記クライアントデバイスの前記アドレスが、物理的に前記セキュリティーで保護されたネットワーク上にある位置、またはＶＰＮを介して前記セキュリティーで保護されたネットワークに接続される位置を明らかにするとき、前記第１の応答を用いて応答するステップと、
前記クライアントデバイスの前記アドレスが、前記ネットワークファイアウォール内ではない位置を明らかにするとき、前記第２の応答を用いて応答するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ネットワークデバイス上で、
前記クライアントデバイスから前記要求を受信するステップであって、前記要求は前記クライアントデバイスのアドレスを含む、前記要求を受信するステップと、
前記クライアントデバイスの前記アドレスが、物理的に前記セキュリティーで保護されたネットワーク上にある位置を明らかにするとき、前記第１の応答を用いて応答するステップと、
前記クライアントの前記アドレスが、物理的に前記セキュリティーで保護されたネットワーク上にない位置、またはＶＰＮを介して前記セキュリティーで保護されたネットワークに接続される位置を明らかにするとき、前記第２の応答を用いて応答するステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ネットワークデバイスは第１のネットワークデバイスを含み、前記セキュリティーで保護されたネットワークは第２のネットワークデバイスを含む、請求項１に記載の方法であって、
前記第２のネットワークデバイス上で、
前記クライアントデバイスから前記要求を受信するステップであって、前記要求は前記クライアントデバイスのアドレスを含む、前記要求を受信するステップと、
前記クライアントデバイスの前記アドレスが、物理的にまたは仮想的に前記セキュリティーで保護されたネットワーク上にある位置を明らかにするとき、前記要求を前記第１のネットワークデバイスに提供するステップと、
前記クライアントデバイスの前記アドレスが、前記ネットワークファイアウォール内ではない位置を明らかにするとき、前記要求が前記第１のネットワークデバイスに到達するのをブロックするステップと
をさらに含む、方法。
【請求項５】
前記ネットワークデバイスは第１のネットワークデバイスを含み、前記セキュリティーで保護されたネットワークは第２のネットワークデバイスを含む、請求項２に記載の方法であって、
前記第２のネットワークデバイス上で、
前記第１のネットワークデバイスから、前記要求に対する応答を受信するステップであって、前記応答は前記クライアントデバイスのアドレスを含む、前記要求に対する応答を受信するステップと、
前記クライアントデバイスの前記アドレスが、物理的に前記セキュリティーで保護されたネットワーク上にある位置を明らかにするとき、前記クライアントデバイスに前記応答を提供するステップと、
前記クライアントデバイスの前記アドレスが、物理的に前記セキュリティーで保護されたネットワーク上にない位置を明らかにするとき、前記応答が前記クライアントデバイスに到達するのをブロックするステップと
をさらに含む、方法。
【請求項６】
前記セキュリティーで保護されたネットワークは、企業アドレスプレフィックスを有する企業ネットワークを含む、請求項１に記載の方法であって、
前記要求が、前記企業アドレスプレフィックスを含むソースアドレスによって明らかにされるとき、前記第１の応答を作成するステップと、
前記要求が、前記企業アドレスプレフィックスを有さないソースアドレスによって明らかにされるとき、前記第２の応答を作成するステップと
をさらに含む、方法。
【請求項７】
前記第１のビヘイビアーに従って動作するよう前記クライアントデバイスを構成する前記ステップは、前記第２のビヘイビアーに従って動作するよう前記クライアントデバイスが構成されるときよりも制限的でないポリシーでファイアウォールを構成するステップを含む、請求項６に記載の方法。
【請求項８】
セキュリティーで保護されたネットワークに接続されるようになされるクライアントデバイスであって、
当該クライアントデバイス上の動作に影響を与えるコンポーネントであって、前記コンポーネントは少なくとも第１の状態および第２の状態で動作可能である、コンポーネントと、
実行されるとき、
ネットワークデバイスへの要求を導くステップであって、前記要求はソースアドレス部分を含むソースアドレスを含み、前記ネットワークデバイスは少なくとも第１の応答および第２の応答を提供するようになされ、前記要求に対する前記第１の応答は、前記ソースアドレス部分が、前記セキュリティーで保護されたネットワークを識別するネットワークアドレス部分に一致するときに提供され、前記要求に対する前記第２の応答は、前記ソースアドレス部分が、前記ネットワークアドレス部分に一致しないときに提供される、要求を導くステップ、
前記第１の応答が検出されるとき、前記セキュリティーで保護されたネットワークに接続中に前記コンポーネントを前記第１の状態で動作するよう構成するステップであって、前記第１の応答は、前記ネットワークデバイスを認証する情報を、前記クライアントデバイスが受信するときに検出される、ステップ、および
前記第２の応答が検出されるとき、前記セキュリティーで保護されたネットワークに接続中に前記コンポーネントを前記第２の状態で動作するよう構成するステップであって、前記第２の応答は、ある間隔の間に、前記ネットワークデバイスを認証する情報を、前記クライアントデバイスが受信しないときに検出される、ステップ
を含む方法を実行する、コンピューター実行可能命令と
を含む、コンピューター記憶域媒体
を含む、クライアントデバイス。
【請求項９】
前記コンポーネントがファイアウォールを含む、請求項８に記載のクライアントデバイス。
【請求項１０】
前記コンピューター記憶域媒体が、前記ネットワークデバイスのＩＤを記憶するようになされるフィールドをさらに含む、請求項８に記載のクライアントデバイス。
【請求項１１】
前記コンピューター記憶域媒体が、前記ネットワークデバイスについての認証情報を記憶するようになされる少なくとも１つのフィールドをさらに含み、
前記コンピューター実行可能命令によって実行される前記方法は、前記認証情報を使用して応答が前記ネットワークデバイスによって生成されたことを認証しようと試みることにより、前記応答が前記第１の応答かどうかを確かめるステップをさらに含む、
請求項１０に記載のクライアントデバイス。
【請求項１２】
前記ネットワークデバイスがサーバーを含み、前記第１の応答がＨＴＴＰＳページを含む、請求項８に記載のクライアントデバイス。
【請求項１３】
前記要求が送信された後の時間を指示するようになされるタイミングコンポーネントをさらに含み、
前記コンピューター実行可能命令によって実行される前記方法は、前記要求が送信された後の前記時間をもって前記第１の応答が受信されないとき、前記第２の応答を検出するステップをさらに含む、
請求項８に記載のクライアントデバイス。
【請求項１４】
前記クライアントデバイスが前記セキュリティーで保護されたネットワークに直接接続される場合に、および前記クライアントデバイスが前記セキュリティーで保護されたネットワークに間接的に接続される場合に、企業ネットワークにアクセスするためのコンポーネントをさらに含む、請求項８に記載のクライアントデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]コンピューターネットワークは、多くの位置で情報の共有を可能にすることによりビジネスプロセスを合理化するので、企業によって広く使用されている。多くの場合、企業は自社の社員および他の許可されたパーティーに、それらのパーティーが企業の構内から離れた位置にいる場合にさえ、ネットワークアクセスを与える。
【０００２】
[0002]Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙサーバーと呼ばれることもある１つまたは複数のドメインコントローラーを使用することにより、許可されたパーティーにのみネットワークリソースへのアクセスを制限するよう、企業ネットワークを構成することができる。ドメインコントローラーは、ネットワークアクセスが付与されるべきユーザーを識別するよう、各ユーザーを認証することができる。場合によっては、複数のドメインコントローラーがあってよい。近くのドメインコントローラーへのネットワークに接続されるデバイスをマップするために、それぞれのドメインコントローラーは、ソースネットワークアドレスの範囲を識別するテーブルを有することができる。ドメインコントローラーがあるデバイスから要求を受信すると、そのドメインコントローラーは、そのデバイスの近くのドメインコントローラーを、そのデバイスのために明らかにすることにより応答することができる。
【０００３】
[0003]企業ネットワークへのリモートアクセスは、仮想プライベートネットワーク（ＶＰＮ）を介して提供することができる。許可されたユーザーによって操作されるコンピューターは、ＶＰＮを使い、そのリモートコンピューターが接続可能な公衆ネットワーク上で、ＶＰＮゲートウェイサーバーを介して企業ネットワークへのトンネルを確立する。ＶＰＮトンネルを介して接続されるコンピューターは企業ネットワークの一部分を構成するので、その後、そのコンピューターはその企業ネットワーク上のリソースを使用することができる。
【０００４】
[0004]自社の企業ネットワークへのリモートアクセスを許可する多くの企業では、ネットワークにアクセスするためにポータブルコンピューターが使用される。そのポータブルコンピューターは、企業ネットワークに物理的に接続可能な企業構内で使用することができる。またあるときには、そのポータブルコンピューターは、ＶＰＮを介してこのネットワークに論理的に接続される遠隔地に持って行くことができる。使い勝手のよさをもたらすために、そうしたコンピューターは、２つの異なるグループの設定を有するように構成することができ、その設定とはつまり、プライベート企業ネットワーク上での使用に適した１つの設定と、ＶＰＮトンネルを確立することができる公衆ネットワークにそのコンピューターが接続される場合の使用に適したもう１つの設定とである。これらの設定は、通常使うプリンター、ホームページ、クロック用のタイムゾーン設定、セキュリティー機能など、ポータブルコンピューターの動作に影響を与える場合がある。例えば、ポータブルコンピューターがネットワークに直接接続されるときに使用されるセキュリティー設定は、企業ネットワークのファイアウォールや他の保護コンポーネントに依拠することができ、したがって、より制限的でない。ポータブルコンピューターがＶＰＮを介して企業ネットワークに接続される場合、より制限的なセキュリティー構成を適用することができる。
【０００５】
[0005]適切なグループの設定を決定するために、ポータブルコンピューターは、ネットワークに対してそのコンピューターが有する接続の種類を指示可能な、ネットワーク位置認識コンポーネントを含むことができる。従来、ネットワーク位置は、ネットワーク上のドメインコントローラーに対して認証しようと試みることにより確かめられてきた。ポータブルコンピューターがドメインコントローラーに対して認証することができる場合、企業ネットワークに直接接続されるデバイスに適した設定でそのコンピューターを構成することができる。認証できない場合は、別の設定を使用することができる。
【０００６】
[0006]別の状況では、一部のコンピューターは、インターネットへの接続を自らが有するかどうかについての指示を表示する。コンピューターは、インターネット上の知られているサーバーに連絡しようと試みることにより、自らの接続状況を判断することができる
。コンピューターがサーバーから応答を受信する場合、そのコンピューターは自らがインターネットへの接続を有すると推論し、それに応じて指示を表示する。
【発明の概要】
【０００７】
[0007]本発明者らは、リモートコンピューターによるプライベートネットワークへの直接アクセスが、間もなく一般化し得ると認識し、理解している。ＶＰＮを使用せずにリモートアクセスが可能な場合、リモートデバイスは、プライベートネットワーク上のドメインコントローラーに対して認証することができる。
【０００８】
[0008]本発明者らは、ネットワーク位置の確実な指示としてドメインコントローラーに対して認証できることまたは認証できないことに依拠する、ネットワーク位置認識コンポーネントの動作を直接アクセスが変えることをさらに認識し、理解している。ドメインコントローラーに対して認証できることにより、ネットワーク位置の指示が単純に決定される場合、リモートデバイスがＶＰＮを使用せずネットワークに接続する事例は、クライアントがそのネットワークに物理的に接続される事例、またはそのネットワークにＶＰＮ接続を介して接続する事例と区別できない。それにもかかわらず、ユーザーまたはコンピューターの管理者は、これらの異なるシナリオにおいてリモートコンピューターが同じ設定を有することを期待しない、または望まない場合がある。
【０００９】
[0009]適切な設定を維持するために、プライベートネットワークは、クライアントデバイスのネットワークアドレスの一部分に応じてクライアントデバイスからの要求に対して様々な応答を作成する、１つまたは複数のデバイスを用いて構成することができる。第１の応答は、ネットワークファイアウォール内のネットワークに物理的に接続されることを指示するネットワークアドレスを有するクライアントデバイスから、要求が受信されるときに作成することができる。別の第２の応答は、ネットワークファイアウォール内のネットワークに接続されないリモートデバイスであることを指示するネットワークアドレスを有するクライアントデバイスから、要求が受信されるときに作成することができる。そしてことによると第３の応答は、ＶＰＮを使用することによりネットワークファイアウォール内に接続されるリモートクライアントデバイスから要求が受信されるときに作成することができる。だが一部の実施形態によれば、この第３のシナリオでは、第１の応答を生成するようにネットワークを代わりに構成することができる。さらに他の実施形態では、この第３のシナリオにおいて、第２の応答を生成するようにネットワークを代わりに構成することができる。特定の構成に関係なく、クライアントデバイスによって受信される応答の性質に基づき、クライアントデバイスは適切な構成を選択することができる。
【００１０】
[0010]上記の内容は、添付の特許請求の範囲によって定義される、本発明の非限定的な概要である。
[0011]添付図面は、縮尺通りに描くことを意図するものではない。これらの図面では、様々な図面に示すそれぞれの同一のまたはほぼ同一のコンポーネントを同様の数字によって表す。明瞭にするために、すべての図面において、すべてのコンポーネントにラベル付けできるわけではない。
【図面の簡単な説明】
【００１１】
【図１】[0012]ネットワーク位置決定を行うことができる環境を示す、従来のコンピューティングデバイスの図である。
【図２】[0013]プライベートネットワークへの直接アクセスが提供される従来のネットワーク環境の略図である。
【図３】[0014]ネットワーク位置決定に有用な応答を提供するように構成されるプライベートネットワークの略図である。
【図４】[0015]ネットワーク位置決定に有用な情報を提供するように構成されるプライベートネットワークの代替的実施形態の略図である。
【図５】[0016]ネットワーク位置決定に有用な情報を提供するように構成されるプライベートネットワークの代替的実施形態の略図である。
【図６】[0017]ネットワーク位置決定に有用な情報を提供するように構成されるプライベートネットワークの代替的実施形態の略図である。
【図７】[0018]ネットワーククライアント、およびネットワーク位置決定を行うように構成されるネットワークデバイスの動作の方法についての流れ図である。
【発明を実施するための形態】
【００１２】
[0019]企業ネットワーク、エンタープライズネットワーク、または他のプライベートネットワークにアクセスするように構成されるコンピューターでは、そのネットワーク上のデバイスと通信しようと試みるよう、そのコンピューターを構成することにより、改善されたネットワーク位置認識を実現することができる。そのデバイスを、ネットワークへの接続の性質に応じて各デバイスに対して異なるように応答するよう構成することにより、コンピューターはその応答に基づいて自らの位置に関する有用な情報を得ることができる。例えば、物理接続またはＶＰＮを介してプライベートネットワークに接続されるコンピューターは、プライベートネットワークの外側にあるがインターネットなどの公衆ネットワークを使用するリモートアクセス機構を介してそのプライベートネットワークに接続されるデバイスとは異なる応答を経験することができる。
【００１３】
[0020]直接ネットワークアクセスが利用可能であり、かつ一部の従来型ネットワーク位置決定手法にはコンピューターがプライベートネットワークに直接接続されていると誤って指示させるようなやり方で、プライベートネットワーク上のドメインコントローラーに対してコンピューターが認証できるようにする場合にも、この情報は正確である。適切なセキュリティー構成を選択するためにこの位置情報が使用される場合、より優れたセキュリティーがコンピューターに提供される。例えば、コンピューターを様々なセキュリティー状態で動作するように構成することができ、そのコンピューターが企業構内のプライベートネットワークに物理的に接続され、したがってファイアウォールの背後にある場合、そのセキュリティー状態のうちの１つが使用に適する。コンピューターがセキュリティーで保護されたＶＰＮトンネルを介してプライベートネットワークに仮想的に接続されるシナリオでは、別のセキュリティー状態が適する場合がある。コンピューターが物理的に、またはＶＰＮトンネルを介して仮想的にプライベートネットワーク上に直接なく、したがってそのプライベートネットワークのファイアウォールによって保護されない、さらに別のシナリオを適用することができる。そのようなセキュリティー状態は、任意の適切な方法で実施することができる。場合によってはこれらのセキュリティー状態は、様々な構成をサポートする、コンピューター上のファイアウォールによって実施される。ネットワークに直接接続されない場合、このファイアウォールはより制限的な構成を有することができる。対照的に、コンピューターがネットワークに直接接続される場合、より制限的でないファイアウォール構成を備えることができる。同様に、コンピューターの位置に基づいて他の設定が選択される場合、位置をより正確に決定することは、それらの設定の自動化された選択をもたらして、より望ましいユーザーエクスペリエンスを提供することができる。
【００１４】
[0021]応答を促す要求を発行したコンピューターの位置に基づいて異なる応答を生成するように１つまたは複数のデバイスを構成するのに、いくつかの手法のうちのいずれかが適している。一部の実施形態では、コンピューターの位置を明らかにするために、ネットワークパケットの特定の到着インターフェイスを使用することができる。他の実施形態では、コンピューターの位置を明らかにするために、ネットワークパケットのヘッダー内の情報を使用することができる。例えば、要求または応答を含むパケットヘッダー内のネットワークアドレスは、そのネットワークアドレスがスプーフィングされていないことを知るための何らかの方法をネットワークデバイスが有する場合、要求を発行するコンピューターがネットワーク上に物理的にあるかどうかをそのネットワークデバイスが判定することを可能にすることができる。具体例として、ＴＣＰ接続を成功裏に確立できることにより、コンピューターがそのアドレス宛てのパケットを受信できることを示すと、そのアドレスのネットワークプレフィックス部分はそのコンピューターの位置を指示することができる。
【００１５】
[0022]そのようなパケットが、ネットワークファイアウォールの背後にあるデバイスまたはネットワークファイアウォールの外側にあるデバイスから受信されたこと、もしくは
それらのデバイス宛てであることを指示するネットワークプレフィックスを有するかどうかに基づいて異なるように応答するよう、そのようなパケットを処理する任意の適切な１つまたは複数のデバイスを構成することができる。一部の実施形態では、要求がネットワーク上のサーバーに宛てられる場合がある。そのサーバーは、今日のドメインコントローラーの場合などのように、その要求を発行するコンピューターの位置に応じて異なる応答を作成するようにプログラムすることができる。他の実施形態では、要求に返信するサーバーへのまたはサーバーからのパケットを処理する１つもしくは複数の媒介デバイスが、その要求を発行するコンピューターの位置に応じて異なるように動作することができる。例えばファイアウォールなどの媒介デバイスは、要求を発行したコンピューターに関連する、パケットのヘッダー内のネットワークプレフィックスに基づき、要求または返信を含むそれらのパケットを選択的にブロックすることができる。
【００１６】
[0023]一部の実施形態の上記の概要から、１つまたは複数のコンピューターデバイスをプログラミングすることに基づいて諸実施形態を構築できることを当業者なら理解することができる。例示的実施形態の構造および動作についてのより詳細な説明を行う前に、コンピューティングデバイスの中に存在し得るコンポーネントの概要を提供する。
【００１７】
[0024]図１は、本発明の一部の実施形態を実施する際に使用することができる適切なコンピューティングシステム環境１００の一例を示す。このコンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能性の範囲に関する任意の限定を提案することを意図するものではない。コンピューティング環境１００は、例示的動作環境１００の中に示すコンポーネントのうちのいずれか１つまたは組合せに関係するいかなる依存性もしくは要件を有すると解釈すべきでもない。
【００１８】
[0025]図１を参照すると、本発明を実施するための例示的システムは、コンピューター１１０の形態をとる汎用コンピューティングデバイスを含む。コンピューター１１０のコンポーネントには、処理ユニット１２０、システムメモリー１３０、および処理ユニット１２０へのシステムメモリーを含む様々なシステムコンポーネントを結合するシステムバス１２１が含まれ得るが、これだけに限定されない。システムバス１２１は、様々なバスアーキテクチャーのうちのいずれかを使用する、メモリーバスまたはメモリーコントローラー、周辺機器用バス、およびローカルバスを含む、数種類のバス構造のうちのいずれかとすることができる。限定ではなく例として、そのようなアーキテクチャーには、業界標準アーキテクチャー（ＩＳＡ）バス、マイクロチャネルアーキテクチャー（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子装置規格化協会（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られているＰｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスが含まれる。
【００１９】
[0026]コンピューター１１０は、典型的には様々なコンピューター可読媒体を含む。コンピューター可読媒体は、コンピューター１１０によってアクセス可能な任意の利用可能な媒体とすることができ、揮発性／不揮発性媒体、リムーバブル／固定型媒体の両方を含む。限定ではなく例として、コンピューター可読媒体にはコンピューター記憶域媒体および通信媒体が含まれてよい。コンピューター記憶域媒体は、コンピューター可読命令、データ構造、プログラムモジュールや他のデータなどの情報を記憶するための任意の方法または技術により実施される、揮発性／不揮発性媒体、リムーバブル／固定型媒体の両方を含む。コンピューター記憶域媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリーや他のメモリー技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）や他の光ディスク記憶域、磁気カセット、磁気テープ、磁気ディスク記憶域や他の磁気記憶装置、または所望の情報を記憶するために使用することができ、かつコンピューター１１０によってアクセス可能な他の任意の媒体が含まれるが、これだけに限定されない。通信媒体は、典型的にはコンピューター可読命令、データ構造、プログラムモジュール、または搬送波や他のトランスポート機構などの変調データ信号内の他のデータを具体化し、任意の情報配信媒体を含む。用語「変調データ信号」は、信号内の情報をエンコードするような方法で、その特性の１つまたは複数が設定されまたは変更される信号を意味する。限定ではなく例として、通信媒体は、ワイヤードネットワークや直接ワイヤード接続などのワイヤー
ド媒体、およびアコースティック、ＲＦ、赤外線や他のワイヤレス媒体などのワイヤレス媒体を含む。上記のものの任意の組合せも、コンピューター可読媒体の範囲に含まれるべきである。
【００２０】
[0027]システムメモリー１３０は、読み取り専用メモリー（ＲＯＭ）１３１やランダムアクセスメモリー（ＲＡＭ）１３２など、揮発性メモリーおよび／または不揮発性メモリーの形態をとるコンピューター記憶域媒体を含む。起動中などにコンピューター１１０内の各要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、典型的にはＲＯＭ１３１に記憶される。ＲＡＭ１３２は、典型的には、処理ユニット１２０がすぐにアクセス可能でありかつ／または現在操作しているデータおよび／もしくはプログラムモジュールを含む。限定ではなく例として、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２１】
[0028]コンピューター１１０は、他のリムーバブル／固定型、揮発性／不揮発性コンピューター記憶域媒体を含むこともできる。ほんの一例として、図１は、固定型の不揮発性磁気媒体との間で読み書きを行うハードディスクドライブ１４１、リムーバブル不揮発性磁気ディスク１５２との間で読み書きを行う磁気ディスクドライブ１５１、およびＣＤ  ＲＯＭや他の光媒体などのリムーバブル不揮発性光ディスク１５６との間で読み書きを行う光ディスクドライブ１５５を示す。例示的動作環境において使用可能な他のリムーバブル／固定型、揮発性／不揮発性コンピューター記憶域媒体には、磁気テープカセット、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ等が含まれるが、これだけに限定されない。ハードディスクドライブ１４１は、インターフェイス１４０などの固定型メモリーインターフェイスを介してシステムバス１２１に典型的には接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、インターフェイス１５０などのリムーバブルメモリーインターフェイスにより、システムバス１２１に典型的には接続される。
【００２２】
[0029]上記で論じ、図１に示す各ドライブおよびそれらの関連するコンピューター記憶域媒体は、コンピューター１１０用のコンピューター可読命令、データ構造、プログラムモジュール、および他のデータの記憶域を提供する。例えば図１では、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するように示される。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じでも異なってもよいことに留意されたい。図１では、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７に異なる番号を与え、少なくともそれらが異なるコピーであることを示す。ユーザーは、キーボード１６２や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス１６１などの入力デバイスを使い、コンピューター１１０にコマンドおよび情報を入力することができる。他の入力デバイス（不図示）には、マイク、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナーなどが含まれ得る。これらのおよび他の入力デバイスは、多くの場合、システムバスに結合されるユーザー入力インターフェイス１６０を介して処理ユニット１２０に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェイスおよびバス構造によって接続されてもよい。モニター１９１または他の種類のディスプレイデバイスも、ビデオインターフェイス１９０などのインターフェイスを介してシステムバス１２１に接続される。このモニターに加え、コンピューターは、出力周辺機器用インターフェイス１９５を介して接続することができる、スピーカー１９７やプリンター１９６などの他の周辺出力デバイスも含むことができる。
【００２３】
[0030]コンピューター１１０は、リモートコンピューター１８０などの１台または複数台のリモートコンピューターへの論理接続を使用する、ネットワーク化された環境内で動作することができる。リモートコンピューター１８０は、パーソナルコンピューター、サ
ーバー、ルーター、ネットワークＰＣ、ピアデバイス、または他のよくあるネットワークノードとすることができ、典型的にはコンピューター１１０に関連して上記に記載した要素の多くまたはすべてを含むが、図１にはメモリー記憶装置１８１だけ示す。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含むこともできる。そうしたネットワーキング環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、およびインターネットにおいてありふれたものである。
【００２４】
[0031]ＬＡＮネットワーキング環境で使用される場合、コンピューター１１０は、ネットワークインターフェイスまたはアダプター１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピューター１１０は、典型的にはモデム１７２、またはインターネットなどのＷＡＮ１７３を介して通信を確立するための他の手段を含む。内蔵型または外付け型とすることができるモデム１７２は、ユーザー入力インターフェイス１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピューター１１０またはコンピューター１１０の一部に関連して示すプログラムモジュールは、リモートメモリー記憶装置に記憶することができる。限定ではなく例として、図１はリモートアプリケーションプログラム１８５を、メモリーデバイス１８１上にあるものとして示す。図示するネットワーク接続は例示的であり、コンピューター間の通信リンクを確立する他の手段が使用されてよいことが理解されよう。
【００２５】
[0032]図２は、本発明を実施することができるネットワーク化されたコンピューティング環境を示す。このネットワーク化されたコンピューティング環境は、企業イントラネットなど、セキュリティーで保護されたネットワーク２００とすることができるネットワークを含む。セキュリティーで保護されたネットワーク２００は、セキュリティーで保護されたネットワーク２００に物理的に接続されるネットワーク化されたコンピューティングデバイスを含むことができる。セキュリティーで保護されたネットワーク２００に対するネットワーク化されたコンピューティングデバイスの物理接続は、任意の適切なコンピューター通信媒体（例えばワイヤード通信やワイヤレス通信）を介して行うことができ、本発明はこの点において限定されない。そのようなネットワーク化されたコンピューティングデバイスの１つが、ドメインコントローラー２１０として機能することができるコンピューターである。ドメインコントローラーは知られており、ドメインコントローラー２１０は、当技術分野で知られている技法を使用して実装することができる。ただし、ドメインコントローラー２１０を構築するために、任意の適切な技法を使用することができる。ドメインコントローラー２１０の一例は、Ｗｉｎｄｏｗｓ  ２００３  Ｓｅｒｖｅｒオペレーティングシステム上でＡｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙを実行する、コンピューティングシステム１００などのコンピューターである。
【００２６】
[0033]別のネットワーク化されたコンピューティングデバイスは、ＤＮＳサービスを実行するデバイスの任意の組合せなど、ネームサーバー２１２として機能するコンピューターとすることができる。ネームサーバーも当技術分野で知られており、ネームサーバー２１２は知られている技法を使用して実装することができる。ただし、ネームサーバー２１２を実装するために、任意の適切な技法を使用することができる。代替的技法の一例として、ネームサービスがドメインコントローラー２１０と同じコンピューター上に実装され得る可能性がある。
【００２７】
[0034]このセキュリティーで保護されたネットワークは、ドメインコントローラー２１０やネームサーバー２１２などの、セキュリティーで保護されたネットワーク２００内のコンピューティングリソースにアクセスすることができる、セキュリティーで保護されたネットワーク２００に物理的に接続されるユーザークライアントコンピューター２１４も含むことができる。クライアントコンピューター２１４は、セキュリティーで保護されたネットワーク２００を提供する企業の構内にあってよい。そのようなシナリオでは、企業の構内にあるネットワークアクセスポイントへのワイヤード接続またはワイヤレス接続により、接続側クライアント２１４による物理接続を実現することができる。ただし、セキ
ュリティーで保護されたネットワーク２００への物理接続を実現するための任意の適切な機構を使用することができる。
【００２８】
[0035]図２に示すシナリオでは、クライアント２１４がドメインコントローラー２１０に対して認証した。したがって、クライアント２１４は、セキュリティーで保護されたネットワーク２００上のリソースを利用することができる。コンピューティングリソースへのユーザークライアント２１４のアクセスを、クライアント２１４とドメインコントローラー２１０との間のリンク２２０や、クライアント２１４とネームサーバー２１２との間のリンク２２２などの双方向ネットワークリンクによって示す。
【００２９】
[0036]図２のネットワーク化されたコンピューティング環境は、セキュリティーで保護されたネットワーク２００が接続される他のネットワークも含むことができる。図２は、一例としてインターネット２３０を示す。インターネット２３０には、ユーザークライアントコンピューター２３４などのリモートコンピューティングデバイスが接続することができる。ここでは、クライアントコンピューター２３４は、ラップトップコンピューティングデバイスまたは他のモバイルコンピューティングデバイスとすることができる。したがって、クライアント２３４とクライアント２１４とを別個のデバイスとして示すが、リモートクライアント２３４は、別の時間に別の位置で操作されることを除き、クライアント２１４と同じデバイスとすることができる。例えば、クライアント２１４は、セキュリティーで保護されたネットワーク２００を運用する企業の従業員により就業時間中にオフィス内で使用されるモバイルコンピューターを表すことができる。リモートクライアント２３４は、就業時間後に使用するために、その従業員により、その従業員の自宅に移動される同一のモバイルコンピューターとすることができる。
【００３０】
[0037]クライアント２１４および２３４を実装するために使用される特定のハードウェアに関係なく、図２によって示す環境は複数のデバイスをサポートすることができ、それらのデバイスのうちのどれもが、ネットワークファイアウォールの内側でまたはネットワークファイアウォールの外側で、セキュリティーで保護されたネットワーク２００に接続することができる。クライアントは、セキュリティーで保護されたネットワーク２００上の他のデバイスへの、アクセスポイント、ルーター、スイッチ、ハブ、セキュアトンネル、または他のネットワーク要素を介した直接接続（ワイヤード接続、ワイヤレス接続、または他の任意の適切な媒体を介した接続）により、ファイアウォールの内側に接続され得る。クライアントは、インターネット２３０または他の外部ネットワークを介した通信を使用するリモートアクセス機構を使用し、ファイアウォールの外側で、セキュリティーで保護されたネットワーク２００にリモート接続され得る。
【００３１】
[0038]このネットワーク化されたコンピューティング環境は、セキュリティーで保護されたネットワーク２００とインターネット２３０との間の限られたネットワーク通信を可能にする、セキュリティーで保護されたネットワーク２００用の非武装地帯（ＤＭＺ）２４０も含む。ＤＭＺ２４０は、ファイアウォールなど、許可されていないトラフィックをブロックするコンポーネント、および一部のトラフィックを通過させる他のコンポーネントを含むことができる。ＤＭＺ２４０は、直接アクセスサーバー２５０として機能するコンピューティングシステムなど、ネットワーク化されたコンピューティングデバイスを含むことができる。図示の実施形態では、直接アクセスサーバー２５０はルーターとして実装することができる。クライアントコンピューター２３４など、セキュリティーで保護されたネットワーク２００に物理的に接続されないクライアントは、ＶＰＮを使用せずに通信するための直接アクセスサーバー２５０を介し、ドメインコントローラー２１０やネームサーバー２１２などの、セキュリティーで保護されたネットワーク内のコンピューティングリソースに接続することができる。セキュリティーで保護されたネットワーク内のコンピューティングリソースへのユーザークライアント２３４のアクセスを、クライアント２３４とドメインコントローラー２１０との間のリンク２６０や、クライアント２３４とネームサーバー２１２との間のリンク２６２など、直接アクセスサーバー２５０を通過する双方向ネットワークリンクによって示す。図示のように、クライアント２３４などのリモートクライアントは、クライアント２１４など、セキュリティーで保護されたネットワ
ーク２００に物理的に接続されるコンピューターと同じ、セキュリティーで保護されたネットワーク２００上のネットワークリソースにアクセスすることができる。
【００３２】
[0039]その結果、クライアント２３４は、クライアント２１４のようにドメインコントローラー２１０に対して認証することができる。クライアント２３４が、ドメインコントローラー２１０に対して認証できることに基づいて自らのセキュリティー状態を確立する場合、クライアント２３４は、同じ方法で自らのセキュリティー状態を構成することができるクライアント２１４とは異なるセキュリティーリスクを有し得る。クライアント２１４が、悪意のあるサードパーティーによって使用される可能性のあるインターネット２３０上の他のデバイスからＤＭＺ２４０によって分離される一方、クライアント２３４は分離されない。したがって、セキュリティーで保護されたネットワーク２００上の他のすべてのデバイスは信頼済みであるとみなされるので、クライアント２１４はより制限的でないセキュリティー設定を適宜使用することができるのに対し、クライアント２３４が、同じより制限的でない設定を使用する場合、クライアント２３４はインターネット２３０に接続されるデバイスからのリスクにさらされる。したがって一部の実施形態では、たとえクライアント２３４がドメインコントローラー２１０に対して認証しても、クライアント２３４のセキュリティー状態は、クライアント２３４がドメインコントローラー２１０に対して認証できることとは無関係である、クライアント２３４のネットワーク位置についての判断に基づいて確立することができる。
【００３３】
[0040]ネットワーク位置に基づいて選択することができる設定の一例として、クライアントのセキュリティー関連アクションを確立する設定を使用するが、他の種類の設定も同様に選択することができる。例えば、クライアント２３４がネットワーク位置に基づいて他の任意の種類の設定を確立する場合、正確なネットワーク位置決定がなければ、クライアント２３４は間違って機能するかまたはユーザーが期待するものと反して機能する可能性がある。したがって、ネットワーク位置に基づく任意の設定の選択を改善するために、本明細書に記載する技法を適用することができる。
【００３４】
[0041]図３は、図２の環境と同様のネットワーク化されたコンピューティング環境を示す。図３のＤＭＺ２４０は、ＶＰＮゲートウェイサーバーをさらに組み込む。ＶＰＮゲートウェイサーバーは、当技術分野で知られているようにＶＰＮゲートウェイの機能性を提供するコンピューティングデバイスである。さらに、ＶＰＮクライアントが、インターネット２３０に物理的に接続される。クライアントコンピューター２３４のように、ＶＰＮクライアントは、ラップトップコンピューティングデバイスまたは他のモバイルコンピューティングデバイスとすることができる。ＶＰＮゲートウェイサーバーは、ＶＰＮゲートウェイサーバーとＶＰＮクライアントとの間にセキュアトンネルを確立することにより、ＶＰＮクライアントなど、セキュリティーで保護されたネットワーク２００に物理的に接続されないコンピューターが、セキュリティーで保護されたネットワークに対して仮想接続を確立することを可能にする。ＶＰＮゲートウェイサーバーによりセキュアトンネルが確立されると、ＶＰＮクライアントは、ネットワークファイアウォール内のセキュリティーで保護されたネットワーク２００に仮想的に接続され、セキュリティーで保護されたネットワーク２００の一論理部分を構成する。
【００３５】
[0042]図３は、ユーザークライアント２１４、ユーザークライアント２３４、ＶＰＮクライアントなどのコンピューティングデバイスが、自らがセキュリティーで保護されたネットワーク２００に直接接続されているかどうかを確実に判断できるようにするための機構も組み込む。このネットワーク化されたコンピューティング環境は、セキュリティーで保護されたネットワーク２００に接続されるコンピューティングデバイス上で実行され、ネットワーク位置認識に使用される、ＨＴＴＰＳサービス３５２などのネットワークサービスをさらに含む。ＨＴＴＰＳサービス３５２の実装形態の例は、Ａｐａｃｈｅ  ＨＴＴＰサーバーや、Ｍｉｃｒｏｓｏｆｔインターネットインフォメーションサービスである。この実施形態では、ＨＴＴＰＳサービス３５２は、直接アクセスサーバー２５０上で実行されるが、このＨＴＴＰＳサービス３５２は、セキュリティーで保護されたネットワーク２００に接続される任意のコンピューティングデバイス上で実行されてよい。セキュリティーで保護されたプロトコルの一例としてＨＴＴＰＳを使用するが、ある実施形態では、セキュリティーで保護されたプロトコルを用いる任意のサービスを使用することができ、ＨＴＴＰＳは一例に過ぎないことを理解すべきである。
【００３６】
[0043]直接アクセスサーバー２５０は、プライベートインターフェイス３５４およびパブリックインターフェイス３５６の、２つのネットワークインターフェイスを備える。プライベートインターフェイス３５４は、直接アクセスサーバー２５０と、ユーザークライアント２１４やＶＰＮクライアントなどの、セキュリティーで保護されたネットワークに直接接続されるネットワーク化されたコンピューティングデバイスとの間の接続を提供する。パブリックインターフェイス３５６は、直接アクセスサーバーと、ユーザークライアント２３４などの、セキュリティーで保護されたネットワーク２００の外側にあるネットワーク化されたコンピューティングデバイスとの間の接続を提供する。図示の実施形態では、パブリックインターフェイス３５６およびプライベートインターフェイス３５４は、ネットワーククライアントが、自らの位置に応じて特定の要求に対して異なる応答を認識するよう構成される。例えば、セキュリティーで保護されたネットワーク２００に物理的に接続されるクライアント２１４は、パブリックインターフェイス３５６およびプライベートインターフェイス３５４のアクションのために、特定の要求に対してクライアント２３４とは異なる応答を認識する。このインターフェイス３５４および３５６は、プライベートインターフェイス３５４を介して通信するクライアントはＨＴＴＰＳサービス３５２と通信できるが、パブリックインターフェイス３５６を介して通信するクライアントはＨＴＴＰＳサービス３５２と通信できないように構成される。クライアント２３４と、セキュリティーで保護されたネットワーク２００に接続される他のネットワーク化されたコンピューティングデバイスとの間の他のネットワーク通信は、パブリックインターフェイス３５６を通過することを許される。したがってこの実施形態では、クライアント２１４およびＶＰＮクライアントは、ＨＴＴＰＳサービス３５２に送信された要求に対する返信を受信する。対照的に、クライアント２３４は、ＨＴＴＰＳサービス３５２に送信された要求に対する返信を受信しない。このようにして、各クライアントは、返信が受信されるかどうかに応じて異なる応答を認識することができる。
【００３７】
[0044]図３では、ネットワーク化されたコンピューティングデバイスが互いに通信できることまたは通信できないことを、単方向ネットワークリンクまたは双方向ネットワークリンクによって示す。パブリックインターフェイス３５６および直接アクセスサーバー２５０を通過する双方向リンクは、クライアント２３４とドメインコントローラー２１０との間のリンク２６０や、クライアント２３４とネームサーバー２１２との間のリンク２６２など、セキュリティーで保護されたネットワーク２００内のネットワーク化されたコンピューティングリソースと通信できることを示す。同様に、プライベートインターフェイス３５４および直接アクセスサーバー２５０を通過する双方向リンク３８４は、ユーザークライアント２１４とＨＴＴＰＳサービス３５２との間の接続性を示す。同じように、セキュアトンネル、ＶＰＮゲートウェイサーバー、直接アクセスサーバー２５０、およびプライベートインターフェイス３５４を通過する双方向リンクは、ＶＰＮクライアントとＨＴＴＰＳサービス３５２との間で通信できることを示す。その一方で、ユーザークライアント２３４とＨＴＴＰＳサービス３５２との間の単方向リンク３７４は、パブリックインターフェイス３５６を通過せず、ＨＴＴＰＳサービス３５２に対してパブリックインターフェイスを介して通信できないことを示す。
【００３８】
[0045]クライアント２１４やＶＰＮクライアントなど、ネットワークファイアウォール内のセキュリティーで保護されたネットワーク２００に接続されるクライアントディレクトリーは、ＨＴＴＰＳサービス３５２に対してプライベートインターフェイス３５４を介して通信することができ、したがって、ＨＴＴＰＳサーバー３５２に対して要求を出し、返信を受信することができる。ＨＴＴＰＳサーバー３５２からの返信に基づき、クライアント２１４またはＶＰＮクライアントは、自らがセキュリティーで保護されたネットワークに直接接続されていることを判断し、それに応じて自らのセキュリティーポリシーを設定することができる。その一方で、クライアント２３４など、セキュリティーで保護されたネットワーク２００に直接接続されないクライアントは、ＨＴＴＰＳサービス３５２に対してパブリックインターフェイス３５６を介して通信することができず、したがって、ＨＴＴＰＳサーバー３５２に要求を出すことも返信を受信することもできない。ＨＴＴＰＳサーバー３５２から返信がないことに基づき、クライアント２３４は、自らがセキュリティーで保護されたネットワーク２００に直接接続されていないという判断を下すことができ、自らがセキュリティーで保護されたネットワーク２００に直接接続される場合よりもさらに制限的であるように、自らのセキュリティーポリシーを構成することができる。
【００３９】
[0046]図３の実施形態では、セキュリティーで保護されたネットワーク２００に物理的に接続されないが、セキュリティーで保護されたネットワーク２００に仮想接続を介して直接接続される、ＶＰＮクライアントなどのコンピューティングデバイスは、ＨＴＴＰＳサービス３５２と通信するためにプライベートインターフェイス３５４を介して接続することができる。したがってこの実施形態では、ＶＰＮクライアントは、ＨＴＴＰＳサービス３５２に送信された要求に対する返信を受信する。しかし、他の実施形態は、セキュリティーで保護されたネットワーク２００に仮想的に接続されるが、物理的に接続されないコンピューティングデバイスを別様に処理することができる。例えば別の実施形態では、プライベートインターフェイス３５４は、ＶＰＮクライアントとＨＴＴＰＳサービス３５２との間の通信を許可しないことができる。この場合、ＶＰＮクライアントは、ＨＴＴＰＳサービス３５２に送信された要求に対する返信を受信せず、クライアント２３４のように、自らがセキュリティーで保護されたネットワーク２００に物理的に接続される場合よりもさらに制限的であるように、自らのセキュリティーポリシーを構成することを決定することができる。さらに別の実施形態では、プライベートインターフェイス３５４は、ＨＴＴＰＳサービス３５２とＶＰＮクライアントとの間の通信を許可することができるが、ユーザークライアント２１４に提供する応答とは異なる種類の応答をＶＰＮクライアントに提供するよう、ＨＴＴＰＳサービス３５２を構成することができる。この他の種類の応答は、ＶＰＮクライアントが、クライアント２１４によって適用されるセキュリティー設定よりもさらに制限的だが、クライアント２３４によって適用されるセキュリティー設定よりも制限的でないセキュリティー設定など、第３の種類の設定を適用すべきことを判断できるようにする。
【００４０】
[0047]プライベートインターフェイス３５４は、当技術分野で知られているような技法を使用して実装することができる。パブリックインターフェイス３５６も同様に、知られているインターフェイス技法を使用して実装することができる。ただし、パブリックインターフェイス３５６は、リモートクライアントからの通信をブロックするように修正することができる。任意の適切なブロック機構を使用することができる。例えば、パブリックインターフェイス３５６は、パケットヘッダー内に含まれる宛先アドレスに基づきネットワークパケットをブロックする、フィルタリングコンポーネントで構成することができる。例えば、パブリックインターフェイス３５６は、ＨＴＴＰＳサービス３５２への宛先アドレスを含むすべての受信パケットをブロックすることができる。ただし、他の実装形態もあり得る。例えば、パブリックインターフェイス３５６は、パケットがＨＴＴＰＳサービス３５２によって生成されたことを指示するソースアドレスを含む任意の送信パケットをブロックしてもよい。
【００４１】
[0048]図３に示す実施形態では、パブリックインターフェイス３５６は、クライアント２３４などのリモートクライアントとＨＴＴＰＳサービス３５２との間で交換されるすべてのパケットをブロックする。そのような実装形態は、リモートクライアントがアクセスすることを目的とする機能を、ＨＴＴＰＳサービス３５２が実行しない場合に適切であり得る。リモートクライアントとＨＴＴＰＳサービス３５２との間でいくらかの相互作用が意図される場合の実施形態では、パケット内の情報の性質に基づいてパケットをフィルターするよう、パブリックインターフェイス３５６のフィルタリングコンポーネントをさらに構成することができる。例えば、リモートクライアントが自らのネットワーク位置を決
定できるようにすることをとりわけ目的とする要求に対して応答を提供するよう、ＨＴＴＰＳサービス３５２を構成することができる。パケット内に含まれる情報の性質を明らかにするパケットの一部を調べるよう、パブリックインターフェイス３５６のフィルタリングコンポーネントを構成することができる。そのような調査に基づき、このフィルタリングコンポーネントは、ネットワーク位置を決定する際に使用するための要求または返信を含むパケットだけの伝送をブロックすることができる。
【００４２】
[0049]位置認識に使用されるＨＴＴＰＳサービス３５２などのネットワークサービスは、クライアント２１４、クライアント２３４、ＶＰＮクライアントなど、ネットワークサービスのクライアントがサービスのＩＤまたはセキュリティー資格情報を検証し、そのクライアントが、そのサービスから受信した返信を信頼すべきかどうかの判断を下せるようにするためにセキュリティーで保護される。例えば、一部の実施形態では、ＨＴＴＰＳサービス３５２の返信は、ＨＴＴＰＳサービスのＩＤを含むＳＳＬ証明書を含むことができ、クライアント２１４など、そのサービスのクライアントは、ＨＴＴＰＳサービス３５２からの返信を信頼するかどうか判定するためにそのＳＳＬ証明書を検証することができる。クライアント２１４がＨＴＴＰＳサービス３５２からの返信を信頼すべきと判定する場合、クライアント２１４は、自らがセキュリティーで保護されたネットワーク２００に物理的に接続されているとみなし、それに応じて自らのセキュリティー設定をより制限的でない状態に実施することができる。その一方で、クライアント２１４がＨＴＴＰＳサービス３５２によって返されるＳＳＬ証明書を検証することができない場合、クライアント２１４は、サービス３５２から返信を受信していないとみなし、自らがセキュリティーで保護されたネットワーク２００に直接接続されていないとみなし、より制限的なセキュリティー設定を実施することができる。
【００４３】
[0050]図４は、ネットワーク位置決定をサポートするために他の一部の実施形態に従って構成される、図２の環境と同様のネットワーク化されたコンピューティング環境を示す。図４の実施形態では、ＤＭＺ２４０が、ファイアウォール４４２として機能することができるネットワークデバイスをさらに組み込む。ファイアウォール４４２は、セキュリティーで保護されたネットワーク２００の外側にあるデバイスから、ＤＭＺ２４０内またはセキュリティーで保護されたネットワーク２００内のコンピューティングデバイスへのネットワーク通信を解析し、そうした一部の通信を許可し、または許可しないことができる。具体的には、ファイアウォール４４２は、クライアント２３４など、セキュリティーで保護されたネットワークの外側にあるデバイスからＨＴＴＰＳサービス３５２への通信を許可しないことができるが、クライアント２３４など、セキュリティーで保護されたネットワークの外側にあるデバイスから、ドメインコントローラー２１０やネームサーバー２１２など、セキュリティーで保護されたネットワークの内側にある他のネットワーク化されたコンピューティングリソースへの通信を許可することができる。双方向リンク２６０および２６２によって見てとれるように、ファイアウォール４４２は、クライアント２３４とドメインコントローラー２１０との間の通信、およびクライアント２３４とネームサーバー２１２との間の通信をそれぞれ許可する。その一方で、クライアント２３４からＨＴＴＰＳサービス３５２への単方向リンク３７４はファイアウォール４４２によってブロックされ、ＨＴＴＰＳサービス３５２に接続できないことを示す。図３に関連して上記で論じたように、ファイアウォール４４２は、リモートデバイスからＨＴＴＰＳサービス３５２へのすべての通信をブロックすることができる。しかし、ネットワーク位置を決定するためにＨＴＴＰＳサービス３５２に対する特定の種類の要求への応答が使用される実施形態では、そのような要求を含むパケットだけブロックするようにファイアウォール４４２を構成することができる。
【００４４】
[0051]図５は、図４に示す実施形態と同様の、本発明の代替的実施形態を示す。図５の実施形態では、ＤＭＺ２４０が、ファイアウォール５４２として機能することができるネットワーク化されたデバイスを組み込む。ファイアウォール４４２と同様に、ファイアウォール５４２は、セキュリティーで保護されたネットワーク２００の外側にあるデバイスから、ＤＭＺ２４０内またはセキュリティーで保護されたネットワーク２００内のコンピ
ューティングデバイスへのネットワーク通信を解析し、そうした一部の通信を許可し、または許可しないことができる。しかし、ファイアウォール５４２は、ファイアウォール４４２とは異なるセキュリティー設定で構成することができる。具体的には、ファイアウォール５４２は、クライアント２３４など、セキュリティーで保護されたネットワークの外側にあるデバイスからＨＴＴＰＳサービス３５２への受信通信を許可することができるが、ＨＴＴＰＳサービス３５２からクライアント２３４への送信通信を許可しないまたはブロックすることができる。ファイアウォール４４２と同様に、ファイアウォール５４２は、クライアント２３４など、セキュリティーで保護されたネットワーク２００の外側にあるデバイスと、ドメインコントローラー２１０やネームサーバー２１２など、セキュリティーで保護されたネットワークの内側にある他のネットワーク化されたコンピューティングリソースとの間の双方向通信を許可することができる。双方向リンク２６０および２６２によって見てとれるように、ファイアウォール５４２は、クライアント２３４とドメインコントローラー２１０との間の通信、およびクライアント２３４とネームサーバー２１２との間の通信をそれぞれ許可する。クライアント２３４からの単方向リンク３７４は、ファイアウォール５４２を通過してＨＴＴＰＳサービス３５２に到達する。しかし、ＨＴＴＰＳサービス３５２からクライアント２３４への単方向リンク５７６は、ファイアウォール５４２によってブロックされるものとして示す。図４に関連して論じたように、ネットワーク位置を決定するためにＨＴＴＰＳサービス３５２に対する特定の種類の要求への応答が使用される実施形態では、そのような応答を含むパケットだけブロックするようにファイアウォール５４２を構成することができる。クライアント２３４によって受信されるＨＴＴＰＳサービス３５２からの返信がないことは、自らがセキュリティーで保護されたネットワーク２００に直接接続されていないと判断するためにクライアント２３４によって使用され得る。
【００４５】
[0052]図６は、ネットワーク位置決定をサポートするために一部の代替的実施形態に従って構成される、図２の環境と同様のネットワーク化されたコンピューティング環境を示す。ＨＴＴＰＳサービスは、ネットワークアドレスフィルター６５２などのフィルターをさらに組み込む。パブリックインターフェイス３５６のフィルタリングコンポーネントに関して図３で論じたのと同様に、ネットワークアドレスフィルターは、ＨＴＴＰＳサービス３５２への要求のパケットヘッダー内に含まれるソースネットワークアドレスに関する情報に基づき、そうした要求をブロックするよう構成することができる。例えば、ネットワークアドレスフィルター６５２は、ＨＴＴＰＳサービス３５２への要求内に含まれるソースネットワークアドレスの一部を調べて、そのソースネットワークアドレスが、セキュリティーで保護されたネットワーク２００のネットワークアドレスの範囲内にあるかどうか判定することができる。例えばソースネットワークアドレスがＩＰｖ６ネットワークアドレスの場合、ネットワークアドレスフィルターは、そのソースアドレスが、セキュリティーで保護されたネットワークのプレフィックス範囲内にあることを確認することができる。
【００４６】
[0053]返信の性質を判断するために使用される基準の例としてネットワークアドレスを使用するが、応答の性質を判断するために他の基準を使用してもよい。例えば、要求がパブリックインターフェイスを介して受信されたか、プライベートインターフェイスを介して受信されたかに応じて、返信は異なることができる。さらに、様々な応答の例として返信を発行することおよび返信を発行しないことを使用するが、これらも様々な応答の例に過ぎない。別の例として、あらゆる場合において返信を発行するが、ネットワーク位置に応じて異なる返信用の形式を使用することにより、様々な応答を生成することができる。一例として、返信は、そのクライアントのネットワークアドレスまたはネットワーク位置を指示することができる。また、上記に記載した実施形態では、ネットワークに直接接続され、または間接的に接続されるクライアントからの要求に対する返信を同一のデバイスが生成する。そのようなアーキテクチャーは必須ではない。例えば、直接接続されるクライアントからの要求を、ある種の返信を発行するあるデバイスにルートすることができる一方、直接接続されないクライアントからの要求は、異なる種類の返信を発行する別のデ
バイスにルートすることができる。
【００４７】
[0054]図６に示す実施形態では、クライアント２１４はセキュリティーで保護されたネットワーク２００に物理的に接続され、したがって、ＩＰｖ６アドレス指定がセキュリティーで保護されたネットワーク２００によって使用される場合、クライアント２１４のネットワークアドレスは、そのセキュリティーで保護されたネットワークのプレフィックス範囲内にある。クライアント２３４はネットワーク２００に物理的に接続されないので、クライアント２３４のネットワークアドレスは、そのセキュリティーで保護されたネットワークのプレフィックス範囲内にない。ネットワークアドレスフィルター６５２は、それらのクライアントの要求を調べ次第、クライアント２３４からＨＴＴＰＳサービス３５２への要求をブロックするが、クライアント２１４からＨＴＴＰＳサービス３５２への要求を許可することができる。
【００４８】
[0055]前の記載にあるように、ネットワーク化されたコンピューティングデバイスが互いに通信できることまたは通信できないことを、単方向ネットワークリンクまたは双方向ネットワークリンクによって示す。直接アクセスサーバー２５０を通過する双方向リンクは、クライアント２３４とドメインコントローラー２１０との間のリンク２６０や、クライアント２３４とネームサーバー２１２との間のリンク２６２など、セキュリティーで保護されたネットワーク２００内のネットワーク化されたコンピューティングリソースと通信できることを示す。同様に、ネットワークアドレスフィルター６５２および直接アクセスサーバー２５０を通過する双方向リンク３６４は、ユーザークライアント２１４とＨＴＴＰＳサービス３５２との間の接続性を示す。その一方で、ユーザークライアント２３４とＨＴＴＰＳサービス３５２との間の単方向リンク３７４は、ネットワークアドレスフィルター６５２を通過せず、クライアント２３４からＨＴＴＰＳサービス３５２への要求をブロックするためにネットワークアドレスフィルター６５２によってとられるアクションを示す。
【００４９】
[0056]この実施形態では、前の実施形態において上記でも論じたように、ＨＴＴＰＳサービス３５２からの返信がないことは、クライアント２３４などの要求側が、自らがセキュリティーで保護されたネットワーク２００に直接接続されていないという判断を下し、それに応じて自らのセキュリティー設定をより制限的な状態に設定することを可能にすることができる。
【００５０】
[0057]図７は、クライアント２１４または２３４についての前の実施形態などのネットワーククライアント７００、および前に論じた実施形態におけるＨＴＴＰＳサービス３５２などのＨＴＴＰＳサービス７０２を実行するデバイスなど、ネットワーク位置決定を実行するように構成されるネットワークデバイスの動作の方法についての流れ図を示す。
【００５１】
[0058]最初は、クライアント７００は自らのネットワーク位置が分からず、ブロック７０１で、セキュリティーで保護されたネットワークに直接接続されないクライアントに適した既定の設定を適用することができる。セキュリティーポリシーに関して、例えばクライアントは、自らが動作する可能性がある最も安全でない位置に適した設定を適用する。
【００５２】
[0059]ステップ７０４で、クライアント７００は、ドメインコントローラー２１０などのドメインコントローラーに対して自らを認証することができる。この認証は、直接アクセスサーバー２５０などの直接アクセスサーバーを介して接続することにより行うことができ、またはクライアントが、セキュリティーで保護されたネットワーク２００などのセキュリティーで保護されたネットワークに物理的に接続され、もしくはＶＰＮを介してなど仮想的に接続される場合は直接行うことができる。
【００５３】
[0060]ステップ７０６で、クライアント７００は、自らに提供（ｐｒｏｖｉｓｉｏｎ）されたＨＴＴＰＳサービス７０２の名前を取得する。例えば、クライアント７００は、セキュリティーで保護されたネットワーク２００などのセキュリティーで保護されたネットワークに物理的に接続されていたときに、ＨＴＴＰＳサービス７０２の名前を以前に提供されている可能性がある。その時点で、ステップ７０６にあるように後で取得するために、クライアント上のコンピューター記憶域媒体上に提供された名前がローカルで記憶されている可能性がある。
【００５４】
[0061]ステップ７１２で、クライアント７００は、ＨＴＴＰＳサービス７０２にＨＴＴＰＳ要求を発行する。ステップ７１４で、クライアント７００は、ＨＴＴＰＳサービス７０２からの返信を所定の期間待つ。
【００５５】
[0062]上記に記載した機構のうちの１つにより、クライアント７００からの要求がＨＴＴＰＳサービス７０２に到達するのをブロックされなかった場合、ステップ７１６で、ＨＴＴＰＳサービス７０２はクライアントの要求を受信する。ステップ７１８で、ネットワークアドレスフィルター６５２などのフィルターが、そのクライアントのネットワークアドレスの一部を調べて、そのクライアントのネットワークアドレスが、セキュリティーで保護されたネットワーク２００などのセキュリティーで保護されたネットワークの範囲内にあるかどうか判定する。そのネットワークアドレスがセキュリティーで保護されたネットワークの範囲内にない場合、図７のプロセスはステップ７１８から終了ブロック７３０に分岐し、そのクライアントはＨＴＴＰＳサービス７０２から返信を受信しない。その一方で、クライアント７００のネットワークアドレスがセキュリティーで保護されたネットワークの範囲内にある場合、ステップ７２０で、ＨＴＴＰＳサービス７０２はクライアント７００に応答することができ、その応答は、ＳＳＬ証明書を含むセキュリティーで保護された応答とすることができる。いずれの場合にも、この時点でＨＴＴＰＳサービス７０２はクライアント７００の要求を処理し終え、終了ブロック７３０に進む。
【００５６】
[0063]だが一部の実施形態では、ＨＴＴＰＳサービス７０２が、要求を発行するクライアントのネットワーク位置に関係なく応答するが、クライアントの位置に応じて異なる種類の応答を用いて応答することが望ましい場合があることを理解すべきである。そのような実施形態では、クライアントの位置に関係なく応答が生成される場合、ステップ７１４の待機時間を減らすことができる。
【００５７】
[0064]図７のプロセスは、クライアントが所定の期間内にＨＴＴＰＳサービス７０２から任意の応答を受信したかどうかに応じて、ステップ７２２で分岐する。図３〜図６に示す実施形態のうちの１つによりクライアント７００の要求または返信がブロックされた場合にそうであり得るように、クライアント７００が返信を受信していない場合、クライアント７００はステップ７２８に進み、このステップ７２８では、クライアント７００は、自らがセキュリティーで保護されたネットワーク２００などのセキュリティーで保護されたネットワークに物理的に接続されていないという判断を下し、それに応じて自らの設定をその既定の状態のままにしておく。例えば、セキュリティーポリシーは、より制限的な状態に設定されたままである。
【００５８】
[0065]クライアント７００がＨＴＴＰＳサービス７０２から応答を受信した場合、ステップ７２４で、クライアント７００は、ＳＳＬ証明書など、ＨＴＴＰＳサービス７０２のＩＤまたはセキュリティー資格情報を検証する。クライアント７００が、ＨＴＴＰＳサービス７０２から受信したＳＳＬ証明書を成功裏に検証できない場合、クライアント７００はステップ７２８に進み、上記に説明したように、自らがセキュリティーで保護されたネットワーク２００などのセキュリティーで保護されたネットワークに物理的に接続されていないという判断を下す。クライアントは、それに応じて自らのポリシーを設定し、例えば自らのセキュリティーポリシーをより制限的な状態に設定する。
【００５９】
[0066]クライアント７００が、ＨＴＴＰＳサービス７０２から受信したＳＳＬ証明書を成功裏に検証する場合、クライアント７００はステップ７２６に進む。この時点で、クライアントは、自らがセキュリティーで保護されたネットワーク２００などのセキュリティーで保護されたネットワークに物理的に接続されていると判断することができる。クライアントは、それに応じて自らのポリシーを設定し、例えば自らのセキュリティーポリシーをより制限的でない状態に設定する。
【００６０】
[0067]こうして本発明の少なくとも１つの実施形態のいくつかの側面を説明し終え、当業者なら様々な変更形態、修正形態、および改善形態を容易に思いつくことが理解される。
【００６１】
[0068]そうした変更形態、修正形態、および改善形態は本開示の一部であることが意図され、本発明の趣旨および範囲に含まれることが意図される。したがって上記の説明およ
び図面は例に過ぎない。
【００６２】
[0069]上記に記載した本発明の実施形態は、数多くの方法のうちのいずれかによって実施することができる。例えば、これらの実施形態は、ハードウェア、ソフトウェア、またはその組合せを使用して実装することができる。ソフトウェアによって実装されるとき、そのソフトウェアコードは、単一のコンピューターの中に設けられるにせよ、複数のコンピューターの間で分散されるにせよ任意の適切なプロセッサーまたはプロセッサーの集まりの上で実行することができる。
【００６３】
[0070]さらに、コンピューターは、ラックマウント式コンピューター、デスクトップコンピューター、ラップトップコンピューター、タブレットコンピューターなど、いくつかの形態のうちのいずれかによって実施できることを理解すべきである。さらに、コンピューターは、ＰＤＡ（携帯情報端末）、スマートフォン、または他の任意の適切なポータブル／固定電子デバイスを含む、概してコンピューターとみなされていないが適切な処理能力を備えるデバイスに埋め込むことができる。
【００６４】
[0071]また、コンピューターは、１つまたは複数の入出力デバイスを有することができる。これらのデバイスは、とりわけユーザーインターフェイスを提示するために使用することができる。ユーザーインターフェイスを提供するために使用することができる出力デバイスの例には、出力を視覚的に提示するためのプリンターやディスプレイ画面、および出力を可聴的に提供するためのスピーカーや他の音声を発生させるデバイスが含まれる。ユーザーインターフェイスに使用することができる入力デバイスの例には、キーボードや、マウス、タッチパッド、デジタイジングタブレットなどのポインティングデバイスが含まれる。別の例として、コンピューターは、音声認識によりまたは他の可聴形式で入力情報を受け取ることができる。
【００６５】
[0072]そうしたコンピューターは、エンタープライズネットワークやインターネットなど、ローカルエリアネットワークまたはワイドエリアネットワークを含む、任意の適切な形態の１つまたは複数のネットワークによって相互接続することができる。そうしたネットワークは任意の適切な技術に基づくことができ、任意の適切なプロトコルに従って動作することができ、ワイヤレスネットワーク、ワイヤードネットワーク、または光ファイバーネットワークを含むことができる。
【００６６】
[0073]また、本明細書で概説した様々な方法またはプロセスは、多岐にわたるオペレーティングシステムまたはプラットフォームのいずれか１つを使用する、１個または複数個のプロセッサー上で実行可能なソフトウェアとしてコード化することができる。さらに、そうしたソフトウェアはいくつかの適切なプログラミング言語および／またはプログラミングツールもしくはスクリプトツールのいずれかを使用して書くことができ、実行可能な機械言語コードまたはフレームワークもしくは仮想マシン上で実行される中間コードとしてコンパイルすることもできる。
【００６７】
[0074]この点で、本発明は、１つまたは複数のコンピューターもしくは他のプロセッサー上で実行されるとき、上記で論じた本発明の様々な実施形態を実施する方法を実行する、１つまたは複数のプログラムを用いてエンコードされるコンピューター可読媒体（または複数のコンピューター可読媒体）（例えば、コンピューターメモリー、１つまたは複数のフロッピーディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリー、書替え可能ゲートアレイや他の半導体デバイス内の回路構成、または他の有形コンピューター記憶域媒体）として実施することができる。この１つまたは複数のコンピューター可読媒体は可搬式とすることができ、そのためその上に記憶される１つまたは複数のプログラムを、１台または複数台の別のコンピューターもしくは他のプロセッサー上にロードして、上記で論じた本発明の様々な態様を実施することができる。
【００６８】
[0075]用語「プログラム」または「ソフトウェア」は、上記で論じた本発明の様々な態様を実施するようコンピューターまたは他のプロセッサーをプログラムするために使用することができる、任意の種類のコンピューターコードまたは１組のコンピューター実行可能命令を指すための包括的な意味で本明細書において使用する。さらに、この実施形態の１つの側面によれば、実行されるときに本発明の方法を実行する１つまたは複数のコンピ
ュータープログラムは、単一のコンピューターもしくはプロセッサー上にある必要はなく、本発明の様々な態様を実施するためにいくつもの異なるコンピューターまたはプロセッサーの間でモジュール方式で分散させることができることを理解すべきである。
【００６９】
[0076]コンピューター実行可能命令は、１台または複数台のコンピューターもしくは他のデバイスによって実行されるプログラムモジュールなど、多くの形態をなすことができる。概して、プログラムモジュールは、特定のタスクを実行しまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は、様々な実施形態で望まれるようにまとめ、または分散させることができる。
【００７０】
[0077]また、データ構造は、任意の適切な形式でコンピューター可読媒体に記憶することができる。説明を簡単にするために、データ構造は、データ構造内の位置（ｌｏｃａｔｉｏｎ）により関係するフィールドを有するように示す場合がある。そのような関係は、フィールド間の関係を運ぶコンピューター可読媒体内の位置を有するフィールドに対し、記憶域を割り当てることにより同様に達成することができる。ただし、データ構造のフィールド内の情報間の関係を確立するために、データ要素間の関係を確立するポインター、タグ、または他の機構を使用することによるものを含む、任意の適切な機構を使用することができる。
【００７１】
[0078]本発明の様々な態様は、単独で、組合せで、または上記に記載した諸実施形態では特に論じていない様々な構成で使用することができ、したがってその適用において、上記の説明に記載しまたは図面に示した詳細およびコンポーネントの構成に限定されることはない。例えば、ある実施形態で記載した態様を、他の実施形態で記載した態様と任意の方法で組み合わせることができる。
【００７２】
[0079]また、本発明は方法として実施することができ、その例を示してきた。その方法の一環として実行される行為は、任意の適切な方法で順序付けることができる。したがって、図示するのとは異なる順序で行為が実行される実施形態を構築することができ、そのような実施形態は、説明のための実施形態では一連の行為として図示されていても、一部の行為を同時に実行することを含むことができる。
【００７３】
[0080]請求項の要素を修飾するために、特許請求の範囲の中で「第１の」、「第２の」、「第３の」などの序数を表す用語を使用することは、ある請求項の要素に優先する別の請求項の要素のどんな優先順位、優先権もしくは順序、または方法の行為が実行される時間的順序もそれ自体では意味しないが、請求項の各要素を区別するために、特定の名前を有するある請求項の要素と、同じ名前を有する（が序数を表す用語を使用する）別の要素とを区別するための単なるラベルとして使用する。
【００７４】
[0081]また、本明細書で使用した表記および用語は説明を目的としており、限定的であるとみなすべきでない。「含む（ｉｎｃｌｕｄｉｎｇ）」、「備える（ｃｏｍｐｒｉｓｉｎｇ）」や「有する（ｈａｖｉｎｇ）」、「含有する（ｃｏｎｔａｉｎｉｎｇ）」、「伴う（ｉｎｖｏｌｖｉｎｇ）」、およびその改変形態を本明細書で使用することは、その後に列挙される項目およびその等価物ならびに追加項目を包含することを意図する。
【図１】
0005535229.tif 000002
【図３】
0005535229.tif 000003
【図７】
0005535229.tif 000004
【図２】
0005535229.tif 000005
【図４】
0005535229.tif 000006
【図５】
0005535229.tif 000007
【図６】
0005535229.tif 000008