(57)【特許請求の範囲】
【請求項１】
コンピューティングシステムによって実行される方法であって、
ネットワーク通信手段を介して、サーバへのアクセス要求を受信することであって、前記要求が、複数の装置タグを含む第１装置タグセットを含むことと、
前記複数の装置タグのそれぞれの位置を示す位置マップを受信することと、
前記第１装置タグセットが以前割り当てられた装置タグセットに一致するとき、
ユーザの完全なアクセス資格情報を要求することなく、前記サーバへのアクセスを許可することと、
前記第１装置タグセットを無効化することと、
第２装置タグセットを送信することと、
前記第１装置タグセットが前記以前割り当てられた装置タグセットに一致しないとき、前記ユーザからの完全なアクセス資格情報を要求することと、
第１所定数の前記複数の装置タグが記憶位置から欠落していることを前記位置マップが示すとき、前記欠落している装置タグを送信することと、
第２所定数の前記複数の装置タグが前記記憶位置から欠落していることを前記位置マップが示すとき、前記完全なアクセス資格情報を要求することと、
を含む方法。
【請求項２】
前記第１装置タグセットが装置タグを含む、請求項１に記載の方法。
【請求項３】
前記装置タグが静的部分と、動的部分と、を含み、前記動的部分が第１動的値を有し、第２装置タグセットを送信することが、前記第１動的値を第２動的値で置き換えることを含み、前記第１装置タグセットを無効化することが、前記装置タグの前記動的部分の前記第１動的値を無効化することを含む、請求項２に記載の方法。
【請求項４】
前記第１装置タグセット及び前記第２装置タグセットが複数の装置タグセットのシーケンスの一部であり、前記第２装置タグセットが、前記シーケンスにおいて前記第１装置タグセットの直後である、請求項１に記載の方法。
【請求項５】
前記方法が、前記複数の装置タグのそれぞれをクライアント装置の異なる記憶位置に配置させるコードをウェブページに含めることを更に含み、前記クライアント装置の前記記憶位置が、前記クライアント装置にインストールされたアプリケーションを介してアクセス可能である、請求項１に記載の方法。
【請求項６】
前記複数の装置タグのそれぞれの位置を示す位置マップを受信することと、
前記複数の装置タグのうちの１つが予測された記憶位置にないことを前記位置マップが示すとき、前記ユーザからの前記完全なアクセス資格情報を要求することと、を更に含む、請求項５に記載の方法。
【請求項７】
無効な第１装置タグセットを受信することと、
前記受信した無効な第１装置タグセットを考慮して前記第２装置タグセットを無効化することと、を更に含む、請求項１に記載の方法。
【請求項８】
システムであって、
メモリと、
前記メモリに接続される処理装置であって、
複数の装置タグを含む第１装置タグセットを含む、サーバへのアクセス要求をネットワークを介して受信し、
前記複数の装置タグのそれぞれの位置を示す位置マップを受信し、
前記第１装置タグセットが以前割り当てられた装置タグセットに一致するとき、ユーザの完全なアクセス資格情報を要求することなくサーバへのアクセスを許可し、
前記第１装置タグセットを無効化し、
第２装置タグセットを送信し、
前記第１装置タグセットが前記以前割り当てられた装置タグセットに一致しないとき、前記ユーザからの完全なアクセス資格情報を要求し、
前記位置マップが、第１所定数の前記複数の装置タグが記憶位置から欠落していることを示すとき、前記欠落している装置タグを送信し、
前記位置マップが、第２所定数の前記複数の装置タグが前記記憶位置から欠落していることを示すとき、前記完全なアクセス資格情報を要求する処理装置と、を含むシステム。
【請求項９】
前記装置タグが静的部分と、動的部分と、を含み、前記動的部分が第１動的値を有し、第２装置タグセットを送信することが、前記第１動的値を第２動的値で置き換えることを含み、前記第１装置タグセットを無効化することが、前記装置タグの前記動的部分の前記第１動的値を無効化することを含む、請求項８に記載のシステム。
【請求項１０】
前記第１装置タグセット及び前記第２装置タグセットが複数の装置タグセットのシーケンスの一部であり、前記第２装置タグセットが、前記シーケンスにおいて前記第１装置タグセットの直後である、請求項９に記載のシステム。
【請求項１１】
処理装置による実行時に、前記処理装置に
複数の装置タグを含む第１装置タグセットを含む、サーバへのアクセス要求をネットワークを介して受信させ、
前記複数の装置タグのそれぞれの位置を示す位置マップを受信させ、
前記第１装置タグセットが以前割り当てられた装置タグセットに一致するとき、ユーザの完全なアクセス資格情報を要求することなくサーバへのアクセスを許可させ、
前記第１装置タグセットを無効化させ、
第２装置タグセットを送信させ、
前記第１装置タグセットが前記以前割り当てられた装置タグセットに一致しないとき、前記ユーザからの完全なアクセス資格情報を要求させ、
前記位置マップが、第１所定数の前記複数の装置タグが記憶位置から欠落していることを示すとき、前記欠落している装置タグを送信させ、
前記位置マップが、第２所定数の前記複数の装置タグが前記記憶位置から欠落していることを示すとき、前記完全なアクセス資格情報を要求させる命令を含む、非一時的なコンピュータ可読記憶媒体。
【請求項１２】
前記第１装置タグセットが装置タグを含み、前記装置タグが静的部分と、動的部分と、を含み、前記動的部分が第１動的値を有し、第２装置タグセットを送信することが、前記第１動的値を第２動的値で置き換えることを含む、請求項１１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１３】
前記処理装置が、
前記複数の装置タグのそれぞれをクライアント装置の異なる記憶位置に配置させるコードをウェブページ内に更に含み、前記クライアント装置の前記記憶位置が、前記クライアント装置にインストールされたアプリケーションを介してアクセス可能である、請求項１１に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は装置識別に関し、より具体的には、回復機能を有し、かつ復元可能な動的装置タグに関する。
【背景技術】
【０００２】
企業は、ユーザ名及びパスワードなどユーザ資格情報を用いてユーザを認証することにより、ウェブアプリケーションなど企業アプリケーションへのユーザアクセスを制御できる。企業は、２つ以上の認証要素を使用する２要素認証を実行することによって、より安全な環境を提供することを望む場合がある。認証要素としては、「ユーザが知っている何か」（例えば、ユーザ名、パスワード、ＰＩＮ、パターン）、「ユーザが有する何か」（例えば、装置、コンピュータ、携帯電話、物理カード、スマートカード、認証トークン）、及び「ユーザがそうである何か」（例えば、指紋又は一意の網膜など生体認証特性）が挙げられる。２要素認証を使用するウェブサイトにユーザがアクセスすると、このウェブサイトは、ユーザ名及びパスワード（「ユーザが知っている何か」）を要求することがある。このウェブサイトはまた、ユーザを装置と関係付ける識別情報（「ユーザが有する何か」）を検出するか、装置から検出又は受信できる。このウェブサイトは、装置タグを使用する装置を識別できる。従来の方法は、装置タグを傍受し、別の装置にそれをコピーする攻撃者に対して脆弱である。かかる方法は、個人情報の盗難及びオンライン詐欺の被害を受けやすい状態にユーザを放置する。他の従来の方法は、装置タグの喪失、除去、又は削除時に、既知の、つまり認証済みの装置を見失い得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
一実施例では、装置タグセットを使用して装置を識別するためのシステムについて説明する。例示のシステムは、メモリと、ネットワークを介してサーバへのアクセス要求を受信する処理装置と、を含んでよい。要求は、第１装置タグセットを含む。第１装置タグセットが以前割り当てられた装置タグセットに一致するとき、処理装置は、ユーザの完全なアクセス資格情報を要求することなくサーバへのアクセスを許可し、第１装置タグセットを無効化し、第２装置タグセットを送信する。第１装置タグセットが以前割り当てられた装置タグセットに一致しないとき、処理装置は、ユーザからの完全なアクセス資格情報を要求する。
【０００４】
一実施例では、第１装置タグセットは１つの装置タグである。更なる実施例では、装置タグは、静的部分と、動的部分と、を含む。動的部分は、第１動的値を有する。別の実施例では、第２装置タグセットを送信することは、第１動的値を第２動的値に置き換えることを含む。一実施例では、第１装置タグセットを無効化することは、装置タグの動的部分の第１動的値を無効化することを含む。第１装置タグセット及び第２装置タグセットは、複数の装置タグセットのシーケンスの一部であり得、第２装置タグセットは、シーケンスにおいて第１装置タグセットの直後である。
【０００５】
第１装置タグセットは、複数の装置タグを含み得、処理装置は、複数の装置タグのそれぞれをクライアント装置の異なる記憶位置に配置させるコードをウェブページ内に含み得る。クライアント装置の記憶位置は、クライアント装置にインストールされたアプリケーションを使用してアクセス可能である。処理装置は、複数の装置タグのそれぞれの位置を示す位置マップを受信し得る。第１所定数の複数の装置タグが記憶位置から欠落していることを位置マップが示すとき、処理装置はまた、欠落している装置タグを送信できる。第２所定数の複数の装置タグが記憶位置から欠落していることを位置マップが示すとき、処理装置は、完全なアクセス資格情報を更に要求できる。一実施例では、処理装置は、位置マップを使用して、複数の装置タグのそれぞれが予測された記憶位置にあるかどうかを識別できる。複数の装置タグのうちの１つが予測された記憶位置にないことを位置マップが示すとき、処理装置は、ユーザからの完全なアクセス資格情報を要求できる。一実施例では、処理装置は無効な第１装置タグセットを受信し得、受信した無効な第１装置タグセットを考慮して、第２装置タグセットを無効化できる。
【０００６】
更に、装置タグセットを使用して装置を識別する方法について説明する。この方法を実行するコンピュータシステムは、ネットワークを介してサーバへのアクセス要求を受信できる。要求は、第１装置タグセットを含む。第１装置タグセットが以前割り当てられた装置タグセットに一致するとき、この方法は、ユーザの完全なアクセス資格情報を要求することなくサーバへのアクセスを許可し、第１装置タグセットを無効化し、第２装置タグセットを送信する。第１装置タグセットが以前割り当てられた装置タグセットに一致しないとき、この方法は、ユーザからの完全なアクセス資格情報を要求する。
【０００７】
加えて、装置タグセットを使用した装置の識別に使用する非一時的なコンピュータ可読記憶媒体について説明する。非一時的なコンピュータ可読記憶媒体は、処理装置による実行時に、ネットワークを介してサーバへのアクセス要求を処理装置に受信させる命令を含む。要求は、第１装置タグセットを含む。第１装置タグセットが以前割り当てられた装置タグセットに一致するとき、処理装置は、ユーザの完全なアクセス資格情報を要求することなくサーバへのアクセスを許可する。処理装置はまた、第１装置タグセットを無効化し、第２装置タグセットを送信する。第１装置タグセットが以前割り当てられた装置タグセットに一致しないとき、処理装置は、ユーザからの完全なアクセス資格情報を要求する。
【０００８】
一実施例では、第１装置タグセットが、以前割り当てられた、無効な装置タグセットに一致する場合、サーバは、無効な第１装置タグセットが、以前有効だった第１装置タグセットのコピーであると判定する。サーバは、第２装置タグセットなど第１装置タグセットに関連付けられた任意の装置タグセットを無効化し、ユーザからの完全なアクセス資格情報を要求できる。
【図面の簡単な説明】
【０００９】
本開示は、以下の「発明を実施するための形態」及び本開示の様々な実施例の添付図面からより完全に理解されるであろう。
【図１】様々な実施例による、例示のシステムアーキテクチャを示す。
【図２】例示の装置タグの図である。
【図３】装置タグモジュールの実施例のブロック図である。
【図４】装置識別に装置タグセットを使用する方法の実施例を示すフロー図である。
【図５】装置識別に複数の記憶位置にある装置タグセットを使用する方法の実施例を示すフロー図である。
【図６】本明細書に記載の１つ以上の操作を実行してよい、例示のコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１０】
本明細書は、様々な実施例に従って、回復機能を有し、かつ復元可能な動的装置識別を提供する方法及びシステムについて説明する。ユーザが特定のクライアント装置を使用して初めてサーバ（例えば、ウェブサイトを提供するサーバ）にアクセスするとき、このクライアント装置はウェブサイトにとって未知である。未知状態のクライアント装置は、ウェブサイトに対してリスクを示す。２要素認証を使用するウェブサイトでは、ウェブサイトは、クライアント装置を使用したウェブサイトへのアクセスをユーザに許可する前に、複数の認証要素を要求できる。リスクベースの認証技術は、２要素認証の第２要素として装置のコンテキストを使用できる。ウェブサイトがアクセス資格情報を認証すると、ウェブサイトは、クライアント装置に装置タグを送信できる。今後クライアント装置がウェブサイトにアクセスすると、ウェブサイトは装置タグを使用して、既知のクライアント装置としてこの装置を識別できる。ウェブサイトへのアクセス時にクライアント装置が既知である、つまり、以前登録されている場合、要求は、未知のクライアント装置よりもリスクが低いと見なされ得る。低リスクの要求では、リスクベースの認証システムは、より低いユーザ及びクライアント装置認証を要求できる。
【００１１】
装置タグは動的であり得、各装置検証後に変更できる。以前の装置タグは無効化され得、装置タグ追跡サービスは最新の装置タグを認識できる。最新の装置タグは、クライアント装置の検証に使用できる。これは、タグがコピーされて、別のクライアント装置で使用される場合の検出に役立つ。
【００１２】
図１は、本開示の実施例が動作できる、例示のシステムアーキテクチャ１００である。システムアーキテクチャ１００は、１つ以上のネットワーク接続をそれぞれ有する、クライアント装置１０１、１６１、１８１と、ネットワーク１３０に接続するリソースマシン１６０、１７０と、を含み得る。
【００１３】
リソースマシン１６０、１７０は、ネットワーク１３０を介してクライアント装置１０１、１６１、１８１に接続された、１つ以上のサーバコンピュータ、ゲートウェイ、又は他の類似のコンピューティング装置など１つ以上のマシンであってよい。システムアーキテクチャ１００には、任意の数のリソースマシン又はサーバが存在し得る。
【００１４】
リソースマシン１６０、１７０は、ネットワーク１３０を介してクライアント装置１０１、１６１、１８１にウェブページなどインターネットリソースを提供できる。リソースマシン１６０、１７０は、装置タグのプロビジョニング及び管理機能を提供する装置タグモジュール１６５、１７５を含み得る。装置タグモジュール１６５、１７５の例示の機能は、図３に関連して以下で更に詳述する。ユーザ及び／又はクライアント装置の認証後、リソースマシン１６０、１７０は、クライアント装置の装置タグセットを生成し、送信できる。リソースマシン１６０、１７０は、装置タグセットを受信し、追跡できる。リソースマシン１６０、１７０がより最新のアクセス要求を受信すると、例えば、装置タグセットを検証でき、セットが有効な場合には、リソースマシン１６０、１７０は、クライアント装置の新しいセットを生成するか、割り当てることができる。受信した装置タグセット内の装置タグが無効な場合、例えば、リソースマシン１６０、１７０は、本明細書に更に詳述するように、装置タグセット全体及びクライアント装置に関連付けられたすべての装置タグセットを無効化できる。リソースマシン１６０、１７０が、要求されたウェブページをクライアント装置１０１、１６１、１８１に提供すると、装置タグモジュール１６５、１７５は、クライアント装置１０１、１６１、１８１に新しい、つまり更新された装置タグセット１５５をローカルに記憶させるコード（例えば、ＪａｖａＳｃｒｉｐｔ（登録商標、以下同じ））をウェブページに含めることができる。例えば、ＪａｖａＳｃｒｉｐｔは、クライアント装置１０１、１６１、１８１内の装置タグセット１５５を記憶するようにウェブブラウザに指示できる。クライアント装置１０１、１６１、１８１がリソースマシンへのアクセス要求を次回送信するときに、クライアント装置１０１、１６１、１８１は、リソースマシンに装置タグセット１５５を提供できる。次いで、装置タグモジュール１６５は、装置タグセット１５５を使用してクライアント装置１０１、１６１、１８１を識別できる。
【００１５】
クライアント装置１０１、１６１、１８１が、リソースマシン１６０、１７０によって提供されるウェブサイトなどウェブサイトと対話するとき、装置タグ１５５を使用して、クライアント装置を識別使用できる。装置タグ１５５は、「ユーザが有する何か」認証要素など、２要素認証の認証要素を提供できる。装置タグの一例は、「Ｃｏｏｋｉｅ」である。Ｃｏｏｋｉｅは、ユーザ設定、ログイン資格情報、認証データ、及び装置情報を記憶でき、例えば、以降の閲覧時にウェブサイトがクライアント装置１０１、１６１、１８１の識別に使用できる。
【００１６】
クライアント装置１０１、１６１、１８１は、ブラウザなどアプリケーション若しくはブラウザのような機能を有するアプリケーションを有する、デスクトップコンピュータ、ラップトップコンピュータ、サーバコンピュータ、携帯電話（携帯電話（cell or cellular phone）とも称される）、ポケベル、携帯情報端末（ＰＤＡ）、無線端末、タブレット、シンクライアント、若しくは別のコンピュータゲームシステム、テレビ、セットトップボックス、ＤＶＤ若しくはブルーレイディスクプレーヤなど任意の電子機器、又はネットワーク１３０への１つ以上のネットワーク接続（無線又は有線接続のいずれか）を有する別の電子機器であってよい。システムアーキテクチャ１００には、任意の数のクライアント装置が存在し得る。
【００１７】
図示する実施形態では、クライアント装置１０１、１６１、１８１は、１つ以上のアプリケーション１０５と、装置タグエージェント１０７と、１つ以上の記憶位置１５１と、リソースマシン１６０、１７０から受信した１つ以上の装置タグセット１５５と、を含む。アプリケーション１０５は、ユーザが入力したＵＲＬ又はユーザが作動させたリンクを使用してメディアオブジェクトを表示するブラウザであってよい。アプリケーション１０５は、リソースマシン１６０、１７０からなどインターネットからデータを受信して、クライアント装置１０１、１６１、１８１で表示できる。アプリケーション１０５がインターネットのウェブサイト又はリソースマシン１６０、１７０と対話すると、アプリケーション１０５は、クライアント装置１０１、１６１、１８１の１つ以上の記憶位置１５１にデータ、コンテンツ、及び情報を記憶するか、キャッシュすることができる。
【００１８】
装置タグエージェント１０７は、通信可能にアプリケーション１０５に接続されており、装置タグセット１５５、１８５に関してリソースマシン１６０、１７０からの命令を受信し、実行できる。装置タグエージェント１０７は、例えば、記憶位置１５１での装置タグの配置及び設定を容易にすることができる。装置タグエージェント１０７はまた、装置タグ１５５の記憶位置１５１を識別し、装置タグ１５５の記憶位置１５１を指定する位置マップを作製できる。装置タグエージェント１０７はまた、装置タグ１５５の記憶位置１５１を識別し、装置タグ１５５の記憶位置１５１を指定する位置マップを作製できる。位置マップは、装置タグを記憶位置に関連付けることができ、表、行列など任意の形態であり得る。位置マップは、リソースマシン１６０、１７０に送信されて、装置タグが正しい、つまり予測された位置にあるかどうかを判定するために使用され得る。位置マップは、装置タグが記憶位置から欠落しているとき、又は装置タグが予測された記憶位置にないときを示すことができる。装置タグエージェントは、アプリケーション１０５の一部であり得る、アプリケーション１０５のプラグインであり得る、又はスタンドアローンのモジュール若しくはプログラムであり得る。
【００１９】
記憶位置１５１は、アプリケーション、アプリケーションプラグイン、ブラウザ、又はブラウザプラグインによってアクセス可能である任意の位置であり得る。アプリケーションがブラウザであるとき、記憶位置１５１は、Ｃｏｏｋｉｅストア又はＨＴＭＬ５記憶位置などアプリケーション固有のオブジェクトストアであり得る。多数のアプリケーション１０５がクライアント装置１０１、１６１、１８１にインストールされているとき、各アプリケーション１０５は、他のアプリケーション１０５と共有されない、それ独自の記憶位置を有し得る。記憶位置１５１はまた、異なる種類のアプリケーション又はブラウザにわたって共有される、アプリケーション又はブラウザプラグインのオブジェクトストアであり得る。例えば、１つのアプリケーションプラグインは、装置タグの記憶に使用できる、その独自のデータストアを有し得る。装置タグ１５５は、例えば、ウェブ記憶法又はドキュメントオブジェクトモデル（ＤＯＭ）記憶法及びプロトコルを使用して、記憶位置１５１に記憶され得る。他の記憶位置１５１の例としては、ローカルストレージ及びセッションストレージが挙げられる。ローカルストレージに記憶された装置タグは、アプリケーション１０５が閉じられた後も存続できる。セッションストレージの場合、装置タグはセッション期間中保持され、アプリケーション１０５が閉じられたときに消去され得る。記憶位置１５１は、任意の数のローカル、セッション、若しくは他のストレージタイプ、又はこれらの組み合わせを含み得る。ＪａｖａＳｃｒｉｐｔがブラウザに装置タグセットを記憶するように指示すると、例えば、ブラウザは、クライアント装置１０１、１６１、１８１内の異なるカテゴリのデータストア、つまり記憶位置１５１に装置タグセット１５５を移動できる。
【００２０】
ネットワーク１３０は、クライアント装置１０１、１６１、１８１とリソースマシン１６０、１７０との間に接続層を設ける。このネットワークは、プライベート若しくはパブリックネットワーク、又はこれらの任意の組み合わせであり得る。例えば、ネットワーク１３０は、ローカルエリアネットワーク（ＬＡＮ）、イントラネット、エクストラネット、セルラーネットワーク、ページングネットワーク、インターネット、又はこれらの任意の組み合わせであってよい。ネットワーク接続は、ＬＡＮ接続、インターネット接続、Ｗｉ−Ｆｉ接続、ＩＥＥＥ  ８０２．１１接続、３Ｇ接続、ＥＤＧＥ接続、ＣＤＭＡ、ＴＤＭＡ、ＧＳＭ（登録商標）、４Ｇ接続、ＬＴＥ、ＬＴＥ−Ａｄｖａｎｃｅｄ、ＷｉＭＡＸ、ＩＥＥＥ  ８０２．１５  Ｂｌｕｅｔｏｏｔｈ（登録商標）接続、又は他の種類のネットワーク接続であってよく、様々な種類のプロトコルを使用して、クライアント装置１０１、１６１、１８１及びネットワーク１３０に接続された他の装置に対してデータを送受信してよい。
【００２１】
一実施例では、リソースマシン１６０、１７０は、図２及び３に関連して更に詳述するように、１つ以上の動的装置タグを含む装置タグセット１５５を生成する。リソースマシン１６０、１７０は、例えば、ユーザ又はクライアント装置が認証に成功した後で、装置タグセット１５５を生成できる。装置タグセット１５５内の少なくとも１つの装置タグは、装置タグモジュール１６５、１７５による検証ごとに変化できる動的値を有し得る。装置タグモジュール１６５がリソースマシン又はサーバへのアクセス要求を受信すると、装置タグモジュール１６５は、クライアント装置１０１、１６１、１８１に関連付けられた装置タグセット１５５が以前割り当てられた装置タグセットと一致するかどうかを判定できる。一致する場合、装置タグモジュール１６５は、クライアント装置１０１、１６１、１８１の第２装置タグセット１５５を割り当てて、送信できる。第２装置タグセットは、クライアントによって保存され得る。第２装置タグセット１５５の割り当て後、装置タグモジュール１６５は、第１装置タグセットを無効と指定し、記憶システムに無効指定のレコードを記憶できる。無効化された装置タグセット１５５は、非アクティブ化でき、新たに割り当てられた装置タグセット１５５は、以降のサーバアクセス要求用に装置タグモジュール１６５によって認識され得る。無効化されたタグを非アクティブ化すると、装置タグセット１５５内の装置タグがコピーされ、別のクライアント装置によって使用されているかどうかを装置タグモジュール１６５が検出する際に役立ち得る。２つの装置タグセット１５５を受信すると、装置タグモジュール１６５は、最近受信した装置タグセット１５５が以前に受信した装置タグセット１５５のコピーであるかどうかを判定できる。例えば、非アクティブ化された装置タグセットは、元の認証された所有者から、又は装置タグセットをコピーした別のエンティティから受信され得る。無効化されたタグが再受信されると、この装置に関連付けられたすべてのタグが非アクティブ化され得る。装置タグセット１５５の動的本質は、装置固有の擬似タグを提供して、不正使用される期間を短縮できる。動的装置タグの例は、図２に関連して以下で更に詳述する。
【００２２】
別の実施例では、リソースマシン１６０、１７０は、クライアント装置の多数の記憶位置に記憶され得る多数の装置タグを使用させるようにできる。リソースマシン１６０、１７０は、装置タグセット内の装置タグ（１５７ａ、１５７ｂ、．．．、１５７ｎ）を複数の記憶位置（１５１ａ、１５１ｂ、．．．、１５１ｎ）に記憶するようにクライアント装置１６１に指示できる。装置タグ１５７は、同一であるか、装置タグセット１５５の装置タグに類似し得る。リソースマシン１６０、１７０は、装置タグ１５７のうちの任意の１つ又はサブセットを使用して、クライアント装置１６１を一意に識別できる。複数の装置タグ１５７を複数の記憶位置１５１に記憶することにより、ブラウザキャッシュの消去などにより装置タグ１５７が削除されたときに生じる問題を緩和できる。ユーザは、偶然に又は意図的にクライアント装置１６１から１つ以上の装置タグ１５７を削除することがある。少なくとも１つの装置タグ１５７がクライアント装置１６１に存在すれば、一部の装置タグ１５７を削除してもクライアント装置１６１の識別に悪意影響を及ぼさない。装置タグ１５７は相互に回復可能であり得る。つまり、各タグを使用して、任意の欠落している、つまり削除された装置タグ１５７を回復できる。装置タグを回復するために、リソースマシン１６０、１７０は、図３に関連して以下で更に詳述するように、関連する装置タグ１５７のリストを記憶できる。いくつかの実施例では、リソースマシン１６０、１７０はまた、装置タグ１５７が記憶されるクライアント装置１６１の記憶位置を追跡できる。
【００２３】
更なる実施形態では、１つ以上の装置タグ１５７は、機密性がないと思われ、かつ侵入性の低いファイル名又は値を有することができ、これは、クライアント装置の保護、正確な装置識別、及び装置タグの回復に役立ち得る。例えば、装置タグのファイル名は、装置タグを送信したウェブサイトを識別しない、ランダムな英数字文字列を有し得る。ユーザは、かかる装置タグを削除しにくい。更に、かかる装置タグは、ハッカーによって盗まれにくい。
【００２４】
更に別の実施例では、システム１００は、２つの異なるドメインなど異なるリソースプロバイダに関連付けられた装置タグ１５５、１８５を使用できる。ドメインは、例えば、ウェブドメイン又はウェブサイトのＵＲＬであり得る。リソースマシン１６０は、第１リソース（例えば、第１ウェブドメイン）をホストするリソースプロバイダであってよく、リソースマシン１７０は、第２リソース（例えば、第２ウェブドメイン）をホストするリソースプロバイダであってよい。リソースプロバイダ１６０、１７０は、互いのためにサービスを提供できる。ドメインが同一装置に対して異なる装置タグセット（例えば、１５５、１８５）を作製すると、装置タグモジュールは、異なるドメインから２つの装置タグセットを関連付けることができる。例えば第１ウェブドメインは、写真共有ウェブサイトであってよく、第２ウェブドメインは写真共有ウェブサイトのためにユーザ認証サービスを提供できる。装置タグを作製する間、写真共有ウェブサイトは、そのウェブページにコード（例えば、ＪａｖａＳｃｒｉｐｔ）を含めて、写真共有ウェブサイト用にクライアント装置１８１内に装置タグ１５５を設定できる。特定の実施例では、Ｗｅｂ＿ｄｏｍａｉｎ＿Ａはそのウェブページにインラインフレーム（例えば、ｉｆｒａｍｅ）を埋め込むことができる。ｉｆｒａｍｅは、別のウェブサイト内にあるウェブサイトからのドキュメントを埋め込むことができる。Ｗｅｂ＿ｄｏｍａｉｎ＿Ａ内のｉｆｒａｍｅは、ｗｅｂ＿ｄｏｍａｉｎ＿Ａ内のｗｅｂ＿ｄｏｍａｉｎ＿Ｂを参照するコードを含むことができる。ｉｆｒａｍｅ内のＪａｖａＳｃｒｉｐｔは、記憶位置１５１にｗｅｂ＿ｄｏｍａｉｎ＿Ｂ用の装置タグ１８５を配置できる。クライアント装置１８１を使用して異なるドメインからの装置タグセットを使用する例では、ユーザは、第３者認証サービスを使用するウェブサイトにアクセスする。ユーザによる写真共有ウェブサイトへのアクセスを認証した後、装置タグモジュール１６５は、ウェブサイトの第１装置タグセット１５５を送信でき、装置タグモジュール１７５は、認証サービスの第２装置タグセット１８５をクライアント装置１８１に送信できる。ウェブサイトは装置タグセット１５５又は装置タグセット１８５のいずれかを使用して、以降のアクセス時にクライアント装置１８１を識別できる。ウェブサイトの装置タグセット１５５が削除された場合、例えば、装置タグモジュール１６５は、認証サービスの装置タグセット１８５を使用して、クライアント装置１８１を識別できる。装置タグセット１５５及び装置タグセット１８５を使用して、互いを復元することもできる。ウェブサイトの装置タグセット１５５が不完全であるか、欠落している場合、装置タグモジュール１６５は認証サービスの装置タグセット１８５を使用して、新しい装置タグセット１５５を復元できるか、作製できる。同様に、認証サービスの装置タグモジュール１７５は認証サービスの装置タグセット１８５を使用して、ウェブサイトの新しい装置タグセット１５５を復元できるか、作製できる。
【００２５】
図２は、動的装置タグ２００の一実施例を示す。装置タグ２００は、図１の装置タグセット１５５内の装置タグであってよい。装置タグ２００は、静的部分２１０と、動的部分２２０と、を含み得る。
【００２６】
静的部分２１０は、各装置認証又は識別後に不変である、一意の識別子又は値であり得る。静的部分２１０は、クライアント装置の識別に使用できる。例えば、特定のクライアント装置の装置タグ２００は、静的部分値ａ１３ｂ０２ｃ９９を有する。クライアントが受信する、新しい、つまり更新された各装置タグは、静的部分値ａ１３ｂ０２ｃ９９を有し得る。多数の装置タグがクライアント装置に送信されるとき、各装置タグは、各装置認証又は識別後に不変である、一意の静的部分を有する。各装置タグはまた、同一の静的部分を有し得る。動的部分２２０は、装置タグが検証されるか、識別されるたびに変化できる。新しい動的値は装置に送信され、今後の装置識別に使用するために、装置タグモジュール３００によって装置タグデータ３６５内などに記憶される。
【００２７】
動的部分２２０は、セキュリティ及び複雑性の点で異なる、多数の形態であり得る。動的値２２０は、動的値シーケンス内で次の動的値の推測又は解明が困難であるように作製され得る。以降のシーケンス内の動的値を容易に推測できる場合、悪意あるユーザは以降の値を生成し、それによって認証をなりすますことができる。動的値シーケンスが予測可能なパターンである場合、装置タグ２００で暗号化を使用できる。クライアント装置外の装置タグモジュールが装置タグを検証するため、暗号化鍵は、クライアント装置に存在せず、装置タグモジュールにある。
【００２８】
装置タグの静的部分及び動的部分を生成する例示の方法では、暗号化された単純なカウンターとランダムなソルト値を使用できる。サンプル式は、Ｄ＝Ｅｎｃｒｙｐｔ（Ｓ｜｜ｃｏｕｎｔｅｒ｜｜＜ｒａｎｄｏｍ  ｓａｌｔ＞）であってよく、式中、「Ｄ」＝装置タグ、「Ｓ」＝静的値、「ｃｏｕｎｔｅｒ」＝カウンター値、「＜ｒａｎｄｏｍ  ｓａｌｔ＞」＝ランダムなソルト値、「｜｜」は文字列連結を示す。サーバによる、又はサーバ上で実行している装置タグモジュールによる装置タグの検証のたびに、カウンターは１つずつ増加し得る。ランダムなソルト値は、暗号化された値が、カウンターの推測又はユーザ若しくは悪意のあるユーザによって以前収集された動的値の再現に使用できないように使用できる。暗号化は、サーバによって、又は装置タグを追跡する装置タグモジュールによって行われる。暗号化鍵は、サーバのみに既知である。サーバは、装置タグの現在のカウンターを追跡できる。最近検証されたカウンター値よりも小さいカウンター値が提出された装置タグで検出された場合、装置タグはコピーと見なされ、ユーザは更なる認証を要求され得る。
【００２９】
動的値を生成する別の例示の方法は、ワンタイムパスワード（ＯＴＰ）の使用であってよい。ＯＴＰは、一般に１回のログインセッション又はトランザクションに対してのみ有効なパスワードである。ＯＴＰは、セキュリティトークンによって生成されてよい。サーバ又は装置タグモジュールは、イベントベースのＯＴＰシークレットを生成し、このシークレットを静的値に関連付けることができる。次のＯＴＰは、サーバ又は装置タグモジュールが追跡できる動的値に設定され得る。サーバ又は装置タグモジュールは、最新の既知の装置タグを受け取る。提出された動的値が、サーバ装置タグについてサーバが既知の値と一致した場合、サーバは新しい動的部分を設定できるか、そのデータストア内に新しい装置タグを設定できる。クライアント側のＪａｖａＳｃｒｉｐｔは、新しい動的値を設定できるか、クライアント装置の記憶位置に新しい装置タグを設定できる。ＯＴＰは使用されると無効になり、２回目は使用できない。動的値は暗号化され得る。ユーザは、コンピューティングシステムにログインするときにＯＴＰを手動で（例えば、キーボードを介して）入力してよいか、セキュリティトークンがクライアント装置に連結されたときに、セキュリティトークン自体がＯＴＰをコンピューティングシステムに提供してよい。
【００３０】
装置タグ２００の動的値を生成する別の例示の方法では、サーバ又は装置タグモジュールが追跡する、ランダムに生成された値を使用できる。この例では、サーバ又は装置タグモジュールは、最新の既知の装置タグ２００のみを受け取る。受け取った動的値が、装置タグ２００についてサーバが既知の値と一致した場合、サーバはそのレコードに新しい動的値を設定できる。サーバはまた、ＪａｖａＳｃｒｉｐｔを提供して（例えば、ウェブページに埋め込んで）、少なくとも装置タグの動的部分をランダムに生成された動的値に置き換えることによって、クライアント装置上の１つ以上の記憶位置に新しい値を設定できる。装置タグ２００は、本明細書に記載の例に限定することを意図しない、様々な方法で生成され、更新され、無効化され得る。
【００３１】
図３は、装置タグモジュール３００の一実施例のブロック図である。装置タグモジュール３００は、図１のリソースマシン１６０内の装置タグモジュール１６５と同一であってよい。一実施例では、装置タグモジュール３００は、リソースマシン１６０外に存在し、リソースマシン１６０へのアクセス要求を遮断する。装置タグモジュール３００は、クライアント装置を一意に識別できる装置タグ及び装置タグセットを管理する。装置タグモジュール３００は、アクセス要求受信３１０と、装置タグ作製部３２０と、装置タグ検証部３３０と、装置タグ配置部３４０と、を含み得る。装置タグモジュール３００は、より多い又はより少ないコンポーネントを含んでよい。
【００３２】
アクセス要求受信部３１０は、リソースマシン１６０によってホストされるウェブサイトなどインターネットリソースへのアクセスを求めるアクセス要求をクライアント装置から受信できる。アクセス要求は、クライアント装置に関連付けられた装置タグセットなどクライアント装置に関する情報を含み得る。あるいは、装置タグセットは、アクセス要求とは別にクライアント装置から提供され得る。アクセス要求受信部３１０はまた、クライアント装置がウェブサイトへのアクセスを試みたときに、クライアント装置からの装置タグセットを要求し得る。アクセス要求受信部３１０は、装置タグデータ３６５を使用して、装置タグセット内のすべての装置タグが存在するかどうかを判定できる。一実施例では、装置タグモジュール３００は、クライアント装置上の１つ以上の記憶位置を識別できる。この実施例では、クライアント装置は記憶位置を示し、及びアクセス要求受信部にそれを送信できる。次いで、アクセス要求受信部は、それを装置タグ位置データ３６９として記憶できる。以降のアクセス要求については、アクセス要求受信部は、受信した第２装置タグセットの位置データを装置タグ位置データ３６９と比較して、受信した第２セットの装置タグが予測された位置にあるかどうかを判定できる。
【００３３】
アクセスを要求しているクライアント装置が装置タグセットを有していない場合、装置タグ作製部３２０は、今後の装置識別及び検証用にクライアント装置の装置タグセットを作製できる。装置タグ作製部３２０は新しい装置タグセットを作製できるか、既存の装置タグセットを更新でき、クライアント装置の更なる識別のためにこれらをクライアント装置に割り当てる。同様に、ウェブサイトがクライアント装置の完全な装置タグセットを受信しない場合、装置タグ作製部３２０は欠落している装置タグを復元できるか、クライアント装置の新しい装置タグセットを作製できる。装置タグは、図２に関連して更に詳述するように、動的であり得るか、動的部分を有し得る。装置タグはまた、装置タグセットにグループ化され得る。セット内の装置タグは、異なる記憶位置又クライアント装置のストレージ種類に方向付けられ得る。例えば、各記憶位置又はストレージ種類について、少なくとも２つの装置タグが作製される。ランダムかつ強力な長い識別名値ペアｃ１＝ｃｖ１、ｃ２＝ｃｖ２、．．．、ｃｍ＝ｃｖｍが記憶位置に対して生成され得、式中、ｍ＞１であり、式中、「＝」は２つのタグ間のペアリングを示す。クライアントセットｃ１、ｃ２、．．．、ｃｍはクライアント装置に送信され得る。ペアセットｃｖ１、ｃｖ２、．．．、ｃｖｍは、装置タグモジュール３００によるクライアントセットの検証に使用され得る。異なるセットの識別子ｈ１＝ｈｖ１、ｈ２＝ｈｖ２、．．．、ｈｎ＝ｈｖｎは、ＨＴＭＬ  ５用に生成され得、式中、ｎ＞１であり、式中、「＝」は、２つのタグ間のペアリングを示す。同様に、セットｈ１、ｈ２、．．．、ｈｎは、クライアント装置に送信され得、セットｈｖ１、ｈｖ２、．．．、ｈｖｎは、装置タグモジュール３００によって記憶され得る。装置タグはまた、特定のウェブサイト又はドメインに関連付けられ得る。非記述的なファイル名を有する装置タグなどおとり装置タグを各装置タグセットに混在させ得る。更に、装置タグは、装置タグセットに関連する情報を難読化し、クライアント装置ユーザの注意を喚起しないように一般的に名付けられ得る。例えば、装置タグを「Ｃｏｏｋｉｅ：ｕｓｅｒ＠ＣｏｒｐｏｒａｔｉｏｎＷｅｂＳｉｔｅ」と名付けるのではなく、装置タグファイル名は、「Ｃｏｏｋｉｅ：ｕｓｅｒ＠ｉ４９１ｅ００９ｇ１５５」又は「Ｃｏｏｋｉｅ：ｕｓｅｒ＠ｐｈｏｔｏｅｄｉｔｉｎｇ」であってよい。
【００３４】
装置タグモジュール３００がクライアント装置から装置タグセットを受信する場合、装置タグ検証部３３０は、以下に記載のように装置タグデータ３６５を使用して、受信した装置タグセットが有効かどうかを判定できる。装置タグセットが有効な場合には、装置タグモジュールはクライアント装置を識別できる。装置タグ検証部３３０は、以前割り当てられたか、ペアを成す装置タグセットと一致するかどうかを判定することにより、装置タグセットを検証できる。ペアを成すセットの例を上記から続行すると、受信した装置タグセットは、装置タグｃ１、ｃ２ｍ、ｃ３を含む。装置タグモジュール３００の装置タグセットが装置タグｃｖ１、ｃｖ２、ｃｖ３を含む場合、名前値ペアは一致しており、装置タグ検証部３３０は受信した装置タグセットを検証する。装置タグモジュール３００の装置タグセットが装置タグｄｖ１、ｄｖ２、ｄｖ３を含む場合、名前値ペアは一致しておらず、装置タグ検証部３３０は受信した装置タグセットを検証しない。装置タグ検証部３３０はまた、装置タグ位置３６９を使用して、受信した装置タグセットが有効かどうかを判定できる。ペアを成すセットの例では、受信した装置タグセットの値がペアを成すセットの値と一致する場合であっても、受信したセット内の装置タグの少なくとも１つの位置が正しくなければ、装置タグ検証部３３０は、受信したセットは無効であると決定できる。装置タグ検証部３３０は、受信した装置タグセットが有効であるかどうかを、装置タグモジュール３００の他のコンポーネントに通知できる。装置タグ検証部３３０は、装置タグセットの装置タグのサブセットを受信し、更に装置タグセットを検証できる。装置タグのサブセットがクライアント装置から削除された場合であっても、クライアント装置識別は正常に実行される。装置タグモジュールがクライアント装置から装置タグセットの一部を受信する場合、装置タグ検証部３３０は、アクセス要求受信部３１０で受信した装置タグセットが有効かどうかを判定できる。装置タグ検証部３３０はまた、第１装置タグセットｃ１、ｃ２、．．．、ｃｍからの少なくとも１つの装置タグ及び第２セットｈ１、ｈ２、．．．、ｈｎからの少なくとも１つの装置タグを要求して、クライアント装置を正常に検証できる。装置タグ検証部３３０は、装置タグ作製部３２０が新しい装置タグを復元するか、作製できるように、欠落している装置タグを装置タグ作製部３２０に通知できる。
【００３５】
装置タグ配置部３４０は、クライアント装置に装置タグセットを送信できる。装置タグ配置部３４０はまた、装置タグ位置データ３６９に従って、装置タグをクライアント装置の特定の記憶位置に移動させることができる。
【００３６】
データストア３５０は、永続的な記憶装置であってよい。永続的な記憶装置は、ローカル記憶装置又はリモート記憶装置であってよい。永続的な記憶装置は、磁気記憶装置、光記憶装置、ソリッドステート記憶装置、電子記憶装置（メインメモリ）、又は同様の記憶装置であり得る。永続的な記憶装置は、モノリシック装置であるか、分散セットの装置であり得る。本明細書で使用するとき、「セット」は、任意の正の整数のアイテムを指す。データストア３５０は、装置タグデータ３６５及び装置タグ位置データ３６９を記憶できる。
【００３７】
装置タグデータ３６５は、装置タグセットに関連する任意のデータ又は情報を含むことができる。装置タグ間の関係は、装置タグデータ３６５として記憶できる。装置タグが無効化され、それを置き換える新たな装置タグが作製されると、これらの装置タグ間の関係を記憶できる。装置タグのシーケンスも記憶できる。現在の装置タグに関する情報も記憶できる。多数の装置タグが一度に装置で設定されると、これらの装置タグ間の関係は装置タグデータ３６５として記憶できる。更に、装置タグセットがクライアント装置に関連付けられているというデータを記憶できる。装置識別に装置タグペアを使用するとき、１セットのペアが装置タグデータ３６５に記憶されて、整合性又はクライアント装置上の関連ペアを検証するためにクエリされる。装置タグセットとクライアント装置との関係も記憶できる。
【００３８】
装置タグ位置データ３６９は、装置タグセットごとに位置データを含むことができる。装置タグがクライアント装置上の多数の記憶位置に記憶されると、装置タグ位置データ３６９は、各装置タグの記憶位置を記憶できる。クライアント装置を検証するとき、装置タグ位置データ３６９は、クライアント装置の装置タグが予測された記憶位置にあるかどうかを確認するためにクエリされ得る。
【００３９】
装置タグモジュールは、装置タグがコピーされたか、別の装置に移動されたかを判定するために使用され得る。装置タグが別のクライアント装置にコピーされ、検証される場合、装置タグの新しい値が他のクライアント装置で設定される。新しい値は、装置タグモジュール３００によって記憶され、古い値は無効化される。元のクライアント装置が装置識別ルーチンを次回開始すると、その装置タグは、古く、無効であることが判明する。装置タグモジュール３００は、無効な装置タグをコピーされたか、盗まれたと見なすことができる。これは、クライアント装置において新しい値が古い値を上書きするべきであるためである。装置タグモジュール３００は、この装置タグに関連付けられたすべての装置タグ（最新の有効な装置タグセットを含む）を無効化でき、これによって、第２クライアント装置内の更新された装置タグがこれ以上使用されないようにする。クライアント装置のユーザは、更なる認証を要求されることがある。ユーザ認証時に、新しい装置タグが元のクライアント装置に設定され得る。このメカニズムにより、盗まれた又はコピーされた装置タグの攻撃期間を元のクライアント装置からの次回認証時までに制限できる。
【００４０】
図４は、回復機能を有し、かつ復元可能な動的装置識別のための方法４００の実施例のフロー図である。方法４００は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど）、ソフトウェア（例えば、処理装置で実行される命令）、又はこれらの組み合わせを含み得る処理ロジックによって実行できる。一実施例では、方法４００は、図１のサーバマシン内の装置タグモジュール１６５によって実行される。
【００４１】
ブロック４０５において、処理ロジックは、サーバ上のリソース（例えば、ウェブサイト、ドメイン）へのアクセス要求をクライアント装置から受信する。要求は、ユーザのアクセス資格情報（例えば、ユーザ名、パスワード）及び装置のアクセス資格情報を含み得る。処理ロジックは、処理ロジックが要求と共にアクセス資格情報を受信しないときなど、要求するクライアント装置からのアクセス資格情報を要求できる。
【００４２】
ブロック４１０において、処理ロジックは、装置タグセットがクライアント装置に存在するかどうかを判定できる。処理ロジックは、受信した要求に含まれる場合、クライアント装置に装置タグセットが存在することを判定できる。あるいは、処理ロジックは、装置タグセットについてクライアント装置にクエリできる。
【００４３】
装置タグセットが存在しない場合、ブロック４１５において、処理ロジックは、クライアント装置のユーザからの完全なアクセス資格情報を要求できる。完全なアクセス資格情報は、知識要素（例えば、ユーザ名、パスワード、ＰＩＮ、パターン）、所有要素（例えば、装置に送信されたコード、ワンタイムパスワード、装置タグ、Ｃｏｏｋｉｅ、トークン値）、及び内在要素（例えば、ヒトの生体認証）の組み合わせを含み得る。例えば、完全なアクセス資格情報は、ユーザ名、パスワード、及びクライアント装置に送信された有効期限コード（expiring code）であってよい。
【００４４】
ブロック４２０において、処理ロジックは、受信した完全なアクセス資格情報を認証する。要求を認証するために、処理ロジックは、アクセス資格情報の許可される組み合わせをデータストアにクエリできる。認証に成功すると、処理ロジックは、ブロック４２５において、新しい装置タグセットを割り当てて、これをクライアント装置に送信できる。処理ロジックはまた、割り当てられた装置タグセットをローカルに記憶し、クライアント装置に送信できる。装置タグセットは、本明細書に記載するように、クライアント装置を今後識別するための１つ以上の装置タグであってよい。ブロック４２７において、処理ロジックは、要求を許可でき、これによってクライアント装置にサーバへのアクセスを許可する。
【００４５】
ブロック４１０において、装置タグセットがクライアント装置内に存在する場合、処理ロジックは、ブロック４３０において部分的なアクセス資格情報を要求できる。例えば、完全なアクセス資格情報がユーザ名、パスワード、及びクライアント装置に送信された有効期限コードを含む場合、部分的なアクセス資格情報は、ユーザ名及びパスワードであり、有効期限コードは含まれなくてよい。一実施例では、装置タグセットがクライアント装置内に存在すると判定した後で、処理ロジックはまた、受信した装置タグセットが以前割り当てられた装置タグセットに一致するかどうかを判定できる。装置タグセットが以前割り当てられた装置タグセットに一致する場合、処理ロジックは、クライアント装置のユーザからの完全なアクセス資格情報を要求することなくサーバへのアクセスを許可できる。装置タグセットが以前割り当てられた装置タグセットに一致しない場合、装置タグモジュールは、クライアント装置のユーザからの完全なアクセス資格情報を要求できる。
【００４６】
ブロック４３５において、処理ロジックは、受信した部分的なアクセス資格情報を認証する。認証に成功すると、処理ロジックは、ブロック４４０において、更新された装置タグセットを作製し、割り当てて、クライアント装置に送信できる。処理ロジックはまた、クライアント装置において装置タグセットを置き換えるまでの装置タグセット内の１つ以上の装置タグに更新版を送信できる。処理ロジックは装置タグセットを無効化し、第２装置タグセットを割り当てて、クライアント装置に送信できる。ブロック４２７において、処理ロジックは、要求を許可でき、これによってクライアント装置にサーバへのアクセスを許可する。実施例では、第２装置タグは、クライアント装置のユーザによる以降のアクセスの試みにおいて第１装置タグセットであり得る。
【００４７】
図５は、回復機能を有し、かつ復元可能な動的装置識別のための方法５００の別の実施例のフロー図である。方法５００は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど）、ソフトウェア（例えば、処理装置で実行される命令）、又はこれらの組み合わせを含み得る処理ロジックによって実行できる。一実施例では、方法５００は、図１のサーバマシン１６０内の装置タグモジュール１６５によって実行される。
【００４８】
ブロック５０５において、処理ロジックは、サーバ上のリソース（例えば、ウェブサイト、ドメイン）へのアクセス要求をクライアント装置から受信する。要求は、ユーザのアクセス資格情報（例えば、ユーザ名、パスワード）及び装置のアクセス資格情報を含み得る。処理ロジックは、処理ロジックが要求と共にアクセス資格情報を受信しないときなど、要求するクライアント装置からのアクセス資格情報を要求できる。
【００４９】
ブロック５１０において、処理ロジックは、装置タグセットがクライアント装置に存在するかどうか、及び装置タグセット内の装置タグがクライアント装置の予測された記憶位置に存在するかどうかを識別できる。処理ロジックは、要求の一部として、装置タグセットがクライアント装置の予測された記憶位置にあるという通知をクライアント装置から受信できる。記憶位置は、本明細書に記載のように、ブラウザ、ブラウザプラグイン、又はクライアント装置にインストールされたクライアントエージェント若しくはアプリケーションによってアクセス可能である任意の記憶位置であり得る。処理ロジックはまた、様々な記憶位置の位置マップ及び各記憶位置に記憶された装置タグセットをクライアント装置にクエリできる。この位置マップを受信し、以前受信した位置マップと比較することにより、処理ロジックは、装置タグが予測された記憶位置にあるかどうかを判定できる。処理ロジックはまた、装置タグセットにアクセス要求が伴ったかどうかを検出できる。
【００５０】
装置タグセットが予測された記憶位置に存在しない場合、ブロック５１５において、処理ロジックは、本明細書に記載のように、クライアント装置のユーザからの完全なアクセス資格情報を要求できる。
【００５１】
ブロック５２０において、処理ロジックは、受信した完全なアクセス資格情報を認証する。認証に成功した場合、処理ロジックは、ブロック５２５において、装置タグセットを割り当て、これをクライアント装置に送信できる（装置タグは、クライアント装置の異なる記憶位置で設定されてよい）。処理ロジックはまた、割り当てられた装置タグセットを追跡し、クライアント装置に送信できる。処理ロジックはまた、クライアント装置から位置マップを受信することにより、装置タグの記憶位置を追跡できる。装置タグセットをクライアント装置に割り当てるとき、処理ロジックは、装置タグが配置されるべき記憶位置を示すことができる。クライアント装置はまた、装置タグを任意の使用可能な記憶位置に配置でき、次いで、これらは処理ロジックに報告される。かかる例において、クライアントによって装置タグセットの装置タグが配置された後で、処理ロジックは記憶位置を受信できる。ブロック５２７において、処理ロジックは、要求を許可でき、これによってクライアント装置にサーバへのアクセスを許可する。
【００５２】
ブロック５１０において、処理ロジックがクライアント装置からの位置マップを使用して、装置タグセットはクライアント装置の予測された記憶位置に存在することを識別すると、処理ロジックは、ブロック５３０において、完全なアクセス資格情報の一部を要求できる。例えば、完全なアクセス資格情報がユーザ名、パスワード、及びクライアント装置に送信された有効期限コードを含む場合、完全なアクセス資格情報の一部は、ユーザ名及びパスワードであり、有効期限コードは含まれなくてよい。一実施例では、クライアント装置からの位置マップを使用して、装置タグセットがクライアント装置の予測された記憶位置に存在すると識別した後で、処理ロジックはまた、受信した装置タグセットが以前割り当てられた装置タグセットに一致するかどうかを判定できる。装置タグセットが以前割り当てられた装置タグセットに一致する場合、装置タグモジュールは、クライアント装置のユーザからの完全なアクセス資格情報を要求することなくサーバへのアクセスを許可できる。装置タグセットが以前割り当てられた装置タグセットに一致しない場合、装置タグモジュールは、クライアント装置のユーザからの完全なアクセス資格情報を要求できる。処理ロジックは、猶予期間及びクライアント装置のユーザからの完全なアクセス資格情報を要求する前に許可される試行回数を許可できる。
【００５３】
ブロック５３５において、処理ロジックは、完全なアクセス資格情報の一部を認証する。認証に成功すると、処理ロジックは、ブロック５４０において、更新された装置タグセットを割り当てて、これをクライアント装置に送信できる。処理ロジックはまた、クライアント装置に対する、クライアント装置における装置タグセットの置き換え命令を含むまでの装置タグセット内の１つ以上の装置タグに更新版を送信できる。一部の記憶位置からの装置タグが欠落している場合、処理ロジックは、代わりの、つまり新しい装置タグをこれらの記憶位置に送信し、新しい装置タグを配置するようにクライアント装置に指示できる。処理ロジックはまた、装置タグセットを無効化し、第２装置タグセットを割り当てて、クライアント装置に送信できる。ブロック５２７において、処理ロジックは、要求を許可でき、これによってクライアント装置にサーバへのアクセスを許可する。
【００５４】
図６は、本明細書に記載のいずれか１つ以上の方法をマシンに実行させる命令セットが実行され得る、コンピュータシステム６００の例示のマシンを示す。別の実施例では、マシンは、ＬＡＮ、イントラネット、エクストラネット、及び／又はインターネット内の他のマシンに接続されて（例えば、ネットワーク化されて）よい。マシンは、クライアントサーバネットワーク環境内のサーバ若しくはクライアントマシンの容量内で、又はピアツーピア（つまり、分散）ネットワーク環境内のピアマシンとして動作してよい。
【００５５】
マシンは、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はそのマシンが取るべき動作を指定する（逐次的又は非逐次的）命令セットを実行できる任意のマシンであってよい。更に、単一のマシンが図示されているが、用語「マシン」は、個別に、又は連携して１つの命令セット（又は複数の命令セット）を実行して、本明細書に記載の方法のいずれか１つ以上を実行する、任意のマシン群を含むとも見なされるべきである。
【００５６】
例示のコンピュータシステム６００は、処理装置６０２と、メインメモリ６０４（例えば、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、同期的ＤＲＡＭ（ＳＤＲＡＭ）又はＤＲＡＭ（ＲＤＲＡＭ）などダイナミックランダムアクセスメモリ（ＤＲＡＭ）など）と、スタティックメモリ６０６（例えば、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）など）と、データ記憶装置６１８と、を含んでおり、これらは、バス６３０を介して互いに通信する。
【００５７】
処理装置６０２は、マイクロプロセッサ、中央演算処理装置など１つ以上の汎用処理装置を示す。より具体的には、処理装置は、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、又は他の命令セットを実行するプロセッサ、若しくは命令セットの組み合わせを実行するプロセッサであってよい。処理装置６０２はまた、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサなど１つ以上の専用処理装置であってよい。処理装置６０２は、本明細書に記載の操作及び工程を実行するために命令６２２を実行するように構成される。
【００５８】
コンピュータシステム６００は、ネットワークインターフェース機器６０８を更に含んでよい。コンピュータシステム６００はまた、ビデオディスプレイユニット６１０（例えば、液晶ディスプレイ（ＬＣＤ）又は陰極線管（ＣＲＴ））、英数字入力装置６１２（例えば、キーボード）、カーソル制御装置６１４（例えば、マウス）、及び信号生成装置６１６（例えば、スピーカ）を含んでよい。
【００５９】
データ記憶装置６１８は、マシン可読記憶媒体６２８（コンピュータ可読媒体としても知られる）を含んでよく、ここには、本明細書に記載方法又は機能のうちのいずれか１つ以上を具現化する命令６２２の１つ以上のセット又はソフトウェアが記憶される。命令６２２はまた、コンピュータシステム６００によるその実行中にメインメモリ６０４内、及び／又は処理装置６０２内に完全に、又は少なくとも部分的に存在してよく、メインメモリ６０４及び処理装置６０２はまた、コンピュータ可読媒体を構成する。
【００６０】
一実施例では、命令６２２は、装置タグモジュール（例えば、図３の装置タグモジュール３００）に対する命令及び／又は装置タグモジュール内のモジュールを呼び出す方法を含むソフトウェアライブラリを含む。マシン可読記憶媒体６２８は、例示の実施例において単一媒体として示されるが、用語「マシン可読記憶媒体」は、１つ以上の命令セットを記憶する、単一媒体又は複数媒体（例えば、集中型若しくは分散型データベース、並びに／又は関連付けられたキャッシュ及びサーバ）を含むと見なされるべきである。用語「マシン可読記憶媒体」はまた、マシンによって実行するための命令セットを記憶できるか、暗号化でき、かつ本発明の方法のうちのいずれか１つ以上をマシンに実行させる任意の媒体を含むと見なされるべきである。用語「マシン可読記憶媒体には、したがって、ソリッドステートメモリ、光学媒体、及び磁気媒体が挙げられるが、これらに限定されないと見なされるべきである。
【００６１】
前述の「発明を実施するための形態」の一部は、コンピュータメモリ内のデータビットに関する操作のアルゴリズム及び象徴に関して示される。これらのアルゴリズム的記述及び表現は、データ処理分野の当業者によって、他の当業者に仕事の内容を最も効果的に伝達するために使用される手段である。アルゴリズムは本明細書で、概して、所望の結果をもたらす、自己無撞着操作の連続であると考えられる。操作は、物理量の物理的操作を必要とするものである。必ずしもそうとは限らないが、通常、これらの量は、記憶する、組み合わせる、比較する、及び他の方法で操作することが可能な、電気信号又は磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、用語、数値などと称することが、主に一般的な用法の理由から時には好都合であることが判明している。
【００６２】
しかしながら、これら及び同様の用語のすべてが、適切な物理量と関連付けられるものであり、これらの量に適用される好都合なラベルにすぎないことに留意すべきある。上記の考察から明らかなように、特に記述されない限り、説明全体にわたって、「識別する」、又は「判定する」、又は「送信する」、「作製する」などの用語を使用した考察は、コンピュータシステムのレジスタ及びメモリ内の物理（例えば、電子）量として表されるデータを、同様にコンピュータシステムのメモリ若しくはレジスタ、又は他のかかる情報記憶装置として表される他のデータに操作及び変換する、コンピュータシステム又は類似の電子コンピューティング装置の動作及びプロセスを指すことを理解されたい。
【００６３】
本開示はまた、本明細書に記載の操作を実行する装置に関する。この装置は、意図された目的のために特別に構築されてよく、又はコンピュータに記憶されるコンピュータプログラムによって選択的に作動若しくは再構成される汎用コンピュータを備えてよい。かかるコンピュータプログラムは、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクを含む任意の種類のディスク、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、又は電子命令を記憶するのに好適な任意の種類の媒体などが挙げられるが、これらに限定されない、コンピュータ可読記憶媒体に記憶されてよく、それぞれがコンピュータシステムバスに接続される。
【００６４】
本明細書に記載のアルゴリズム及びディスプレイは、任意の特定のコンピュータ又は他の装置に本質的に関連しない。様々な汎用システムが、本明細書の教示に従ったプログラムと共に使用されてよいか、方法を実行するために、より特化した装置の構築が便利であることが判明することがある。様々なこれらのシステムの構造は、以下の説明から明らかとなる。加えて、本開示は、任意の特定のプログラミング言語に関して記載されていない。本明細書に記載されるように、本開示の教示を実行するために様々なプログラミング言語が使用されてよいことを理解されたい。
【００６５】
本開示は、コンピュータシステム（又は他の電子機器）に本開示に従ってプロセスを実行させるプログラムの作製に使用され得る、記憶された命令を有するマシン可読媒体を含んでよい、コンピュータプログラム製品又はソフトウェアとして提供されてよい。マシン可読媒体は、マシン（例えば、コンピュータ）可読の形態で情報を記憶する、任意のメカニズムを含む。例えば、マシン可読（例えば、コンピュータ可読）媒体は、読み取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置などマシン（例えば、コンピュータ）可読記憶媒体を含む。
【００６６】
前述の仕様書では、本開示の実施例は、その特定の例示の実施例を参照して説明してきた。以下の「特許請求の範囲」に記載される、本開示の実施例のより広い趣旨及び範囲から逸脱することなく様々な変更を行うことができることは、明らかであろう。したがって、本明細書及び図面は、制限的意味ではなく、例示的意味と見なされるべきである。
【図１】
0006374947.tif 000002
【図２】
0006374947.tif 000003
【図３】
0006374947.tif 000004
【図４】
0006374947.tif 000005
【図５】
0006374947.tif 000006
【図６】
0006374947.tif 000007