(57)【要約】  本発明では、接続が許可される前にユーザ・クレデンシャル及びソフトウェア・クレデンシャルの両方が認証される。この点で、１つ以上のユーザ・クレデンシャルがクライアントで（例えば、ユーザから）受け取られる。その後、通常はクライアント上で動作するソフトウェア・エージェントは、所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールがクライアントにインストールされているか否かを判定する。クライアントにインストールされている各ソフトウェア・モジュールについて、そのエージェントはソフトウェア・クレデンシャルを生成する。ユーザ・クレデンシャルとソフトウェア・クレデンシャルとはサーバに送られ、これは、ユーザ・クレデンシャルが有効であって所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならば接続を許可する。
2008539482.tif 000002
【特許請求の範囲】
【請求項１】
クライアントをネットワークに接続する方法であって、この方法は、
前記クライアントにおいて１つ以上のユーザ・クレデンシャルを受け取るステップと、
所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールが前記クライアントにインストールされているか否かをソフトウェア・エージェントで判定するステップと、
前記クライアントにインストールされていると判定された前記１つ以上のソフトウェア・モジュールの各々についてソフトウェア・クレデンシャルを生成するステップと、
前記１つ以上のユーザ・クレデンシャルと前記１つ以上のソフトウェア・クレデンシャルとをサーバに送るステップと、
もし前記１つ以上のユーザ・クレデンシャルが有効であって、前記所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならば前記クライアントを前記ネットワークに接続するステップと、を含むことを特徴とする方法。
【請求項２】
前記ソフトウェア・エージェントを前記クライアントに提供するステップを更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記所要ソフトウェア・モジュールのリスト中の、前記クライアントに存在しないソフトウェア・モジュールを前記ソフトウェア・エージェントで特定するステップを更に含むことを特徴とする請求項１又は請求項２に記載の方法。
【請求項４】
前記所要ソフトウェア・モジュールのリストは、特定のオペレーティング・システム、特定のオペレーティング・システム・レベル、特定のアンチウィルス・ソフトウェア、特定のアンチウィルス・ソフトウェア・レベル、特定のアプリケーション、特定のアプリケーション・レベル、特定のセキュリティ・パッチ、特定のセキュリティ・パッチ・レベル、特定のスパイウェア・ソフトウェア、特定のスパイウェア・ソフトウェア・レベル、特定のアドウェア・ソフトウェア及び特定のアドウェア・ソフトウェア・レベルから成るグループから選択された少なくとも１つの所要ソフトウェア・モジュールを含むことを特徴とする、上記請求項のいずれかに記載の方法。
【請求項５】
前記所要ソフトウェア・モジュールのリストは前記サーバに格納されて、前記エージェントによりアクセスされ得ることを特徴とする、上記請求項のいずれかに記載の方法。
【請求項６】
前記接続ステップの前に、その有効性を判定するために前記１つ以上のユーザ・クレデンシャル及び前記１つ以上のソフトウェア・クレデンシャルを前記サーバにおいて認証するステップを更に含むことを特徴とする、上記請求項のいずれかに記載の方法。
【請求項７】
クライアントをネットワークに接続するためのシステムであって、このシステムは、
前記クライアントにおいて１つ以上のユーザ・クレデンシャルを受け取るためのシステムと、
所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールが前記クライアントにインストールされているか否かを判定するためのシステムと、
前記クライアントにインストールされていると判定された前記１つ以上のソフトウェア・モジュールの各々についてソフトウェア・クレデンシャルを生成するためのシステムと、
前記１つ以上のユーザ・クレデンシャルと前記１つ以上のソフトウェア・クレデンシャルとをサーバに送るためのシステムと、を含んでおり、もし前記１つ以上のユーザ・クレデンシャルが有効であって、前記所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならば前記クライアントは前記ネットワークに接続されることを特徴とするシステム。
【請求項８】
前記システムはソフトウェア・エージェントを含むことを特徴とする請求項７に記載のシステム。
【請求項９】
前記ソフトウェア・エージェントは前記クライアントにロードされることを特徴とする請求項７又は請求項８に記載のシステム。
【請求項１０】
前記所要ソフトウェア・モジュールのリスト中の、前記クライアントに存在しないソフトウェア・モジュールを特定するためのシステムを更に含むことを特徴とする請求項７から９までのうちのいずれかに記載のシステム。
【請求項１１】
前記所要ソフトウェア・モジュールのリストは、特定のオペレーティング・システム、特定のオペレーティング・システム・レベル、特定のアンチウィルス・ソフトウェア、特定のアンチウィルス・ソフトウェア・レベル、特定のアプリケーション、特定のアプリケーション・レベル、特定のセキュリティ・パッチ、特定のセキュリティ・パッチ・レベル、特定のスパイウェア・ソフトウェア、特定のスパイウェア・ソフトウェア・レベル、特定のアドウェア・ソフトウェア及び特定のアドウェア・ソフトウェア・レベルから成るグループから選択された少なくとも１つの所要ソフトウェア・モジュールを含むことを特徴とする請求項７から１０までのうちのいずれかに記載のシステム。
【請求項１２】
前記所要ソフトウェア・モジュールのリストは前記サーバに格納されて、前記クライアントによりアクセスされ得ることを特徴とする請求項７から１１までのうちのいずれかに記載のシステム。
【請求項１３】
前記１つ以上のユーザ・クレデンシャルを認証するためのシステムと、
前記１つ以上のソフトウェア・クレデンシャルを認証するためのシステムと、
を更に含むことを特徴とする請求項７から１２までのうちのいずれかに記載のシステム。
【請求項１４】
クライアントをネットワークに接続するためのアプリケーションを展開する方法であって、この方法は、
ユーザ・クレデンシャルと、前記クライアントにロードされていると判定された１つ以上のソフトウェア・モジュールの各々についてのセキュリティ・クレデンシャルとを受け取るステップと、
その有効性を判定するために前記ユーザ・クレデンシャルと前記１つ以上のセキュリティ・クレデンシャルとを認証するステップと、
前記ユーザ・クレデンシャルが有効であって、且つ、所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されているならば、前記ネットワークへの接続を許可するように動作することのできるコンピュータ・インフラストラクチャを設けるステップと、を含むことを特徴とする方法。
【請求項１５】
コンピュータ上で動作したときに請求項１から６までのうちのいずれかの全てのステップを実行するようになされているプログラム・コード手段を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
一般的に、本発明は、クライアントをネットワークに接続する方法、システム及びプログラム製品に関する。特に、本発明は、ネットワークへの完全な接続を提供する前にクライアントのユーザとそれにロードされているソフトウェアとの両方を認証する方法、システム及びプログラム製品に関する。
【背景技術】
【０００２】
コンピュータ・ネットワークは社会の必須の部分となっており、改良されたセキュリティーの必要性もそうである。現在、殆どのネットワークは、ユーザ、又はユーザが操作しているクライアントがそれとの接続を確立することを許す前にユーザ・ベースの認証を行う。ユーザ・ベースの認証の最も代表的な形は、ユーザ識別子とパスワードとに基づく。このタイプの認証は、仕事場でネットワーク接続性を確立するために利用されるだけではなくて、多くのウェブサイト及びオンライン・サービスのための標準にもなっている。
【０００３】
遺憾ながら、ユーザが自分で言っているとおりの人であることを保証することはネットワーク・コンピューティングにおける唯一の問題ではない。特に、コンピュータ・ウィルス、スパイソフト、アドウェア（ａｄｗａｒｅ）などの持続的進化は、個々のコンピュータ・ユーザとネットワーク・オペレータとの両方にとって大きな問題となった。例えば、多くの場合に、ユーザが、コンピュータ・ネットワークとの接続が確立された後に、それと気づかずにウィルスをコンピュータ・ネットワークに転送する可能性がある。この点で、多くのネットワーク管理者は、接続が確立される前にアンチウィルス・ソフトウェアのような一定のプログラムがクライアント装置にインストールされていることを要求する方針を実施してきた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
遺憾ながら、これらの方針を管理することは、慣例上、個々のユーザに任されてきた。すなわち、これらの方針は、通例、確実に満たされるようにユーザに任された一組の指針として実施されている。この様な実施では、ネットワークへの接続が確立される前にそれらの指針が満たされるという保証は無い。従って、ウィルス等の伝播はただ増え続けることになる。より多くの労働者がモバイル／リモートになって自分たちの仕事場所のコンピュータの代わりにラップトップ及びその他の“携帯用”計算装置を利用するとき、特にそうである。すなわち、ネットワークのオペレータが直ぐにアクセスできる仕事場ベースの計算装置よりモバイル計算装置のコンプライアンスを保証することの方がかなり難しい可能性がある。
【０００５】
上記にかんがみて、クライアントをネットワークに接続する方法、システム及びプログラム製品が必要である。特に、ユーザと、ネットワークへの接続を確立しようとしているクライアント上の所要のソフトウェアとの両方を認証することのできるシステムが必要である。
【課題を解決するための手段】
【０００６】
一般的に、本発明は、クライアントをネットワークに接続する方法、システム及びプログラム製品を提供する。特に、本発明では、接続が許可される前にユーザ・クレデンシャル及びソフトウェア・クレデンシャルの両方が認証される。この点で、１つ以上のユーザ・クレデンシャルがクライアントで（例えば、ユーザから）受け取られる。その後、通常はクライアント上で動作するソフトウェア・エージェントは、所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールがクライアントにインストールされているか否かを判定する。クライアントにインストールされている各ソフトウェア・モジュールについて、そのエージェントはソフトウェア・クレデンシャルを生成する。ユーザ・クレデンシャルとソフトウェア・クレデンシャルとはサーバに送られ、これは、ユーザ・クレデンシャルが有効であって所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならば接続を許可する。
【０００７】
本発明の第１の側面はクライアントをネットワークに接続する方法を提供し、この方法は、クライアントにおいて１つ以上のユーザ・クレデンシャルを受け取るステップと、所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールがクライアントにインストールされているか否かをソフトウェア・エージェントで判定するステップと、クライアントにインストールされていると判定された１つ以上のソフトウェア・モジュールの各々についてソフトウェア・クレデンシャルを生成するステップと、その１つ以上のユーザ・クレデンシャルと１つ以上のソフトウェア・クレデンシャルとをサーバに送るステップと、もしその１つ以上のユーザ・クレデンシャルが有効であって、所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならばクライアントをネットワークに接続するステップと、を含む。
【０００８】
本発明の第２の側面はクライアントをネットワークに接続するためのシステムを提供し、このシステムは、クライアントにおいて１つ以上のユーザ・クレデンシャルを受け取るためのシステムと、所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールがクライアントにインストールされているか否かを判定するためのシステムと、クライアントにインストールされていると判定された１つ以上のソフトウェア・モジュールの各々についてソフトウェア・クレデンシャルを生成するためのシステムと、その１つ以上のユーザ・クレデンシャルと１つ以上のソフトウェア・クレデンシャルとをサーバに送るためのシステムと、を含んでおり、もしその１つ以上のユーザ・クレデンシャルが有効であって、所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならばクライアントはネットワークに接続される。
【０００９】
本発明の第３の側面はクライアントをネットワークに接続するためにコンピュータ可読媒体に格納されたプログラム製品を提供し、このコンピュータ可読媒体は、クライアントにおいて１つ以上のユーザ・クレデンシャルを受け取るステップと、所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールがクライアントにインストールされているか否かを判定するステップと、クライアントにインストールされていると判定された１つ以上のソフトウェア・モジュールの各々についてソフトウェア・クレデンシャルを生成するステップと、その１つ以上のユーザ・クレデンシャルと１つ以上のソフトウェア・クレデンシャルとをサーバに送るステップと、を実行するためのプログラム・コードを含み、もしその１つ以上のユーザ・クレデンシャルが有効であって、所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならばクライアントはネットワークに接続される。
【００１０】
本発明の第４の側面は、クライアントをネットワークに接続するためのアプリケーションを展開する方法を提供し、この方法は、ユーザ・クレデンシャルと、クライアントにロードされていると判定された１つ以上のソフトウェア・モジュールの各々についてのセキュリティ・クレデンシャルとを受け取り、その有効性を判定するためにそのユーザ・クレデンシャルと１つ以上のセキュリティ・クレデンシャルとを認証し、もしそのユーザ・クレデンシャルが有効であって、且つ、所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されているならばネットワークへの接続を許可するように動作することのできるコンピュータ・インフラストラクチャを設けることを含む。
【００１１】
本発明の第５の側面は、クライアントをネットワークに接続するための伝播する信号として具体化されるコンピュータ・ソフトウェアを提供し、このコンピュータ・ソフトウェアは、コンピュータ・システムに、ユーザ・クレデンシャルと、クライアントにロードされていると判定された１つ以上のソフトウェア・モジュールの各々についてのセキュリティ・クレデンシャルとを受け取り、そのユーザ・クレデンシャルと１つ以上のセキュリティ・クレデンシャルとを認証してその有効性を判定し、もしそのユーザ・クレデンシャルが有効であって、且つ、所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されているならばネットワークへの接続を許可する機能を実行させる命令を含み、所要ソフトウェア・モジュールのリスト中のソフトウェア・モジュールのいずれかがクライアントにロードされていなければ接続は許可されない。
【００１２】
従って、本発明は、クライアントをネットワークに接続する方法、システム及びプログラム製品を提供する。
【００１３】
本発明のこれらの、及びその他の特徴は、本発明の種々の側面についての以下の詳細な説明を添付図面と関連させて検討することから容易に理解されるであろう。
【００１４】
図面は必ずしも一定縮尺ではない。図面は、単なる略図であって、本発明の具体的なパラメータを描くように意図されてはいない。図面は、本発明の代表的実施態様だけを描くように意図されているので、本発明の範囲を限定するものと見なされるべきではない。図面において、同様の番号は同様の要素を表す。
【発明を実施するための最良の形態】
【００１５】
上記のように、本発明は、クライアントをネットワークに接続する方法、システム及びプログラム製品を提供する。具体的には、本発明では、接続が許可される前にユーザ・クレデンシャルとソフトウェア・クレデンシャルとの両方が認証される。この点で、１つ以上のユーザ・クレデンシャルがクライアントにおいて（例えば、ユーザから）受け取られる。その後、通常はクライアント上で動作するソフトウェア・エージェントが、所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールがクライアントにインストールされているか否かを判定する。クライアントにインストールされている各ソフトウェア・モジュールについて、このエージェントはソフトウェア・クレデンシャルを生成する。ユーザ・クレデンシャルとソフトウェア・クレデンシャルとはサーバに送られ、これは、もしユーザ・クレデンシャルが有効であって、且つ所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されるならば、接続を許可する。
【００１６】
ここで図１を参照すると、クライアント１２をネットワーク１４に接続するためのシステム１０が示されている。描かれているように、ネットワーク１４はサーバ１６を含む。しかし、簡潔を目的として図１に示されていない他のコンポーネント（例えば、ハードウェア、ソフトウェアなど）をネットワーク１４がおそらく含むであろうことが理解されるべきである。更に、ネットワーク１４は種々のタイプの通信リンクの任意の組み合わせを含み得る。例えば、ネットワーク１４は、有線送信方法又は無線送信方法或いはその両方の任意の組み合わせを利用することのできるアドレス指定可能な接続を含むことができる。更に、ネットワーク１４は、インターネット、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、仮想私設ネットワーク（ＶＰＮ）などを含む１つ以上の任意のタイプのネットワークを含むことができる。インターネットを介して通信が行われる場合には、接続性は在来のＴＣＰ／ＩＰソケット・ベースのプロトコルにより提供され得、クライアント１２は、インターネットとの接続性を確立するためにインターネット・サービス・プロバイダを利用することができる。更に、クライアント１２及びサーバ１６が夫々の機能を実行できる任意のタイプのコンピュータ装置であり得るということが理解されるべきである。その例は、特に、ハンドヘルド装置、ラップトップ・コンピュータ、デスクトップ・コンピュータ、ワークステーションなどを含む。
【００１７】
いずれにしても、クライアント１２は処理ユニット２０、メモリ２２、バス２４、及び入出力（Ｉ／Ｏ）インターフェース２６を含んで示されている。更に、クライアント１２は、外部Ｉ／Ｏ装置／リソース２８及び記憶システム３０と通信して示されている。一般的に、処理ユニット２０は、メモリ２２又は記憶システム３０に或いはその両方に格納されているクライアント・セキュリティ・システム４０のようなコンピュータ・プログラム・コードを実行する。コンピュータ・プログラム・コードを実行している間に、プロセッサ２０は、メモリ２２、記憶システム３０、Ｉ／Ｏインターフェース２６のうちの少なくとも１つからデータを読み出し、又はそれにデータを書き込み、或いはその読み書きの両方を実行することができる。バス２４は、クライアント１２内のコンポーネント間に通信リンクを提供する。外部装置２８は、ユーザがクライアント１２と対話処理することを可能にする任意の装置（例えば、キーボード、ポインティング・デバイス、ディスプレイなど）、又はクライアント１２がサーバ１６のような１つ以上の他の計算装置と通信することを可能にする任意の装置（例えば、ネットワーク・カード、モデムなど）、或いはその両方を含み得る。
【００１８】
クライアント１２とサーバ１６との通信は、１つ以上のネットワークを介して行われ得る。クライアント１２は、ハードウェアの多数の組み合わせを含み得る種々の可能なコンピュータ・インフラストラクチャを代表しているに過ぎない。例えば、処理ユニット２０は、単一の処理ユニットを含んで良く、或いは、例えばクライアント及びサーバなどの１つ以上の場所に存する１つ以上の処理ユニットに分散されてもよい。同様に、メモリ２２又は記憶システム３０或いはその両方は、１つ以上の物理的場所に存在する種々のタイプのデータ記憶装置又は伝送媒体或いはその両方の任意の組み合わせを含み得る。更に、Ｉ／Ｏインターフェース２６は、１つ以上の外部装置２８と情報を交換するための任意のシステムを含み得る。更に、図１に示されていない１つ以上の追加コンポーネント（例えば、システム・ソフトウェア、数値演算コプロセッサなど）がクライアント１２に含まれ得ることが分かる。更に、もしクライアント１２がハンドヘルド装置等を含むのであれば、１つ以上の外部装置２８（例えば、ディスプレイ）又は記憶システム３０或いはその両方が、図示されているように外部にではなくて、クライアント１２の内部に包含され得ることが分かる。
【００１９】
記憶システム３０は、本発明の下で情報（例えば、環境の詳細な情報、変数など）のための記憶を提供することのできる任意のタイプのシステム（例えば、データベース）であり得る。従って、記憶システム３０は、磁気ディスク・ドライブ又は光ディスク・ドライブのような１つ以上の記憶装置を含むことができる。他の実施態様では、記憶システム３０は、例えばローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）又はストレージ・エリア・ネットワーク（ＳＡＮ）（図示されていない）に分散されたデータを含む。図示されてはいないが、キャッシュ・メモリ、通信システム、システム・ソフトウェアなどのような付加的なコンポーネントがクライアント１２に組み込まれ得る。簡潔を目的として図示はされていないが、サーバ１６がクライアント１２と同様のコンピュータ化されたコンポーネントを含むことも理解されるべきである。
【００２０】
クライアント１２のメモリ２２の中にクライアント・セキュリティ・システム４０が示されており、これは、クライアント１２がネットワーク１４に接続するために必要とされるセキュリティが存在することを保証するためにユーザ１８と、クライアント１２にロードされているソフトウェア・モジュール４８との両方についてクレデンシャル／情報を集める。示されているように、クライアント・セキュリティ・システム４０は、クライアント分析システム４２、クレデンシャル・システム４４及び出力システム４６を含む。以下で更に記述されるように、クライアント・セキュリティ・システム４０は、通例、クライアント１２に提供されるソフトウェア・エージェント等である。しかし、必ずしもそうでなくてもよい。サーバ１６に（例えば、メモリに）認証システム５０がロードされて示されており、これは、ネットワーク１４との接続を確立するための必要条件をクライアント１２に伝達し、またその様な必要条件が満たされるか否かを判定するためにクライアント１２からクレデンシャル情報を受け取る。しかし、図１にクライアント・セキュリティ・システム４０と認証システム５０とが描かれていることは単に実例を示すことを意図しているということ、また、これにより提供される夫々の機能はサブシステムの別の構成によって実現され得ることが分かる。
【００２１】
１つの例において、クライアント１２はラップトップ・コンピュータであり、これでユーザ１８は自分の仕事場コンピュータ・ネットワーク１４に（例えば、サーバ１６を介して）接続しようとしていると仮定する。代表的実施態様では、接続が確立され又は試みられる前にクライアント・セキュリティ・システム４０はクライアントにロードされる。一実施態様では、クライアント・セキュリティ・システム４０は、クライアント・インターフェース・システム５２を介してサーバ１６からクライアント１２に伝達される。しかし、必ずしもそうでなくてもよい。むしろ、クライアント・セキュリティ・システム４０は、サーバ１６との対話処理とは無関係に（例えば、ＣＤ−ＲＯＭのようなコンピュータ可読媒体から）クライアント１２にロードされ得る。いずれにせよ、上記のように、クライアント・セキュリティ・システム４０は、通例、クライアント１２をユーザ・レベル及びソフトウェア・レベルの両方で試験するように構成されたソフトウェア・エージェントを含む。ユーザ１８は、初めに、ユーザ識別子及びパスワードのような１つ以上のユーザ・クレデンシャルを提供する。これらのユーザ・クレデンシャルはクライアント・セキュリティ・システム４０により（例えば、クレデンシャル・システム４４により）受け取られる。
【００２２】
本発明では、クライアント分析システム４２は、所要ソフトウェア・モジュールのリスト６２において特定されている１つ以上のソフトウェア・モジュールがクライアント１２にロードされているか否か判定するためにクライアント１２を分析する。一般に、所要ソフトウェア・モジュールのリスト６２は、ネットワーク１４との接続を確立するために必要とされるソフトウェア・モジュールを含む。その様なソフトウェア・モジュールの例は、特に、特定のオペレーティング・システム、特定のオペレーティング・システム・レベル、特定のアンチウィルス・ソフトウェア、特定のアンチウィルス・ソフトウェア・レベル、特定のアプリケーション、特定のアプリケーション・レベル、特定のセキュリティ・パッチ、特定のセキュリティ・パッチ・レベル、特定のスパイウェア・ソフトウェア、特定のスパイウェア・ソフトウェア・レベル、特定のアドウェア・ソフトウェア及び特定のアドウェア・ソフトウェア・レベルを含む。所要ソフトウェア・モジュールのリスト６２が、通例、クライアント１２に（例えば、クライアント・セキュリティ・システム／エージェント４０に）直接提供されることが理解されるべきである。しかし、それは、代わりに、クライアント１２がアクセスを有する場所（例えば、記憶ユニット３０）に提供されてもよいことが理解されるべきである。
【００２３】
いずれにせよ、クライアント分析システム４２は、どんなソフトウェア・モジュール４８がそれにロードされているか判定するためにクライアント１２に照会をし、或いは、その判定をするためにクライアント１２を自動的に分析することができる。いずれにせよ、ソフトウェア・モジュール４８の判定はかなりの量の時間を消費し得るので、クライアント１２は（認証システム５０の）接続システム５８によりオプションでネットワーク１４との一時的接続を許され得る。この一時的接続は、クライアント１２の分析及び認証が完了しない場合には所定量の時間の後に終了することができる。代表的実施態様では、クライアント分析システム４２は、所要ソフトウェア・モジュールのリスト６２において特定されている、クライアント１２にロードされているソフトウェア・モジュール４８と、クライアント１２にロードされていないものとを特定する。例えば、所要ソフトウェア・モジュールのリスト６２が次のソフトウェア・モジュール、すなわちソフトウェア・パッチ“Ａ”、オペレーティング・システム“Ｘ”、レベル“２．０”及びアンチウィルス・ソフトウェア“Ｚ”、レベル“３．０”、を含むと仮定する。更に、これらのソフトウェア・モジュールのうちの、アンチウィルス・ソフトウェア“Ｚ”、“レベル“３．０”以外のものは、全て、クライアントにロードされていると判定されたと仮定する（例えば、ソフトウェア・モジュール４８として）。この場合、クライアント分析システム４２は、下記の２つのリスト：
Ｉ．  ロードされているソフトウェア・モジュール
ソフトウェア・パッチ“Ａ”
オペレーティング・システム“Ｘ”、レベル“２．０”
ＩＩ．  欠けているソフトウェア・モジュール
アンチウィルス・ソフトウェア“Ｚ”、レベル“３．０”
に似ているメタ・データを出力することができる。しかし、もしクライアント１２が３つの所要ソフトウェア・モジュールの全てを実際に含んでいたならば（例えば、実際のプログラム又はその間違ったバージョン）、“欠けているソフトウェア・モジュール”のリストは単に“無し”（又は同様のこと）と述べるか、或いはそれは完全に無くされ得る。
【００２４】
とにかく、クライアント分析システム４２により特定された各ソフトウェア・モジュール４８について、クレデンシャル・システム４４は、メッセージ・ダイジェスト５（ＭＤ５）技術を用いてソフトウェア・クレデンシャルを生成する。公知のように、ＭＤ５は、１つの指紋が特定の個人に特有のものであるのと同じようにその特定のデータに特有であることを要求される１２８ビットのメッセージ・ダイジェストをデータ入力（これはどんな長さのメッセージであってもよい）から生成することを通してデータ完全性を確かめるために使用されるアルゴリズムである。代表的実施態様では、各ソフトウェア・モジュールについてのセキュリティ・クレデンシャルは、少なくともソフトウェア・プログラムとその対応するバージョンとを特定する。
【００２５】
ソフトウェア・クレデンシャルが生成されると、出力システム４６はそれをユーザ・クレデンシャルと共にサーバ１６に送り、ここでそれらはクライアント・インターフェース・システム５２により受け取られる。代表的実施態様では、クライアント１２とサーバ１６とはディフィー・ヘルマンのキー協定プロトコル（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ  ｋｅｙ  ａｇｒｅｅｍｅｎｔ  ｐｒｏｔｏｃｏｌ）（指数キー協定（ｅｘｐｏｎｅｎｔｉａｌ  ｋｅｙ  ａｇｒｅｅｍｅｎｔ）とも称される）を用いて通信することができ、それはクライアント１２とサーバ１６とが秘密通信に着手することを可能にする（例えば、それは、クライアント１２とサーバ１６とが、事前の機密事項無しで安全でない媒体を介して自分たちの秘密データ・チェックサムを交換することを可能にする）。受信すると、ユーザ・クレデンシャル・システム５４とソフトウェア・クレデンシャル・システム５６とは、その有効性を判定するためにユーザ・クレデンシャル及びソフトウェア・クレデンシャルを認証しようと試みる。ユーザ・クレデンシャルを認証することは、どの様な公知技術を用いても成し遂げられ得る。例えば、スイッチ・レベルの８０２．１ｘポート・ベースの認証が使用され得る。いずれにせよ、ユーザ・クレデンシャル（例えば、ユーザ識別子及びパスワード）は、ユーザ・クレデンシャル・システム５２によって、ディレクトリ６０に格納されているものと比較される。一致が確証されたならば、ユーザ・クレデンシャルは認証されたのであって、有効である。この点で、ディレクトリ６０はライトウェイト・ディレクトリ・アクセス・プロトコル（ＬＤＡＰ）ディレクトリ６０であり得、サーバ１６はＬＤＡＰサーバであり得る。
【００２６】
ソフトウェア・クレデンシャル・システム５６は、ソフトウェア・クレデンシャルにおいて特定されたソフトウェア・モジュール４８の詳細を所要ソフトウェア・モジュールのリスト６２において特定されている必要条件と比較する。上記のように、ソフトウェア・クレデンシャルは、通例、具体的なソフトウェア・プログラムとその対応するバージョンとを特定する。この情報は、リスト６２に含まれている必要条件と比較される。接続システム５８は、ユーザ・クレデンシャルが有効であって、且つ、リスト６２において特定されている各々の所要ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されている場合に限って、望まれている接続を確立する。ユーザ・クレデンシャルが有効でなければ、接続は許可されない。更に、クライアント１２が所要ソフトウェア・モジュール（例えば、実際のプログラム又は間違ったバージョン）を欠いていれば、接続は許可されない。
【００２７】
上記のように、クライアント１２は、本発明のプロセスの結果が出るまで一時的な接続を許可されているかもしれない。もしそのプロセスが成功ならば、接続は最早一時的ではなくなる。しかし、プロセスが不成功ならば、接続は終了させられる。更に、上記のように、試験プロセスが所定量の時間内に完了しなければ、一時的接続は終了させられて、このプロセスはクライアント１２が次にネットワーク１４との接続を得ようとするときに続行される。
【００２８】
ここで図２を参照すると、本発明による方法流れ図１００が示されている。第１ステップＳ１は、ソフトウェア・エージェントをクライアントに提供することである。第２ステップＳ２は、クライアントにおいて１つ以上のユーザ・クレデンシャルを受け取ることである。第３ステップは、所要ソフトウェア・モジュールのリストにおいて特定されている１つ以上のソフトウェア・モジュールがクライアントにインストールされているか否かをソフトウェア・エージェントで判定することである。もし否であれば、ステップＳ４でプロセスは終了する。しかし、１つ以上のその様なモジュールがクライアントにおいて見出されたならば、ステップＳ５で各々についてソフトウェア・クレデンシャルが生成される。その後、ステップＳ６で、ユーザ・クレデンシャルとソフトウェア・クレデンシャルとはサーバに送られる。ステップＳ７で、ユーザ・クレデンシャルが有効であるか否かが判定される。もし否であれば、プロセスは終了する。しかし、ユーザ・クレデンシャルが有効であれば、ステップＳ８で、所要ソフトウェア・モジュールのリストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア・クレデンシャルが提供されたか否かが判定される。否であれば、プロセスは終了させられる。しかし、リストにおいて特定されている各ソフトウェア・モジュールについて有効なソフトウェア接続が提供されているならば、ステップＳ９でクライアントはネットワークに接続される。
【００２９】
本発明の教示が加入ベース、広告ベース、無料のうちの少なくとも１つでビジネス方法として提供され得ることが理解されるべきである。例えば、クライアント・セキュリティ・システム４０（図１）、又はクライアント１２、サーバ１６（図１）の少なくとも一方のようなコンピュータ・インフラストラクチャ、或いはその両方は、本書に記載されている機能を顧客に提供するサービス・プロバイダによって、作られ、維持され、サポートされ、且つ展開され得、或いは作られ、維持され、サポートされ又は展開され得る。すなわち、サービス・プロバイダは、図示され且つ上で論じられたようにクライアントをネットワークに提供接続できる。この点で、本発明は、コンピュータ・インフラストラクチャを提供することと、本発明を実行するように動作できるアプリケーションをそのコンピュータ・インフラストラクチャに展開することとを含み得る。
【００３０】
本発明がハードウェア、ソフトウェア、伝播する信号、又はこれらの任意の組み合わせで実現され得ることが分かる。任意の種類のコンピュータ／サーバ・システム、又は本書に記載された方法を実行するようになされている他の装置が適している。ハードウェアとソフトウェアとの代表的な組み合わせは、ロードされて実行されたときに本書に記載された夫々の方法を成し遂げるコンピュータ・プログラムを有する汎用コンピュータ・システムであり得る。或いは、本発明の機能タスクのうちの１つ以上を成し遂げるための専用ハードウェアを含む特定用途コンピュータを利用することができる。
【００３１】
本発明は、コンピュータ可読媒体に格納されるコンピュータ・プログラム製品に埋め込まれ、且つ、或いはその代わりに、２つ以上のシステム間で伝達される伝播する信号として具体化されても良く、それは、本書に記載されている方法の実行を可能にする全ての特徴を含み、また、それは、コンピュータ・システムにロードされ／計算インフラストラクチャに展開されたとき、これらの方法を成し遂げることができる。コンピュータ・プログラム製品、アプリケーション、ソフトウェア・プログラム、プログラム、及びソフトウェアは、この文脈においては同義であって、情報処理能力を有するシステムに特定の機能を直ちに、又は（ａ）他の言語、コード又は記法への変換及び（ｂ）別の材料形での再生産のいずれか又は両方の後に、実行させるように意図された命令のセットの、任意の言語、コード又は記法での任意の表現を意味する。
【００３２】
本発明の種々の側面についての以上の記述は、説明及び記述を目的として提示されている。網羅的であることや、或いは開示された形そのものに発明を限定することは意図されておらず、明らかに多くの改変形及び変化形が可能である。その様な、当業者にとって明白であり得る改変形及び変化形は、付随する請求項により定義される発明の範囲内に含まれるように意図されている。
【図面の簡単な説明】
【００３３】
【図１】本発明に従ってクライアントをネットワークに接続するためのシステムを示す。
【図２】本発明の方法流れ図を示す。
【図１】
2008539482.tif 000003
【図２】
2008539482.tif 000004
【国際調査報告】
2008539482.tif 000005
2008539482.tif 000006
2008539482.tif 000007