(57)【特許請求の範囲】
【請求項１】
サーバがクライアントデバイスの動的な完全性チェックを提供するための方法であって、
前記クライアントデバイスの完全性をチェックするために前記クライアントデバイスによって実行可能な一以上の完全アプリケーションのうちの１つの完全アプリケーションを選択することと、ここにおいて前記選択された完全アプリケーションは、許容可能な前記クライアントデバイスの完全性に対して予め定義された完全応答を有する、
前記選択された完全アプリケーションを前記クライアントデバイスでの実行のためにダウンロードすることと、
前記クライアントデバイスでの完全性チェックの結果として得られた応答を受信することと、
前記受信された応答が前記予め定義された完全応答を有するか否かを少なくとも判定することを備え、
前記予め定義された完全応答は前記選択された完全アプリケーションをダウンロードすることに先立って変更される、方法。
【請求項２】
前記予め定義された完全応答を、基準値を含むように動的に調整することを更に備える、請求項１記載の方法。
【請求項３】
前記基準値は、時間ベースの基準値、日ベースの基準値及びデジタル署名のうちの少なくとも１つを含む、請求項２記載の方法。
【請求項４】
前記応答は、選択可能な期間内に如何なる応答も無いことを含む、請求項１記載の方法。
【請求項５】
前記クライアントデバイスは無線デバイスである、請求項１記載の方法。
【請求項６】
前記完全アプリケーションは、デバイスロケーション、ハードウェアのタイプ、キャリア識別子、前記クライアントデバイスに関連するふるまい、時間、周期的なインジゲータのうちの少なくとも１つに基づいて選択されることを備える、請求項１記載の方法。
【請求項７】
デバイスの動的な完全性チェックを提供する装置であって、
前記デバイスの完全性をチェックするために前記デバイスによって実行可能な一以上の完全アプリケーションのうちの１つの完全アプリケーションを選択するように動作する選択ロジックと、ここにおいて前記選択された完全アプリケーションは、許容可能な前記デバイスの完全性に対して予め定義された完全応答を有する、
前記選択された完全アプリケーションを前記デバイスでの実行のためにダウンロードするように動作する送信ロジックと、
前記デバイスでの完全性チェックの結果として得られた応答を受信するように動作する受信ロジックと、
前記受信された応答が前記予め定義された完全応答を有するか否かを少なくとも判定するように動作する判定ロジックと
を備え、
前記予め定義された完全応答は前記選択された完全アプリケーションをダウンロードすることに先立って変更される、装置。
【請求項８】
前記予め定義された完全応答を、基準値を含むように動的に調整するロジックを更に備える、請求項７記載の装置。
【請求項９】
前記基準値は、時間ベースの値、日ベースの基準値及びデジタル署名のうちの少なくとも１つを含む、請求項８記載の装置。
【請求項１０】
前記デバイスは無線デバイスである、請求項７記載の装置。
【請求項１１】
前記完全アプリケーションは、デバイスロケーション、ハードウェアのタイプ、キャリア識別子、前記デバイスに関連するふるまい、時間、周期的なインジゲータのうちの少なくとも１つに基づいて選択されることを備える、請求項７記載の装置。
【請求項１２】
デバイスの動的な完全性チェックを提供するように動作する装置であって、
前記デバイスの完全性をチェックするために一以上の完全アプリケーションのうちの１つの完全アプリケーションを選択する手段と、ここにおいて前記選択された完全アプリケーションは、許容可能な前記デバイスの完全性に対して予め定義された完全応答を有する、
前記選択された完全アプリケーションを前記デバイスでの実行のためにダウンロードする手段と、
前記デバイスでの完全性チェックの結果として得られた応答を受信する手段と、
前記受信された応答が前記予め定義された完全応答を有するか否かを少なくとも判定する手段とを備え、
前記予め定義された完全応答は前記選択された完全アプリケーションをダウンロードすることに先立って変更される、装置。
【請求項１３】
前記予め定義された完全応答を、基準値を含むように動的に調整する手段を更に備える、請求項１２記載の装置。
【請求項１４】
前記基準値は、時間ベースの基準値、日ベースの基準値及び時間ベース値であるデジタル署名のうちの少なくとも１つを含む、請求項１３記載の装置。
【請求項１５】
前記デバイスは無線デバイスである、請求項１２記載の装置。
【請求項１６】
前記完全アプリケーションは、デバイスロケーション、ハードウェアのタイプ、キャリア識別子、前記デバイスに関連するふるまい、時間、周期的なインジゲータのうちの少なくとも１つに基づいて選択されることを備える、請求項１２記載の装置。
【請求項１７】
完全システムのプロセッサによって実行されるときに、デバイスの完全性を動的にチェックするように動作する命令を備えるコンピュータ読み取り可能な記憶媒体であって、
前記デバイスの完全性をチェックするために一以上の完全アプリケーションのうちの１つの完全アプリケーションを選択する命令と、ここにおいて前記選択された完全アプリケーションは、許容可能な前記デバイスの完全性に対して予め定義された完全応答を有する、
前記選択された完全アプリケーションを前記デバイスでの実行のためにダウンロードする命令と、
前記デバイスでの完全性チェックの結果として得られた応答を受信する命令と、
前記受信された応答が前記予め定義された完全応答を有するか否かを少なくとも判定決定する命令とを備え、
前記予め定義された完全応答は前記選択された完全アプリケーションをダウンロードすることに先立って変更される、コンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記予め定義された完全応答を、基準値を含むように動的に調整する命令を更に備える、請求項１７記載のコンピュータ読み取り可能な記憶媒体。
【請求項１９】
前記基準値は、時間ベースの基準値、日ベースの基準値及び時間ベース値であるデジタル署名のうちの少なくとも１つを含む、請求項１８記載のコンピュータ読み取り可能な記憶媒体。
【請求項２０】
前記デバイスは無線デバイスである、請求項１７記載のコンピュータ読み取り可能な記憶媒体。
【請求項２１】
前記完全アプリケーションは、デバイスロケーション、ハードウェアのタイプ、キャリア識別子、前記デバイスに関連するふるまい、時間、周期的なインジゲータのうちの少なくとも１つに基づいて選択されることを備える、請求項１７記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、無線データネットワークに関し、特に、デバイスの完全性を動的に判定する方法及び装置に関する。
【背景技術】
【０００２】
技術の進歩は、広域のデータネットワークの発達及び展開をもたらした。これらのネットワークは、インターネットといった公衆データネットワークと、無線電気通信ネットワークといった専門のネットワークの双方を含む。これらのネットワークのユーザは、ネットワークリソースとして利用可能な多種多様の情報及びサービスにアクセスする能力を有する。
【０００３】
ネットワークリソースへの需要が増えつつある一例としては、無線ネットワーク環境がある。無線環境においては、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、及びページングデバイスといった種々の無線デバイスが、無線ネットワークを介して通信する。無線ネットワークはまた、種々のネットワークリソースを無線デバイスに提供するネットワークサーバも含み得る。さらに、公衆ネットワーク上のリソースが、無線ネットワークの無線デバイスに利用可能にできるように、無線ネットワークはインターネットといった公衆ネットワークにも結合されてもよい。
【０００４】
通常、無線デバイスは、アプリケーションプログラム又はマルチメディアコンテンツをネットワークサーバから無線ネットワークを使用してダウンロードし得る。アプリケーション又はコンテンツは、無料でダウンロードされるか、無線デバイスのユーザによって購入されてもよく、当該ユーザはアプリケーション又はコンテンツを使用する権利を、無制限の期間、一定の期間、又は、使用回数に基づいた期間の間、有効に獲得する。
【０００５】
残念ながら、ネットワークリソースにアクセスすることの容易さ及び利便性のために、現在、様々なデバイスの完全性（integrity）の問題が存在する。例えば、通常の動作及び使用の期間に、デバイスは、当該デバイスの動作を危うくし得る、ウィルス、ワーム、バグ等の形で悪意的なコードをダウンロードすることがあり得る。デバイスは、それらのセキュリティ又はライセンス機能を無効にした、密造されたバージョンといった違法なバージョンをダウンロードすることで、無許可のアプリケーション又はコンテンツを受信してしまうこともあり得る。デバイスはまた、ネットワークのセキュリティ機能を欺くように設計されたアプリケーションや他のソフトウェアを有することで、当該デバイスがネットワークサービスを無許可に得ることを可能にするかもしれない。
【０００６】
これらの問題に対処する一つの解決法は、クライアントデバイスの状況を報告するために定期的に「家に電話をする（"phones home"）」スタティックなクライアントベースのソフトウェアを使用することを含む。しかし、そのようなスタティックなクライアントベースのソフトウェアアプローチは、これらがスタティックなクライアントベースのコードの完全性に依存するために、不備がある。クライアント環境は極めて敵対的であり得るし、クライアントベースのコードは、調査解析及び／又は変形されて、罪になるような如何なる証拠も隠蔽あるいは無視し、又は、意味のある如何なる機能も欺くようにされがちである。従って、クライアントソフトウェアの定期的な更新は部分的な解決方法を形成するが、これらは必然的に同じ運命に苦しむ。
【０００７】
従って、必要とされるのは、完全性のチェックが動的に実行されることで、完全性チェック処理が調査解析され、さもなければ欺かれることを回避する、デバイスの完全性をチェックするように動作するシステムである。
【発明の概要】
【０００８】
一以上の実施形態において、デバイスの動的な完全性チェック（integrity check）を実行するように動作する完全システム（integrity system）が提供される。例えば、一実施形態では、クライアントデバイスの動的な完全性チェックを実行して、敵意ある活動の徴候、違法なアプリケーション若しくはコンテンツの存在、又は、デジタルコンテンツ若しくはアプリケーションに関連する権利の悪用を検知するメカニズムが提供される。そのような如何なる攻撃もリアルタイムで有効に実行されなければならないが、一実施形態では、完全システムによって提供される当該メカニズムは動的であるので、調査解析をすること又は欺くことは極めて困難である。
【０００９】
一実施形態では、クライアントデバイスの動的な完全性チェックを提供するためにサーバで使用される方法が提供される。当該方法は、一以上の完全アプリケーションから、選択された完全アプリケーションを選択し、当該選択された完全アプリケーションは、一意の予め選択された完全応答を生成するように動作する。当該方法はまた、選択された完全アプリケーションをクライアントデバイスでの実行のためにダウンロードし、選択された完全アプリケーションから応答を受信することを備える。当該方法はまた、応答が、予め選択された完全応答であるか否かを判定することを備える。
【００１０】
別の実施形態では、クライアントデバイスの動的な完全性チェックを提供する装置が提供される。当該装置は、一以上の完全アプリケーションから、選択された完全アプリケーションを選択するように動作する選択ロジックを備え、選択された完全アプリケーションは、一意の予め選択された完全応答を生成するように動作する。当該装置はまた、選択された完全アプリケーションをクライアントデバイスでの実行のためにダウンロードするように動作する送信ロジックを備える。当該装置はまた、選択された完全アプリケーションから応答を受信するように動作する受信ロジックを備える。当該装置はまた、応答は、予め選択された完全応答であるか否かを判定するように動作する判定ロジックを備える。
【００１１】
別の実施形態では、クライアントデバイスの動的な完全性チェックを提供するように動作する装置が提供される。当該装置は、一以上の完全アプリケーションから、選択された完全アプリケーションを選択する手段を備え、選択された完全アプリケーションは、一意の予め選択された完全応答を生成するように動作する。当該装置はまた、選択された完全アプリケーションをクライアントデバイスでの実行のためにダウンロードする手段を備える。当該装置はまた、選択された完全アプリケーションから応答を受信する手段を備える。当該装置はまた、応答は、予め選択された完全応答であるか否かを判定する手段を備える。
【００１２】
別の実施形態では、完全システムのプロセッサによって実行されるときに、デバイスの完全性を動的にチェックするように動作する命令を備える、コンピュータ読み取り可能な媒体が提供される。当該コンピュータ読み取り可能な媒体は、一以上の完全アプリケーションから、選択された完全アプリケーションを選択する命令を備え、当該選択された完全アプリケーションは、一意の予め選択された完全応答を生成するように動作する。当該コンピュータ読み取り可能な媒体はまた、選択された完全アプリケーションをクライアントデバイスでの実行のためにダウンロードする命令を備える。当該コンピュータ読み取り可能な媒体はまた、選択された完全アプリケーションから応答を受信する命令を備える。当該コンピュータ読み取り可能な媒体はまた、応答は、選択された完全応答であるか否かを判定する命令を備える。
【００１３】
本発明の他の面、利点、及び特徴は、以下に述べられる図面の簡単な説明、発明の詳細な説明、及び特許請求の範囲の概観後に明白になるであろう。
【図面の簡単な説明】
【００１４】
【図１】図１は、デバイスの完全性をチェックする完全システムの一実施形態を備えるデータネットワークを示す。
【図２】図２は、デバイスの動的な完全性チェックを実行するように動作する完全システムの一実施形態を示す機能ブロック図である。
【図３】図３は、デバイスの完全性をチェックするように完全システムを動作させる方法の一実施形態を示す。
【発明を実施するための形態】
【００１５】
本明細書に記載された実施形態の前述の面及び付随する利点は、以下の詳細な説明を添付の図面と共に参照することによって、より容易に明らかになるであろう。
【００１６】
以下の詳細な説明は、クライアントデバイスの動的な完全性チェック（integrity checking）を実行する完全システム（integrity system）を説明する。一実施形態では、多数のユニーク且つ極めて小さな完全アプリケーションが所定の期間に作成される。各アプリケーションは、クライアントデバイスでの実行時に、僅かに異なる一組の完全性チェック動作を実行する。これらの完全性チェック動作の結果は、中央のサーバに報告される。一実施形態では、アプリケーションをダウンロードするため、又は、他のサーバのサービスを要求するために、クライアントがサーバに接続するとき、サーバは、一以上の完全アプリケーションを選択及びダウンロードする。これが起こる頻度、及びダウンロードされるべきアプリケーションの選択の基準は、クライアントハードウェアのタイプ、地理的なロケーション、キャリアの識別子（ＩＤ）、又は、クライアント動作の統計的分析を含み得るが、これらに限定されるものではない。各完全アプリケーションは、クライアントデバイスの一以上の面をチェックし、一意の応答メッセージを生成するが、これは一実施形態では、暗号化され、認証され、中央のサーバに送信される。アプリケーションは次に、それ自身をクライアントから除去する。応答メッセージが罪になるような証拠を含む場合、認証が失敗する場合、又は、認証が受信されないか、カットオフ期間後に受信される場合、サーバは適当な処置を取り得る。例えば、クライアントのサーバに対する活動が制限される。
【００１７】
一以上の実施形態では、完全アプリケーション（integrity applications）は、例えばデバイス専用のリソースへの一般的な呼を提供することで、クライアントの動作を単純化するために用いられる、クライアントで実行されるランタイム環境とやり取りする。そのようなランタイム環境の一つは、カリフォルニア州サンディエゴのクアルコム株式会社によって開発されたBinary Runtime Environment for Wireless（登録商標）（ＢＲＥＷ（登録商標））のソフトウェアプラットフォームである。以下の説明では、クライアントは、ＢＲＥＷソフトウェアプラットフォームといったランタイム環境を実行している無線デバイスと仮定されるであろう。しかし、一以上の実施形態では、完全アプリケーションは、種々の有線デバイス又は無線デバイスの動的な完全性チェックを提供するために、他のタイプのランタイム環境と共に使用するのに適している。例えば、無線デバイスは、無線電話、ページャ、ＰＤＡ、電子メール装置、タブレットコンピュータ、又は他のタイプの無線デバイスを含む、任意のタイプの無線デバイスであってよいが、これらに限定されるものではない。
【００１８】
図１は、デバイスの完全性をチェックする完全システムの一実施形態を備えるデータネットワーク１００を示す。ネットワーク１００は、無線通信チャネル１０６を介して無線データネットワーク１０４と通信する無線デバイス１０２を備える。ネットワーク１００はまた、無線デバイス１０２、及びネットワーク１０４と通信している他のエンティティ（entities）にサービスを提供するために動作する当局（authority）１０８を備える。例えば、当局は、電気通信ネットワークに関連付けられたネットワークサーバであってよい。当局１０８は、リンク１１０を使用して無線ネットワークと通信するが、これは有線又は無線のリンクであってもよい。例えば、無線デバイス１０２は無線電話であってよく、当局１０８は、デバイス１０２に電気通信サービスを提供する全国的な電気通信ネットワークの一部であってよい。
【００１９】
動作期間中、完全システムは、デバイス１０２の完全性を動的にチェックするように動作する。例えば、一実施形態において、当局１０８は、パス１１４で示されるように、デバイス１０２へのダウンロードのための一以上の完全アプリケーション１１２を選択するように動作する。完全アプリケーション１１２は、無作為の又は定期的な間隔でセットアップされ、変更され、更新され、さもなければ決定され得る、公知の一意の予め定義された応答を有する。
【００２０】
一旦、完全アプリケーションがデバイス１０２にダウンロードされると、それはデバイスで実行されてデバイスの完全性を一以上の面について判定する。例えば、完全アプリケーション１１８は、パス１１４を使用してデバイスにダウンロードされる。一実施形態において、完全アプリケーション１１８は、デバイス１０２で実行されるランタイム環境、例えばＢＲＥＷランタイム環境下で実行される。一実施形態では、完全アプリケーション１１８はデバイス１０２に公知のウィルス、ワーム、又は他の悪意的なコードが無いか検索する。別の実施形態では、完全アプリケーション１１８は、デバイス１０２に所有権を主張できる（proprietary）コンテンツが無いか検索し、そのようなコンテンツが見つかると、完全アプリケーション１１８は次に、当該コンテンツについて適当なライセンスが存在するかを判定すべくチェックする。完全アプリケーション１１８は、デバイス１０２の完全性を判定するために、デバイス１０２の如何なる面も実質的にチェックし得る。
【００２１】
一旦、完全アプリケーション１１８がデバイス１０２の完全性を判定すると、アプリケーション１１８は、パス１１６に示されるように、当局１０８に返信される応答を生成するように動作する。例えば、完全アプリケーション１１８が、デバイスの完全性が許容可能であると判定する場合、予め定義された完全応答が完全アプリケーション１１８によって生成され、当局１０８に送信される。応答は、デバイスについて発見された他の任意の完全性情報も含み得る。例えば、応答は、アプリケーション、コンテンツ、又は、デバイスで発見された他の情報を含んでもよい。更に、一実施形態において、応答はリアルタイムで生成及び送信される。デバイスの完全性が許容可能ではない場合、完全アプリケーション１１８は、当局１０８に返信される否定応答メッセージを生成する。
【００２２】
一実施形態において、デバイス１０２がソフトウェア、ハードウェア、ソフトウェアとハードウェアの組合せ、又は、完全アプリケーション１１８の動作を妨害する何らかの他のエージェントを備える場合、完全応答は生成されないであろう。この場合、当局１０８は、応答が受信されなかったので、デバイスの完全性が許容可能ではないと自由に仮定できる。例えば、完全システムが所定の期間に応答を受信しない場合は、応答が送信されなかったものと仮定される。
【００２３】
一つの状況においては、デバイス１０２が、予め定義された応答メッセージを偽ろうと試みるエージェントを含むことがあり得るかもしれない。しかし、完全システムは動的であり、応答はリアルタイムで求められるため、エージェントが応答を偽ることは極めて困難である。一実施形態において、当局１０８は、デバイス１０２にダウンロードするための完全アプリケーションを無作為に選択するように動作する。これは、どのような完全性チェックが実行されるのかをデバイス１０２のエージェントが予期することを防止する。別の実施形態において、当局１０８は、選択された完全アプリケーションの予め定義された完全応答を変更するように動作する。例えば、当局は、予め定義された応答メッセージ中に電子署名又はリアルタイムインジケータを備えてもよい。従って、たとえデバイスのエージェントが先の予め定義された完全応答を知っていても、当該先の応答を当局に送信することは、結果として失敗した完全性チェックになるであろう。
【００２４】
完全アプリケーションの選択、及び／又は、完全応答のタイプは、デバイスで動作している如何なるエージェントも事前に予め定義された完全応答を知ることができないように、無作為に又は定期的に変化するよう動的に調整されることができる。更に、完全アプリケーションを調査解析して予め定義された完全応答が何であるかを判定するのは、そのような調査解析がリアルタイムでなされなければならないため、極めて困難であろう。結果として、完全システムの動作を欺くのは極めて困難である。
【００２５】
図２は、デバイスの動的な完全性チェックを実行するように動作する完全システム２００の一実施形態を説明する機能ブロック図を示す。例えば、完全システム２００は、無線デバイス１０２の完全性をチェックするために、当局１０８と共に使用されるか、当局１０８の一部として使用されるのに適している。
【００２６】
完全システム２００は、内部データバス２０４に結合される処理ロジック２０２を備える。メモリ２０６、ユーザインタフェース２０８、及びＩ／Ｏインタフェース２１０も内部データバス２０４に結合される。完全システム２００はまた、処理ロジック２０２に結合される選択ロジック２１２、及び、内部データバス２０４に結合されるアプリケーションメモリ２１４を備える。アプリケーションメモリ２１４は、一組の完全アプリケーション（Ａｐｐ１，Ａｐｐ２，…ＡｐｐＮ）を備える。
【００２７】
一以上の実施形態において、処理ロジック２０２は、ＣＰＵ、ゲートアレイ、ハードウェアロジック、ソフトウェア、又は、ハードウェアとソフトウェアの任意の組合せを備える。従って、処理ロジック２０２は一般に、機械読み取り可能な命令を実行するロジックを備える。
【００２８】
メモリ２０６は、ＲＡＭ、ＲＯＭ、ＦＬＡＳＨ、ＥＥＲＯＭ、又は他の任意の適当なタイプのメモリ、又はこれらの組合せを備える。一実施形態では、メモリ２０６は完全システム２００の内部に配置され、別の実施形態では、メモリ２０６は、完全システム２００に選択的に取り付けられ得る、取り外し可能なメモリカード又はメモリデバイスを備えることで、内部バス２０４に結合する。従って、メモリ２０６は、処理ロジック２０２によって実行され得る命令を記憶することができる如何なるタイプのメモリも実質的に備え得る。
【００２９】
ユーザインタフェース２０８は、例えばキーパッド、ポインティングデバイス、タッチパッド、又は、ユーザがデバイス１０２とやり取りすることを可能にする他の入力機構から、ユーザ入力２１６を受け取る。ユーザインタフェース２０８はまた、ＣＲＴ、ＬＣＤ、ＬＥＤ、又は、ユーザに画像表示を提供するための他の任意のタイプのディスプレイ装置といった、ディスプレイ装置に結合される。ディスクストレージ、音声ロジック、ビデオ装置等といった、他の任意のタイプの入力デバイス又は出力デバイスも、ユーザインタフェース２０８に結合されて得る。
【００３０】
Ｉ／Ｏインタフェース２１０は、完全システム２００と外部のデバイス、システム、及び／又は、ネットワークとの間で、通信リンク２１８を用いて情報を送信及び受信するように動作する。例えば、Ｉ／Ｏインタフェース２１０は、完全システム２００と当局１０８との間に通信を提供する。別の実施形態において、Ｉ／Ｏインタフェース２１０は、完全システム２００と無線ネットワーク１０４との間に通信を提供することで、完全システム２００がデバイス１０２と直接通信できるようにしている。
【００３１】
一実施形態では、Ｉ／Ｏインタフェース２１０は、通信リンク２１８を使用して無線データネットワークを介して情報を送信及び受信するように動作する無線トランシーバ回路（図示せず）を備える。例えば、通信リンク２１８は、図１に示される通信リンク１１０であってよい。例えば、トランシーバは、処理ロジック２０２から受信された情報を変調し、変調された情報を無線送信に適した高周波信号に変換する回路を備える。同様に、トランシーバは、受信された高周波通信信号を、処理ロジック２０２による復調及びその後の処理に適した信号に変換するための回路も備える。
【００３２】
別の実施形態では、Ｉ／Ｏインタフェース２１０は、インターネットといった公衆データネットワーク上の遠隔システムと通信するための、電話線、又は他のタイプのデータ線といった、配線による（hardwired）通信リンクを介して情報を送信及び受信するように動作するトランシーバを備える。
【００３３】
更に別の実施形態では、Ｉ／Ｏインタフェース２１０は、ローカルワークステーションといった、ローカルデバイスと通信するように動作する回路を備える。Ｉ／Ｏインタフェース２１０はまた、プリンタ、又は、フロッピー（登録商標）ディスク或いはメモリカードといった他のローカルなコンピュータ或いはデバイスと通信するための（シリアルポートロジック又はパラレルポートロジックといった）回路を備え得る。従って、Ｉ／Ｏインタフェース２１０は、完全システム２００が他のローカルな又は遠隔に位置するデバイス又はシステムと通信することを可能にする、如何なるタイプのハードウェア、ソフトウェア、又はこれらの組合せも備え得る。
【００３４】
一実施形態において、選択ロジック２１２は、ＣＰＵ、プロセッサ、ロジック、ソフトウェア、又は、ハードウェアとソフトウェアの任意の組合せを備える。選択ロジック２１２は、処理ロジックに選択リンク２２０を介して結合され、処理ロジック２０２に選択情報を提供するように動作する。選択情報は、デバイス１０２に送信されるべき一以上の完全アプリケーション（Ａｐｐ１−ＡｐｐＮ）を識別する。例えば、どの完全アプリケーションをアプリケーションメモリ２１４から取り出すべきかを判定するために、選択ロジック２１２は処理ロジック２０２に使用されるが、当該完全アプリケーションは次にデバイス１０２に送信される。デバイスに送信するための完全アプリケーションを選択するために、実質的に任意のタイプの選択処理又は手続きが、選択ロジック２１２によって使用されることができる。例えば、選択ロジックは、デバイス１０２に送信するための選択された完全アプリケーションを選択するために、時間インジケータ、位置インジケータ、ランダムインジケータ、又は定期的なインジケータ（periodic indicators）を用いてもよい。
【００３５】
デバイスに送信されるべき完全アプリケーションの選択後、処理ロジック２０２は、アプリケーションによって生成された予め定義された応答メッセージ中で使用されるアプリケーションの基準インジケータ（reference indicator）を含むように動作する。例えば、基準インジケータは、時間又は日付基準、電子署名、又は、他の任意のタイプの基準インジケータであってよい。アプリケーションが、応答メッセージを完全システムに返信しようと試みるとき、基準インジケータが当該応答中で使用される。従って、完全システムは、基準インジケータを使用して、実際の応答と虚偽の応答とを区別することができる。例えば、偽の応答や虚偽の応答は、正確な基準インジケータを有さないであろう。
【００３６】
完全システム２００の構成は、一つの適切な構成に過ぎないことに注意するべきである。本発明の範囲内で、他の構成、機能要素、又は要素の構成を用いて完全システム２００を実現することも可能である。
【００３７】
完全システム２００の動作期間中、処理ロジック２０２は、メモリ２０６に記憶されたプログラム命令を実行して、本明細書に記載された機能を実行する。例えば、一実施形態において、処理ロジック２０２がメモリ２０６に記憶されたプログラム命令を実行するときに、完全システム２００は記載された機能を実行する。別の実施形態では、プログラム命令は、フロッピー（登録商標）ディスク、ＣＤ、メモリカード、ＦＬＡＳＨメモリデバイス、ＲＯＭ、又は、任意の他のタイプのメモリデバイスといった、コンピュータ読み取り可能な媒体に記憶される。プログラム命令は、Ｉ／Ｏインタフェース２１０を介してメモリ２０６にロードされる。例えば、完全システム２００は、プログラム命令をコンピュータ読み取り可能な媒体からＩ／Ｏインタフェース２１０を介してメモリ２０６にダウンロードしてもよい。
【００３８】
図３は、完全システムの一実施形態、例えば完全システム２００を動作させる方法３００の一実施形態を示す。例えば、方法３００は、図２に示される完全システム２００を参照しつつ説明されるであろう。システム２００がデバイス、例えば無線デバイス１０２と通信し得るように、完全システム２００はデータネットワークに結合されるものと仮定されるであろう。
【００３９】
ブロック３０２で、クライアントデバイスは当局にログインして、当局からサービスを得る。例えば、アプリケーション、マルチメディアコンテンツをダウンロードするために、又は何らかの他のサービスを受け取るために、デバイスは当局にログインする。
【００４０】
ブロック３０４で、当局で動作している完全システムは、デバイスにダウンロードすべき完全アプリケーションを選択する。例えば、処理ロジック２０２は、選択情報を選択ロジック２１２から受け取り、当該情報は、一以上の完全アプリケーションをメモリ２１４から取り出すのに用いられる。各完全アプリケーションは、クライアントの完全性の一面を判定するように動作する。例えば、ある完全アプリケーションは、ウィルスがクライアントに存在するか否かを判定し得るし、別のアプリケーションは、認可された（licensed）マルチメディアコンテンツがクライアントに存在するか否かを判定し得る。各完全アプリケーションは、当局に知られている予め定義された応答メッセージを有する。
【００４１】
ブロック３０６で、完全システムは、完全アプリケーションの所望の応答メッセージを動的に調整する。例えば、一実施形態において、完全システムは、応答メッセージを、リアルタイムの基準、例えば現在の時刻、電子署名、又は、何らかの他の基準インジケータを含むように設定する。従って、完全アプリケーションが応答メッセージを当局に返信するとき、完全システムはリアルタイムの基準を確認することができる。実質的に、任意のリアルタイムの基準又は他の確認基準が、応答メッセージ中に動的に含まれることができる。
【００４２】
ブロック３０８で、完全システムは、選択された完全アプリケーションをデバイスにダウンロードする。例えば、処理ロジック２０２は、Ｉ／Ｏインタフェース２１０を使用してアプリケーションをデバイスに送信する。アプリケーションは動的な基準インジケータを含む。
【００４３】
ブロック３１０で、選択された完全アプリケーションは、デバイスで実行され、完全性情報を取得する。例えば、選択された完全アプリケーションは、デバイスで実行されているランタイム環境下で作動する。例えば、ランタイム環境はＢＲＥＷ環境であってよい。動作期間中、完全アプリケーションは、クライアントの完全性の一以上の面に関連する情報を獲得する。例えば、アプリケーションは、デバイスがウィルスを有するかを判定してもよいし、あるいは、デバイスが無許可の（un-licensed）コンテンツを有するかを判定してもよい。実質的には、クライアントの完全性の任意の面が、完全アプリケーションによって判定され得る。アプリケーションが上手く作動すると、完全アプリケーションは、完全応答メッセージを当局の完全システムに返信する。
【００４４】
ブロック３１２で、テストが実行されて、完全アプリケーションが応答メッセージを完全システムに返信したかが判定される。例えば、クライアントデバイスの完全性を判定した後、完全アプリケーションは、完全システムに返信される応答メッセージを生成する。応答メッセージは、完全システムによって最初に提供されるようなリアルタイムの基準を含む。完全アプリケーションから応答が受信される場合、方法はブロック３１４に進む。応答が受信されない場合、方法はブロック３１６に進む。
【００４５】
ブロック３１４で、完全システムは、クライアントデバイスで実行されている完全アプリケーションから送信された応答メッセージを受け取る。完全システムは、応答メッセージを処理して、クライアントデバイスの完全性を判定するように動作する。例えば、応答メッセージは基準インジケータを含むが、これはダウンロードされたアプリケーションから応答が来たことを示す。実質的に、任意の他の情報が応答メッセージに含まれて、クライアントデバイスの完全性について完全システムに知らせ得る。
【００４６】
ブロック３１６で、完全アプリケーションから応答が受信されなかった場合、完全システムは、デバイスが完全プログラムの動作をブロックしたと仮定してもよく、結果として、当局は適当な処置を取るように動作し得る。例えば、デバイスは、当局から更なるサービスを受信することを制限されてもよい。
【００４７】
クライアントデバイスの完全性を動的にチェックするための方法及び装置を含む完全システムを説明してきた。当該システムは、あらゆるタイプの有線又は無線のデバイスについて動的な完全性チェックを提供するのに適しており、特に携帯電話に使用するのに大変適している。
【００４８】
従って、本明細書では完全システムの方法及び装置の一以上の実施形態が図解及び記載されてきたが、複数の実施形態に、これらの精神又は本質的な特性から逸脱することなく、種々の変更を加えることができることが認識されるであろう。従って、本明細書の開示及び記載は、本発明の範囲の例証となることを意図されたものであって、限定することを意図されたものではなく、本発明の範囲は以下の特許請求の範囲に述べられている。
【図１】
0005591841.tif 000002
【図２】
0005591841.tif 000003
【図３】
0005591841.tif 000004