(57)【特許請求の範囲】
【請求項１】
クライアントコンピュータの健全性に基づいてネットワークアクセスを選択的に許可するサーバ（１１２）に、健全性ステートメント（２４０）を、提供するように構成されたクライアントコンピュータ（１１０Ａ）を操作する方法であって、
第２のサーバ（１５０）に対して前記クライアントコンピュータを認証すること（４１２）と、
前記クライアントコンピュータがネットワークへのアクセスを認証されることを示す認証情報を、前記クライアントコンピュータが前記第２サーバ（１５０）から取得すること（４１４，４３４）と、
前記認証情報を含めるように健全性ステートメントをフォーマットすること（４１６）と、
前記健全性ステートメントを、ネットワークアクセスへの要求に関連して、前記サーバ（１１２）に提供すること（４１８）であって、前記サーバ（１１２）が、前記健全性ステートメントに基づいて前記ネットワークへのアクセスを認証するように構成されることと、
を含むことを特徴とする方法。
【請求項２】
前記サーバは、健全性ポリシーサーバ（１１２）を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記認証情報は、セキュリティトークン（３１２，３６２）を備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記セキュリティトークンは、Ｘ．５０９証明書（３１２，３６２）を備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記第２のサーバからの前記セキュリティトークンを受信すること（４１４）と、
をさらに含むことを特徴とする請求項３に記載の方法。
【請求項６】
請求項１に記載の方法であって、
前記クライアントコンピュータのウイルス対策ソフトウェアの構成を示すウイルス対策構成情報（３２４）を生成することをさらに含み、
前記健全性ステートメント（３２０）をフォーマットすることは、前記ウイルス対策構成情報を含めるように健全性ステートメントをフォーマットする、こと、をさらに含む、
ことを特徴とする、方法。
【請求項７】
ユーザの前記クライアントコンピュータ（４６０）とのユーザ対話を監視することと、
ユーザ対話が、閾値を超えている期間、検出されないとき、前記クライアントコンピュータの前記健全性ステートメントが変化したという表示を前記サーバに送信すること（４６２）と、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
ネットワークログオフ（４６０）を示すユーザ入力を受信することと、
前記ユーザ入力に応答して、前記クライアントコンピュータの前記健全性ステートメントが変化したという表示を前記サーバに送信すること（４６２）と、
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
１つまたは複数の健全性ステートメントエージェント（２１６Ａ，２１６Ｂ，２１６Ｃ）からインタフェース（２３０）を介して情報を取得し、前記健全性ステートメントを検証し、前記健全性ステートメントが検証されると、ネットワークへのアクセスを許可するように適合される健全性ポリシーサーバ（１１２）に健全性ステートメント（２４０）を送信するように適合されるクライアント健全性アクセスエージェント（２１０）を含むクライアント健全性エンフォースメントフレームワークを備えて構成されたクライアントコンピュータ（１１０Ａ）であって、
前記クライアントコンピュータの前記ネットワークへのアクセスを認証し前記クライアントコンピュータの認証状態を示す情報を、前記インタフェースを介して前記クライアント健全性アクセスエージェントに提供する、コンピュータ記憶媒体に記憶されたコンピュータ実行可能命令を含む認証エージェント（２１４）をさらに含み、
前記クライアント健全性アクセスエージェントは、認証情報を含む健全性ステートメント（３２０）を前記健全性ポリシーサーバに送信し、
前記認証エージェント（７１０）が、第２のサーバ（１５０）において認証することによって、前記クライアントコンピュータを認証するように適合される、
ことを特徴とするクライアントコンピュータ。
【請求項１０】
前記クライアント健全性エンフォースメントフレームワークは、タイムアウトするアクセスを許可するように構成され、前記クライアント健全性アクセスエージェントは、前記認証がタイムアウトすると、前記１つまたは複数の健全性ステートメントエージェント（２１６Ａ，２１６Ｂ，２１６Ｃ）の各々と、前記認証エージェント（２１４）とに、状態情報をポーリングするように適合されたことを特徴とする請求項９に記載のクライアントコンピュータ。
【請求項１１】
前記認証エージェントは、前記クライアント健全性アクセスエージェント（２１０）が状態情報をポーリングすることに応答して、前記クライアントコンピュータを再認証するように適合されたことを特徴とする請求項１０に記載のクライアントコンピュータ。
【請求項１２】
前記１つまたは複数の健全性ステートメントエージェント（２１６Ａ，２１６Ｂ，２１６Ｃ）は、それぞれ、前記インタフェース（２３０）を介して健全性状態変更の表示を通信するように適合され、
前記クライアント健全性アクセスエージェントは、前記インタフェースを介した健全性状態変更の表示に応答して、健全性状態の変更を前記健全性ポリシーサーバ（１１２）に通信するようになされ、
前記認証エージェントは、閾値を超える期間、ユーザが活動しないことを検出するのに応答して、前記インタフェース（２３０）を介して健全性状態変更の表示を通信するように適合された、
ことを特徴とする請求項１０に記載のクライアントコンピュータ。
【請求項１３】
前記認証エージェントは、ネットワークログオフを示すユーザ入力に応答して、前記インタフェースを介して健全性状態変更の表示を通信するように、さらに適合されたことを特徴とする請求項１２に記載のクライアントコンピュータ。
【請求項１４】
前記１つまたは複数の健全性ステートメントエージェントは、前記クライアントコンピュータ上で実行するウイルス対策ソフトウェアの構成を示すように適合されたウイルス対策エージェントを含むことを特徴とする請求項１３に記載のクライアントコンピュータ。
【発明の詳細な説明】
【背景技術】
【０００１】
大抵のプライベートネットワークにおいて、クライアントコンピュータは、ネットワークのリソースへのアクセスを許可される前に、何らかの形の認証を求められる。クライアントコンピュータは、そのコンピュータ、またはコンピュータのユーザが認証情報を提供すると、認証されるようにしてよく、認証情報は、１つまたは複数の「要素」に基づいてよい。要素は、スマートカードなどのユーザが所有するもの、パスワードなどのユーザが知っているもの、または指紋や瞼の読み取りなどのユーザの属性であってよい。認証に必要なこれらの要素の数は、不適切にアクセスを許可してしまう危険、またはクライアントコンピュータがネットワークへのアクセスを認められない可能性に応じて決めてよい。
【０００２】
認証情報は、これらの要素の１つまたは複数に直接基づいてよい。別の場合には認証情報は、これらの要素の１つまたは複数に間接的に由来してよい。クライアントコンピュータはこれらの要素の１つまたは複数をネットワーク管理者が信頼するソースに提供してよく、ソースは有効なクライアントとしてデバイスを識別し、証明書を発行してよい。証明書は、単独または他の要素と共にクライアントコンピュータを認証してよい。情報の取得方法にかかわらず、情報はアクセス制御機構が、クライアントが認証できる場合のみアクセスを許可するように、クライアントコンピュータとアクセス制御機構との間のやり取りの一部として用いてよい。
【０００３】
様々な機構を採用して、クライアントにアクセスを許可するか拒否するかの判断を行ってよい。典型的には認証プロセスに続いて、追加のパラメータと共に認証情報を用いて許可プロセスを行い、特定のクライアントのアクセス権を判断する。ネットワークの具体的な機構は、ネットワークのトランスポート層の実装に応じて決めてよい。一般的にはクライアントが認証されると、トランスポート層はクライアントへのメッセージまたはクライアントからのメッセージをルーティングする。認証されていないデバイスに関しては、物理的にネットワークに接続しても、トランスポート層はデバイスへのメッセージまたはデバイスからのメッセージを伝えない。
【０００４】
ネットワーク管理者にとってのここまでは関連のない第２の課題は、「クライアント健全性エンフォースメント」である。この文脈においては、「健全性」はデバイスの保護コンポーネントの構成を示す。保護コンポーネントは、ウイルス対策ソフトウェアやファイアウォールなどのソフトウェアツールとすることができる。あるいは保護コンポーネントは、ファイル管理システムや他のオペレーティングシステムコンポーネントの脆弱性を修正するパッチなどオペレーティングシステムの一部でとすることができる。コンポーネントの健全性を定義する構成情報は、コンポーネントに設定された動作パラメータなどのデータに加えて、動作可能か使用不可かなどのコンポーネントの動作状態を含んでよい。保護コンポーネントを備えていないクライアントコンピュータ、または不適切に構成された、もしくは無効な保護コンポーネントは、コンピュータウイルスに感染するリスクがあり、ネットワークにリスクをもたらす悪意の当事者の攻撃にさらされる。
【０００５】
ウイルスに感染したコンピュータがネットワークへのアクセスを許されると、ウイルスはネットワーク、特にプライベートネットワーク中に容易に広がる。プライベートネットワークは、一般的にそのネットワーク外部からの攻撃を防ぐように構成される。プライベートネットワークは、一般的にネットワーク上のデバイスからの脅威に対しては、それほどの防御を備えていない。なぜならネットワーク上のクライアントは全て信頼でき、信頼されたデバイス内で情報が自由に流れることが望まれることを前提としているからである。デバイスの健全性が損なわれているために、外部の当事者の攻撃にさらされるデバイスは、悪意の当事者がプライベートネットワークの至る所にアクセスするルートになる可能性がある。従って「健全性」が損なわれたクライアントデバイスは、排除またはプライベートネットワークへの制限したアクセスのみ与えてよい。
【０００６】
このような理由のために、多くのプライベートネットワークは、なんらかの形のクライアント健全性エンフォーメントを使用する。一例として本件出願人は、ネットワークアクセスプロテクション（商標）という健全性エンフォースメントフレームワークを提供している。このフレームワークを使ったネットワークにおいては、たとえデバイスをネットワークに認証しても、そのデバイスが健全性ポリシーサーバに受諾可能な健全性ステートメントを提供しない限り最初はアクセスを許可されない、または引き続きネットワークにアクセスすることができない。
【０００７】
健全性ステートメントは、クライアントデバイスの保護コンポーネントの構成を示す。健全性ステートメントがそのデバイスがネットワークポリシーに適合していることを示すと、健全性ポリシーサーバは、そのデバイスにアクセスを許可してよいことをネットワークアクセス制御機構に示してよい。他方健全性ステートメントがネットワークポリシーに適合していない場合、健全性ポリシーサーバは、ネットワークアクセス制御機構にそのデバイスにアクセスを許可しないように示す。アクセスを拒否されたデバイスに対しては、健全性ポリシーサーバは、またクライアントが自身で修正できるように、クライアントが適合していない理由をそのデバイスに知らせてもよい。
【発明の概要】
【０００８】
クライアント健全性エンフォースメントフレームワークを用いて認証サービスを行うことによって、ネットワーク管理は改善される。クライアント健全性エンフォースメントフレームワークは、健全性ステートメントの一部として認証情報をフォーマットすることによって、クライアントデバイスを認証するようになされる。認証情報を生成し検証するコンポーネントは、クライアント健全性エンフォースメントフレームワーク内に存在するのであるが、インタフェースを用いてシステムに組み込んでよい。従ってデバイス認証は、クライアント健全性エンフォースメント用に構成された任意のネットワークに容易に組み込んでよい。さらに認証コンポーネントは、デバイスにネットワークアクセスを許可するか拒否するかの判断を行うことを、クライアント健全性エンフォースメントシステムに依存しているので、認証コンポーネントは、エンフォースメント機構を持つインタフェースに必要でない。結果的にネットワークプロトコルやエンフォースメント機構を変更する必要なく、認証方法を追加、変更してよい。
【０００９】
また基礎となるネットワークトランスポートに関わらず、同じ認証コンポーネントを使用することができる。認証コンポーネントは、クライアント健全性エンフォースメントシステムの機能に依存しているので比較的単純であり、異なったエンフォースメント機構と共に容易に動作することができる。
【００１０】
前述の概要は、本発明を制限するものではなく、本発明は請求項によって規定される。
【図面の簡単な説明】
【００１１】
添付の図面は、一定の縮尺で書かれたものではない。図面においては様々な図に示された同一のコンポーネント、またはほぼ同一のコンポーネントは同じ参照番号で表されている。分かりやすくするために、全ての図で全てのコンポーネントに記号をつけているわけではない。
【図１】本発明の実施形態による、クライアントデバイスを認証する例示的ネットワーク環境の概略図である。
【図２】図１のクライアントデバイス内のコンポーネントと、健全性ポリシーサーバのアーキテクチャのブロック図である。
【図３Ａ】図２に示されたコンポーネント間の通信のために採用可能なメッセージの構成の例を示す概略図である。
【図３Ｂ】図２に示されたコンポーネント間の通信のために採用可能なメッセージの構成の例を示す概略図である。
【図３Ｃ】図２に示されたコンポーネント間の通信のために採用可能なメッセージの構成の例を示す概略図である。
【図３Ｄ】図２に示されたコンポーネント間の通信のために採用可能なメッセージの構成の例を示す概略図である。
【図４】本発明の一部の実施形態による、ネットワークを動作する方法の例である、プロセスのフロー図である。
【発明を実施するための形態】
【００１２】
本発明者は、クライアント健全性エンフォースメントフレームワークに認証機能を組み込むことが望ましいことを認識しており評価している。この方法は、ネットワークアクセスを許可するか拒否するかの判断を行うことをクライアント健全性エンフォースメントフレームワークに依存しているので、認証コンポーネントは比較的単純である。結果的に認証は容易に実施することができ、認証方法は容易に変更できる。例えば認証方法は、容易に組み合わせることができる。さらに認証は、クライアント健全性エンフォースメントフレームワークによって、エンフォースメント機構から分離されているので、基礎となっているネットワークトランスポートプロトコルやエンフォースメント機構を変更することなしに認証方法を追加、変更することができる。
【００１３】
さらに、クライアント健全性エンフォースメントフレームワークの機能は、認証に関連する機能を提供するように適合させることができる。一例としてクライアントの健全性状態の変化に基づいて、ネットワークアクセスの変更をサポートするクライアント健全性エンフォースメントシステムの機能を利用して、ユーザの入力に応答して、または非活動のタイムアウト時間の後デバイスをネットワークからログオフする機能を実行してよい。別の例としては、クライアント健全性エンフォースメントフレームワークが従来より提供している種類の健全性ステートメントの応答を利用して、追加されたセキュリティのチャネルバインドを実施するチャレンジをデバイスに提供してよい。
【００１４】
認証コンポーネントは、健全性エンフォースメントコンポーネントをフレームワークにインタフェースで接続するために存在するインタフェースを用いて、クライアント健全性エンフォースメントフレームワークに組み込んでよい。認証システムは典型的には柔軟性のないものであるが、ネットワークアクセスプロテクション（商標）フレームワークなどのクライアント健全性エンフォースメントシステムは、ネットワークアクセスプロテクション（商標）フレームワークが利用可能な保護ソフトウェアが変ると、健全性コンポーネントの供給を第三者に依存するので、新しい健全性エンフォースメントコンポーネントを追加するための単純で容易に利用可能なインタフェースを含むことを本発明者は認識しており、評価している。
【００１５】
クライアントデバイスに関する健全性情報が、異なる保護コンポーネントに関する情報を集めるように適合させた健全性ステートメントエージェントによって集められるクライアント健全性エンフォースメントフレームワークにおいては、クライアント認証コンポーネントは、健全性ステートメントエージェントと同じようにフレームワークにインタフェース接続してよい。しかしながら認証コンポーネントなどの保護コンポーネントに関する構成情報を提供するよりも、このような認証コンポーネントが、ユーザおよび／または１つまたは複数のデバイスと対話して認証情報を取得してよい。認証情報は、クライアント健全性アクセスエージェントに提供してよく、そしてクライアント健全性アクセスエージェントは、健全性ステートメントの一部としてそれをフレームワーク内に存在する健全性ポリシーサーバに提供してよい。
【００１６】
健全性ポリシーサーバで、保護コンポーネントの構成に関連付けられた健全性ステートメントの一部は、フレームワークの一部であるコンポーネント健全性検証ソフトに提供してよい。クライアントがネットワークにアクセスすることを許可するか否かを判断する認証コンポーネントは、コンポーネント健全性検証ソフトを組み込むのに使われるのと同じインタフェースを用いて、健全性ポリシーサーバに組み込まれてよい。従って適切な認証が提供されないと、サーバは、ライアントが適切に構成されていないという指示を受信するのと同様にクライアントはネットワークアクセスを許可されないという指示を認証コンポーネントから受信する。それに応じてサーバは、クライアント健全性エンフォースメントに使われるのと同じエンフォースメント機構に、ネットワークアクセスを許可すべきでないことを指示する。
【００１７】
認証をサポートするためのクライアント健全性エンフォースメントシステムが組み込まれたコンポーネントは、アクセスを許可または拒否する以外のクライアント健全性エンフォースメントシステムの機能を利用してよい。例えば健全性ステートメントが更新されて、規制に従っていない健全性状態を示す場合にネットワークアクセスを取り消すクライアント健全性エンフォースメントシステムにおいて、クライアント認証コンポーネントは、更新された健全性ステートメントをトリガするインタフェースを用いて認証状態の変更を示してよい。明示のユーザ入力を受信したとき、または許可されたユーザがもはやクライアントデバイスを使っていないことを示すユーザの不活動期間を検出すると、トリガは、例えばクライアント認証コンポーネントよって送信されてよい。別の例としてクライアントデバイスに必要な修正を指示するクライアント健全性エンフォースメントシステムの特徴は、情報のやりとりを伴うチャネルバインドや他のプロトコルの実行など、認証に関する機能を行うように適合されてよい。
【００１８】
本明細書に記載の技術は、任意の適切なクライアント健全性エンフォースメントフレームワークで採用してよい。このようなフレームワークを備えたコンピュータシステムの例示の実施形態を図１に示す。
【００１９】
図１は、コンピュータシステム１００の概略図を示す。コンピュータシステム１００は、従来のコンピュータシステムで使われているデバイスから構築してよい。しかしながらコンピュータシステム１００は、コンピュータシステム１００内のデバイスが、クライアント健全性エンフォースメントフレームワークの機能を用いてクライアント認証を可能にするようにプログラムされているという点で、従来のコンピュータシステムと異なる。
【００２０】
コンピュータシステム１００は、ここでは、管理されたネットワーク１２０として図示されているプライベートネットワークを含み、ネットワークに接続されたサーバ１２４などの複数のリソースを有する。クライアントデバイスは、ネットワークに接続し、ネットワークリソースにアクセスしてよい。しかしながらネットワークへのアクセスは、許可されたクライアントデバイスにのみに制限されるので、ネットワークはプライベートである。
【００２１】
この例において、管理されたネットワーク１２０は、会社または企業内のネットワークであってよい。あるいは管理されたネットワーク１２０は、より大きいネットワークのドメインまたは他の部分であってよい。管理されたネットワーク１２０は、ネットワークへのアクセス基準を提供する個人またはエンティティが管理してよい。本明細書に記載の例示的なシステムにおいて、アクセス基準は、許可されたクライアントデバイスを識別する健全性ポリシーと情報の両方を含む。
【００２２】
健全性ポリシーは、当技術分野で既知の健全性ポリシーであってよい。例えば健全性ポリシーは、デバイスは特定のバージョンのウイルス対策ソフトウェアパッケージをインストールし、実行していなければならないこと、またはデバイスは、特定のファイアウォールのバージョンをインストールして安全でないとみなされるネットワークトラフィックをブロックする特定の設定で有効化されていること、と規定してよい。しかしながら現在知られている、または今後開発される任意の健全性ポリシー、または健全性ポリシーの組み合わせを採用してよい。
【００２３】
許可されたクライアントデバイスを識別する情報に関しては、任意の適切な情報を用いてよい。一部の実施形態においては、そのデバイスのユーザが、ネットワークへのアクセスを許可されているという理由でデバイスを認証してよい。そのような実施形態においては、認証情報はデバイスのユーザに関連してよい。さらに物理的なコンピュータ全体が、ネットワークへのアクセスを許可される必要はない。例えばコンピュータが複数のユーザのセッションをサポートする場合、ユーザセッションのサブセットのみがネットワークへのアクセスを許可されてよい。このような実施形態においては、認証情報は特定のユーザセッション（単数または複数）に関連してよい。従って本発明は、認証を与えるエンティティの種類によって限定されない。
【００２４】
図１に示すように、管理されたネットワーク１２０は、サーバ１２４やクライアント１１０Ｂ、クライアント１１０Ｃ等のネットワークデバイスを含む。ここでは広域ネットワーク（ＷＡＮ）１２２が、ネットワークデバイスに相互接続されているのが示されている。この構成は、図を簡単にするためのものである。管理されたネットワークは、図１に示すより多くのデバイスを含んでよい。同様に１つのＷＡＮ１２２が、管理されたネットワーク１２０の相互接続アーキテクチャの例として示されているが、管理されたネットワークは異なった、または追加の相互接続アーキテクチャを含んでよい。
【００２５】
デバイスは、アクセスポイントを介して管理されたネットワーク１２０に接続してよい。図を簡単にするために、１つのアクセスポイント１１６が示されている。図１の例はクライアント１１０Ｂとクライアント１１０Ｃが、管理されたネットワーク１２０へのアクセスを既に与えられていることを示している。図１においては、クライアント１１０Ａは、アクセスポイント１１６を介して管理されたネットワーク１２０への接続を試みており、従って管理されたネットワーク１２０の外部に示されている。
【００２６】
アクセスポイント１１６は現在知られている、または今後開発される無線アクセスポイント、有線のアクセスポイント、または任意の他の種類のアクセスポイントであってよい。図１の例においては、アクセスポイント１１６は、スイッチングデバイス１１８と健全性ポリシーサーバ１１２とを含む。健全性ポリシーサーバ１１２は、ユーザインタフェース１１３を介して、または他の任意の適切な方法で、下記に詳述するように構成されてよい。
【００２７】
スイッチングデバイス１１８は、ネットワークに含んでよい多くの種類のスイッチングデバイスのうち任意のものを表している。ここではスイッチングデバイス１１８は、ネットワークのトランスポート層のコンポーネントを示す。スイッチングデバイス１１８は、ルータ、スイッチ、ハブ、ゲートウェイなどのデバイス、または任意の他の適切なスイッチングデバイスであってよい。商業的な実施においては、ネットワークを介して適切なものとして、複数のスイッチングデバイスがパケットのルーティングに含まれてもよいが、簡単にするためこのようなデバイスの１つのみを示している。
【００２８】
操作時、クライアント１１０Ａ等のクライアントが管理されたネットワーク１２０へのアクセスを試みると、健全性ポリシーサーバ１１２がクライアント１１０Ａに管理されたネットワーク１２０へのアクセスを許可してよいかどうかを判断する。健全性ポリシーサーバ１１２は、クライアント健全性ポリシーに従ってネットワークアクセスを許可するか拒否するかを判断するようにプログラムされている。健全性ポリシーサーバ１１２は、デバイスの健全性状態に基づいてデバイスにネットワークアクセスを許可されるか否かを判断してよい。さらに健全性ポリシーサーバ１１２は、クライアントを認証するようにも構成されてよい。
【００２９】
健全性ポリシーサーバ１１２は、ネットワークアクセスの判断をエンフォースメント機構に通信する。エンフォースメント機構は、ネットワーク１２０のトランスポート層内に含まれてよい。例えば健全性ポリシーサーバ１１２は、スイッチングデバイス１１８と通信してデバイスにネットワークアクセスを許可する場合、ネットワークパケットをデバイスへ、またはネットワークパケットをデバイスからルーティングするようにスイッチングデバイスに示してよく、ネットワークアクセスを拒否する場合、ネットワークパケットをデバイスへ、またはネットワークパケットをデバイスからルーティングをしないようにスイッチングデバイスに指示してよい。
【００３０】
特定のエンフォースメント機構も健全性ポリシーサーバ１１２がエンフォースメント機構と通信するための特定の機構も、本発明に必須ではない。健全性ポリシーサーバ１１２を実装するために、エンフォースメント機構と通信することを採用し、それらは既知の通信機構に従って行ってよい。本明細書で記載するように、同一のエンフォースメント機構とクライアント健全性エンフォースメントに使われる通信機構とを用いて、認証されたデバイスにのみネットワークアクセスを限定してよい。
【００３１】
認証を実施するために、健全性ポリシーサーバ１１２は、クライアント１１０Ａ等のクライアントに関する認証情報を受信してよい。認証情報は任意の適切な方法で取得してよい。認証情報はクライアントデバイス１１０Ａにそのデバイスのユーザインタフェースを介して入力された情報に全面的にまたは一部基づいてよい。あるいは、または追加で、認証情報は外部デバイスとの対話に全面的にまたは一部基づいてよい。そのような場合には、認証情報は外部デバイスを用いて認証が成功裡に行われたことの証拠であってよい。このような証拠は証明書または他のセキュリティトークンの形をとってよい。外部デバイスはそのような認証情報を提供してよく、健全性ポリシーサーバ１１２は、それを用いてアクセスを許可するか否かを判断して、複数のレベルのアクセスがエンフォースメント機構によってサポートされる場合には、適切なレベルのアクセスを許可するか否かを判断してよい。
【００３２】
図１の実施形態においては、外部デバイスは認証サーバ１５０である。認証サーバ１５０は任意の適切な方法でデバイスを認証してよい。図に示すように、認証サーバ１５０は許可されたデバイスに関する情報のデータストア１５２を保持してよく、その情報を用いてデバイスが許可されているか否かを識別してよい。２つの要素の認証を用いる場合、データストア１５２は、許可されたデバイスのリストと許可された各デバイスが提供すべきパスワード等のセキュリティ情報とを含んでよい。しかしながら、任意の他の適切な方法を用いてよく、データストア１５２は許可されたデバイスを認証するのに使われる、許可されたデバイスの事前に記憶した鍵、または他のセキュリティ情報などの異なった、または追加の種類の情報を含んでよい。
【００３３】
図示の実施形態においては、クライアント１１０Ａは、インターネット等のパブリックネットワーク１３０を介して、認証サーバ１５０にアクセスすることを示している。この実施形態においては、クライアント１１０Ａと認証サーバ１５０間の通信は、暗号化されてもよく、または他の方法で保護されてもよい。しかしながら任意の適切な機構をクライアント１１０Ａと認証サーバ１５０間の通信に用いてよい。
【００３４】
また図示の実施形態においては、認証サーバ１５０はネットワーク１２０外に示されている。ネットワーク１２０に認証サーバ１５０を有することを含む他の実施形態も可能である。クライアント健全性エンフォースメントシステムのいくつかの実装においては、異なったレベルのネットワークアクセスを提供することによって、「隔離」の形態を実装してよい。健全性アクセスポリシーに適合していない健全性状態を有するデバイスは、制限付きのネットワークアクセスを許可されてよい。隔離中のデバイスに関しては、制限付きのアクセスによってデバイスがサーバにアクセスすることを許可してもよく、デバイスは、ネットワーク健全性ポリシーに適合することができるように、サーバから保護ソフトウェア、デバイスの保護コンポーネントの更新、またはクライアントを修正するのに必要な他の情報を取得することができる。従っていくつかのクライアント健全性エンフォースメントシステムは、選択されたネットワークデバイスへの制限付きアクセスをサポートする。認証サーバ１５０がネットワーク１２０上にあり隔離されたクライアントがアクセスすることができるデバイスの１つであるように、ネットワーク１２０を構成してよい。このように健全性ポリシーサーバ１１２が承認する認証情報を有していないデバイスは、隔離中として配置し認証サーバ１５０と通信できるようにして認証情報を取得してよい。従って、ネットワーク１２０に対する認証サーバ１５０のロケーションは、本発明にとって必須のものではない。
【００３５】
図２に戻ると、クライアント１１０Ａと健全性ポリシーサーバ１１２の実装に使ってよいアーキテクチャが示されている。図示の実施形態において、クライアント１１０Ａは、ネットワークに接続するように適合させたコンピュータデバイスを構成するための当分野で既知の技術を用いて実装されてよい。クライアント健全性エンフォースメントフレームワークのクライアント側を実装するコンポーネントを備えたクライアント１１０Ａが示されている。図示の実施形態においては、これらのコンポーネントは、クライアント健全性アクセスエージェント２１０、健全性ステートメントエージェント２１６Ａ、２１６Ｂ、２１６Ｃ、およびエンフォースメントクライアント２５０を含む。
【００３６】
従来のクライアント健全性エンフォースメントフレームワークと同様に、クライアント健全性アクセスエージェント２１０は、クライアント１１０Ａ上の保護コンポーネントに関する健全性情報を収集する。クライアント健全性アクセスエージェント２１０は、この情報を健全性ステートメント２４０にフォーマットし、それを健全性ポリシーサーバ１１２に通信する。
【００３７】
健全性ステートメントへの応答として、クライアント１１０Ａは、サーバ１１２から健全性ステートメントの応答２４２を受信してよい。健全性ステートメントの応答２４２は、クライアント１１０Ａが、ネットワークアクセス資格があるほど十分に「健全」である場合、アクセスを許可することを指示してよい。逆にクライアント１１０Ａが健全でない場合、健全性ステートメントの応答２４２は、修正の必要があるクライアント１１０Ａ上の１つまたは複数のコンポーネントを指示してよい。一部の実施形態においては、健全性ステートメントの応答２４２は、必要な更新を提供できる修正サーバのロケーション等のクライアント１１０Ａを修正するのに役立つ情報も含んでよい。
【００３８】
図示の実施形態において、クライアント健全性アクセスエージェント２１０は、健全性ステートメントエージェントから、健全性状態情報を受信する。健全性ステートメントエージェントのうち、２１６Ａ、２１６Ｂ、２１６Ｃを図に示す。図示の実施形態においては、各健全性ステートメントエージェントは、保護コンポーネントに関する情報を提供する。例えば、健全性ステートメントエージェントは、ウイルス対策コンポーネント、ファイアウォール、および、オペレーティングシステムの更新マネージャのそれぞれに関して提供されてよい。図２においては、３つの健全性ステートメントエージェントが示される。しかしながら、この数は、簡単にするためであり、任意の数の健全性ステートメントエージェントを含んでよい。
【００３９】
クライアント１１０Ａにインストールされる保護コンポーネントの数と種類、および関連する健全性ステートメントエージェントの数にかかわらず、クライアント健全性アクセスエージェント２１０は、健全性ステートメントエージェントからの情報を用いて健全性ステートメント２４０を作成する。健全性ステートメント２４０は、任意の適切な形であってよい。図示の実施形態においては、健全性ステートメント２４０は、クライアント１１０Ａが関連する健全性ステートメントエージェントを有する各保護コンポーネントに関する情報に対して、個々のフィールドを含んでよい。しかしながら他の実装も可能である。例えば健全性ステートメントは、保護コンポーネントをクライアント１１０Ａにインストールするか否かをネットワーク健全性ポリシーで参照される、各保護コンポーネントに対するフィールドを有してよい。あるいは複数の健全性ステートメントエージェントからの情報を集約して、１つまたは複数の組み合わせた値にしてよく、その値を健全性ポリシーサーバ１１２に転送することができる。また複数の保護コンポーネントに関する構成情報を組み合わせた１つの健全性ステートメントを記載するが、個々の健全性ステートメントを送信して各保護コンポーネントに関する情報を通信することも可能である。
【００４０】
記載した実施形態においては、健全性ステートメントエージェントと保護コンポーネントは、一対一の対応である。一対一の対応は要件ではないが、クライアント１１０Ａの保護コンポーネントが追加されたり除かれたりすると、健全性ステートメントエージェントも追加されたり、除かれたりするので、一対一の対応はクライアント健全性エンフォースメントシステムの実装を容易にすると思われる。
【００４１】
図示のように、各健全性ステートメントエージェントは、同じフォーマットで定義されたインタフェースを介して、クライアント健全性アクセスエージェント２１０とインタフェース接続する。この例においては、インタフェース２３０が示されている。各健全性ステートメントエージェントは、プラグイン、または健全性ステートメントエージェントとクライアント健全性アクセスエージェントとの間の動的リンクを可能にする他の機構を用いて実装してよい。このように、ユーザまたは他の当事者は、クライアント１１０Ａに健全性ステートメントエージェントを容易にインストールして、ネットワーク健全性アクセスポリシーに適合することが必要なインストールされた保護コンポーネントとマッチさせてよい。一部の実施形態においては、健全性ステートメントエージェントは、保護コンポーネントと共に提供されてよいが、任意の適切な時に任意の適切なソースから取得してもよい。従ってインタフェース２３０は、健全性ステートメントエージェントがインストールされると、健全性ステートメントエージェントの登録をサポートして、インストールされた時にかかわらず、クライアント健全性アクセスエージェント２１０が、インストールされた健全性ステートメントエージェントから情報を取得するのを可能にしてよい。
【００４２】
クライアント健全性アクセスエージェント２１０と、健全性ステートメントエージェント２１６Ａ、２１６Ｂ、２１６Ｃとの間の情報の交換は、任意の適切なイベント（単数または複数）によってトリガされてよく、インタフェース２３０は、そのようなイベントの通信をサポートするように構成されてよい。例えばクライアント１１０Ａが、ネットワークへのアクセスを得ようとすると、クライアント健全性アクセスエージェント２１０は、健全性ステートメントを生成できるように、各健全性ステートメントエージェント２１６Ａ、２１６Ｂ、２１６Ｃに健全性情報を要求してよい。追加で、またはそれに代わって、任意の保護コンポーネントの状態が変化する時はいつでも、その保護コンポーネントに関連付けられた健全性ステートメントエージェントが、クライアント健全性アクセスエージェント２１０に更新情報を提供してよく、そうして更新された健全性ステートメントを発行するようにエージェント２１０を再度トリガしてよい。
【００４３】
健全性ポリシーサーバ１１２が、クライアント１１０Ａから健全性ステートメント受信する時にかかわらず、ネットワークへの最初の接続時、またはクライアント１１０Ａがネットワークに接続している間、ポリシーサーバ１１２は、クライアント１１０Ａがネットワークへのアクセスを許可されるように、またはネットワークアクセスを保持し続けるように健全性ステートメントを処理して、クライアント１１０Ａがネットワーク健全性ポリシーに適合しているか否かを判断してよい。健全性ステートメントを処理するために、健全性ポリシーサーバは、サーバ健全性エージェント２２０、および１つまたは複数のコンポーネント健全性検証ソフトを含んでよい。コンポーネント健全性検証ソフトのうち、２２６Ａ、２２６Ｂ、２２６Ｃを図示する。
【００４４】
健全性ポリシーサーバ１１２は、各健全性ステートメントエージェントに対応するコンポーネント健全性検証ソフトを含んでよい。各検証ソフトは、健全性ステートメントの一部を、保護コンポーネントに適用可能な健全性ポリシーと比較するように構成されてよい。サーバ健全性エージェント２２０は、健全性ステートメント２４０を解析し、健全性ステートメントエージェント２１６Ａ、２１６Ｂ、２１６Ｃそれぞれが生成した部分を、対応するコンポーネント健全性検証ソフト２２６Ａ、２２６Ｂまたは２２６Ｃに提供する。
【００４５】
図２の例においては、３つのコンポーネント健全性検証ソフトが示されている。しかしながらこの数は例証のためであり、任意の適切な数の検証ソフトを含んでよい。この数の検証ソフトがあると、各健全性ステートメントエージェントに対して検証ソフトを提供することになるが、健全性ステートメントエージェントと、コンポーネント健全性検証ソフトが一対一の対応である必要はない。健全性ポリシーサーバは、それぞれ異なった構成の保護コンポーネントをそれぞれ有する複数のクライアントからの健全性ステートメントを処理するために、任意のクライアントに関する健全性ステートメントエージェントよりも多くの検証ソフトを備えるように構成してよい。また図示の実施形態においては、各コンポーネント健全性検証ソフトは、１つの健全性ステートメントエージェントからの健全性ステートメントの一部を処理するが、一部の実施形態においては、各コンポーネント健全性検証ソフトは１より多くのコンポーネント健全性検証ソフトからの健全性情報を処理してよい。
【００４６】
コンポーネント健全性検証ソフトの数にかかわらず、コンポーネント健全性検証ソフトは、所定のインタフェース２３２を介してサーバ健全性エージェント２２０にインタフェース接続してよい。インタフェース２３２は、新しいコンポーネント健全性検証ソフトの登録をサポートして、コンポーネント健全性検証ソフトがサーバ健全性エージェントに動的にリンクされるのを可能にしてよい。例えば各コンポーネント健全性検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃは、プラグインとして実装してよい。このようにネットワーク管理者または他の当事者は、健全性ポリシーサーバ１１２にコンポーネント健全性検証ソフトを容易にインストールして、ネットワークアクセスしようとするデバイスに関して任意のクライアント健全性エージェントが提供する健全性情報を分析してよい。
【００４７】
操作時、サーバ健全性エージェント２２０は健全性ステートメントを受信すると、その健全性ステートメントを解析して、健全性ステートメント２４０の各部分を、コンポーネント健全性検証ソフトに提供する。各コンポーネント健全性検証ソフトは、健全性ステートメントの各部分に含まれている情報を、健全性アクセスポリシーと比較し、健全性に基づいたアクセスの判断を行う。その判断は、健全性ステートメントを生成したクライアントがポリシーに適合した保護コンポーネント（単数または複数）を備えて構成されているか、またはポリシーに適合していない保護コンポーネント（単数または複数）を備えて構成されているかを示してよい。コンポーネント（単数または複数）が適合していない場合、コンポーネント健全性検証ソフトは、ポリシーに適合するためにクライアントを修正するのに必要なアクションも示す。例えばコンポーネント健全性検証ソフトは、適合するために必要な保護コンポーネントの最小ソフトウェアバージョンや、関連データファイルを示してよい。
【００４８】
コンポーネント健全性検証ソフトにより送信された判断の性質にかかわらず、コンポーネント健全性検証ソフトの全てからの結果は、サーバ健全性エージェント２２０に提供されてよい。サーバ健全性エージェント２２０は、コンポーネント健全性検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃが提供した結果を集約してクライアント１１０Ａにネットワークアクセスを許可するか否かの総合的な判断を行ってよい。総合的な判断が送信されると、任意の適切なアルゴリズムを用いてコンポーネント健全性検証ソフトからの応答を集約してよい。一例としてはコンポーネント健全性検証ソフトの全てから受信した判断が、クライアント１１０Ａの保護コンポーネントが、ネットワーク健全性ポリシーに適合することを示す場合のみ、アクセスを許可してよい。しかしながら他の実施形態においては、一部の不適合の形態に他の不適合の形態よりも重きをおき、重きを置く方の不適合の形態が検出されたとき、または重きを置いてない方の不適合の形態が複数検出されたときに限りアクセスを拒否するアルゴリズムを用いて、アクセスを許可したり拒否したりしてよい。
【００４９】
コンポーネント健全性検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃからの結果集約に使われる機構にかかわらず、健全性アセスメントの結果は、健全性ステートメントの応答２４２の形で提供されてよい。健全性ステートメントの応答を作成してクライアント１１０Ａに送信することによって、サーバ健全性エージェント２２０は、健全性アセスメントの結果をクライアントデバイス１１０Ａに知らせてよい。クライアント１１０Ａがネットワーク健全性ポリシーに適合しない場合、そのことを健全性ステートメントの応答２４２に示してよい。そのような状況では、健全性ステートメントの応答２４２は、適合しないコンポーネントを示すことができる。一部の実施形態においては、健全性ステートメントの応答２４２はまた、クライアント１１０Ａがネットワーク健全性ポリシーに適合するようにクライアント１１０Ａを修正するのに必要なアクションに関する情報も含むことができる。
【００５０】
健全性状態に関する判断を、クライアント１１０Ａに返信することに加えて、サーバ健全性エージェント２２０はまた、ネットワークアクセスに関する判断を、エンフォースメント機構に通信してもよい。図２に示す実施形態においては、エンフォースメント機構内のエンフォースメントサーバコンポーネント２６０にその判断を通信する。エンフォースメントサーバコンポーネント２６０は、デバイスのＩＤとそのデバイスに対するアクセスの判断を受信するように適合されたサーバ健全性エージェント２２０に、既知のインタフェースを提示する。図示の実施形態においては、アクセスの判断は、ネットワークアクセスを許可する判断、クライアントが修正を行う間クライアントを隔離する等の制限付きのネットワークアクセスを許可する判断、またはネットワークアクセスを拒否する判断とすることができる。一部の実施形態においては、エンフォースメント機構は、初期設定でネットワークアクセスを拒否するが、アクセスの判断が少なくとも制限つきのネットワークアクセスを許可する場合は、エクスプレス通信を使ってよい。
【００５１】
サーバ健全性エージェント２２０とエンフォースメントサーバコンポーネント２６０との間のインタフェースの形式にかかわらず、エンフォースメントサーバコンポーネント２６０は、エンフォースメント機構を制御してクライアントに対するアクセスの判断を実施してよい。アクセスの判断を実行するために行う特定のアクションは、ネットワークの構成と使用される特定のエンフォースメント機構に応じて決めてよい。例えばエンフォースメントアクションは、デバイスへのメッセージまたはデバイスからのメッセージを認識したり無視したりするように、トランスポート層内のスイッチングデバイスを構成することを含んでよい。別の例としては、一部の実施形態においては、エンフォースメントアクションは、ネットワークアドレスの発行、またはクライアントデバイスに割り当てられたネットワークアドレスの有効期限の設定を含んでよい。
【００５２】
クライアント１１０Ａでは、クライアント健全性エージェント２１０が健全性ステートメントの応答２４２を受信して、応答の内容に基づいて対応する。健全性ステートメントの応答２４２がいずれかのコンポーネント（単数または複数）が修正を必要としていることを示している場合、クライアント健全性エージェント２１０は、健全性ステートメントの応答２４２の一部をそのコンポーネントに関連付けられたクライアント健全性エージェントに提供してよい。そしてクライアント健全性エージェントは、ユーザに情報を表示する、ダウンロードされたコンポーネントの更新を自動的に試みるなどして、そのコンポーネントを修正してよい。図示の実施形態においては、各ステートメント健全性エージェントは保護コンポーネントに関連付けられているので、修正アクションはコンポーネントに合わせて行うことができる。
【００５３】
さらに、クライアント健全性エージェント２１０は、アクセスの判断をクライアント側のエンフォースメントコンポーネント２５０に通信してよい。クライアント１１０Ａが、少なくとも制限付きネットワークアクセスを許可されると、クライアント側のエンフォースメントコンポーネント２５０は、サーバエンフォースメントコンポーネント２６０と対話してネットワークアドレス取得してもよく、プロトコルを使ってネットワークアクセスを取得してもよい。ネットワークアクセスを得るために使われる特定のアクション、および具体的なプロトコルは、ネットワークで使用される特定のエンフォースメント機構に応じて決めてよいが、ネットワークアクセスを取得するための既知の技術を使ってよい。
【００５４】
しかしながら図示の実施形態においては、クライアント側のエンフォースメントコンポーネント２５０とサーバエンフォースメントコンポーネント２６０間の対話は、認証クライアント１１０Ａのエンフォースメント機構への認証を含む必要はない。むしろ図示の実施形態においては、クライアント健全性アクセスエージェント２１０とサーバ健全性エージェント２２０が提供するクライアント健全性エンフォースメントフレームワークに組み込まれた認証コンポーネントが認証を行ってよい。
【００５５】
図２の実施形態においては、クライアント１１０Ａの認証は、クライアント１１０Ａにインストールされた認証エージェント２１４と健全性ポリシーサーバ１１２にインストールされた認証検証ソフト２２４によって行われる。認証エージェント２１４は、クライアント１１０Ａがネットワーク１２０へのアクセスのために認証されているか否かを示す情報を生成する。認証エージェント２１４は、このような情報を任意の適切な方法で取得してよい。例えば図２は、認証エージェント２１４は、ユーザインタフェース２１２を介してユーザと対話してよいことを示している。ユーザインタフェース２１２を介して、認証エージェント２１４は、クライアントデバイスの認証に関して当分野で既知の情報を取得してよい。この情報は、ユーザ名とパスワードを含んでよい。別の例として、ユーザインタフェース２１２を介して得た情報は、ユーザの指紋のスキャンや任意の他の適切な情報を含んでよい。
【００５６】
他の方法として、または追加として、認証エージェントは、外部の認証機構と対話してよい。図２に記載の実施形態においては、認証サーバ１５０は、外部認証機構の例である。認証エージェント２１４は、クライアント１１０Ａがネットワーク１２０へのアクセスを認められていることを証明するために、認証サーバ１５０と通信して認証検証ソフト２２４に与えられている情報を取得する。認証サーバ１５０は、認証検証ソフト２２４によって信頼されている。従って認証サーバ１５０が、Ｘ．５０９に適合する証明書、または、認証サーバ１５０がクライアント１１０Ａを認証したことを示す他のなんらかのトークンを発行すれば、認証検証ソフト２２４は、このトークンをクライアント１１０Ａがネットワーク１２０へのアクセスを認証されていることを示すものとして認めてよい。
【００５７】
しかしながら、認証サーバ１５０が、クライアント１１０Ａがネットワーク１２０へのアクセスを認証されていることを示す特定のフォーマットは、本発明には必須ではなく、任意の適切な機構を用いてよい。
【００５８】
より具体的な例としては、認証エージェント２１４は、ユーザインタフェース２１２を介してクライアントデバイス１１０Ａのユーザに関する情報を識別することを達成してよい。この情報は、認証サーバ１５０に提供されてよい。次に認証サーバ１５０は、許可されたネットワークユーザに関する情報を含むデータストア１５２にアクセスしてよい。認証サーバ１５０は、既知のセキュリティ技術を用いて認証エージェント２１４を介して受信した情報をデータストア１５２の情報と比較して、クライアント１１０Ａのユーザがネットワーク１２０へのアクセスを許可されているか否かを確かめてよい。任意の適切な機構を用いて、クライアントデバイス１１０Ａに関連付けられたユーザまたは他のエンティティがネットワークアクセスを許可されているか否かを確かめてよいが、既知のセキュリティ技術を用いてこの比較を行ってよい。
【００５９】
認証エージェント２１４の認証情報の取得法にかかわらず、その認証情報は、健全性ステートメント２４０の一部として健全性ポリシーサーバ１１２に通信してよい。図示の実施形態においては、健全性ステートメントエージェント２１６Ａ、２１６Ｂ、２１６Ｃと同じ方法で認証エージェント２１４をクライアント健全性エンフォースメントフレームワークにインタフェース接続することによって、認証情報は健全性ステートメント２４０に組み込まれる。図２の実施形態において、認証エージェント２１４は、インタフェース２３０を介してクライアント健全性アクセスエージェント２１０にインタフェース接続をする。このようにして認証エージェント２１４は、健全性ステートメントエージェント２１６Ａ、２１６Ｂ、２１６Ｃと同じ方法でクライアント健全性アクセスエージェント２１０に登録してよい。クライアント健全性アクセスエージェント２１０が健全性ステートメント２４０を生成するとき、その結果として認証エージェント２１４から認証情報を得る。そしてクライアント健全性アクセスエージェント２１０は、健全性ステートメント２４０をフォーマットするとき、その認証情報を用いる。
【００６０】
健全性ポリシーサーバ１１２では、サーバ健全性エージェント２２０は、認証情報を組み込んでいる健全性ステートメント２４０を受信する。サーバ健全性エージェント２２０は、健全性ステートメント２４０を解析して認証エージェント２１４から提供された認証情報を対応する認証検証ソフト２２４に導く。図示のように、認証検証ソフト２２４は、コンポーネント健全性検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃと同じ方法で、インタフェース２３２を介してサーバ健全性エージェント２２０にインタフェース接続をする。従って認証検証ソフト２２４は、インタフェース２３２を介してサーバ健全性エージェント２２０に登録すると、サーバ健全性エージェント２２２は、認証検証ソフト２２４内で処理するために認証情報を導くことができる。
【００６１】
認証検証ソフト２２４は、健全性ステートメント２４０内に含まれる認証情報が、クライアント１１０Ａはネットワークアクセスを認証されていることを示すか否かを検証するよう構成されてよい。認証情報が認証サーバ１５０からの証明書または他のトークンを含む実施形態においては、認証検証ソフト２２４は、証明書または他のトークンが認証サーバ１５０によって生成されたか否かを判断することによってクライアントデバイス１１０がネットワークアクセスを認証されているか否かを判断してよい。認証検証ソフト２２４は、公開鍵をトークンに適用するなどの既知の方法を用いてそのような判断を行い、認証サーバ１５０が持つ秘密鍵により暗号化された情報を含むか否かを判断してよい。別の例として、認証検証ソフト２２４は、受信した認証情報を認証サーバ１５０に通信してよく、認証サーバ１５０は、クライアント１１０Ａが認証されているか否かを表示して応答をしてよい。しかしながら認証検証ソフト２２４は、任意の適切な機構を採用して、健全性ステートメント２４０の情報がクライアントデバイス１１０の認証として信用されるか否かを判断してよい。
【００６２】
認証検証ソフト２２４は、健全性ステートメント２４０に含まれる認証情報の分析に基づいて、クライアント１１０Ａにネットワーク１２０へのアクセスを許可してよいか否かをサーバ健全性エージェント２２０への表示を提供してよい。認証検証ソフト２２４が提供した情報は、検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃ等のコンポーネント健全性検証ソフトが提供する健全性の判断と同じフォーマットにより、フォーマットされてよい。この例においては、認証検証ソフト２２４は、クライアントデバイス１１０Ａは、アクセスを許可されることができる、アクセスを拒否されるべきである、またはアクセスを取得するために追加のステップを踏む必要があることを表示して応答を行う。追加のステップが必要とされる場合、認証検証ソフト２２４は、コンポーネント健全性検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃからの指示と同じフォーマットで、クライアント１１０Ａが修正を必要とするという要件などの表示をフォーマットしてよい。
【００６３】
修正フォーマットを用いることによって、認証検証ソフト２２４は、クライアント１１０Ａが必要とする情報を提供して追加の認証ステップを行ってよい。例えば認証検証ソフト２２４は、「修正」メッセージの一部としてチャネルバインドを実行するのに使用されることができる情報を提供してよい。より具体的な例としては、このような修正メッセージは、クライアント１１０Ａに具体的に生成したチャレンジを含んでよい。サーバ健全性エージェント２２０は、コンポーネント健全性検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃから取得することができる他の修正情報をフォーマットするのと同じように、健全性応答のステートメント２４２にこのチャレンジをフォーマットする。従ってクライアント健全性アクセスエージェント２１０は、健全性応答のステートメント２４２を受信すると、それを解析して健全性ステートメントエージェント２１６Ａ、２１６Ｂ、２１６Ｃに修正情報を提供するのと同じように、そのチャレンジ情報を認証エージェント２１４に提供する。従ってクライアント健全性エンフォースメントフレームワークは、認証エージェント２１４にチャレンジを送るための機構を提供する。
【００６４】
認証エージェント２１４は、次に、認証サーバ１５０にチャレンジを提供してよい。認証サーバ１５０は、認証エージェント２１４に提供する認証情報に、そのチャレンジを組み込んでよい。その後、認証エージェント２１４は、クライアント健全性アクセスエージェント２１０へのチャレンジを含むこの認証情報を提供することができる。次にクライアント健全性アクセスエージェント２１０は、認証エージェント２１４が取得した認証情報を含む新しい健全性ステートメントを、チャレンジを用いて生成してよい。
【００６５】
この新しい健全性ステートメントは、サーバ健全性エージェント２２０により受信されると、認証検証ソフト２２４に導かれる。認証検証ソフト２２４は、チャレンジを含んだ認証情報を受信すると、その認証情報は新たにクライアント１１０Ａが取得したもので、以前生成された認証情報の写しではないことを判断することができる。それに応じて認証検証ソフト２２４は、クライアント１１０Ａは、ネットワークアクセスを認証されていることをサーバ健全性エージェント２２０に示してよい。
【００６６】
サーバ健全性エージェント２２０は、クライアントデバイス１１０Ａがネットワーク健全性ポリシーに従って適切に構成されているか否かを示している、コンポーネント健全性検証ソフト２２６Ａ、２２６Ｂ、２２６Ｃによって表示された判断に、その認証情報を組み合わせてよい。サーバ健全性エージェントは、この組み合わされた情報を用いてネットワークアクセスをクライアントデバイス１１０Ａに許可してよいか否かの総合的なアセスメントを行ってよい。
【００６７】
クライアントの健全性および認証に基づいたアクセスの判断は、サーバ健全性エージェント２２０によってサーバエンフォースメントコンポーネント２６０に提供されてよい。次にサーバエンフォースメントコンポーネント２６０は、上述のようにサーバ健全性エージェント２２０によって行われた判断に基づいて、適切にクライアント１１０Ａによるアクセスを許可またはブロックするように、ネットワーク１２０を構成してよい。
この技術を用いると、このような認証はサーバ健全性エージェント２２０が行ったアクセスの判断に組み込まれているので、サーバエンフォースメントコンポーネント２６０は、クライアント１１０Ａの認証にさらなるのステップを行う必要はない。
【００６８】
認証を行うために使用されるコンポーネント間の情報交換は、任意の適切な方法でフォーマットされてよい。図３Ａ、３Ｂ、３Ｃ、３Ｄは、使用されてよいメッセージフォーマットの例を示す。図３Ａは、認証エージェント２１４と認証サーバ１５０などの外部デバイスとの間の初期通信に用いられてよいメッセージ３１０を示す。この例においては、認証エージェント２１４がクライアントデバイス１１０Ａを認証するアクションに応じて、メッセージ３１０を認証サーバ１５０から認証エージェント２１４に送信してよい。メッセージ３１０はフィールド３１２を含み、フィールド３１２は、クライアント１１０Ａが認証されると認証サーバ１５０が発行する証明書を保持する。メッセージ３１０のフィールド３１４は、有効期限、タイムスタンプ、または認証サーバ１５０が与えた認証がクライアント１１０の認証に有効な期間を示す他の情報を含んでよい。しかしながらこのような時間的値は任意選択であって、省略してもよい。あるいはこのような時間的値は、証明書３１２に含まれたり、さもなければメッセージ３１０にカプセル化されてもよい。
【００６９】
図３Ｂは、健全性ステートメント２４０などの、健全性ステートメントを表すメッセージ３２０の例を示す。この例においては、メッセージ３２０はフィールドを含み、各フィールドは健全性ステートメントエージェントに関連付けられている。例えばフィールド３２４は、ウイルス対策構成に関する情報を含むことを示している。このような情報は、ウイルス対策ソフトウェアに関連付けられた健全性ステートメントエージェントによって生成されてよい。同様にフィールド３２６は、ファイアウォール構成に関する情報を含むことを示す。フィールド３２６の情報は、クライアント１１０Ａにインストールされたファイアウォールに関連付けられた健全性ステートメントエージェントによって生成されてよい。フィールド３２８は、クライアント１１０Ａのパッチ構成に関する情報を含むことを示している。このような情報は、クライアント１１０Ａのオペレーティングシステム内の更新マネージャに関連付けられた健全性ステートメントエージェントによって生成されてよい。
【００７０】
同様にフィールド３３０は、セキュリティ情報を含む。フィールド３３０のセキュリティ情報は、認証エージェント２１４によって生成されてよい。セキュリティ情報は、認証サーバ１５０からメッセージ３１０の形で取得した証明書と有効期限情報を含んでよい。しかしながら認証エージェント２１４は、認証検証ソフト２２４が認識することができる任意の適切なフォーマットでセキュリティ情報３３０をフォーマットしてよい。
【００７１】
メッセージ３２０は、メッセージ３２０において情報が提供されるコンポーネントの数に関する情報も含んでよい。上述のようにインタフェース２３０は、コンポーネントエージェントを、クライアント健全性アクセスエージェント２１０に登録することによって、クライアント健全性エンフォースメントフレームワークに追加するのを可能にする。従って、時刻が異なると、クライアント健全性アクセスエージェント２１０が情報を有するコンポーネントの数はインストールされたコンポーネントの数に応じて変わってよい。従って、メッセージ３２０は、情報がメッセージ３２０において提供されるコンポーネントの数を示すフィールド３２２を含んでよい。フィールド３２２は、メッセージ３２０を適切に解析して特定のコンポーネントに関連付けられた情報にするために、サーバ健全性エージェントが使用することができる情報をメッセージ３２０が含んでよいことを示す概略図であることは理解されたい。この情報は図に示すように１つのフィールドにおいて提供される必要はなく、メッセージ３２０のフォーマットを介して、または他の機構を用いて提供してよい。この「カウント」情報のフォーマットの仕方にかかわらず、コンポーネントのカウントの情報は、クライアント健全性アクセスエージェント２１０が認証エージェント２１４を追加のコンポーネントエージェントとして扱うので、認証エージェント２１４を含む。
【００７２】
図３Ｃは、健全性ステートメントの応答２４２などの、健全性ステートメントの応答であってよいメッセージ３４０を示す。メッセージ３２０と同様に、メッセージ３４０は、情報が提供されるコンポーネントの数を示す情報を含む。これをカウントする際に、認証検証ソフト２２４は追加のコンポーネントとして扱われる。メッセージ３２０と同様に、メッセージ３４０は、情報が提供されるコンポーネントの数を示すフィールド３４２を含むことを概略的に示している。しかしながら任意の適切なフォーマットまたは機構を使って、クライアント健全性アクセスエージェント２１０がメッセージ３４０において情報を提供されるコンポーネントの数を識別することを可能にしてよい。
【００７３】
この例においては、メッセージ３４０は、メッセージ３２０における各フィールドに対応するフィールドを含む。各フィールドは、関連付けられたコンポーネントについて、修正を要するか否かを示す。従って図３Ｂ、３Ｃの例においては、フィールド３４４は、クライアントデバイス１１０Ａにインストールされたウイルス対策ソフトウェアについて、修正が必要か否かに関する情報を含む。フィールド３４６は、クライアントデバイス１１０Ａにインストールされたファイアウォールについて修正が必要か否かを示す情報を含む。フィールド３４８は、オペレーティングシステムへのパッチが必要か否かを示す情報を含む。
【００７４】
メッセージ３４０の各フィールドは、コンポーネントの修正を実行する方法に関する情報も含んでよい。フィールド３５０は、メッセージ３２０のフィールド３３０内に含まれるセキュリティ情報に応答して認証検証ソフト２２４が生成する情報を含んでよい。フィールド３５０の情報は、クライアントデバイス１１０Ａがネットワークアクセスを認証されるか否かを示してよい。たとえクライアント１１０Ａに修正を要する認証コンポーネントがなくても、フィールド３５０は、認証情報がクライアント１１０Ａにネットワークアクセスを認証するのに十分か否かに加えて、なお情報を含んでよい。認証プロセス中に使われる情報は認証検証ソフト２２４によって提供され、修正情報のようにフィールド３５０に挿入されてよい。一部の実施形態においては、認証検証ソフト２２４は、修正情報としてマルチステップ検証プロセスで使われる情報をパッケージ化してよい。従ってフィールド３５０は、検証プロセスの次のステップとして使われる、認証検証ソフト２２４が生成した認証エージェント２１４に対する情報を含んでよい。
【００７５】
図３Ｃに記載の実施形態において、フィールド３５０は、チャネルバインドを行うのに使ってよいチャレンジを含む。しかしながら認証エージェント２１４と認証検証ソフト２２４との認証のやりとりで使われる任意の適切な情報は、サーバ健全性エージェント２２０またはクライアント健全性アクセスエージェント２１０に変更を加えることなしにクライアント健全性エンフォースメントフレームワークを介して通信されるため、修正情報としてフォーマットしてよい。
【００７６】
図３Ｄは、修正情報の受信に応じて、認証エージェント２１４によって認証サーバ１５０から取得されてよい追加のメッセージ３６０を示す。図３Ｃに示す実施形態において、認証エージェント２１４は、フィールド３５０（図３Ｃ）などでチャレンジを含む修正指示に応じて認証サーバ１５０を用いて認証プロセスを開始してよい。認証プロセスにおいては、認証エージェント２１４は、フィールド３５０から認証サーバ１５０にチャレンジを提供してよい。従って認証サーバ１５０がメッセージ３６０で応答すると、フィールド３１２および３１４（図３Ａ）に含まれるのと同様のフィールド３６２の証明書およびフィールド３６４の有効期限値を含むことに加えて、認証サーバ１５０は、認証検証ソフト２２４がメッセージ３６０はチャレンジに応じて生成されたことを認識するのを可能にするような方法でチャレンジを組み込んでよい。このように認証検証ソフト２２４は、認証サーバ１５０によって特定のクライアントに関して生成されたセキュリティ情報と、セキュリティ情報が生成されたクライアント以外のデバイスによって傍受、使用された可能性がある以前生成された認証情報とを区別することができる。
【００７７】
図４を参照すると、図１のシステムの動作プロセスが示されている。図４のプロセスは、クライアント健全性エンフォースメントフレームワークが、クライアント認証に使われるように、ネットワークを動作させてよい方法の例を提供する。さらに図４は、クライアント健全性エンフォースメントフレームワークの特徴が、クライアント認証に関連付けられた機能を提供するように適合されてよいことを示す。図に示された例においては、クライアントの健全性の変化に応答するフレームワークの能力は、認証に関連付けられたログオフ機能を実施するように適合されてよい。
【００７８】
図４のプロセスは、デバイスが自分自身をネットワークに認証する試みをトリガする任意のイベントに応答して開始する。例えばクライアント１１０Ａ内の設定が、ネットワーク１２０（図１）は電源投入時にクライアント１１０Ａが接続すべきデフォルトネットワークであることを示す場合、図４のプロセスは、クライアント１１０Ａが電源を入れると開始してよい。あるいは図４のプロセスは、ネットワーク１２０に接続するようにというユーザのコマンド、または他の適切なトリガイベントに応答して開始してよい。
【００７９】
図４のプロセスのトリガの仕方にかかわらず、プロセスはブロック４１０で開始する。ブロック４１０では、ユーザ入力を取得する。この入力は、クライアント１１０Ａを認証するのに使用してよい情報を提供する。ユーザ入力は、ユーザ名とパスワードを対にした形式でよい。しかしながら入力は、任意の適切なフォーマットで提供されてよい。ユーザ入力が提供される方法にかかわらず、プロセスは次にブロック４１２に進み、クライアントデバイス１１０Ａは、帯域外サーバを用いてクライアントデバイス１１０自体を認証する。図２の実施形態によると、この帯域外サーバは認証サーバ１５０であり、ブロック４１２の処理は認証エージェント２１４が行う。しかしながらクライアントデバイスを認証する任意の適切な機構を用いてよい。
【００８０】
ブロック４１４において、クライアントは帯域外サーバを用いて成功裡に認証を行うと、クライアントコンピュータがネットワークへのアクセスを認証されたことを示す認証情報を取得する。この例においては、認証情報は、証明書または何らかの他のトークンとしてフォーマットされてよい。
【００８１】
ブロック４１６において、クライアントデバイス１１０Ａは、ブロック４１４で取得したトークンを含む健全性ステートメントを作成する。図４の例においては、健全性ステートメントはまた、クライアント１１０Ａ内で実行される他のコンポーネントから取得可能な健全性レポートも含む。健全性ステートメントは、図３Ｂのメッセージ３２０としてフォーマットしてよい。しかしながら健全性ステートメントには、任意の適切なフォーマットを用いてよい。健全性ステートメントは、クライアントアクセスエージェント２１０（図２）によって形成されてよいが、健全性ステートメントの形成に任意の適切な機構を用いてよい。
【００８２】
ブロック４１８において、クライアントデバイス１１０Ａは、ネットワークアクセスへの要求と共にブロック４１６でフォーマットされた健全性ステートメントを送信する。要求は、既知のクライアント健全性エンフォースメントフレームワークが用いるのと同じ方法で行われてよい。しかしながらネットワークアクセスを要求する特定のフォーマットは必須ではなく、ネットワークアクセスを要求する任意の適切な機構を用いてよい。
【００８３】
次にプロセスは、判断ブロック４２０に進む。判断ブロック４２０において、プロセスは、ブロック４１８で送信されたネットワークアクセスへの要求に対して受信した応答に応じて分岐する。応答がクライアントデバイス１１０Ａは修正を要するとの判断を含む場合、プロセスは、判断ブロック４３０に進む。あるいは応答が修正を要するという表示を含まない場合、プロセスは、修正処理を迂回してブロック４５０に分岐してよい。
【００８４】
修正を要する状況においては、プロセスは、判断ブロック４２０から判断ブロック４３０に分岐してよい。判断ブロック４３０において、プロセスは、認証コンポーネントに対して修正が表示されているか否かに応じて、再び分岐してよい。健全性ポリシーサーバが、メッセージ３４０（図３Ｃ）の形で応答する実施形態においては、フィールド３５０のチャレンジは、クライアントデバイスを認証するために追加の処理が必要なことを示す。このようなメッセージを受信すると、プロセスは、判断ブロック４３０からブロック４３１に分岐する。
【００８５】
ブロック４３１において、追加のユーザ入力が任意選択で提供される。ブロック４３２において、クライアント１１０Ａは、ブロック４３１で提供されたユーザ入力、またはブロック４１０で提供されたユーザ入力のいずれかを、ここでは健全性ポリシーサーバ１１２からチャレンジとして示される修正メッセージに含まれる情報と共に、次の認証プロセスの一部として帯域外サーバに提供してよい。ブロック４３２でアクセスされた帯域外サーバは、ブロック４１２でアクセスされたサーバと同じであってよい。ブロック４３２で使用された認証プロセスは、ブロック４１２で使用された認証プロセスにチャレンジを追加したものと同じであってよい。しかしながらブロック４３２での処理は、任意の適切な認証機構を採用してよい。
【００８６】
図４は、ブロック４３２での認証が成功したプロセスフローを示す。認証の成功に応じて、ブロック４３４において、クライアントデバイス１１０Ａは、ブロック４３２で与えられたチャレンジで認証されたトークンを取得してよい。任意の適切な機構を用いて、チャレンジの受領に応じてトークンが生成されたことを示すトークン付きのチャレンジを組み込んでよい。一例としては、チャレンジはトークンと連結されていてよく、両方ともトークンを生成するデバイスの鍵で署名されてよい。
【００８７】
チャレンジをどのように使ってトークンを認証するかにかかわらず、ブロック４３４で取得された認証されたトークンは、プロセスがブロック４１６に戻るときに使われてよい。ブロック４１６において、新しい健全性ステートメントが生成され、ブロック４１８でネットワークアクセスへの要求と共に送信されてよい。チャレンジで認証されたトークンが提供されたとき認証プロセスが完了する場合、クライアントは、修正を要する応答表示を受信しないはずである。次にプロセスは、判断ブロック４２０からブロック４５０に分岐してよく、そこでネットワークアクセスを取得する。
【００８８】
しかしながら認証コンポーネント間の追加のやりとりを要する実施形態においては、プロセスは、認証プロセスの一部として追加のやりとりで使用される情報を生成する追加の処理をさらに含んでよい。これらのやりとりにおいては、サーバに送信されるべき情報は、健全性ステートメントの形でフォーマットされてよい。クライアントに送信すべき情報は、健全性ステートメントへの応答における修正命令として、フォーマットされてよい。このように認証エージェント２１４が、認証に関連する情報を健全性ステートメントの形で送信し、認証検証ソフト２２４が、健全性ステートメントの応答の形で応答または他の認証情報を送信して、任意の所望のプロトコルに従って認証を完了するのに必要な数のやりとりが生じてよい。クライアントデバイス１１０Ａの認証に必要なやりとりの数にかかわらずクライアント健全性エンフォースメントに従来使われている構成と比べると、この認証を行うために、クライアント健全性アクセスエージェント２１０、またはサーバ健全性エージェント２２０のどちらも変更する必要はない。
【００８９】
認証プロセスを完了するのに必要な反復の数にかかわらず、認証プロセスを完了すると、認証検証ソフト２２４は、アクセスが修正なしにクライアント１１０Ａに許可されてよいことを示す。従って他のコンポーネントが認証を必要としない場合、プロセスは、判断ブロック４２０からブロック４４０に分岐する。しかしながら他のコンポーネントが認証を必要とする場合、プロセスは、判断ブロック４３０からブロック４４０に分岐する。ブロック４４０において、クライアントデバイス１１０Ａにインストールされた保護コンポーネントは、修正されてよい。保護コンポーネントの修正は、当分野で既知の機構を用いて行われてよく、各保護コンポーネントに関連付けられた健全性ステートメントの応答に含まれる特定の情報に基づいてよい。
【００９０】
保護コンポーネントの修正に続いて、プロセスは、再びブロック４１６に戻ってよく、そこで新しい健全性ステートメントを生成する。新しい健全性ステートメントは、クライアントデバイス１１０Ａはその保護コンポーネントを認証し修正したこと、およびネットワーク１２０の健全性ポリシーと認証要件の両方を満たしていることを示してよい。そうすると、クライアント１１０Ａは、ブロック４５０でネットワークにアクセスすることができるであろう。クライアント１１０Ａは、一旦ネットワークにアクセス可能になると、サーバ１２４等のネットワーク１２０上のデバイスにアクセスしてよく、許可されたネットワークアクセスに従って他のネットワーク動作を行ってよい。
【００９１】
もちろん図４では明示していないが、デバイスが認証を完了できない場合、図４のプロセスはブロック４５０には到達せず、デバイスは、ネットワークアクセスを許可されない。
【００９２】
一部の実施形態においては、ネットワークアクセスは、無制限に継続してよい。しかしながら一部の実施形態においては、ネットワークは、１つまたは複数のログオフイベントを認識するように実装してよい。ログオフイベントが検出されないと、図４のプロセスは、ブロック４５０に戻って、クライアント１１０Ａが引き続きネットワークアクセスを可能にするようにしてよい。しかしながらログオフイベントが検出される場合、プロセスは、判断ブロック４６０からブロック４６２に分岐してよい。この例においては、ログオフイベントは、認証エージェント２１４により検出される。
【００９３】
図に示す例においては、ログオフイベントは、ユーザ入力に関連付けてよい。例えば認証エージェント２１４は、ユーザ入力２１２を介して受信したネットワークをログオフするようにという特定のコマンドをログオフイベントとして認識してよい。しかしながら他の形のログオフイベントを認識してもよい。例えば認証エージェント２１４は、ユーザアクティビティを追跡してよく、ユーザアクティビティがある期間検出されなければ、ログオフイベントが起こったとみなしてよい。監視されるユーザアクティビティはネットワーク機能に関連してよく、より一般的にはクライアントデバイス１１０Ａとの対話に関連してよい。ログオフイベントの別の例としては、認証エージェント２１４が認証サーバ１５０からメッセージ３１０の形でメッセージを受信すると、認証エージェント２１４は、メッセージ３１０（図３Ａ）のフィールド３１４の有効期限値によって示される時刻にログオフイベントを生成してよい。
【００９４】
ログオフイベントの定義の仕方にかかわらずログオフイベントが生じると、処理は、判断ブロック４６０から判断ブロック４６２に分岐してよい。この分岐は、例えば認証エージェント２１４が、クライアント健全性アクセスエージェント２１０に状態が変化したことをインタフェース２３０を介して合図すると（signal）、生じてよい。この通知に応答して、更新された健全性ステートメントがブロック４６２で送信されてよい。ブロック４６２での処理は、クライアント健全性アクセスエージェント２１０によって行われてよく、ブロック４１８とともに表現された処理と同様に行われてよい。しかしながらブロック４６２においては、クライアント１１０Ａの認証の期限が切れている、または無効にされているので、ブロック４６２で送信された健全性ステートメントは、クライアントデバイス１１０Ａが認証されたことを示すトークンを含んでいない。従って、ブロック４６２で送信された健全性ステートメントに応じて、認証検証ソフト２２４（図２）はクライアント１１０Ａはネットワークアクセスを否定されるべきであることを示す。この表示に応じて、サーバ健全性エージェント２２０は、サーバエンフォースメントコンポーネント２６０と通信し、クライアント１１０Ａのネットワークアクセスは、無効にされるべきことを示す。そうするとサーバエンフォースメントコンポーネント２６０は、クライアント１１０Ａのネットワークアクセスを無効にする。サーバエンフォースメントコンポーネント２６０がアクセスを無効にするための特定の機構は、本発明には必須ではなく、ネットワーク１２０で用いられる特定の通信機構に応じて決めてよい。
【００９５】
使用される特定のエンフォースメント機構にかかわらず、次に、図４のプロセスは終了してよい。しかしながらクライアントデバイスは、続けて図４のプロセスを繰り返し、再びネットワークアクセスを得てよい。
【００９６】
本発明の少なくとも１つの実施形態の態様を述べたが、当業者が様々な変更、修正、改善を容易に着想することは理解されよう。
【００９７】
例えば、クライアントデバイスの認証を帯域外の機構によって行う実施形態を記載した。これらの実施形態においては、健全性ステートメント内に含まれる認証情報が信頼されたソースからのものであるか否かを、認証コンポーネントが検証する。しかしながら帯域外の機構によって行われる認証機能の一部または全てを、認証エージェント２１４と認証検証ソフト２２４間との対話によって行ってよい。
【００９８】
別の変更形態の例として、１つの認証エージェントおよび１つの認証検証ソフトを用いることを上述した。クライアント健全性エンフォースメントシステムへのインタフェースは、複数のコンポーネントをサポートするので、それぞれ異なる認証方法を用いる複数の認証エージェントが、対応する認証検証ソフトと共に、クライアントデバイスにインストールされうる。クライアントは、サーバ健全性エージェント２２０用の各方法に従って認証を行い、アクセスがクライアントに許可されることを示さなければならない。このように、複数の認証機構は容易に組み合わせてよい。
【００９９】
同様に、認証情報が認証サーバ１５０によって生成される実施形態を記載するが、認証サーバ１５０により認証情報を生成するために行うアクションの一部または全てを、認証エージェント２１４が行ってよい。
【０１００】
このような変更、修正、改善は、この開示の一部であり、本発明の趣旨および範囲に含まれると意図される。従って上記記載および図面は一例に過ぎない。
【０１０１】
本発明の上述の実施形態は、数ある方法のうち任意の方法で実装することができる。例えば実施形態は、ハードウェア、ソフトウェア、またはその組み合わせを用いて実装してよい。ソフトウェアで実装すると、単一のコンピュータで提供しても、または複数のコンピュータ間で分散されても、ソフトウェアコードは任意の適切なプロセッサ、またはプロセッサの集合で実行することができる。
【０１０２】
さらに、コンピュータは、ラックマウント式のコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータなどの多くの形態のうち任意の形態で実現してよいことは理解されたい。さらにコンピュータは、パーソナルデジタルアシスタント（ＰＤＡ）、スマートフォン、または、任意の他の適切な携帯もしくは固定の電子デバイスなど、一般にはコンピュータとみなされないが、適切な処理能力を有するデバイスに組み込んでよい。
【０１０３】
また、コンピュータは、１つまたは複数の入力デバイスおよび出力デバイスを有してよい。これらのデバイスは、特に、ユーザインタフェースを与えるのに用いることができる。ユーザインタフェースの提供に使用することができる出力デバイスの例には、視覚的な出力表示のためのプリンタまたはディスプレイスクリーン、聴覚的な出力表示のためのスピーカまたは他の音を生成するデバイスを含む。ユーザインタフェースに用いることができる入力デバイスの例は、キーボードや、マウス、タッチパッド、デジタル化タブレットなどのポインティングデバイスを含む。別の例として、コンピュータは、音声認識または他の可聴フォーマットを介して入力情報を受信してよい。
【０１０４】
このようなコンピュータは、ローカルエリアネットワーク、または企業ネットワークもしくはインターネットなどの広域ネットワークを含む、任意の適切な形態の１つまたは複数のネットワークによって相互接続されてよい。このようなネットワークは、任意の適切な技術に基づいてよく、任意の適切なプロトコルに従って動作してよく、無線ネットワーク、有線ネットワークまたは光ファイバネットワークを含んでよい。
【０１０５】
また、本明細書でおおまかに述べた様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームの任意の１つを採用する１つまたは複数のプロセッサで実行可能なソフトウェアとしてコード化されてよい。さらにこのようなソフトウェアは、多くの適切なプログラミング言語および／またはプログラミングツールまたはスクリプトツールの任意のものを用いて書かれてよく、また実行可能なマシン語コードまたはフレームワークまたは仮想記憶デバイスで実行される中間コードとして、コンパイルされてよい。
【０１０６】
この点において、本発明は、１つまたは複数のコンピュータまたは他のプロセッサで実行されると、本発明の上述の様々な実施形態を実施する方法を行う１つまたは複数のプログラムでコード化されたコンピュータ可読媒体（単数または複数）（例えば、コンピュータメモリ、１つまたは複数のフロッピー（登録商標）ディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイもしくは他の半導体デバイスの回路構成、または他の有形のコンピュータ記憶媒体）として実現されてよい。コンピュータ可読媒体（単数または複数）は、コンピュータ可読媒体に記憶されたプログラム（単数または複数）が、１つまたは複数の異なったコンピュータまたは他のプロセッサにロードされて、上述の本発明の様々な態様を実施できるように、可搬型とすることができる。
【０１０７】
「プログラム」または「ソフトウェア」という語は、本明細書では総称的に用いられており、コンピュータまたは他のプロセッサをプログラムして、上記の本明細書の様々な態様を実施するのに採用することができる、任意の種類のコンピュータコード、またはコンピュータ実行可能命令のセットを指す。さらにこの実施形態の１つの態様によると、実行すると、本発明の方法を行う１つまたは複数のコンピュータプログラムは、単一のコンピュータまたはプロセッサに常駐する必要はなく、多くの異なったコンピュータまたはプロセッサ間にモジュール方式で分散して本発明の様々な態様を実施してよいことは理解されたい。
【０１０８】
コンピュータ実行可能命令は、１つまたは複数のコンピュータまたは他のデバイスで実行される、プログラムモジュールなどの、多くの形態であってよい。一般的にプログラムモジュールは、特定のタスクを行う、または特定の抽象型データタイプを実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的には、プログラムモジュールの機能は、様々な実施形態において所望のように組み合わせてもよく、分散させてもよい。
【０１０９】
また、データ構造は、任意の適切な形で、コンピュータ可読媒体に記憶してよい。分かりやすくするために、データ構造は、データ構造のロケーションを通して関連するフィールドを有するように示してよい。このような関係は同様に、フィールド間の関係を伝えるコンピュータ可読媒体内のロケーションを、フィールドに関する記憶デバイスに割り当てることによって達成してよい。しかしながらデータ要素間の関係を構築するポインタ、タグ、または他の機構の使用を通してなど、任意の適切な機構を用いて、データ構造のフィールド内の情報間の関係を構築してよい。
【０１１０】
本発明の様々な態様は、単独で、または組み合わせて、または上記実施形態で具体的に記載していない様々な配置で用いてよく、その適用において、上記の、または図面に示したコンポーネントの詳細および配置に制限されない。例えば１つの実施形態で記載した態様は、他の実施形態で記載した態様と任意の方法で組み合わせてよい。
【０１１１】
また、本発明は方法として実現してよく、その例を示した。方法の一部として行われるアクトは、任意の適切な順序であってよい。従って図示の実施形態では順次行うアクトとして示したが、幾つかのアクトを同時に行うなど、アクトを図示の順序と異なる順序行う実施形態を構築してよい。
【０１１２】
請求項要素を修飾するために請求項での「第１の」「第２の」「第３の」などの序数の使用は、１つの請求項要素が他の請求項要素に対して優先、先行、または順序を表すものではなく、方法のアクトが行われる時間的順序を表すものでもなく、ある名称を有する１つの請求項要素を請求項要素を区別するための（序数を使用するが）名称は同じである他の請求項要素と区別するためのラベルとして使用しているに過ぎない。
【０１１３】
また、本明細書で用いられている表現および専門用語は、記載のためであり、制限を目的としているとみなしてはならない。本明細書で使用している「含む」、「備える」、「有する」は、その前に列挙する項目、およびそれと同等のそれ以外の項目も包含するものとする。
【図１】
0005519686.tif 000002
【図２】
0005519686.tif 000003
【図３Ａ】
0005519686.tif 000004
【図３Ｂ】
0005519686.tif 000005
【図３Ｃ】
0005519686.tif 000006
【図３Ｄ】
0005519686.tif 000007
【図４】
0005519686.tif 000008