(57)【要約】【解決手段】クライアント通信デバイスとサーバとの間の安全な通信を提供するシステム及び方法。サーバは、ランダムオフセットを生成する。サーバは、ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更する。サーバは、サーバ通信デバイス動的信用証明を格納する。サーバは、ランダムオフセットを含む信号を、ネットワークを経由して送る。サーバは、動的信用証明を含む信号を、ネットワークを経由して受信する。サーバは、サーバ通信デバイス動的信用証明と、受信した動的信用証明との間の相違を判定する。更に、サーバは、この相違に基づいて、クローン通信デバイスの存在を検出する。【選択図】      図６
2008521348.tif 000002
【特許請求の範囲】
【請求項１】
クローン通信デバイスを検出する方法であって、
ランダムオフセットを生成することと、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更することと、
前記サーバ通信デバイス動的信用証明を格納することと、
前記ランダムオフセットを含む信号をネットワークを介して送ることと、
動的信用証明を含む信号をネットワークを介して受信することと、
前記サーバ通信デバイス動的信用証明と、前記受信した動的信用証明との間の相違を判定することと、
前記相違に基づいて、クローン通信デバイスの存在を検出することと
を含む方法。
【請求項２】
サーバ通信デバイス動的信用証明を生成することと、
前記サーバ通信デバイス動的信用証明をネットワークを介して送ることと
を更に含む請求項１の方法。
【請求項３】
前記サーバ通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項１の方法。
【請求項４】
前記相違数は、複数のランダムオフセットを用いた複数の変更回数と等しい請求項１の方法。
【請求項５】
前記サーバ通信デバイス動的信用証明は、３２ビットの２進数である請求項１の方法。
【請求項６】
クローン通信デバイスを検出する方法であって、
ランダムオフセットを含む信号をネットワークを介して受信することと、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更することと、
前記変更されたクライアント通信デバイス動的信用証明を、前記ネットワークを介して送ることと
を含む方法。
【請求項７】
登録信号をネットワークを介して送ることと、
サーバ通信デバイス動的信用証明をネットワークを介して受信することと、
前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納することと
を更に含む請求項６の方法。
【請求項８】
前記クライアント通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項６の方法。
【請求項９】
前記クライアント通信デバイス動的信用証明は、３２ビットの２進数である請求項６の方法。
【請求項１０】
クローン通信デバイスを検出する方法であって、
ランダムオフセットを生成することと、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更することと、
前記サーバ通信デバイス動的信用証明を格納することと、
前記ランダムオフセットを含む信号を、ネットワークを介して送ることと、
前記ランダムオフセットを含む信号を、ネットワークを介して受信することと、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更することと、
前記変更されたクライアント通信デバイス動的信用証明を前記ネットワークを介して送ることと、
前記変更されたクライアント通信デバイス動的信用証明を含む信号を、ネットワークを介して受信することと、
前記サーバ通信デバイス動的信用証明と、前記変更されたクライアント通信デバイス動的信用証明との間の相違を判定することと、
前記相違に基づいて、クローン通信デバイスの存在を検出することと
を含む方法。
【請求項１１】
サーバ通信デバイス動的信用証明を生成することと、
前記サーバ通信デバイス動的信用証明を、ネットワークを介して送ることと、
登録信号をネットワークを介して送ることと、
前記サーバ通信デバイス動的信用証明を、ネットワークを介して受信することと、
前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納することと
を更に含む請求項１０の方法。
【請求項１２】
クローン通信デバイスを検出するサーバであって、
ランダムオフセットを生成するように構成されたロジックと、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更するように構成されたロジックと、
前記サーバ通信デバイス動的信用証明を格納するように構成されたロジックと、
前記ランダムオフセットを含む信号を、ネットワークを介して送るように構成されたロジックと、
動的信用証明を含む信号を、ネットワークを介して受信するように構成されたロジックと、
前記サーバ通信デバイス動的信用証明と、前記受信した動的信用証明との間の相違を判定するように構成されたロジックと、
前記相違に基づいて、クローン通信デバイスの存在を検出するように構成されたロジックと
を含むサーバ。
【請求項１３】
サーバ通信デバイス動的信用証明を生成するように構成されたロジックと、
前記サーバ通信デバイス動的信用証明をネットワークを介して送るように構成されたロジックと
を更に含む請求項１２のサーバ。
【請求項１４】
前記サーバ通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項１２のサーバ。
【請求項１５】
前記相違数は、複数のランダムオフセットを用いた複数の変更回数と等しい請求項１２のサーバ。
【請求項１６】
前記サーバ通信デバイス動的信用証明は、３２ビットの２進数である請求項１２のサーバ。
【請求項１７】
クローン通信デバイスを検出するためにシステム内で動作可能なクライアント通信デバイスであって、
ランダムオフセットを含む信号をネットワークを介して受信するように構成されたロジックと、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更するように構成されたロジックと、
前記変更されたクライアント通信デバイス動的信用証明を、前記ネットワークを介して送るように構成されたロジックと
を含むクライアント通信デバイス。
【請求項１８】
登録信号をネットワークを介して送るように構成されたロジックと、
サーバ通信デバイス動的信用証明をネットワークを介して受信するように構成されたロジックと、
前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納するように構成されたロジックと
を更に含む請求項１７のクライアント通信デバイス。
【請求項１９】
前記クライアント通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項１７のクライアント通信デバイス。
【請求項２０】
前記クライアント通信デバイス動的信用証明は、３２ビットの２進数である請求項１７のクライアント通信デバイス。
【請求項２１】
クローン通信デバイスを検出するシステムであって、
ランダムオフセットを生成し、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更し、
前記サーバ通信デバイス動的信用証明を格納し、
前記ランダムオフセットを含む信号を、ネットワークを介して送り、動的信用証明を含む信号を、ネットワークを介して受信し、
前記サーバ通信デバイス動的信用証明と、前記受信された動的信用証明との間の相違を判定し、
前記相違に基づいて、クローン通信デバイスの存在を検出するように構成されたロジックを含むサーバと、
前記ランダムオフセットを含む信号を、ネットワークを介して受信し、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更し、
前記変更されたクライアント通信デバイス動的信用証明を前記ネットワークを介して送るように構成されたロジックを含むクライアント通信デバイスと
を含むシステム。
【請求項２２】
前記サーバは更に、
サーバ通信デバイス動的信用証明を生成し、
前記サーバ通信デバイス動的信用証明を、ネットワークを介して送るように構成されたロジックを含み、
前記クライアント通信デバイスは更に、
登録信号をネットワークを介して送り、
前記サーバ通信デバイス動的信用証明を、ネットワークを介して受信し、
前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納するように構成されたロジックを含む請求項２１のシステム。
【請求項２３】
コンピュータ読取可能媒体に組み込まれ、クローン通信デバイスを検出することが可能なコンピュータプログラムであって、
ランダムオフセットを生成するように動作可能なコードと、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更するように動作可能なコードと、
前記サーバ通信デバイス動的信用証明を格納するように動作可能なコードと、
前記ランダムオフセットを含む信号を、ネットワークを介して送るように動作可能なコードと、
動的信用証明を含む信号を、ネットワークを介して受信するように動作可能なコードと、
前記サーバ通信デバイス動的信用証明と、前記受信した動的信用証明との間の相違を判定するように動作可能なコードと、
前記相違に基づいて、クローン通信デバイスの存在を検出するように動作可能なコードと
を備えるコンピュータプログラム。
【請求項２４】
サーバ通信デバイス動的信用証明を生成するように動作可能なコードと、
前記サーバ通信デバイス動的信用証明をネットワークを介して送るように動作可能なコードと
を更に含む請求項２３のコンピュータプログラム。
【請求項２５】
前記サーバ通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項２３のコンピュータプログラム。
【請求項２６】
前記相違数は、複数のランダムオフセットを用いた複数の変更回数と等しい請求項２３のコンピュータプログラム。
【請求項２７】
前記サーバ通信デバイス動的信用証明は、３２ビットの２進数である請求項２３のコンピュータプログラム。
【請求項２８】
コンピュータ読取可能媒体に組み込まれ、ランダムオフセットを用いて動的信用証明を変更することが可能なコンピュータプログラムであって、
ランダムオフセットを含む信号をネットワークを介して受信するように動作可能なコードと、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更するように動作可能なコードと、
前記変更されたクライアント通信デバイス動的信用証明を、前記ネットワークを介して送るように動作可能なコードと
を備えるコンピュータプログラム。
【請求項２９】
登録信号をネットワークを介して送るように動作可能なコードと、
サーバ通信デバイス動的信用証明をネットワークを介して受信するように動作可能なコードと、
前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納するように動作可能なコードと
を更に含む請求項２８のコンピュータプログラム。
【請求項３０】
前記クライアント通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項２８のコンピュータプログラム。
【請求項３１】
前記クライアント通信デバイス動的信用証明は、３２ビットの２進数である請求項２８のコンピュータプログラム。
【請求項３２】
コンピュータ読取可能媒体に組み込まれ、クローン通信デバイスを検出することが可能なコンピュータプログラムであって、
ランダムオフセットを生成するように動作可能なコードと、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更するように動作可能なコードと、
前記サーバ通信デバイス動的信用証明を格納するように動作可能なコードと、
前記ランダムオフセットを含む信号を、ネットワークを介して送るように動作可能なコードと、
前記ランダムオフセットを含む信号を、ネットワークを介して受信するように動作可能なコードと、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更するように動作可能なコードと、
前記変更されたクライアント通信デバイス動的信用証明を前記ネットワークを介して送るように動作可能なコードと、
前記変更されたクライアント通信デバイス動的信用証明を含む信号を、ネットワークを介して受信するように動作可能なコードと、
前記サーバ通信デバイス動的信用証明と、前記変更された動的信用証明との間の相違を判定するように動作可能なコードと、
前記相違に基づいて、クローン通信デバイスの存在を検出するように動作可能なコードと
を備えるコンピュータプログラム。
【請求項３３】
サーバ通信デバイス動的信用証明を生成することと、
前記サーバ通信デバイス動的信用証明を、ネットワークを介して送ることと、
登録信号をネットワークを介して送ることと、
前記サーバ通信デバイス動的信用証明を、ネットワークを介して受信することと、
前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納することと
を更に含む請求項３２のコンピュータプログラム。
【請求項３４】
クローン通信デバイスを検出するサーバであって、
ランダムオフセットを生成する手段と、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更する手段と、
前記サーバ通信デバイス動的信用証明を格納する手段と、
前記ランダムオフセットを含む信号を、ネットワークを介して送る手段と、
動的信用証明を含む信号を、ネットワークを介して受信する手段と、
前記サーバ通信デバイス動的信用証明と、前記受信した動的信用証明との間の相違を判定する手段と、
前記相違に基づいて、クローン通信デバイスの存在を検出する手段と
を含むサーバ。
【請求項３５】
サーバ通信デバイス動的信用証明を生成する手段と、
前記サーバ通信デバイス動的信用証明をネットワークを介して送る手段と
を更に含む請求項３４のサーバ。
【請求項３６】
前記サーバ通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項３４のサーバ。
【請求項３７】
前記相違数は、複数のランダムオフセットを用いた複数の変更回数と等しい請求項３４のサーバ。
【請求項３８】
前記サーバ通信デバイス動的信用証明は、３２ビットの２進数である請求項３４のサーバ。
【請求項３９】
クローン通信デバイスを検出するためにシステム内で動作可能なクライアント通信デバイスであって、
ランダムオフセットを含む信号をネットワークを介して受信する手段と、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更する手段と、
前記変更されたクライアント通信デバイス動的信用証明を、前記ネットワークを介して送る手段と
を含むクライアント通信デバイス。
【請求項４０】
登録信号をネットワークを介して送る手段と、
サーバ通信デバイス動的信用証明をネットワークを介して受信する手段と、
前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納する手段と
を更に含む請求項３９のクライアント通信デバイス。
【請求項４１】
前記クライアント通信デバイス動的信用証明は、複数の２進数ビットを含み、
前記ランダムオフセットは、複数のビットセットのうち１のみを備えた複数の２進数ビットを含む請求項３９のクライアント通信デバイス。
【請求項４２】
前記クライアント通信デバイス動的信用証明は、３２ビットの２進数である請求項３９のクライアント通信デバイス。
【請求項４３】
クローン通信デバイスを検出するシステムであって、
ランダムオフセットを生成し、
前記ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、前記サーバ通信デバイス動的信用証明を変更し、
前記サーバ通信デバイス動的信用証明を格納し、前記ランダムオフセットを含む信号を、ネットワークを介して送り、
前記動的信用証明を含む信号を、ネットワークを介して受信し、前記サーバ通信デバイス動的信用証明と、前記変更された動的信用証明との間の相違を判定し、
前記相違に基づいて、クローン通信デバイスの存在を検出する手段を含むサーバと、
前記ランダムオフセットを含む信号を、ネットワークを介して受信し、
前記ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、前記クライアント通信デバイス動的信用証明を変更し、
前記変更されたクライアント通信デバイス動的信用証明を前記ネットワークを介して送る手段を含むクライアント通信デバイスと
を含むシステム。
【請求項４４】
前記サーバは更に、サーバ通信デバイス動的信用証明を生成し、前記サーバ通信デバイス動的信用証明を、ネットワークを介して送る手段を含み、
前記クライアント通信デバイスは更に、登録信号をネットワークを介して送り、前記サーバ通信デバイス動的信用証明を、ネットワークを介して受信し、前記サーバ通信デバイス動的信用証明を、クライアント通信デバイス動的信用証明として格納する手段を含む請求項４３のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ネットワーク化されたデバイス間の安全な通信の維持に関する。更に詳しくは、本発明は、クローンデバイスの存在を識別するために、自動検出技術を使用し、そのようなデバイス間の安全な通信を維持することに関する。
【背景技術】
【０００２】
技術の進歩は、より小型でより強力なパーソナル計算デバイスをもたらした。例えば、現在、ポータブル無線電話、携帯情報端末（ＰＤＡ）、及び小型、軽量でかつユーザによって容易に携帯可能なページングデバイスのような無線計算デバイスを含む様々なポータブルパーソナル計算デバイスが存在する。更に詳しくは、例えば、ポータブル無線電話は更に、無線ネットワークを介して音声パケット及びデータパケットを通信するセル電話を含む。更に、多くのそのようなセルラ電話が、比較的多くの計算機能を増加して製造されており、これによって、小型のパーソナルコンピュータ及びハンドヘルドＰＤＡと等しくなってきている。一般に、これらより小型で、かつより強力なパーソナル計算デバイスは、リソースが厳しく制限されている。例えば、スクリーンサイズ、利用可能なメモリ及びファイルシステムスペースの量、入出力機能及び処理機能の量は、それぞれ、デバイスの小さなサイズによって制限されているかもしれない。そのような厳しいリソース制約のために、例えば、制限されたサイズ、ソフトウェアアプリケーション、及びそのようなパーソナル計算デバイス（クライアント計算デバイス）上に存在するその他の情報の量を維持することが、一般に望ましい。
【０００３】
これらパーソナル計算デバイスのうちの幾つかは、しばしばランタイム環境及びソフトウェアプラットフォームと称されるアプリケーションプログラミングインタフェース（ＡＰＩ）を利用する。それらは、ローカルコンピュータプラットフォーム上に組み込まれ、例えば、デバイス特有のリソースに対する一般化された要求を提供することによって、そのようなデバイスの動作を単純化するために使用される。更に、幾つかのそのようなＡＰＩはまた、そのようなデバイス上で完全に実行可能なソフトウェアアプリケーションを生成する能力を、ソフトウェア開発者に提供するとして知られている。更に、そのようなＡＰＩは、計算デバイスシステムソフトウェアとソフトウェアアプリケーションとの間に操作上位置され、計算デバイス計算機能が、特別な計算デバイスシステムソースコードを持つことをソフトウェア開発者に対して要求することなく、ソフトウェアアプリケーションの利用が可能とされていることも知られている。更に、ＡＰＩのような幾つかは、秘密信用証明を用いて、パーソナルデバイス（すなわち、クライアント）と遠隔デバイス（すなわち、サーバ）との間の安全な通信のためのメカニズムを提供するものとして知られている。
【０００４】
幾つかについては後で詳述するＡＰＩの例は、カリフォルニア州サンディエゴのQualcomm社によって開発されたBinary Runtime Environment for Wireless（ＢＲＥＷ）（登録商標）の現在一般に利用可能なバージョンを含む。ＢＲＥＷは、計算デバイス（典型的には、無線セル電話）のオペレーティングシステム上に存在する薄いベニアとして説明され、パーソナル計算デバイス上で特に見られるハードウェア機能に対するインタフェースを提供する。ＢＲＥＷは更に、デバイスリソースに対する需要に関して、及びＢＲＥＷ  ＡＰＩを含むデバイスのために消費者によって支払われる価格に関して、比較的低コストでパーソナル計算デバイスに設けることができるという少なくとも１つの利点によって特徴付けられる。ＢＲＥＷに関連すると知られている他の機能は、無線サービスオペレータ、ソフトウェア開発者、及び計算デバイス使用者のために様々な利益をもたらすエンドトゥエンドソフトウェア配信プラットフォームを含む。少なくとも１つのそのような現在利用可能なエンドトゥエンドソフトウェア配信プラットフォームは、サーバクライアントアーキテクチャによって配信されるロジックを含む。ここでは、サーバが、例えば、課金、セキュリティ、及びアプリケーション配信機能を実施し、クライアントが、例えば、アプリケーション実行、セキュリティ、及びユーザインタフェース機能を実施する。
【０００５】
例えばネットワークされたクライアントとサーバとの間のように、ネットワークされたデバイス間の安全な通信を提供することに関し、一般に、多くのシステムが、発信元デバイス（例えば、クライアント通信デバイス）から宛先デバイス（例えば、サーバ）への送信内に、秘密情報（例えば、１又は複数の信用証明）を部分的に含めることによって、そのような安全な通信を達成する。ここで、宛先デバイスは、この送信で送られた秘密情報の少なくとも一部を、宛先デバイスにアクセス可能な秘密情報の対応するバージョンと比較することによりこの送信を認証する。更に、そのような多くのシステムが、一般に秘密に維持されない公開暗号鍵を用いてこの秘密を暗号化する。多くのシステムにおいて、この送られた秘密情報は、単一の秘密用語のみを含んでいるが、他のシステムは、秘密情報として多くの秘密を提供しうる。
【０００６】
不運にも、安全な通信を提供するために秘密情報を使用するようなシステムは、一般に、同じ秘密を提供する任意の２つのデバイスを識別することができない。そのため、そのようなシステムは、有効なクライアントデバイスの識別に使用される有効な秘密情報を提供することによって、有効なクライアントデバイスだと誤って識別させることにより、有効な他のクライアントデバイスをスプーフできる粗悪なクライアントデバイスに対して一般に脆弱である。従って、そのような粗悪なクライアントデバイスは、有効なクライアントデバイスからの通信をスヌープするか、クライアントやサーバデバイスに攻撃をかけることによって、あるいは、有効なクライアントデバイスの安全情報を取得できる他の手段によって、この秘密情報を単に一度取得すればよい。
【０００７】
安全な通信を提供するシステムの一例は、ワンタイムパスワードを利用するシステムである。ここでは、例えば、クライアントデバイスは、ワンタイムパスワードが迅速に生成されるシード値がプログラムされるか、あるいは割り当てられる。そのようなワンタイムパスワードはまた、対応するサーバに提供される。これにより、このサーバは、送信内のワンタイムパスワードを、特定のクライアントデバイスに関連するワンタイムパスワードとのマッチングをとることによって、クライアントデバイスからの送信を識別することができる。そのようなシステムの少なくとも幾つかは、送信信号で送られるワンタイムパスワードを生成し、検証するために、クライアントとサーバとの両方において共通のアルゴリズムを利用する。ワンタイムパスワードスキームを利用するクライアントデバイスは、一般に、スヌーピング攻撃に対して顕著な防御を備えているが、クライアントデバイス自体が危険にさらされる場合、そのようなクライアントデバイスは、一般に、効果のないスプーフィング防御しか無い。また、一般に、サーバ自体が危険にさらされている状況では、復元機能はない。
【０００８】
安全な通信を提供するシステムの他の例は、安全な通信を達成するために、短命の（暫定的な）鍵の使用を備えたチャレンジレスポンスプロトコルを使用するシステムである。そのようなシステムは、一般に、所望の安全な通信機能を達成するために、複数の往復信号を送る必要がある（すなわち、複数の信号ペアを送受信する必要がある）。複数の往復信号を用いることは、最初の往復を次の往復に関連付ける状態情報を保持するために、サーバを必要とすると知られている。複数の往復信号を用いることは、そのような複数の信号の生成、送信、受信、及び処理の固有のコストを生むという短所が生じる。別の短所は、そのような複数の往復スキームを取り扱うために、サーバにおいて状態情報を維持することに関連するコストとオーバヘッドとの全てである。他のそのようなチャレンジレスポンスプロトコルは、単一の往復信号において所望の安全な通信を達成することができるが、クライアントデバイスではなく、サーバデバイスにおいてそのようなトランザクションを開始することによって行わねばならない。
【０００９】
従って、そのような既存のシステムの他の不利な局面を回避しながら、例えば、ワンタイムパスワードスキーム又はチャレンジレスポンスプロトコルの使用に関連付けられたような許可されたデバイスのクローン化又はスプーフィングを検出する能力を含む通信システムであって、ネットワーク化されたデバイスのための安全な通信システムを提供することは有利であろう。一般に、そのような既存のシステムの不利な局面は、システムで使用される比較的高価な処理要求のみならず、より具体的には、例えば、一旦パスワードが漏洩すると、復元機能を許可しないことを含むワンタイムパスワードスキームの使用に関連付けられたような問題、又は、複数の往復信号の使用、サーバ状態情報の使用、及びサーバ起動信号の使用のようなチャレンジレスポンスプロトコルスキームに関連する問題を含む。
【発明の開示】
【００１０】
本明細書で開示する実施形態は、例えば、方法、ソフトウェア、及び装置が、クライアント通信デバイスとサーバとの間の安全な通信を提供するために使用される１又は複数の実施形態を含み、上述したニーズに対処する。少なくとも１つの実施形態は、ランダムオフセットを生成することを含んでいる。そのような実施形態はまた、このランダムオフセットをサーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更することを含む。そのような実施形態はまた、サーバ通信デバイス動的信用証明を含む。この実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して送ることを含む。この実施形態はまた、動的信用証明を含む信号を、ネットワークを経由して受信することを含む。また、この実施形態は、サーバ通信デバイス動的信用証明と、受信した動的信用証明との間の相違を判定することを含む。更に、そのような実施形態はまた、この相違に基づいて、クローン通信デバイスの存在を検出することを含む。
【００１１】
少なくとも１つの実施形態は、ランダムオフセットを含む信号を、ネットワークを経由して受信することを含む。そのような実施形態はまた、このランダムオフセットをクライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更することを含む。更に、そのような実施形態はまた、この変更されたクライアント通信デバイス動的信用証明を、ネットワークを経由して送ることを含む。
【００１２】
少なくとも１つの実施形態は、ランダムオフセットを生成することを含む。そのような実施形態はまた、このランダムオフセットをサーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更することを含む。そのような実施形態はまた、ランダムオフセットをサーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更することを含む。そのような実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して送ることを含む。この実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して受信することを含む。この実施形態はまた、ランダムオフセットをクライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更することを含む。更に、この実施形態はまた、変更されたクライアント通信デバイス動的信用証明を、ネットワークを経由して送ることを含む。更に、そのような実施形態は、変更されたクライアント通信デバイス動的信用証明を含む信号を、ネットワークを経由して受信することを含む。この実施形態はまた、サーバ通信デバイス動的信用証明と、変更されたクライアント通信デバイス動的信用証明との間の相違を判定することを含む。更に、この実施形態はまた、この相違に基づいて、クローン通信デバイスの存在を検出することを含む。
【００１３】
少なくとも１つの実施形態は、ランダムオフセットを生成するように構成されたロジックを含む。そのような実施形態はまた、ランダムオフセットをサーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更するように構成されたロジックを含む。この実施形態はまた、サーバ通信デバイス動的信用証明を格納するように構成されたロジックを含む。この実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して送るように構成されたロジックを含む。この実施形態はまた、動的信用証明を含む信号を、ネットワークを経由して受信するように構成されたロジックを含む。更に、この実施形態は、サーバ通信デバイス動的信用証明と、受信された動的信用証明との間の相違を判定するように構成されたロジックを含む。更に、この実施形態は、この相違に基づいて、クローン通信デバイスの存在を検出するように構成されたロジックを含む。
【００１４】
少なくとも１つの実施形態は、ランダムオフセットを含む信号を、ネットワークを経由して受信するように構成されたロジックを含む。そのような実施形態はまた、ランダムオフセットをクライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更するように構成されたロジックを含む。更に、そのような実施形態は、変更されたクライアント通信デバイス動的信用証明を、ネットワークを経由して送るように構成されたロジックを含む。
【００１５】
少なくとも１つの実施形態は、ランダムオフセットを生成するように構成されたロジックを含むサーバを含む。そのような実施形態はまた、ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更するように構成されたロジックを含むサーバを含む。そのような実施形態はまた、サーバ通信デバイス動的信用証明を格納するように構成されたロジックを含むサーバを含む。この実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して送るように構成されたロジックを含むサーバを含む。この実施形態はまた、動的信用証明を含む信号を、ネットワークを経由して受信するように構成されたロジックを含むサーバを含む。この実施形態はまた、サーバ通信デバイス動的信用証明と、受信した動的信用証明との間の相違を判定するように構成されたロジックを含むサーバを含む。更に、この実施形態はまた、この相違に基づいて、クローン通信デバイスの存在を検出するように構成されたロジックを含むサーバを含む。そのような実施形態はまた、ランダムオフセットを含む信号を、ネットワーク経由で受信するように構成されたロジックを含むクライアント通信デバイスを含む。そのような実施形態はまた、ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更するように構成されたロジックを含むクライアント通信デバイスを含む。更に、この実施形態はまた、この変更されたクライアント通信デバイス動的信用証明を、ネットワークを経由して送るように構成されたロジックを含むクライアント通信デバイスを含む。
【００１６】
少なくとも１つの実施形態は、ランダムオフセットを生成するように動作可能なコードを含む。そのような実施形態はまた、ランダムオフセットをサーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更するように動作可能なコードを含む。そのような実施形態はまた、サーバ通信デバイス動的信用証明を格納するように動作可能なコードを含む。この実施形態はまた、ランダムオフセットを含む信号を、ネットワーク経由で送るように動作可能なコードを含む。この実施形態はまた、動的信用証明を含む信号を、ネットワーク経由で受信するように動作可能なコードを含む。更に、この実施形態は、サーバ通信デバイス動的信用証明と、この受信した動的信用証明との間の相違を判定するように動作可能なコードを含む。更に、この実施形態は、この相違に基づいて、クローン通信デバイスの存在を検出するように動作可能なコードを含む。
【００１７】
少なくとも１つの実施形態は、ランダムオフセットを含む信号を、ネットワークを経由して受信するように動作可能なコードを含む。そのような実施形態はまた、ランダムオフセットをクライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更するように動作可能なコードを含む。更に、この実施形態は、この変更されたクライアント通信デバイス動的信用証明を、ネットワークを経由して送るように動作可能なコードを含む。
【００１８】
少なくとも１つの実施形態は、ランダムオフセットを生成するように動作可能なコードを含む。そのような実施形態はまた、ランダムオフセットをサーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更するように動作可能なコードを含む。そのような実施形態はまた、サーバ通信デバイス動的信用証明を格納するように動作可能なコードを含む。そのような実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して送るように動作可能なコードを含む。この実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して受信するように動作可能なコードを含む。この実施形態はまた、ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更するように動作可能なコードを含む。この実施形態はまた、この変更された通信デバイス動的信用証明を、ネットワークを経由して送るように動作可能なコードを含む。この実施形態はまた、この変更されたクライアント通信デバイス動的信用証明を含む信号を、ネットワークを経由して受信するように動作可能なコードを含む。更に、この実施形態はまた、サーバ通信デバイス動的信用証明と、この変更されたクライアント通信デバイス動的信用証明との間の相違を判定するように動作可能なコードを含む。更に、この実施形態はまた、この相違に基づいて、クローン通信デバイスの存在を検出するように動作可能なコードを含む。
【００１９】
少なくとも１つの実施形態は、ランダムオフセットを生成する手段を含む。そのような実施形態はまた、ランダムオフセットをサーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更する手段を含む。そのような実施形態はまた、サーバ通信デバイス動的信用証明を格納する手段を含む。この実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して送る手段を含む。この実施形態はまた、動的信用証明を含む信号を、ネットワークを経由して受信する手段を含む。更に、この実施形態はまた、サーバ通信デバイス動的信用証明と、この受信した動的信用証明との間の相違を判定する手段を含む。更に、この実施形態は、この相違に基づいて、クローン通信デバイスの存在を検出する手段を含む。
【００２０】
少なくとも１つの実施形態は、ランダムオフセットを含む信号を、ネットワークを経由して受信する手段を含む。この実施形態はまた、ランダムオフセットを、クライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更する手段を含む。更に、この実施形態はまた、この変更されたクライアント通信デバイス動的信用証明を、ネットワークを経由して送る手段を含む。
【００２１】
少なくとも１つの実施形態は、ランダムオフセットを生成する手段を含むサーバを含む。そのような実施形態はまた、ランダムオフセットを、サーバ通信デバイス動的信用証明に加えることによって、サーバ通信デバイス動的信用証明を変更する手段を含むサーバを含む。そのような実施形態は更に、サーバ通信デバイス動的信用証明を格納する手段を含むサーバを含む。そのような実施形態は更に、ランダムオフセットを含む信号を、ネットワークを経由して送る手段を含むサーバを含む。そのような実施形態は更に、動的信用証明を含む信号を、ネットワークを経由して受信する手段を含むサーバを含む。そのような実施形態は更に、サーバ通信デバイス動的信用証明と、この受信した動的信用証明との間の相違を判定する手段を含むサーバを含む。更に、そのような実施形態は、この相違に基づいて、クローン通信デバイスの存在を検出する手段を含むサーバを含む。更に、この実施形態はまた、ランダムオフセットを含む信号を、ネットワークを経由して受信する手段を含むクライアント通信デバイスを含む。そのような実施形態はまた、ランダムオフセットをクライアント通信デバイス動的信用証明に加えることによって、クライアント通信デバイス動的信用証明を変更する手段を含むクライアント通信デバイスを含む。更に、この実施形態はまた、この変更されたクライアント通信デバイス動的信用証明を、ネットワークを経由して送る手段を含むクライアント通信デバイスを含む。
【００２２】
少なくとも１つの実施形態の少なくとも幾つかの利点は、ハンドセットクローン化及びクライアント通信デバイススプーフィングを検出するために使用される従来のハッシュチェーン方法の動作上の欠点と比較して、動作上の利点を含んでいる。例えば、少なくとも１つの実施形態は、クライアント通信デバイス環境全体のスナップショットを含むクライアント通信デバイスの信用証明の全てに対するアクセスを、攻撃者が取得できる場合であっても、クライアントスプーフィング又はクローン化に対する防御を提供するクライアント起動スキーム、１つの往復、及び比較的軽量といった利点を与える。他の長所は、サーバに対する低い処理要求及びストレージオーバヘッド要求である。ここで、サーバは、反復ハッシュを行う必要はなく、相違を検出するための追加のメタデータのストレージも必要もない。クライアント側における動的信用証明の使用は、固有の値を提供する信用証明に対して、最新の“ｎ”個の更新履歴を提供する。対照的に、ハッシュチェーンは、クライアント通信デバイスが、少なくとも毎回使用されたハッシュの数、又は結果として得られたハッシュ値の全履歴を格納することを要求する。更に、その他の長所は、ペイロードサイズが小さく、ハッシュチェーン方法に関連する大きなペイロードサイズとは異なり、送られる情報が、１乃至８バイトのオーダになりうる。
【００２３】
少なくとも１つの実施形態の他の長所は、無許可のデバイスが、比較的短い時間の間に、多くの信号を吐き出すリプレー攻撃に打ち勝つ能力を有することである。例えば、クローンデバイスは、（例えば、静的信用証明及び動的信用証明のような）コピーされた信用証明を全て含む複数の信号からなるバーストの実行を試みるかもしれないが、上述した実施形態に記述したように、この提案されたシステムは、サーバ通信デバイス動的信用証明と、対応するクライアント通信デバイス動的信用証明との間の相違を検出するように動作し、それを行っている間、そのような信号バーストを、クローンデバイスの存在の兆候、又は次に危険にさらされた有効なクライアントからのリプレーベースの攻撃の開始として認識することができる。他の長所の中でも、クローンデバイスのこの認識方法は、単一の往復スキームでクローンデバイスの検出が実行され、従来技術のスキームに対して改良されている。
【００２４】
本発明の他の局面、長所、及び特徴は、以下のセクションを含む明細書全体の検討後に明らかになるであろう。
【発明を実施するための最良の形態】
【００２５】
本明細書に記載された実施形態の前述した局面及び付随する利点は、添付図面と連携した場合に以下の詳細説明に対する参照からより容易に明らかになるであろう。
【００２６】
用語“典型的”（exemplary）は、本明細書では、“例、実例、あるいは例示として役立つ”ことを意味するため使用される。本明細書で“典型的”と記載された何れの実施形態も、他の実施形態に対して好適あるいは有利であるとは必ずしも解釈される必要はない。更に、多くの実施形態が、例えば計算デバイスの要素によって実行されるべき動作のシーケンスの観点から記載される。本明細書で記載された様々な動作は、具体的な回路（例えば、特定用途向けＩＣ（ＡＳＩＣ））、１又は複数のプロセッサによって実行されるプログラム命令、又はこれらの組み合わせによって実行されうる）ことが認識されるだろう。更に、本明細書で記載された実施形態はまた、実行されると、関連するプロセッサに、本明細書で記載した機能を実行させる対応するコンピュータ命令のセットを格納しているコンピュータ読取記憶媒体の任意の形態内に全体が組み込まれると考えられる。従って、本発明の様々な局面が、多くの異なる形態で具体化されうる。そして、それらの全ては、クレイムされた主題の範囲内であると考えられる。更に、本明細書に記載した実施形態の各々では、そのような実施形態の対応する形態が、例えば、ある動作を実行するように“構成されたロジック”、又は記載した動作を実行するために“操作可能なコード”として記載されうる。
【００２７】
以下の詳細説明は、クライアント通信デバイスとサーバとの間の安全な通信を提供するために使用される方法、システム、ソフトウェア、及び装置を記述する。少なくとも１つの実施形態では、サーバは、ランダムオフセットを生成し、動的信用証明にランダムオフセット番号を加えることにより、動的信用証明を変更する。サーバは、動的信用証明を格納し、クライアント通信装置へランダムオフセット番号を送る。クライアント通信デバイスは、動的信用証明にランダムオフセット番号を加えることにより、動的信用証明を変更する。クライアント通信デバイスは、この変更された動的信用証明を格納する。クライアント通信デバイスは、この変更された動的信用証明をサーバに送る。サーバは、この変更された動的信用証明を受信し、格納された動的信用証明と、受信した動的信用証明との相違を判定し、この相違に基づいて、クローンデバイスが存在するかを判定する。
【００２８】
１又は複数の実施形態では、クライアント計算デバイスとサーバとの間に安全な通信を提供するために使用されるシステムは、この計算デバイス上で動作するランタイム環境（ＡＰＩ）と連携して動作する。１つのそのようなランタイム環境（ＡＰＩ）は、カリフォルニア州サンディエゴのQUALCOMM社によって開発されたBinary Runtime Environment for Wireless（ＢＲＥＷ）（登録商標）ソフトウェアプラットフォームの新バージョンであろう。以下の記載における少なくとも１つの実施形態では、クライアント計算デバイスとサーバとの間の安全な通信を提供するために使用されるこのシステムは、例えばＢＲＥＷソフトウェアプラットフォームの新バージョンのようなランタイム環境（ＡＰＩ）を実行する計算デバイス上で実現される。しかしながら、クライアント計算デバイスとサーバとの間の安全な通信を提供するために使用されるシステムの１又は複数の実施形態は、例えば、無線クライアント計算デバイス上でのアプリケーションの実行を制御するように操作可能な他のタイプのランタイム環境（ＡＰＩ）を使用するのに適している。
【００２９】
図１は、無線ネットワーク１０４を介して少なくとも１つのアプリケーションダウンロードサーバ１０６と通信している例えばセルラ電話１０２のような無線デバイスのソフトウェアアプリケーションコンポーネントの削除及び再ロードのためのシステム１００の１つの典型的な実施形態のブロック図を例示する。アプリケーションダウンロードサーバ１０６は、無線ネットワーク１０４への無線通信ポータル又は他のデータアクセスを介して、ソフトウェアアプリケーション及びコンポーネントを無線デバイスへ選択的に送信する。図示するように、無線デバイスは、携帯電話１０２、携帯情報端末１０８、ここで２方式テキストページャとして示されているページャ１１０でありうる。あるいは、無線通信ポータルを有しているか、あるいはネットワークやインターネットへの有線接続１１４を有する個別のコンピュータプラットフォーム１１２でさえもありうる。従ってこの発明的なシステムは、限定することなく、無線モデム、ＰＣＭＣＩＡカード、アクセス端末、パーソナルコンピュータ、アクセス端末、ディスプレイ又はキーパッドを有さない電話、あるいはこれらの任意の組み合わせか、部分的組み合わせを含む無線通信ポータルを含む任意の形態の遠隔モジュール上で実行することができる。
【００３０】
アプリケーションダウンロードサーバ１０６は、ここでは、無線ネットワーク１０４と通信している他のコンピュータ要素とともに示される。第２のサーバ１２０とスタンドアロンサーバ１２２もあり、各サーバは、無線ネットワーク１０４を介して無線デバイス１０２，１０８，１１０，１１２に個別のサービス及び処理を提供することができる。更に、好適には、無線デバイス１０２，１０８，１１０，１１２によってダウンロード可能なソフトウェアアプリケーションを保持する少なくとも１つの格納アプリケーションデータベース１１８が存在する。アプリケーションダウンロードサーバ１０６、第２のサーバ１２０、及びスタンドアロンサーバ１２２のうちの任意の１つ又は複数において安全な通信を実行するためのロジックを設ける別の実施形態が考慮される。
【００３１】
図２には、無線ネットワーク１０４と、典型的な実施形態の要素の相互関係とを含むシステム１００をより十分に例示するブロック図が示されている。このシステム１００は、単に典型的なものであり、限定することなく、無線ネットワークキャリア及び／又はサーバを含み、例えば無線クライアント計算デバイス１０２，１０８，１１０，１１２のような遠隔モジュールが、互いに、及び／又は無線ネットワーク１０４を経由して接続されたコンポーネントと、エアによって通信する任意のシステムを含む。アプリケーションダウンロードサーバ１０６及び格納アプリケーションデータベース１１８は、セルラ電話通信サービスを提供するために必要なサーバ１２０のような他のサーバとともに、例えばインターネット、安全なＬＡＮ、ＷＡＮ、又は他のネットワークのようなデータリンクを介してキャリアネットワーク２００と通信する。図示した実施形態では、サーバ１２０は、キャリアネットワーク２００によって安全な通信を提供するように構成されたロジックを含むサーバ認証モジュール１２１を含んでいる。そのようなサーバセキュリティモジュール１２１は、安全な通信を提供するために、例えば無線デバイス１０２，１０８，１１０，１１２のようなクライアント計算デバイス上に位置したクライアントセキュリティモジュールと連携して動作する。
【００３２】
キャリアネットワーク２００は、メッセージングサービスコントローラ（ＭＳＣ）２０２に送られるメッセージ（データパケットとして送られる）を制御する。キャリアネットワーク２００は、ネットワーク、インターネット、及び／又はＰＯＴＳ（plain ordinary telephone system）によってＭＳＣ２０２と通信する。一般に、キャリアネットワーク２００とＭＳＣ２０２との間のネットワーク又はインターネット接続は、データを伝送し、ＰＯＴＳは音声情報を伝送する。ＭＳＣ２０２は、多数の基地局（ＢＴＳ）２０４に接続される。キャリアネットワークと同様の方式で、ＭＳＣ２０２は、一般に、データ伝送のためのネットワーク及び／又はインターネットと、音声情報のためのＰＯＴＳとの両方によってＢＴＳ２０４に接続される。ＢＴＳ２０４は、ショートメッセージングサービス（ＳＭＳ）、又は当該技術で知られた他のエアによる方法によって、最終的には、例えばセルラ電話１０２のような無線デバイスへメッセージをブロードキャストする。
【００３３】
例えばセルラ電話１０２のような（無線クライアント計算デバイスである）無線デバイスは、アプリケーションダウンロードサーバ１０６から送信されたソフトウェアアプリケーションを受信し実行するコンピュータプラットフォーム２０６を有している。コンピュータプラットフォーム２０６は、特定用途向けＩＣ（ＡＳＩＣ２０８）、あるいは他のプロセッサ、マイクロプロセッサ、論理回路、あるいは他のデータ処理デバイスを含む。ＡＳＩＣ２０８は、無線デバイスの製造時に組み込まれ、通常はアップグレード可能ではない。ＡＳＩＣ２０８又は他のプロセッサは、無線デバイスのメモリ２１２内の任意の常駐プログラムとインタフェースするアプリケーションプログラムインターフェイス（ＡＰＩ）２１０レイヤを実行する。メモリ２１２は、読出専用メモリ又はランダムアクセスメモリ（ＲＯＭ及びＲＡＭ）、ＥＰＲＯＭ、フラッシュカード、あるいはコンピュータプラットフォームに一般的な任意のメモリからなる。ＡＰＩ２１０はまた、キャリアネットワーク２００を介した安全な通信を提供するために構成されたロジックを含むクライアントセキュリティモジュール２１４を含んでいる。そのようなクライアント認証モジュール２１４は、安全な通信を提供するために、クライアントセキュリティモジュール１２１と共に動作する。コンピュータプラットフォーム２０６は更に、メモリ２１２内でアクティブに使用されないアプリケーションを保持することができるローカルデータベース２１４を含んでいる。ローカルデータベース２１６は一般にはフラッシュメモリセルであるが、例えば磁気媒体、ＥＰＲＯＭ、光媒体、テープ、あるいはソフトディスク又はハードディスクのように、当該技術で知られた任意の２次記憶装置でありうる。
【００３４】
携帯電話１０２のような無線クライアント計算デバイスは、例えばゲーム、ニュース、株式モニタのような１又は複数のソフトウェアアプリケーションをアプリケーションダウンロードサーバ１０６からダウンロードし、アプリケーションが使用されていない場合には、ローカルデータベース２１６上に保持し、ユーザによって望まれる場合には、ローカルデータベース２１６上に格納されている常駐アプリケーションを、ＡＰＩ２１０上における実行のためにメモリ２１２にアップロードする。更に、無線ネットワーク１０４を介した通信が、クライアント認証モジュール２１４とサーバ認証モジュール１２１との間の相互作用及び動作のために、少なくとも部分的に安全な方法で実施される。本発明的なシステム及び方法は、以下に説明するように、無線ネットワーク１０４を介したそのような安全な通信を提供する。
【００３５】
図３は、安全な通信を提供する方法３００の１つの典型的な実施形態を図示する。方法３００はステップ３０２で始まり、クライアント通信デバイスが、ネットワークを介して登録信号を送ることにより、遠隔サーバへの登録を開始する。次に、ステップ３０４において、サーバが、登録信号を受信する。ステップ３０６では、サーバが、動的信用証明及び静的信用証明の両方を生成し、これら信用証明を遠隔のクライアント通信デバイスに関連付ける。同ステップで、サーバは、将来の参照のために、これら信用証明を格納する。静的信用証明は、特定のクライアントデバイスを識別するためにサーバが生成する信用証明である。そのような静的信用証明は、将来、クライアント通信デバイスによってサーバへ送られる信号である。受信した信号が、本当に特定のクライアント通信デバイスからのものであることを確認するために、サーバは、受信した静的信用証明を、格納された静的信用証明と比較することにより、静的信用証明を使用する。
【００３６】
また、動的信用証明は、特定のクライアント通信デバイス（すなわち、そこから来た信号）を識別するために使用されることができるが、そのような動的信用証明は、安全な通信機能を高めるために、定期的に変更又は更新される。１つの実施形態では、動的信用証明は数字である。数字以外の別のタイプの識別子である他の動的信用証明を利用する実施形態は、例えばアルファベット文字、シンボル、制御文字、数列、シンボル列、制御文字列、又は予測可能でかつ検知可能な方法で変更されることが可能な他の識別子を含む。１つの実施形態では、動的信用証明は、２進数ビットの列である。他の実施形態は、例えば８ビット、１６ビット、３２ビット、及び６４ビットのように、動的信用証明を表すために異なるビット数を用いるが、別の実施形態は、それより多くのあるいは少ないビット数を用いる。一般に、使用されるビット数は、セキュリティ要求というよりも、むしろ追跡される履歴の量に基づいて使用される。
【００３７】
ステップ３０８において、サーバは、動的信用証明及び静的信用証明を含む信号を生成し、それをクライアントデバイスへ送る。この信号を送ることはまた、ステップ３０２で開始された登録ステップの一部である。ステップ３０８では、そのような２つのみの信用証明が送られるように示されているが、他の実施形態は、異なるタイプの更なる信用証明を送る。更に、図示していないが、他の実施形態もまた、初期登録ステップ中に動的信用証明を変更するために使用されるオフセット（ランダムあるいはその他）を送ることを含みうる。ステップ３０８の動作に応答して、クライアント通信デバイスは、ステップ３１０において、動的信用証明及び静的信用証明を含む信号を受信する。ステップ３１２では、クライアント通信デバイスが、サーバとの将来の通信に使用するために、動的信用証明及び静的信用証明を格納する。ステップ３１２は、登録手続の完了を表す。
【００３８】
ステップ３１４では、クライアント通信デバイスとサーバとの間での信号の送信が開始され、クライアント通信デバイスに格納された信用証明が、信号に含められ、サーバは、そのような信号を、認証されたデバイスから到来したものと認証することができる。ステップ３１４に応答して、サーバは、ステップ３１６において、静的信用証明及び動的信用証明を含む送られた信号を、クライアント通信デバイスから送られたものとして受信する。ステップ３１８では、サーバが、サーバにおいて格納されている信用証明と、受信した信号に組み込まれた信用証明とを比較することによって信号を認証するように動作する。
【００３９】
クライアントデバイスから受信した動的信用証明が、サーバにおいて格納されている動的信用証明と一致しない場合、サーバは、そこから、オリジナルの特定のクライアント通信デバイスのクローンデバイスが存在すると判定することができる。そのような結果は、特定のクライアント通信デバイスであると信じられている１つのデバイスに、更新された動的信用証明が送られ、かつ、動的信用証明の昔のバージョンのコピーを有する他のデバイスが、この古くて更新されていない動的信用証明を送り、実際に認証されたデバイスから過去の時点においてコピーされたものへのなりすましを試みることを示すので、前記判定がなされうる。クローンデバイスを識別するために使用される別の類似シナリオが、図４に示される。このような動作は、潜在的な攻撃者の作業を複雑にする。攻撃者が、例えば物理的なアクセス、悪意のあるクライアントソフトウェアの使用、あるいは登録処理へのハッキング等によって、クライアントデバイスの正確なスナップショットを取得できる場合でさえ、攻撃者はまだ、動的信用証明の正確かつ最新のバージョン（絶えず変化する）を提供しなければならない。さもなければ、クローンデバイスであると識別されるリスクがある。
【００４０】
幾つかの実施形態では、サーバデバイスに格納された動的信用証明と、クライアント通信デバイスから受信した動的信用証明との間の矛盾の全てが、クローンデバイスの存在を示すわけではないようにシステムは動作する。幾つかの実施形態は、ランダムオフセットの予期した喪失、あるいは他のシステム動作局面において動作する。クローンデバイスが存在しなくても、しばしば、有効なクライアント通信デバイスにおいて格納されている動的信用証明と、サーバにおいて格納されている動的信用証明との相違が生じる状況が発生するからである。そのような幾つかの実施形態は、例えば、電話が電源を喪失した場合、通信信号が喪失した場合のような異なる動的信用証明内容、あるいは、クライアントデバイスに格納されている動的信用証明の意図した更新が、クローンデバイスの存在以外の理由によって実行不能である他のシナリオを検出する。そのような実施形態では、異なる動的信用証明が予想され（許容され）処理される場合、幾つかの実施形態は、そのような相違の設定された許容を含み、クライアント通信デバイスが、自己をサーバと再同期することを可能にする。上述した認証動作は、無許可のデバイスを検出するために、複数の往復を必要としないという利点を含む。ここで、サーバは、サーバに格納されている動的信用証明と一致しない動的信用証明を含むクライアント通信デバイスから片道信号を受信した時を、即座に判定することができる。これは本当である。なぜなら、サーバは、クライアント通信デバイスがランダムオフセットの受信に成功し、それを処理するかをモニタせず、代わりに、相違の許容の１方向検出に依存するからである。
【００４１】
典型的な実施形態では、サーバからの連続送信は、シングルビットセットでランダムオフセットを送ることを含む。ここで、ランダムオフセットは、クライアントデバイスに格納された動的信用証明に加えられ、Hamming Differenceを生じる。別の実施形態では、ランダムオフセットは識別子（例えば番号）を表わす。それは、クライアントデバイスにおいて格納された動的信用証明のどの対応ビットがフリップされねばならないかを識別する。そのような実施形態では、フリップするビット番号を含むランダムオフセットが、クライアントデバイスにおいて格納されている動的信用証明に加えられ、対応するHamming Differenceが生成される。Hamming Distanceは、異なるビット表示番号が存在する場合に生じ、無許可の動的信用証明とは異なるビット数である相違測定単位を表す。そのため、Hamming Distance情報によって、システムは、相違が始まった時、あるいはおおよその時を判定できるようになる。また、典型的な実施形態では、ハッシュチェーンベースのスキームとは異なり、サーバは、以前に使用されたハッシュ値の長い履歴を格納する必要なく、クライアント通信デバイスによって提供された値に対するマッチングを見つけることを試みる。ここで、典型的な実施形態は、アルゴリズムベースの公式（すなわち、１度に１ビットのフリッピング）を用いる。これは、異なる動的信用証明が実際に始まった時の情報の判定のために評価されることが可能な出力を生成する。
【００４２】
サーバが、信号を、認可されたソースから到来したものとして認証する場合、サーバは、ステップ３２０において、ランダムオフセットを生成し、それを、格納された動的信用証明に加える。典型的な実施形態では、この動的信用証明及びランダムオフセットは、３２ビットの２進数である。また、そのような実施形態では、１のみからなる３２ビットセットで表される２進数である。１つの実施形態では、ランダムオフセットを用いた動的信用証明の変更は、２つの値についてビットワイズの“ＯＲ”を実行することにより行なわれる。そのため、動的信用証明の連続した変更（１度に１ビットのフリッピングによる）について、本システムは、変更される動的信用証明を、例えば最初の登録処理で使用された信用証明を含む無変更のオリジナル信用証明とどのように比較したかに基づいて、変更回数を判定することができる。幾つかの実施形態は、クライアント通信デバイスとサーバとの間で交換される信号の各々及び全てについて、動的信用証明に対してそのような変更を行う。一方、他の実施形態は、そのような変更を単に定期的に行う。
【００４３】
ステップ３２２では、サーバが、クライアント通信デバイスへランダムオフセットを送る。これを受けて、ステップ３２４では、クライアント通信デバイスが、送られたランダムオフセットを受信する。クライアント通信デバイスは、ステップ３２６において、ランダムオフセットを加えることにより、動的信用証明を更新する。ステップ３２８では、クライアント通信デバイスは、そのような動的信用証明を、クライアント通信デバイスからサーバに送られる将来の信号に含めることを目的として、送られた動的信用証明を格納する。
【００４４】
図４は、複数のクライアント通信デバイスとサーバとの間で一連の信号が交換される１つの実施形態４００を例示する。図示するように、１１ステージからなるシリーズは、信号交換のセットの１つの例を示す。そのようなステージは、ステージ１  ４０２、ステージ２  ４０４、ステージ３  ４０６、ステージ４  ４０８、ステージ５  ４１０、ステージ６  ４１２、ステージ７  ４１４、ステージ８  ４１６、ステージ９  ４１８、ステージ１０  ４２０、及びステージ１１  ４２２を含む。更に、この例示はまた、クライアント１  ４２４、クライアント２  ４２６、無線ネットワーク１０４、及びサーバ４２８を示す。例示するクライアント１  ４２４は、許可されたデバイスを表すように意図され、クライアント２  ４２６は、クライアント１  ４２４のクローンデバイスを表すように意図されている。
【００４５】
ステージ１  ４０２は、サーバ及びクライアントの両方のための初期予備登録状態を表わす。ここで、クライアント１  ４２４のクライアント動的信用証明４３０は、初期値を持たないものとして示される。同じことが、クライアント２  ４２６のクライアント動的信用証明４３２についても当てはまる。この登録処理は、クライアント１  ４２４が、登録コマンド４３６と空の動的信用証明値４３８とを含む    信号４３４をサーバ４２８に送ることによって始まる。サーバ４２８は、“１１００  １０００”である最初のサーバ動的信用証明４４０を含んでいる。ステージ１  ４０２で送られた信号４３４を受信することに応答して、システムは、ステージ２  ４０４に示す動作を実行する。
【００４６】
ステージ２  ４０４は、サーバ４２８が、クライアント１  ４２４によって送られた登録信号４３４に対して応答することを示す。ここでは、サーバ４２８が、サーバ動的信用証明４４０のコピーを含む信号４４２を、格納コマンド４４４とともにクライアント１  ４２４に送る一方、“１１００  １０００”であるサーバ動的信用証明４４０を保持する。信号４４２を受信すると、クライアント１  ４２４は、送られた動的信用証明４４０を、クライアント動的信用証明４３０として格納する。
【００４７】
ステージ３  ４０６は、クライアント２  ４２６が（クライアント１の内容をクローン化した後）、信号４４６を、認証コマンド４４８、及び“１１００  １０００”からなるクローンクライアント動的信用証明情報４３８とともにサーバ４２８に送ることを示す。サーバは、クライアント１  ４２４から到来したものであるか、あるいはクライアント２  ４２６から到来したものであるか分からずに信号１  ４４６を受信し、送られた動的信用証明４３８を、格納されているサーバ動的信用証明４４０を用いて認証する。ここで、送られた動的信用証明４３８と、サーバ動的信用証明４４０とが一致すると、サーバは、それに応答して、クライアント２を、有効なクライアント通信デバイスとして認証する。ここでは、クローンデバイスが、サーバ４２８によって、特定の信号を送ったものとしてどのようにして不正確に識別されるかが示される。しかしながら、以下に更に説明するように、本システムは、一般に、クローンを識別するように動作し、システムは更に、実際のクローンデバイスがどのクライアントであろうとも除去する。信号４４６を認証すると、システムは、ステージ４  ４０８に示す動作を行なう。
【００４８】
ステージ４  ４０８は、クライアント２  ４２６が、格納コマンド４４４と、“００００  ００１０”からなるランダムオフセット４５１とを含む信号４５０を受信することを示す。
【００４９】
信号４５０を受信すると、クライアント２は、ステージ３  ４０６に示すような格納されたクライアント動的信用証明にランダムオフセット４５１を加え、ステージ４  ４０８に示すような
【数１】
2008521348.tif 000003
【００５０】
からなる格納された動的信用証明の数値結果を得る。ここで、イタリック体の数字は、格納されたクライアント動的信用証明の変更に応じて影響を受けたビットを反映している。この変更されたクライアント信用証明は、クライアント通信デバイスによって将来使用されるために、クライアント通信デバイス内に格納される。
【００５１】
少なくとも１つの実施形態では、信号４５０で送られたランダムオフセット４５１は、フリップされるビット位置を示す２進数を表わす。例えば、１つの実施形態では、対応する格納された動的信用証明の３番目のビットをフリップする指示は、ランダムオフセット４５１が、基数１０“３”（“００００  ００１１”）の２進数表示を含むことを意味する。このように、システムは、対応する格納された動的信用証明の３番目のビットをフリップするために、ランダムオフセット４５１を加える要求を示すものとして、“００００  ００１１”からなるランダムオフセット内容を解釈するように動作する。他の実施形態では、システムは、動的信用証明の対応する１又は複数のどのビットが操作されるべきかを決定するために、ランダムオフセット４５１の他のフォーマッティングスキームを解釈するように構成される。
【００５２】
ステージ５  ４１０は、クライアント２  ４２６が、クライアント動的信用証明４３２のコピー及び認証コマンド４４８とともに信号４５２をサーバ４２８に送ることを示す。サーバ４２８は、この信号４５２を受信し、送られた動的信用証明４３８を、格納されているサーバ動的信用証明４４０と首尾よく比較することにより、この信号を認証するための処理を行う。
【００５３】
ステージ６  ４１２は、クライアント２  ４２６が、格納コマンド４４４及びランダムオフセット４５１“００１０  ００００”を含む信号４５４を受信することを示す。信号４５４を受信すると、クライアント２は、ステージ５  ４１０に示すような格納されたクライアント動的信用証明４３２にランダムオフセット４５１を加え、ステージ４  ４０８に示すような
【数２】
2008521348.tif 000004
【００５４】
からなる格納された動的信用証明の数値結果を得る。ここで、イタリック体の数字は、格納されたクライアント動的信用証明の変更に応じて影響を受けたビットを反映している。
【００５５】
ステージ７  ４１４は、クライアント１  ４２４が（クライアント２によってクローン化された後）、信号４５６を、認証コマンド４４８、及び“１１００  １０００”からなるオリジナルのクローンクライアント動的信用証明情報４３８とともにサーバ４２８に送ることを示す。サーバは、クライアント１  ４２４から到来したものであるか、あるいはクライアント２  ４２６から到来したものであるか分からずに信号４５６を受信し、送られた動的信用証明４３８を、格納されているサーバ動的信用証明４４０を用いて認証することを試みる。ここで、サーバ４２８は、個別の２つのビットの不一致を検出し、そこから、前の２つの認証に誤りがあったとの確率が高いと判断する。ここで、１つの実施形態では、サーバ４２８は、クライアント１  ４２４を、クローンであるか、又はクローンされたかの何れかとしてフラグする。一方、別の実施形態では、サーバ４２８は、システムポリシーに基づいて、クライアント１  ４２４に、別のチャンスを与える。システムポリシーの例は、例えば、“クライアント通信デバイスをフラグする前に、最大３つまでの連続した不一致を許容する（３ストライクでアウト）”あるいは“一致しない最新の１０の要求のうち最大２までを許容する”ことを含む。図示する実施形態では、３ストライクルールを用いるシステムは、クライアント１  ４２４にもう１回チャンスを与え、通信の継続を許可する。
【００５６】
ステージ８  ４１６は、クライアント１  ４２４が、格納コマンド４４４とランダムオフセット４５１“１０００  ００００”とを含む信号４５８を受信することを示す。信号４５８を受信すると、クライアント１  ４２４は、ステージ７  ４１４に示すような格納されたクライアント動的信用証明４３０にランダムオフセット４５１を加え、ステージ８  ４１６に示すような
【数３】
2008521348.tif 000005
【００５７】
からなる格納された動的信用証明の数値結果を得る。ここで、イタリック体の数字は、格納されたクライアント動的信用証明の変更に応じて影響を受けたビットを反映している。
【００５８】
ステージ９  ４１８は、クライアント２  ４２６が、信号４６０を、認証コマンド４４８、及びクライアント２  ４２６クライアント動的信用証明情報４３２のコピーとともにサーバ４２８に送ることを示す。サーバ４２８は、クライアント１  ４２４から到来したものであるか、あるいはクライアント２  ４２６から到来したものであるか分からずに信号４６０を受信し、送られた動的信用証明４３８を、格納されているサーバ動的信用証明４４０を用いて認証することを試みる。ここで、サーバ４２８は、１ビットの不一致を検出する。そして、そのような相違は、本実施形態のポリシー内であるので、サーバ４２８は、この信号を、許可された信号であると識別する。
【００５９】
ステージ１０  ４２０は、クライアント２  ４２６が、格納コマンド４４４とランダムオフセット４５１“００００  １０００”とを含む信号４６２を受信することを示す。信号４６２を受信すると、クライアント２  ４２６は、ステージ９  ４１８に示すような格納されたクライアント動的信用証明４３２にランダムオフセット４５１を加え、ステージ４  ４０８に示すような
【数４】
2008521348.tif 000006
【００６０】
からなる格納された動的信用証明の数値結果を得る。ここで、イタリック体の数字は、格納されたクライアント動的信用証明の変更に応じて影響を受けたビットを反映している。
【００６１】
ステージ１１  ４２２は、クライアント１  ４２４が、信号４６４を、認証コマンド４４８、及び“０１００  １０００”からなるクライアント動的信用証明情報４３８のコピーとともにサーバ４２８に送ることを示す。サーバ４２８は、クライアント１  ４２４から到来したものであるか、あるいはクライアント２  ４２６から到来したものであるか分からずに信号４６４を受信し、送られた動的信用証明４３８を、格納されているサーバ動的信用証明４４０を用いて認証することを試みる。ここで、サーバ４２８は、３つの個別のビットの不一致
【数５】
2008521348.tif 000007
【００６２】
を検出する。そして、これから、３ストライク（３つの不一致ビット）アウトのポリシーに基づいて、クローンデバイスが存在する可能性が非常に高いと判定する。そして、サーバ４２８は、クライアント１  ４２４を、クローンであるか、クローンされたかの何れかであるとフラグする。
【００６３】
図５は、クライアント通信デバイスとの安全な通信を行なうように操作可能なサーバ５００の１つの典型的な実施形態を図示する。ここに使用される“サーバ”は、例えば、同一又は個別の通信デバイス上で動作する他のロジックにサービスを提供する通信デバイス上で実行するロジックを含む。１つの実施形態では、サーバ５００は、クライアント通信デバイスとは別の通信デバイス上で動作するロジックを含み、ネットワークを介してクライアント通信デバイスに接続されている。１つの実施形態では、そのようなネットワークは、少なくとも部分的には無線ネットワーク１０４である。少なくとも１つのそのような実施形態では、サーバ５００は、クライアント通信デバイスから登録信号を受信することに応答して、少なくとも１つの動的信用証明をクライアント通信デバイスに提供する。少なくとも１つの実施形態では、サーバ５００は、図１に関して示され記述されたサーバ１０６，１２０，１２２のうちの何れかでありうる。
【００６４】
典型的な実施形態に示すように、サーバ５００は、メモリ５０２、ネットワークＩ／Ｏインタフェース５０４、プロセッサ５０６、及びバス５０８を含む。メモリ５０２はＲＡＭメモリとして示されるが、他の実施形態は、構成されたロジックを格納するために備えると知られているあらゆる周知のタイプのメモリ５０２を含む。更に、メモリ５０２は、１つのタイプのメモリの１つの連続ユニットとして示されるが、他の実施形態は、メモリ５０２として、複数の場所及び複数のタイプのメモリを使用する。ネットワークＩ／Ｏインタフェース５０４は、バス５０８を介して、ネットワークに結合されたデバイスに入出力を提供する。プロセッサ５０６は、バス５０８を介して提供される命令及びデータに関して動作する。
【００６５】
メモリ５０２には、サーバ通信デバイス動的信用証明５１０、ランダムオフセット５１２、受信した動的信用証明５１４、相違５１６、ランダムオフセット５１２を生成するように構成されたロジック５１８、ランダムオフセット５１２をサーバ通信デバイス動的信用証明５１０に加えることによって、サーバ通信デバイス動的信用証明５１０を変更するように構成されたロジック５２０、サーバ通信デバイス動的信用証明５１０を格納するように構成されたロジック５２２、ランダムオフセット５１２を含む信号をネットワークを介して送るように構成されたロジック５２４、動的信用証明５１４を含む信号をネットワークを介して受信するように構成されたロジック５２６、サーバ通信デバイス動的信用証明５１０と、受信した動的信用証明５１４との相違５１６を判定するように構成されたロジック５２８、及びこの相違５１６に基づいて、クローン通信デバイスの存在を検出するように構成されたロジック５３０が記憶されている。
【００６６】
少なくとも１つの実施形態では、サーバ通信デバイス動的信用証明５１０は、複数の２進数ビット５３２を含む。別の実施形態内では、サーバ通信デバイス動的信用証明５１０は、３２ビットの２進数５３４を含む。更に、１つの実施形態では、ランダムオフセット５１２は、複数のビットセットのうち１のみを備えた複数の２進数ビット（５３６）を含んでいる。更に、１つの実施形態では、相違数５１６は、複数のランダムオフセット５１２を用いた複数の変更回数（５３８）に等しい。更に、少なくとも１つの実施形態は、サーバ通信デバイス動的信用証明５１０を生成するように構成されたオプションロジック５４０を含む。更に、少なくとも１つの実施形態は、ネットワークを介して、サーバ通信デバイス動的信用証明５１０を送るように構成されたオプションロジック５４２を含む。
【００６７】
図６は、サーバとの安全な通信を行なうように動作可能なクライアント通信デバイス６００の１つの典型的な実施形態を図示する。ここで用いられる「クライアント通信デバイス」は、例えば、常駐する設定されたロジックを実行する１又は複数の処理回路を含む。そのような計算デバイスは、例えば、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、マイクロコントローラ、ポータブル無線電話、携帯情報端末（ＰＤＡ）、及びページング装置、あるいは安全な通信のための上述した動作を少なくとも実行するように構成されたロジック及びプロセッサを含むハードウェア、ソフトウェア、及び／又はファームウェアの任意の適切な組み合わせを含む。クライアント通信デバイス６００は、少なくともそのような安全な通信に関し、少なくとも１つのサーバ（一般に、遠隔配置される）によってサービス提供される。１つの実施形態では、そのようなネットワークは、少なくとも一部は無線ネットワーク１０４である。少なくとも１つのそのような実施形態では、クライアント通信デバイス６００は、クライアント通信デバイス６００から登録信号を送ることに応答して、サーバからの少なくとも１つの動的信用証明を受信する。少なくとも１つの実施形態では、クライアント通信デバイス６００は、図１に関して示され記述された無線デバイス１０２，１０８，１１０，１１２のうちの何れかでありうる。
【００６８】
典型的な実施形態に示すように、クライアント通信デバイス６００は、メモリ６０２、ネットワークＩ／Ｏインタフェース６０４、プロセッサ６０６、及びバス６０８を含む。メモリ６０２はＲＡＭメモリとして示されているが、他の実施形態は、設定されたロジックを格納するために備えられたと知られているあらゆる周知のタイプのメモリとして、そのようなメモリ６０２を含む。更に、メモリ６０２は、１つのタイプのメモリの１つの連続ユニットとして示されるが、他の実施形態は、メモリ６０２として、複数の場所及び複数のタイプのメモリを使用する。ネットワークＩ／Ｏインタフェース６０４は、バス６０８を経由してネットワークに接続されたデバイスに入出力を提供する。プロセッサ６０６は、バス６０８を介して提供される命令及びデータについて動作する。
【００６９】
メモリ６０２には、クライアント通信デバイス動的信用証明６１０、ランダムオフセット６１２、ランダムオフセット６１２を含む信号をネットワークを介して受信するように構成されたロジック６１４、ランダムオフセット６１２をクライアント通信デバイス動的信用証明６１０に加えることによって、クライアント通信デバイス動的信用証明６１０を変更するように構成されたロジック６１６、及びこの変更されたクライアント通信デバイス動的信用証明６１０をネットワークを介して送るように構成されたロジック６１８が記憶されている。
【００７０】
少なくとも１つの実施形態では、クライアント通信デバイス動的信用証明６１０は、複数の２進数ビット６２０を含む。別の実施形態では、クライアント通信デバイス動的信用証明６１０は、３２ビットの２進数６２４を含む。更に、１つの実施形態では、ランダムオフセット６１２は、複数のビットセットのうち１のみを備えた複数の２進数ビット（６２６）を含む。更に、少なくとも１つの実施形態は、ネットワークを介して登録信号を送るように構成されたオプションロジック６２８を含む。更に、少なくとも１つの実施形態は、サーバ通信デバイス動的信用証明５１０をネットワークを介して受信するように構成されたオプションロジック６３０を含む。更に、少なくとも１つの実施形態は、サーバ通信デバイス動的信用証明５１０を、クライアント通信デバイス動的信用証明６１０として格納するように構成されたオプションロジック６３２を含む。
【００７１】
図７は、安全な通信を提供する方法７００の１つの典型的な実施形態を図示する。より具体的には、方法７００は、動的信用証明を含むメッセージを送信することに向けられる。方法７００は、開始ステップ７０２で始まり、ステップ７０４に続く。ここでは、サーバ５００が、ランダムオフセット５１２を生成するように動作する。サーバ５００はまたステップ７０６を含む。ここでは、サーバ５００は、ランダムオフセット５１２を、サーバ通信デバイス動的信用証明５１０に加えることによって、サーバ通信デバイス動的信用証明５１０を変更するように動作する。サーバ通信デバイス動的信用証明５１０が一旦変更されると、サーバ５００は、ステップ７０８において、サーバ通信デバイス動的信用証明５１０を格納するように動作する。次に、ステップ７１０において、サーバ５００は、ランダムオフセット５１２を含む信号をネットワークを介して送るように動作する。ランダムオフセット５１２を含む信号の送信に応答して、サーバ５００は、ステップ７１２において、動的信用証明を含む信号を、ネットワークを介して受信するように動作する。この動的信用証明５１４を含む信号が一旦受信されると、ステップ７１４において、サーバ５００は、サーバ通信デバイス動的信用証明５１０と、受信した動的信用証明５１４との間の相違５１６を判定するように動作する。次に、サーバ通信デバイス動的信用証明５１０と、受信した動的信用証明５１４との相違５１６を得るステップ７１４の判定に応答して、ステップ７１６において、サーバ５００は、この相違５１６に基づいて、クローン通信デバイスの存在を検出する処理を行う。
【００７２】
少なくとも１つの実施形態では、方法７００は更に、オプションステップ７２０を含む。ここでは、システムが、サーバ通信デバイス動的信用証明５１０を生成するように動作する。更に、他の実施形態は、ステップ７２２を含む。ここでは、システムが、ネットワークを介して、サーバ通信デバイス動的信用証明５１０を送るように動作する。また、少なくとも１つの実施形態では、ステップ７０４が、ステップ７２４に示されるように変更され、ランダムオフセット５１２が、複数のビットセットのうち１のみを備えた複数の２進数ビット（５３６）を含む。更に、少なくとも１つの実施形態では、ステップ７０６が、サーバ通信デバイス動的信用証明５１０が複数の２進数ビット（５３２）を含むステップ７２６のように変更される。更に、少なくとも１つの実施形態では、ステップ７０６が、サーバ通信デバイス動的信用証明５１０が３２ビット２進数（５３２）であるステップ７２８のように変更される。更に、少なくとも１つの実施形態では、ステップ７１４が、相違数５１６が、複数のランダムオフセットを用いた複数の変更回数と等しいステップ７３０のように変更される。
【００７３】
図８は、安全な通信を提供する方法８００の１つの典型的な実施形態を図示する。より具体的には、方法８００は、動的信用証明を含むメッセージを送ることに向けられる。方法８００は、開始ステップ８０２で始まり、ステップ８０４に続く。ここでは、クライアント通信デバイス６００が、ランダムオフセット６１２を含む信号をネットワークを介して受信するように動作する。この方法８００はまた、ステップ８０６を含む。ここでは、クライアント通信デバイス６００が、ランダムオフセット６１２をクライアント通信デバイス動的信用証明６１０に加えることによって、クライアント通信デバイス動的信用証明６１０を変更するように動作する。クライアント通信デバイス動的信用証明６１０が一旦変更されると、クライアント通信デバイス６００はステップ８０８において、この変更されたクライアント通信デバイス動的信用証明６００を、ネットワークを介して送るように動作する。
【００７４】
少なくとも１つの実施形態では、方法８００は更に、オプションステップ８１２を含む。このステップでは、システムは更に、登録信号をネットワークを介して送るように動作する。更に、他の実施形態は更にステップ８１４を含む。このステップでは、システムは更に、サーバ通信デバイス動的信用証明５１０をネットワークを介して受信するように動作する。更に、少なくとも１つの実施形態では、追加ステップ８１６が含まれる。このステップでは、システムは、サーバ通信デバイス動的信用証明５１０を、クライアント通信デバイス動的信用証明６１０として格納するように動作する。また、少なくとも１つの実施形態では、ステップ８０４は、ステップ８１８に示すように変更される。このステップでは、ランダムオフセット６１２は、複数のビットセットのうち１のみを備えた複数の２進数ビット（６２６）を含む。更に、少なくとも１つの実施形態では、ステップ８０６がステップ８２０に示すように変更される。このステップでは、クライアント通信デバイス動的信用証明６１０が、複数の２進数ビット（６２０）を含む。更に、少なくとも１つの実施形態では、ステップ８０６が、ステップ８２２に示すように変更される。このステップでは、クライアント通信デバイス動的信用証明６１０は、３２ビットの２進数（６２４）である。
【００７５】
これら熟練者であれば、更に、ここで開示された実施形態に関連して記載された様々な説明的論理ブロック、モジュール、回路、及びアルゴリズムステップが、電子工学ハードウェア、コンピュータソフトウェア、あるいはこれらの組み合わせとして実現されることを理解するであろう。ハードウェアとソフトウェアとの相互互換性を明確に説明するために、様々に例示された部品、ブロック、モジュール、回路、及びステップが、それらの機能に関して一般的に記述された。それら機能がハードウェアとして又はソフトウェアとして実現されているかは、特定のアプリケーション及びシステム全体に課せられている設計制約に依存する。熟練した技術者であれば、各特定のアプリケーションに応じて変更した方法で上述した機能を実施しうる。しかしながら、この適用判断は、本発明の範囲から逸脱したものと解釈されるべきではない。
【００７６】
ここで開示された実施形態に関連して記述された方法やアルゴリズムのステップは、ハードウェアや、プロセッサによって実行されるソフトウェアモジュールや、これらの組み合わせによって直接的に具現化される。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいは当該技術分野で知られているその他の型式の記憶媒体に収納されうる。典型的な記憶媒体は、プロセッサがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサに結合される。
【００７７】
又は、記憶媒体はプロセッサに統合されうる。このプロセッサと記憶媒体は、ＡＳＩＣ内に存在することができる。ＡＳＩＣは、計算デバイス又はユーザ端末内に存在することもできる。あるいはこのプロセッサと記憶媒体は、計算デバイス又はユーザ端末内のディスクリート部品として存在しうる。
【００７８】
開示された実施形態における上述の記載は、当該技術分野におけるいかなる人であっても、本発明の活用又は利用を可能とするように提供される。これらの実施形態への様々な変形例もまた、当該技術分野における熟練者に対しては明らかであって、ここで定義された一般的な原理は、本発明の主旨又は範囲を逸脱せずに他の実施形態にも適用されうる。このように、本発明は、ここで示された実施形態に制限されるものではなく、ここで記載された原理と新規の特徴に一致した最も広い範囲に相当するものを意図している。
【図面の簡単な説明】
【００７９】
【図１】図１は、クライアント計算デバイスとサーバとの間の安全な通信のためのシステムの１つの実施形態の高次ブロック図である。
【図２】図２は、クライアント計算デバイスとサーバとの間の安全な通信のためのシステムの１つの実施形態の準高次ブロック図である。
【図３】図３は、クライアント通信装置とサーバとの間の安全な通信のためのシステムの１つの実施形態を図示するフローチャートである。
【図４】図４は、クライアント通信装置とサーバとの間の安全な通信を達成するために、信号を使用した手順の１つの実施形態を図示するブロック図である。
【図５】図５は、クライアント通信デバイスとサーバとの間の安全な通信のためのシステムに使用されるサーバの１つの実施形態のブロック図である。
【図６】図６は、クライアント通信デバイスとサーバとの間の安全な通信のためのシステムに使用されるクライアント通信デバイスの１つの実施形態のブロック図である。
【図７】図７は、クライアント通信デバイスとサーバとの間の安全な通信のためのシステムの１つの実施形態を図示するフローチャートである。
【図８】図８は、クライアント通信デバイスとサーバとの間の安全な通信のためのシステムの１つの実施形態を図示するフローチャートである。
【図１】
2008521348.tif 000008
【図２】
2008521348.tif 000009
【図３】
2008521348.tif 000010
【図４】
2008521348.tif 000011
【図５】
2008521348.tif 000012
【図６】
2008521348.tif 000013
【図７】
2008521348.tif 000014
【図８】
2008521348.tif 000015