JP5519686B2 - クライアント健全性エンフォースメントフレームワークを用いたネットワークにおける認証 - Google Patents

クライアント健全性エンフォースメントフレームワークを用いたネットワークにおける認証 Download PDF

Info

Publication number
JP5519686B2
JP5519686B2 JP2011535585A JP2011535585A JP5519686B2 JP 5519686 B2 JP5519686 B2 JP 5519686B2 JP 2011535585 A JP2011535585 A JP 2011535585A JP 2011535585 A JP2011535585 A JP 2011535585A JP 5519686 B2 JP5519686 B2 JP 5519686B2
Authority
JP
Japan
Prior art keywords
health
client
authentication
access
statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011535585A
Other languages
English (en)
Other versions
JP2012507972A (ja
Inventor
ナイス ニル
エイアル アナット
ヌカラ チャンドラセカール
アダガトラ スリニバス
ネイスタッド ユージン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012507972A publication Critical patent/JP2012507972A/ja
Application granted granted Critical
Publication of JP5519686B2 publication Critical patent/JP5519686B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Socks And Pantyhose (AREA)

Description

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

Claims (14)

  1. クライアントコンピュータの健全性に基づいてネットワークアクセスを選択的に許可するサーバ(112)に、健全性ステートメント(240)を、提供するように構成されたクライアントコンピュータ(110A)を操作する方法であって、
    第2のサーバ(150)に対して前記クライアントコンピュータを認証すること(412)と、
    前記クライアントコンピュータがネットワークへのアクセスを認証されることを示す認証情報を、前記クライアントコンピュータが前記第2サーバ(150)から取得すること(414,434)と、
    前記認証情報を含めるように健全性ステートメントをフォーマットすること(416)と、
    前記健全性ステートメントを、ネットワークアクセスへの要求に関連して、前記サーバ(112)に提供すること(418)であって、前記サーバ(112)が、前記健全性ステートメントに基づいて前記ネットワークへのアクセスを認証するように構成されることと、
    を含むことを特徴とする方法。
  2. 前記サーバは、健全性ポリシーサーバ(112)を備えることを特徴とする請求項1に記載の方法。
  3. 前記認証情報は、セキュリティトークン(312,362)を備えることを特徴とする請求項1に記載の方法。
  4. 前記セキュリティトークンは、X.509証明書(312,362)を備えることを特徴とする請求項3に記載の方法。
  5. 記第2のサーバからの前記セキュリティトークンを受信すること(414)と、
    をさらに含むことを特徴とする請求項3に記載の方法。
  6. 請求項1に記載の方法であって
    前記クライアントコンピュータのウイルス対策ソフトウェアの構成を示すウイルス対策構成情報(324)を生成することをさらに含み、
    前記健全性ステートメント(320)をフォーマットすることは、前記ウイルス対策構成情報を含めるように健全性ステートメントをフォーマットする、こと、をさらに含む、
    ことを特徴とする方法。
  7. ユーザの前記クライアントコンピュータ(460)とのユーザ対話を監視することと、
    ユーザ対話が、閾値を超えている期間、検出されないとき、前記クライアントコンピュータの前記健全性ステートメントが変化したという表示を前記サーバに送信すること(462)と、
    をさらに含むことを特徴とする請求項1に記載の方法。
  8. ネットワークログオフ(460)を示すユーザ入力を受信することと、
    前記ユーザ入力に応答して、前記クライアントコンピュータの前記健全性ステートメントが変化したという表示を前記サーバに送信すること(462)と、
    をさらに含むことを特徴とする請求項1に記載の方法。
  9. 1つまたは複数の健全性ステートメントエージェント(216A,216B,216C)からインタフェース(230)を介して情報を取得し、前記健全性ステートメントを検証し、前記健全性ステートメントが検証されると、ネットワークへのアクセスを許可するように適合される健全性ポリシーサーバ(112)に健全性ステートメント(240)を送信するように適合されるクライアント健全性アクセスエージェント(210)を含むクライアント健全性エンフォースメントフレームワークを備えて構成されたクライアントコンピュータ(110A)であって、
    前記クライアントコンピュータの前記ネットワークへのアクセスを認証し前記クライアントコンピュータの認証状態を示す情報を、前記インタフェースを介して前記クライアント健全性アクセスエージェントに提供する、コンピュータ記憶媒体に記憶されたコンピュータ実行可能命令を含む認証エージェント(214)をさらに含み、
    前記クライアント健全性アクセスエージェントは、認証情報を含む健全性ステートメント(320)を前記健全性ポリシーサーバに送信し、
    前記認証エージェント(710)が、第2のサーバ(150)において認証することによって、前記クライアントコンピュータを認証するように適合される、
    ことを特徴とするクライアントコンピュータ。
  10. 前記クライアント健全性エンフォースメントフレームワークは、タイムアウトするアクセスを許可するように構成され、前記クライアント健全性アクセスエージェントは、前記認証がタイムアウトすると、前記1つまたは複数の健全性ステートメントエージェント(216A,216B,216C)の各々と、前記認証エージェント(214)とに、状態情報をポーリングするように適合されたことを特徴とする請求項に記載のクライアントコンピュータ。
  11. 前記認証エージェントは、前記クライアント健全性アクセスエージェント(210)が状態情報をポーリングすることに応答して、前記クライアントコンピュータを再認証するように適合されたことを特徴とする請求項10に記載のクライアントコンピュータ。
  12. 前記1つまたは複数の健全性ステートメントエージェント(216A,216B,216C)は、それぞれ、前記インタフェース(230)を介して健全性状態変更の表示を通信するように適合され、
    前記クライアント健全性アクセスエージェントは、前記インタフェースを介した健全性状態変更の表示に応答して、健全性状態の変更を前記健全性ポリシーサーバ(112)に通信するようになされ、
    前記認証エージェントは、閾値を超える期間、ユーザが活動しないことを検出するのに応答して、前記インタフェース(230)を介して健全性状態変更の表示を通信するように適合された、
    ことを特徴とする請求項10に記載のクライアントコンピュータ。
  13. 前記認証エージェントは、ネットワークログオフを示すユーザ入力に応答して、前記インタフェースを介して健全性状態変更の表示を通信するように、さらに適合されたことを特徴とする請求項12に記載のクライアントコンピュータ。
  14. 前記1つまたは複数の健全性ステートメントエージェントは、前記クライアントコンピュータ上で実行するウイルス対策ソフトウェアの構成を示すように適合されたウイルス対策エージェントを含むことを特徴とする請求項13に記載のクライアントコンピュータ。
JP2011535585A 2008-11-03 2009-10-16 クライアント健全性エンフォースメントフレームワークを用いたネットワークにおける認証 Active JP5519686B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11093708P 2008-11-03 2008-11-03
US61/110,937 2008-11-03
US12/338,268 US9443084B2 (en) 2008-11-03 2008-12-18 Authentication in a network using client health enforcement framework
US12/338,268 2008-12-18
PCT/US2009/060990 WO2010062491A2 (en) 2008-11-03 2009-10-16 Authentication in a network using client health enforcement framework

Publications (2)

Publication Number Publication Date
JP2012507972A JP2012507972A (ja) 2012-03-29
JP5519686B2 true JP5519686B2 (ja) 2014-06-11

Family

ID=42133083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011535585A Active JP5519686B2 (ja) 2008-11-03 2009-10-16 クライアント健全性エンフォースメントフレームワークを用いたネットワークにおける認証

Country Status (5)

Country Link
US (1) US9443084B2 (ja)
EP (1) EP2321928B1 (ja)
JP (1) JP5519686B2 (ja)
CN (1) CN102204159B (ja)
WO (1) WO2010062491A2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010114927A1 (en) * 2009-03-31 2010-10-07 Napera Networks Network-assisted health reporting activation
WO2011027352A1 (en) * 2009-09-03 2011-03-10 Mcafee, Inc. Network access control
US9532222B2 (en) 2010-03-03 2016-12-27 Duo Security, Inc. System and method of notifying mobile devices to complete transactions after additional agent verification
US9544143B2 (en) 2010-03-03 2017-01-10 Duo Security, Inc. System and method of notifying mobile devices to complete transactions
US8997196B2 (en) * 2010-06-14 2015-03-31 Microsoft Corporation Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US9111079B2 (en) 2010-09-30 2015-08-18 Microsoft Technology Licensing, Llc Trustworthy device claims as a service
US8510820B2 (en) 2010-12-02 2013-08-13 Duo Security, Inc. System and method for embedded authentication
US9282085B2 (en) 2010-12-20 2016-03-08 Duo Security, Inc. System and method for digital user authentication
JP5820258B2 (ja) * 2011-06-09 2015-11-24 キヤノン株式会社 管理装置、管理方法、およびプログラム
US8892885B2 (en) 2011-08-31 2014-11-18 Duo Security, Inc. System and method for delivering a challenge response in an authentication protocol
US9467463B2 (en) 2011-09-02 2016-10-11 Duo Security, Inc. System and method for assessing vulnerability of a mobile device
US9524388B2 (en) * 2011-10-07 2016-12-20 Duo Security, Inc. System and method for enforcing a policy for an authenticator device
US8763077B2 (en) * 2011-10-07 2014-06-24 Duo Security, Inc. System and method for enforcing a policy for an authenticator device
WO2013151851A2 (en) * 2012-04-01 2013-10-10 Authentify, Inc. Secure authentication in a multi-party system
US9607156B2 (en) 2013-02-22 2017-03-28 Duo Security, Inc. System and method for patching a device through exploitation
US9443073B2 (en) 2013-08-08 2016-09-13 Duo Security, Inc. System and method for verifying status of an authentication device
US8893230B2 (en) 2013-02-22 2014-11-18 Duo Security, Inc. System and method for proxying federated authentication protocols
US9338156B2 (en) 2013-02-22 2016-05-10 Duo Security, Inc. System and method for integrating two-factor authentication in a device
US8973140B2 (en) 2013-03-14 2015-03-03 Bank Of America Corporation Handling information security incidents
US9661023B1 (en) * 2013-07-12 2017-05-23 Symantec Corporation Systems and methods for automatic endpoint protection and policy management
US9053310B2 (en) 2013-08-08 2015-06-09 Duo Security, Inc. System and method for verifying status of an authentication device through a biometric profile
US9092302B2 (en) 2013-09-10 2015-07-28 Duo Security, Inc. System and method for determining component version compatibility across a device ecosystem
US9608814B2 (en) 2013-09-10 2017-03-28 Duo Security, Inc. System and method for centralized key distribution
US10320624B1 (en) 2013-09-30 2019-06-11 Amazon Technologies, Inc. Access control policy simulation and testing
US9774448B2 (en) 2013-10-30 2017-09-26 Duo Security, Inc. System and methods for opportunistic cryptographic key management on an electronic device
US20150172919A1 (en) * 2013-12-13 2015-06-18 General Motors Llc Processing secure sms messages
US9762590B2 (en) 2014-04-17 2017-09-12 Duo Security, Inc. System and method for an integrity focused authentication service
US9876792B2 (en) 2014-10-30 2018-01-23 Dell Products, Lp Apparatus and method for host abstracted networked authorization
US9979719B2 (en) 2015-01-06 2018-05-22 Duo Security, Inc. System and method for converting one-time passcodes to app-based authentication
US9641341B2 (en) 2015-03-31 2017-05-02 Duo Security, Inc. Method for distributed trust authentication
US11115417B2 (en) 2015-05-19 2021-09-07 Microsoft Technology Licensing, Llc. Secured access control to cloud-based applications
EP3304336B1 (en) 2015-06-01 2019-10-09 Duo Security, Inc. Method for enforcing endpoint health standards
US9774579B2 (en) 2015-07-27 2017-09-26 Duo Security, Inc. Method for key rotation
US10341332B2 (en) * 2016-07-26 2019-07-02 International Business Machines Corporation System and method for providing persistent user identification
GB201617620D0 (en) * 2016-10-18 2016-11-30 Cybernetica As Composite digital signatures
US10412113B2 (en) 2017-12-08 2019-09-10 Duo Security, Inc. Systems and methods for intelligently configuring computer security
US11658962B2 (en) 2018-12-07 2023-05-23 Cisco Technology, Inc. Systems and methods of push-based verification of a transaction
US10904098B2 (en) 2019-06-28 2021-01-26 T-Mobile Usa, Inc. Health check automation for virtual network functions
CN114266043A (zh) * 2020-09-16 2022-04-01 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机程序产品
CN114520977A (zh) * 2020-11-20 2022-05-20 中国联合网络通信集团有限公司 路由器认证方法、装置及存储介质

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771812B1 (en) 1991-12-27 2004-08-03 Minolta Co., Ltd. Image processor
US6574661B1 (en) 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
US6362836B1 (en) 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6243816B1 (en) 1998-04-30 2001-06-05 International Business Machines Corporation Single sign-on (SSO) mechanism personal key manager
US6275944B1 (en) 1998-04-30 2001-08-14 International Business Machines Corporation Method and system for single sign on using configuration directives with respect to target types
US20090094164A1 (en) 1999-07-09 2009-04-09 Bally Gaming, Inc. Remote access verification environment system and method
AU2001234479A1 (en) 2000-01-19 2001-07-31 Kline And Walker, Llc Protected accountable primary focal node interface
US20030191817A1 (en) 2000-02-02 2003-10-09 Justin Fidler Method and system for dynamic language display in network-based applications
US6624760B1 (en) 2000-05-30 2003-09-23 Sandia National Laboratories Monitoring system including an electronic sensor platform and an interrogation transceiver
US6873988B2 (en) * 2001-07-06 2005-03-29 Check Point Software Technologies, Inc. System and methods providing anti-virus cooperative enforcement
US20040177247A1 (en) 2003-03-05 2004-09-09 Amir Peles Policy enforcement in dynamic networks
US8751801B2 (en) 2003-05-09 2014-06-10 Emc Corporation System and method for authenticating users using two or more factors
US20050125677A1 (en) 2003-12-09 2005-06-09 Michaelides Phyllis J. Generic token-based authentication system
US20070186099A1 (en) 2004-03-04 2007-08-09 Sweet Spot Solutions, Inc. Token based two factor authentication and virtual private networking system for network management and security and online third party multiple network management method
US8249953B2 (en) 2004-05-13 2012-08-21 Cisco Technology, Inc. Methods and apparatus for determining the status of a device
US7587751B2 (en) 2004-08-02 2009-09-08 Cisco Technology, Inc. Method and apparatus for automatically re-validating multiple clients of an authentication system
JP2006072446A (ja) 2004-08-31 2006-03-16 Systemneeds Inc 入退室時の利用者認証による電子機器の電源制御システム
US20060085850A1 (en) 2004-10-14 2006-04-20 Microsoft Corporation System and methods for providing network quarantine using IPsec
US8266676B2 (en) 2004-11-29 2012-09-11 Harris Corporation Method to verify the integrity of components on a trusted platform using integrity database services
US8346910B2 (en) * 2004-11-30 2013-01-01 American Express Travel Related Services Company, Inc. Method and apparatus for managing an interactive network session
WO2006072014A2 (en) * 2004-12-30 2006-07-06 Chang, Ifan System and method for effectuating computer network usage
US20070174630A1 (en) 2005-02-21 2007-07-26 Marvin Shannon System and Method of Mobile Anti-Pharming and Improving Two Factor Usage
US7900247B2 (en) * 2005-03-14 2011-03-01 Microsoft Corporation Trusted third party authentication for web services
KR100757338B1 (ko) * 2005-05-31 2007-09-11 엔에이치엔(주) 동일한 리플리케이션 그룹에 속하는 구성원 서버의 상태를동기화하는 방법 및 시스템
US7636938B2 (en) * 2005-06-30 2009-12-22 Microsoft Corporation Controlling network access
US7647634B2 (en) 2005-06-30 2010-01-12 Microsoft Corporation Managing access to a network
US20070101409A1 (en) * 2005-11-01 2007-05-03 Microsoft Corporation Exchange of device parameters during an authentication session
US20070107050A1 (en) 2005-11-07 2007-05-10 Jexp, Inc. Simple two-factor authentication
US20070136573A1 (en) 2005-12-05 2007-06-14 Joseph Steinberg System and method of using two or more multi-factor authentication mechanisms to authenticate online parties
EP1802155A1 (en) 2005-12-21 2007-06-27 Cronto Limited System and method for dynamic multifactor authentication
US7793096B2 (en) * 2006-03-31 2010-09-07 Microsoft Corporation Network access protection
NZ547903A (en) 2006-06-14 2008-03-28 Fronde Anywhere Ltd A method of generating an authentication token and a method of authenticating an online transaction
JP4891722B2 (ja) * 2006-09-29 2012-03-07 株式会社日立製作所 検疫システムおよび検疫方法
US8245281B2 (en) 2006-12-29 2012-08-14 Aruba Networks, Inc. Method and apparatus for policy-based network access control with arbitrary network access control frameworks
US20080201780A1 (en) 2007-02-20 2008-08-21 Microsoft Corporation Risk-Based Vulnerability Assessment, Remediation and Network Access Protection
US20080208957A1 (en) 2007-02-28 2008-08-28 Microsoft Corporation Quarantine Over Remote Desktop Protocol
US8185740B2 (en) 2007-03-26 2012-05-22 Microsoft Corporation Consumer computer health validation
US8532303B2 (en) 2007-12-14 2013-09-10 Intel Corporation Symmetric key distribution framework for the internet
US20090178131A1 (en) 2008-01-08 2009-07-09 Microsoft Corporation Globally distributed infrastructure for secure content management

Also Published As

Publication number Publication date
WO2010062491A3 (en) 2010-07-29
EP2321928A4 (en) 2012-02-22
CN102204159A (zh) 2011-09-28
CN102204159B (zh) 2014-12-17
EP2321928B1 (en) 2019-05-15
EP2321928A2 (en) 2011-05-18
US9443084B2 (en) 2016-09-13
WO2010062491A2 (en) 2010-06-03
US20100115578A1 (en) 2010-05-06
JP2012507972A (ja) 2012-03-29

Similar Documents

Publication Publication Date Title
JP5519686B2 (ja) クライアント健全性エンフォースメントフレームワークを用いたネットワークにおける認証
US9866566B2 (en) Systems and methods for detecting and reacting to malicious activity in computer networks
US10057282B2 (en) Detecting and reacting to malicious activity in decrypted application data
US8909930B2 (en) External reference monitor
US8185740B2 (en) Consumer computer health validation
CN101227468B (zh) 用于认证用户到网络的方法、设备和系统
JP5744915B2 (ja) 信頼される連合アイデンティティ管理およびデータアクセス認可の方法および装置
US8997196B2 (en) Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US8543471B2 (en) System and method for securely accessing a wirelessly advertised service
JP6963609B2 (ja) 透過性多要素認証およびセキュリティ取り組み姿勢チェックのためのシステムおよび方法
US20080005359A1 (en) Method and apparatus for OS independent platform based network access control
WO2007000772A1 (en) Access control method and apparatus
Hackenjos et al. FIDO2 With Two Displays-Or How to Protect Security-Critical Web Transactions Against Malware Attacks
Baghdasaryan et al. FIDO Security Reference
US20240297887A1 (en) Mid-session trust assessment
Eldridge et al. Final report for the network authentication investigation and pilot.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120829

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140403

R150 Certificate of patent or registration of utility model

Ref document number: 5519686

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250