(58)【調査した分野】(Int.Cl.,DB名)
請求項1に記載の方法であって、前記次の処理動作は、前記比較が、前記第1のリンク要求を発行した前記端末の前記発行済み端末識別子と前記第2の端末の前記事前設定された端末識別子とが一致するという結果である場合に、前記第1のサービス要求の認証を認めることを含む、方法。
請求項1に記載の方法であって、前記次の処理動作は、前記比較が、前記第1のリンク要求を発行した前記端末の前記発行済み端末識別子と前記第2の端末の前記事前設定された端末識別子とが一致しないという結果である場合に、前記第1のサービス要求の認証を認めず、認証失敗メッセージを前記端末に送り返すことを含む、方法。
【発明を実施するための形態】
【0012】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【0013】
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術要素については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【0014】
サービスを認証するための方法は、いくつかの実施形態において、以下を含む:ユーザによって送信されたサービス要求を受信した時に、サーバが、サーバ上のアクセス位置にリンクするリンクアドレスを生成し、ユーザによって予め設定された端末識別子に対応する端末に、生成したリンクアドレスを送信する。次いで、サーバは、リンクアドレスを通して発行された第1のリンク要求を受信すると、第1のリンク要求を発行した端末と、ユーザによって予め設定された端末識別子に対応する端末とを比較する。サーバは、第1のリンク要求を発行した端末およびユーザによって予め設定された端末識別子に対応する端末が同じであると判定した場合、サービス要求の認証を認める。そうでない場合、サーバは、サービス要求の認証を拒絶する。
【0015】
いくつかの実施形態において、リンク要求を通してサーバにリンクされた端末とユーザによって予め設定された端末識別子に対応する端末との比較は、リンク要求を通してサーバにリンクされた端末と許可端末との比較も含む。サーバによって許可端末に発行されたリンクアドレスが悪用されても、サーバは、許可端末が安全なままであり不正利用されていないので、リンクアドレスを通してローカルリンクを確立した端末が許可端末でないことを確認できる。サーバは、サービス要求の認証を認めないため、結果として、サービス認証の信頼性が高められる。
【0016】
いくつかの実施形態において、リンクアドレスは、ユニフォームリソースロケータ(URL)に対応する。URLは、ウェブアドレスと呼ばれる場合もある。URLは、サーバ内の特定のアクセス位置のページにリンクされうる。いくつかの実施形態において、リンクアドレスは、特定のアクセス位置に制限されない。例えば、リンクアドレスはショートリンクであり、ショートリンクは、プログラム計算またはその他のかかる方法で短縮ウェブアドレス文字列に変換されたロングURLに対応する。例えば、aliaba.comのショートリンクは、http://bit.ly/18pmnGpである。
【0017】
いくつかの実施形態において、端末は、PC、携帯電話、または、その他のかかる携帯端末に対応する。
【0018】
いくつかの実施形態において、サービス要求は、比較的高いセキュリティ要件を有するサービス要求(支払いサービス要求または識別認証サービス要求など)である。
【0019】
図1は、サービスを認証するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理100は、
図3のサーバ320によって実施され、以下の工程を備える。
【0020】
工程110では、サーバは、ユーザによって送信された第1のサービス要求を受信する。
【0021】
いくつかの実施形態において、ユーザは、第1の端末を通してサーバに第1のサービス要求を発行する。端末は、ラップトップコンピュータ、デスクトップコンピュータ、タブレット、携帯デバイス、スマートフォン、ウェアラブルネットワークデバイス、または、任意のその他の適切なコンピュータデバイスであってよい。いくつかの実施形態では、ウェブブラウザまたはスタンドアロンアプリケーションが、各クライアントにインストールされており、サーバがホストとなるサービスにユーザがアクセスすることを可能にする。様々な実施形態において、サーバは、ゲームウェブサイトサーバ、オンラインバンキングサーバ、または、ショッピングウェブサイト支払いサーバなど、様々なアプリケーションタイプをサポートする。サーバは、コンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、専用デバイス、先述のシステムまたはデバイスの内の任意のものを含む分散型コンピュータ環境、もしくは、1または複数のプロセッサと、プロセッサに接続されプロセッサに命令を提供するよう構成されたメモリとを含むその他の適切なハードウェア/ソフトウェア/ファームウェアの組み合わせなど、1または複数のコンピュータデバイスを用いて実装されてよい。サーバは、単一または複数のデバイスを含みうる。
【0022】
いくつかの実施形態において、第1の端末は、ユーザによって指示されると、事前に登録されたユーザアカウント番号(ユーザ名およびパスワードなど)に基づいてサーバにログオンし、その後、サービスのためのサービス要求をサーバに送信する。例えば、第1の端末は、パーソナルコンピュータ(PC)であり、サーバは、オンラインバンキングサーバである。
【0023】
PCは、インターネットを介してオンラインバンキングサーバとの接続を確立した後、オンラインバンキングサーバログインページをユーザに表示し、ログインページの入力ボックスにユーザによって入力された事前登録済みのユーザアカウント番号を受信する。PCは、ユーザアカウント番号をオンラインバンキングサーバに送信する。オンラインバンキングサーバは、ユーザアカウント番号をPCから受信し、PCから受信したユーザアカウント番号を認証する。オンラインバンキングサーバは、ユーザアカウント番号の認証を認めた後、ログイン処理を完了する。次に、PCは、表示ページを通してユーザによって入力された第1のサービス要求(支払いサービスなど)を受信し、第1のサービス要求をオンラインバンキングサーバに送信する。例えば、第1のサービス要求は、“POST https://service.example.com”というHTTP要求でありうる。
【0024】
工程120では、サーバは、第1のサービス要求のためのアクセス位置にリンクするために用いられる第1のリンクアドレスを生成する。サーバは、サービス要求を受信するといつでも、サービス要求のためのリンクアドレスを動的に生成する。生成されたリンクアドレスの一例は、https://jy.example.com/jy.htm?pwd_id=abc123である。別の例において、生成されたリンクアドレスは、ショートリンクに変換される。
【0025】
いくつかの実施形態において、サーバ上のアクセス位置への各リンクアドレスは、サーバ上の認証ページを参照する。換言すると、https://jy.abc.com/jy.htm?pwd_id=abc123という生成されたリンクアドレスは、サーバ上の認証ページに対応する。
【0026】
工程130では、サーバは、第2の端末に対応する事前設定された端末識別子を決定し、第1のリンクアドレスを第2の端末に送信する。例えば、上述の生成されたリンクアドレスhttps://jy.example.com/jy.htm?pwd_id=abc123が、ショートメッセージサービス(SMS)メッセージのフォーマットを有するメッセージを用いて、第2の端末に第1のリンクアドレスとして送信される。いくつかの実施形態において、事前設定された端末識別子は、ユーザによって予め設定された端末識別子であり、サーバがアクセス可能なデータベースに格納される。いくつかの実施形態において、事前設定された端末識別子は、端末の特徴のいくつかの変数とハッシュ関数とに基づいて生成された事前設定の端末識別子であり、サーバがアクセス可能なデータベースに格納される。
【0027】
いくつかの実施形態において、ユーザは、アカウント番号をサーバに登録する時に、登録されたユーザアカウント番号に結び付けられた事前設定の端末識別子を提供する。換言すると、ユーザアカウント番号と、第2の端末の事前設定された端末識別子との間の結び付きの関係が、サーバに記録される。サーバは、第2の端末がサーバにログインする時に用いられるユーザアカウント番号に基づいて、第2の端末に対応する事前設定の端末識別子を決定する。次いで、サーバは、第2の端末に対して決定された事前設定の端末識別子に基づいて、第1のリンクアドレスを第2の端末に送信する。例えば、https://jy.example.com/jy.htm?pwd_id=abc123という第1のリンクアドレスが、第2の端末に送信される。
【0028】
一例として、第2の端末は、携帯電話であり、ユーザがサービスを要求する第1の端末は、携帯電話またはパーソナルコンピュータ(PC)である。ユーザアカウントが最初に登録される時に、第2の端末の携帯電話番号が提供されてサーバに格納されるので、サーバは、(事前設定された端末識別子に対応する、ユーザが提供した携帯電話番号を介して)SMSメッセージを第2の端末に送信できるようになる。ユーザは、第2の端末に送信されたSMSメッセージ内のリンクをクリックまたはアクティブ化し、リンクアドレスのページにアクセスできる。この例において、リンクは、送信時にアクティブに設定され、短期間(例えば、数分)で失効するよう設定される。したがって、サーバにアクセスする第2の端末は、「ログイン処理」全体を実施する代わりに、迅速に認証されうる。いくつかの実施形態において、携帯電話番号は、第2の端末が遠隔通信サービスプロバイダからAPIを介してサーバにアクセスする時に認証される。
【0029】
いくつかの実施形態において、第1および第2の端末は、2つの別個の端末装置である。例えば、第1の端末はPCであり、第2の端末は携帯電話である。いくつかの実施形態において、第1および第2の端末は、同じ端末装置内の構成要素である。例えば、第1および第2の端末は、携帯電話内の異なる構成要素(例えば、異なるソフトウェアアプリケーション)である。第1の端末および第2の端末が1つの端末装置内の構成要素を指す場合、端末装置は、処理100を実行するための第1の端末および第2の端末という別個の機能要素を有する。
【0030】
いくつかの実施形態において、第2の端末が携帯電話である場合、サーバは、ダウンリンクショートメッセージサービス(SMS)テキストメッセージを発行することによって、または、別の形態の無線通信によって、第1のリンクアドレスを第2の端末に送信する。
【0031】
工程140では、サーバは、第1のリンク要求を発行した端末から第1のリンク要求を受信し、第1のリンクアドレスから発行された第1のリンク要求に基づいて、第1のリンク要求を発行した端末の発行済みの端末識別子を決定する。
【0032】
第1のリンク要求を発行した端末が携帯電話である場合、端末の発行済み端末識別子は、携帯電話番号でありうる。いくつかの実施形態において、リンクは、SMSメッセージを介してユーザの携帯電話に送信される。いくつかの実施形態において、リンクは、インターネットプロトコルを介してユーザの携帯電話に送信される。この場合、サーバは、インターネットオペレータによって公開されたアプリケーションプログラミングインターフェース(API)を通して、第1のリンク要求を発行した携帯電話にクエリすることにより、第1のリンク要求を発行した携帯電話の携帯電話番号を決定できる。
【0033】
この例において、第2の端末は、受信した第1のリンクアドレスを表示し、受信した第1のリンクアドレスに基づいて第1のリンク要求をサーバに直接発行する。例えば、第2の端末がタッチスクリーンを備えたスマートフォンである場合、ユーザは、ブラウザアプリケーションなどを介して第2の端末に表示された第1のリンクアドレスをクリックまたはアクティブ化できる。第2の端末は、ユーザのクリック動作を認識した後、第1のリンクアドレスに基づいて、第1のリンク要求をサーバに発行する。例えば、第1のリンク要求は、POST https://jy.example.com/jy.htm?pwd_idでありうる。
【0034】
サーバによって第2の端末に発行された第1のリンクアドレスが盗まれた場合、盗まれた第1のリンクアドレスは、無許可端末に送信され、その端末を通して、無許可ユーザが無許可応答を行う。したがって、第1のリンク要求は、盗まれた第1のリンクアドレスを通してサーバに発行されうる。
【0035】
工程150では、サーバは、決定された発行済み端末識別子を第2の端末の事前設定された端末識別子と比較する。
【0036】
いくつかの実施形態において、サーバが、第1のリンク要求を発行したことを確認された端末の発行済み端末識別子を第2の端末の事前設定された端末識別子と比較することは、第1のリンク要求を発行した端末の発行済み端末識別子が第2の端末の事前設定された端末識別子と同じか否かを判定する。第1のリンク要求を発行した端末の発行済み端末識別子が第2の端末の事前設定された端末識別子と同じである場合、判定結果は、第1のリンク要求を発行した端末の発行済み端末識別子が第2の端末の事前設定された端末識別子と一致することである。この場合、第1のリンク要求をサーバに発行した端末は、第2の端末であると判定される。第1のリンク要求を発行した発行済み端末識別子および第2の端末の事前設定された端末識別子が異なる場合、比較結果は、第1のリンク要求を発行した端末の発行済み端末識別子が第2の端末の事前設定された端末識別子と一致しないことであり、その比較結果は、第1のリンク要求をサーバに発行した端末が第2の端末ではないことを含む。
【0037】
工程160では、サーバは、比較結果に基づいて第1のサービス要求に次の処理動作を実行する。
【0038】
いくつかの実施形態において、比較結果が、第1のリンク要求を発行した端末の発行済み端末識別子が第2の端末の事前設定された端末識別子と同じであることを含む場合、第1のサービス要求の次の処理動作は以下を含む:第1のサービス要求に応答して、サーバが、第1のサービス要求の認証を認め、任意選択的に認証成功メッセージを端末に送信し、次の処理動作を進めることを許可する。そうでない場合、第1のサービス要求の次の処理動作は、以下を含む:第1のサービス要求に応答して、サーバが、第1のサービス要求の認証を認めず、認証失敗メッセージを端末に送り返す。
【0039】
上記の処理100において、サーバにリンクされた端末は、サーバによって認定された許可端末(ユーザによって予め設定された端末識別子に対応する端末)と比較される。サーバによって許可端末に発行されたリンクアドレスが盗まれても、サーバは、許可端末が安全なままであり無許可利用されない限りは、ローカルリンクを確立した端末が許可端末でないことを確認できる。サーバは、サービス要求の認証を認めないため、サービス認証の信頼性が高められうる。
【0040】
上記の処理100は、事前設定された端末識別子に基づいて、第1のリンク要求を発行した端末が許可端末であるか否かを判定する。さらに、サーバは、端末装置情報に基づいて、第1のリンク要求を発行した端末が許可端末であるか否かを判定してもよい。端末装置情報は、端末の装置型番、端末のオペレーティングシステムのバージョン番号、端末のブラウザのバージョン番号、端末の表示スクリーンのサイズおよび解像度、もしくは、それらの任意の組み合わせを含む。
【0041】
いくつかの実施形態において、端末装置情報は、第1のリンク要求を発行した端末が許可端末であるか否かを判定するために用いられる。判定は、以下の工程を含む。
【0042】
工程145では、サーバは、第1のリンク要求を発行した端末の装置情報を決定する。
【0043】
いくつかの実施形態において、工程145は、工程140と同時に実行される。いくつかの実施形態において、工程145は、工程140の前または後に実行される。
【0044】
工程155では、サーバは、決定された装置情報を第2の端末の装置情報と比較する。
【0045】
いくつかの実施形態において、工程155は、工程150と同時に実行される。いくつかの実施形態において、工程155は、工程150の前または後に実行される。
【0046】
いくつかの実施形態において、第1のリンク要求を発行した端末の装置情報を第2の端末の装置情報と比較することは、第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と同じであるか否かを判定することを含む。第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と同じである場合、比較結果は、第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と一致することである。第1のリンク要求を発行した端末の装置情報および第2の端末の装置情報が異なる場合、比較結果は、第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と一致しないことである。
【0047】
第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と同じであるか否かを判定するために直接比較工程を実行することに加えて、サーバは、装置情報をデジタル値に変換した後、ハッシュ計算などの計算の結果を取得し、それらの結果を比較することができる。
【0048】
例えば、サーバは、第2の端末の装置情報を数値に変換する。例えば、第2の端末の装置情報は、端末のブラウザのバージョン番号である。端末のブラウザのこのバージョン番号は、2.3.7であり、これは、例えば、2×100+3×10+7=237などの数値に変換される。ハッシュ計算またはその他のかかる技術が、N(Nは正の整数)個の文字または数字を含むハッシュ文字列を生成するために用いられる。次いで、同じ計算に基づいて、第1のリンク要求を発行した端末の装置情報からのN桁のハッシュ文字列を生成した後、サーバは、第1のリンク要求を発行した端末の装置情報から生成されたN桁のハッシュ文字列を第2の端末の装置情報から生成されたN桁のハッシュ文字列と比較する。2つのN桁のハッシュ文字列が同じである場合、比較結果は、第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と一致することを含む。そうでない場合、比較結果は、第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と一致しないことを含む。
【0049】
工程160では、比較工程150および155の実行後、サーバは、工程150および155の比較結果を同時に参照する。サーバは、第1のリンク要求を発行した端末の発行済み端末識別子が第2の端末の事前設定された端末識別子と一致すると共に、第1のリンク要求を発行した端末の装置情報が第2の端末の装置情報と一致することを、工程150および155の両比較結果が示す場合、第1のサービス要求の認証を認める。そうでない場合、サーバは、第1のサービス要求の認証を認めない。
【0050】
いくつかの実施形態において、サーバは、工程155において第2の端末の決定済みの装置情報に基づいて比較工程を実行できるように、工程155の実行前に第2の端末の装置情報を決定する。いくつかの実施形態において、サーバは、以下の2つのアプローチの一方に基づいて装置情報を決定するが、アプローチは、これらに限定されない:
【0051】
第1のアプローチでは、処理100の実行前に第2の端末がサーバにアクセスした場合、サーバは、第2の端末がサーバ自体にアクセスした時からの履歴記録情報に基づいて第2の端末の装置情報を決定する。
【0052】
第2のアプローチでは、処理100の実行前に、サーバは、処理100と同様に、第2の端末に結び付けられたユーザアカウント番号を用いた端末と相互作用できる。例えば、サーバによって第2の端末に送信されたリンクが、ユーザアカウントおよびサービス要求に関連する。リンクがクリックされサーバに投稿されると、それに従って、関連するアカウントが第2の端末に結び付けられる。いくつかの実施形態では、何らかの装置関連情報が、例えば、ハイパーテキスト・トランスファー・プロトコル・セキュア(HTTPS)プロトコルを介してサーバに送信される。端末が第2の端末であるとの判定後、サーバは、処理100が実行された時に第2の端末の装置情報を決定できるように、第2の端末の装置情報を格納する。
図2は、端末の装置情報を決定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理200は、
図1の工程145の一実施例であり、以下の工程を含む:
【0053】
工程210では、サーバは、第2の端末に結び付けられたユーザアカウント番号を用いて端末によって送信された第2のサービス要求を受信すると、アクセス位置にリンクするために用いられる第2のリンクアドレスを生成する。
【0054】
認証処理が正常であった場合、第2のサービス要求を送信した端末は、第2の端末である。認証処理が不正アクセスされ、第1のサービス要求が盗まれた場合、端末は、第2の端末に結び付けられたユーザアカウント番号を用いた別の端末である。
【0055】
いくつかの実施形態において、第2のサービス要求は、第1のサービス要求と同じ内容のサービス要求である。いくつかの実施形態において、第2のサービス要求は、第1のサービス要求とは異なる内容のサービス要求である。この時、「第1」および「第2」は、2つの異なる場合に送信されたサービス要求を区別するために用いられている。
【0056】
第1および第2のリンクアドレスは、それぞれ第1のサービス要求および第2のサービス要求のためにサーバによって生成された異なるリンクアドレスである。
【0057】
工程220では、サーバは、第2のリンクアドレスを第2の端末に送信する。
【0058】
工程230では、サーバは、第2のリンクアドレスを通して発行された第2のリンク要求に基づいて、第2のリンク要求を発行した端末の端末識別子および端末の装置情報を決定する。
【0059】
第1のリンクアドレスおよび第2のリンクアドレスは、同じタイプのリンク要求であってよい。この時、「第1」および「第2」は、サービス認証処理の2つの異なる場合に関連するリンク要求を区別するために用いられている。
【0060】
工程240では、第2のリンクアドレスを発行した端末の端末識別子と第2の端末の事前設定された端末識別子との間のマッチング結果に基づいて、サーバは、第2のサービス要求の認証を認めるか否かを決定する。サーバが第2のサービス要求の認証を認め、設定された期間内に警告メッセージを受信しなかった場合、第2のリンク要求を発行した端末は、認証された第2の端末として承認される。サーバは、第2のリンク要求を発行した端末の装置情報をローカルに格納し、装置情報が第2の端末の装置情報であることを決定する。
【0061】
いくつかの実施形態において、処理100は、サーバにリンクされた第1の端末の発行済み端末識別子を、ユーザによって予め設定された事前設定の端末識別子に対応する許可された第2の端末と比較する工程を含む。いくつかの実施形態において、サーバにリンクされた第1の端末の発行済み端末識別子および装置情報は、許可された第2の端末の事前設定された端末識別子および装置情報と比較される。許可された第2の端末へサーバによって発行されたリンクアドレスが悪用された場合でも、サーバは、許可された第2の端末が安全なままであり、無許可利用されない限りは、リンクアドレスを通してローカルリンクを確立した第1の端末が許可端末ではないという事実を確認できる。サーバは、サービス要求の認証を拒否するので、結果として、サービス認証の信頼性が高められる。
【0062】
処理100は、認証サービスのための従来の方法と組み合わせて用いてもよいことに注意されたい。例えば、サービスは、背景技術に記載した従来の確認番号の方法と処理100を組み合わせることによって認証されてもよい。
【0063】
図3は、サービスを認証するためのシステムの一実施形態を示す構造図である。いくつかの実施形態において、システム300は、
図1の処理100を実施し、サーバ320、第1の端末310、および、第2の端末315を備える。
【0064】
いくつかの実施形態において、サーバ320は、ネットワーク330を介して、ユーザによって送信された第1のサービス要求(1)を受信して、アクセス位置にリンクするために用いられる第1のリンクアドレスを生成し、ユーザによって予め設定された端末識別子である事前設定された端末識別子に対応する第2の端末315に第1のリンクアドレス(2)を送信し、端末から第1のリンク要求(3)を受信し、第1のリンク要求を発行した端末の発行済み端末識別子を決定し、決定した発行済み端末識別子を第2の端末の事前設定された端末識別子と比較し、比較結果に基づいて第1のサービス要求に次の処理動作を実行する。
【0065】
いくつかの実施形態において、第2の端末315は、サーバ320によって送信された第1のリンクアドレスを受信し、第1のリンクアドレスを通して第1のリンク要求をサーバ320に発行する。
【0066】
いくつかの実施形態において、第1の端末310は、ユーザ指示に基づいて第1のサービス要求を発行する。
【0067】
いくつかの実施形態において、第1の端末および第2の端末は異なる端末である。いくつかの実施形態において、第1の端末および第2の端末は同じ端末である。
【0068】
さらに、サーバ320は、第2の端末の装置情報を決定し、第1のリンク要求を発行した端末の装置情報を決定し、第1のリンク要求を発行した端末の装置情報および第2の端末の装置情報を比較する。
【0069】
さらに、サーバ320は、以下の2つのアプローチの一方に基づいて第2の端末の装置情報を決定するが、アプローチは、これらに限定されない。
【0070】
第1のアプローチにおいて、サーバ320は、サーバにアクセスする第2の端末に関する履歴記録情報に基づいて、第2の端末315の装置情報を決定する。
【0071】
第2のアプローチにおいて、サーバ320は、過去に、第2の端末315に結び付けられたユーザアカウント番号を用いて端末によって送信された第2のサービス要求を受信した時に、アクセス位置にリンクするために用いられる第2のリンクアドレスを生成し、第2のリンクアドレスを第2の端末に送信し、第2のリンクアドレスを通して発行された第2のリンク要求に基づいて、第2のリンク要求を発行した端末の端末識別子および端末の装置情報を決定し、サーバ320が、第2のリンク要求を発行した端末の端末識別子が第2の端末の事前設定された端末識別子と一致すると判定すると共に、第2のサービス要求の認証を認めた後に設定済みの期間内で警告メッセージを受信しなかった場合、第2のリンク要求を発行した端末の装置情報が第2の端末の装置情報であると判定する。
【0072】
図4は、サービスを認証するためのデバイスの一実施形態を示す構造図である。いくつかの実施形態において、デバイス400は、処理100を実施し、受信モジュール410、リンクアドレス生成モジュール420、送信モジュール430、決定モジュール440、比較モジュール450、および、装置情報決定モジュール460を備える。
【0073】
いくつかの実施形態において、受信モジュール410は、ユーザによって送信された第1のサービス要求を受信し、第1のリンク要求を発行した端末から第1のリンク要求を受信する。
【0074】
いくつかの実施形態において、リンクアドレス生成モジュール420は、アクセス位置にリンクするために用いられる第1のリンクアドレスを生成する。
【0075】
いくつかの実施形態において、送信モジュール430は、決定された事前設定の端末識別子に対応する第2の端末に第1のリンクアドレスを送信する。
【0076】
いくつかの実施形態において、決定モジュール440は、第1のリンクアドレスを通して発行された第1のリンク要求に基づいて、第1のサービス要求を発行した端末の発行済み端末識別子を決定する。
【0077】
いくつかの実施形態において、比較モジュール450は、決定された発行済み端末識別を第2の端末の事前設定された端末識別子と比較し、比較結果に基づいて、第1のサービス要求を処理する際に次の動作を実行する。
【0078】
いくつかの実施形態において、装置情報決定モジュール460は、第2の端末の装置情報を決定する。
【0079】
いくつかの実施形態において、決定モジュール440は、さらに、第1のリンク要求を発行した端末の装置情報を決定する。
【0080】
いくつかの実施形態において、比較モジュール450は、さらに、第1のリンク要求を発行した端末の装置情報を第2の端末の装置情報と比較する。
【0081】
いくつかの実施形態において、装置情報決定モジュール460は、以下の2つのアプローチの一方に基づいて第2の端末の装置情報を決定するが、アプローチは、これらに限定されない:
【0082】
第1のアプローチにおいて、装置情報決定モジュール460は、デバイス400にアクセスする第2の端末に関する履歴記録情報に基づいて、第2の端末の装置情報を具体的に決定する。
【0083】
第2のアプローチにおいて、装置情報決定モジュール460は、デバイス400の少なくとも1つの他のモジュールと共に、第2の端末の装置情報を決定する。
【0084】
いくつかの実施形態において、受信モジュール410は、第2の端末に結び付けられたユーザアカウント番号に基づいて端末によって送信された第2のサービス要求をすでに受信している。
【0085】
いくつかの実施形態において、リンクアドレス生成モジュール420は、さらに、アクセス位置にリンクするために用いられる第2のリンクアドレスを生成する。
【0086】
いくつかの実施形態において、送信モジュール430は、さらに、第2のリンクアドレスを第2の端末に送信する。
【0087】
いくつかの実施形態において、決定モジュール440、さらに、第2のリンクアドレスを通して発行された第2のリンクアドレスに基づいて、第2のリンク要求を発行した端末の端末識別子と端末の装置情報とを決定する。
【0088】
いくつかの実施形態において、比較モジュール450は、さらに、第2のリンク要求を発行した端末の端末識別子を第2の端末の事前設定された端末識別子と比較する。
【0089】
いくつかの実施形態において、比較モジュール450が、第2のリンク要求を発行した端末の端末識別子が第2の端末の事前設定された端末識別子と一致すると判定し、第2のサービス要求の認証を認めた後に設定済みの期間内に警告メッセージを受信しなかった場合、装置情報決定モジュール460は、第2のリンク要求を発行した端末の装置情報が第2の端末の装置情報であると判定する。
【0090】
図5は、サービスを認証するためにプログラムされたコンピュータシステムの一実施形態を示す機能図である。明らかに、サービス認証を実行するために、他のコンピュータシステムアーキテクチャおよび構成を用いることも可能である。以下に述べるような様々なサブシステムを備えるコンピュータシステム500は、少なくとも1つのマイクロプロセッササブシステム(プロセッサまたは中央処理装置(CPU)とも呼ばれる)502を備える。例えば、プロセッサ502は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ502は、コンピュータシステム500の動作を制御する汎用デジタルプロセッサである。メモリ510から読み出された命令を用いて、プロセッサ502は、入力データの受信および操作、ならびに、出力デバイス(例えば、ディスプレイ518)上でのデータの出力および表示を制御する。
【0091】
プロセッサ502は、メモリ510と双方向的に接続されており、メモリ510は、第1のプライマリストレージ(通例は、ランダムアクセスメモリ(RAM))および第2のプライマリストレージ領域(通例は、読み出し専用メモリ(ROM))を含みうる。当業者に周知のように、プライマリストレージは、一般的な記憶領域として、および、スクラッチパッドメモリとして利用可能であり、また、入力データおよび処理済みデータを格納するために利用可能である。プライマリストレージは、さらに、プロセッサ502上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納できる。また、当業者に周知のように、プライマリストレージは、通例、機能(例えば、プログラムされた命令)を実行するためにプロセッサ502によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、メモリ510は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述する任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ502は、頻繁に必要になるデータをキャッシュメモリ(図示せず)に直接的かつ非常に迅速に格納し取り出すことができる。
【0092】
着脱可能マスストレージデバイス512が、コンピュータシステム500にさらなるデータ記憶容量を提供しており、プロセッサ502に対して双方向(読み出し/書き込み)または単方向(読み出しのみ)に接続されている。例えば、ストレージ512は、磁気テープ、フラッシュメモリ、PCカード、携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体も含みうる。固定マスストレージ520も、例えば、さらなるデータ記憶容量を提供しうる。マスストレージ520の最も一般的な例は、ハードディスクドライブである。マスストレージ512、520は、一般に、プロセッサ502によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。マスストレージ512および520に保持された情報は、必要であれば、仮想メモリとしてのメモリ510(例えば、RAM)の一部に標準的な方式で組み込まれてよいことが理解される。
【0093】
プロセッサ502がストレージサブシステムにアクセスできるようにすることに加えて、バス514は、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイモニタ518、ネットワークインターフェース516、キーボード504、および、ポインティングデバイス506、ならびに、必要に応じて、補助入力/出力デバイスインターフェース、サウンドカード、スピーカ、および、その他のサブシステムを含みうる。例えば、ポインティングデバイス506は、マウス、スタイラス、トラックボール、または、タブレットであってよく、グラフィカルユーザインターフェースと相互作用するのに有用である。
【0094】
ネットワークインターフェース516は、図に示すように、ネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークにプロセッサ502を接続することを可能にする。例えば、ネットワークインターフェース516を通して、プロセッサ502は、方法/処理ステップを実行する過程で、別のネットワークから情報(例えば、データオブジェクトまたはプログラム命令)を受信したり、別のネットワークに情報を出力したりすることができる。情報は、しばしば、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード(または同様のデバイス)と、プロセッサ502によって実装(例えば、実行/実施)される適切なソフトウェアとを用いて、コンピュータシステム500を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ502上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク(インターネット、イントラネットワーク、または、ローカルエリアネットワークなど)上で実行されてもよい。さらなるマスストレージデバイス(図示せず)が、ネットワークインターフェース516を通してプロセッサ502に接続されてもよい。
【0095】
補助I/Oデバイスインターフェース(図示せず)が、コンピュータシステム500と共に用いられてよい。補助I/Oデバイスインターフェースは、プロセッサ502がデータを送信すること、ならびに、より典型的には、他のデバイス(マイクロホン、タッチセンサ方式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど)からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。
【0096】
図5に示したコンピュータシステムは、本明細書に開示された様々な実施形態と共に利用するのに適切なコンピュータシステムの一例にすぎない。かかる利用に適した他のコンピュータシステムは、より多いまたは少ないサブシステムを含みうる。さらに、バス514は、サブシステムをつなぐよう機能する任意の相互接続スキームの例である。異なる構成のサブシステムを有する他のコンピュータアーキテクチャが利用されてもよい。
【0097】
上述のモジュールは、1または複数の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、特定の機能を実行するよう設計されたプログラム可能論理デバイスおよび/または特定用途向け集積回路などのハードウェアとして、もしくは、それらの組み合わせとして実装することができる。いくつかの実施形態において、モジュールは、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワーク装置など)に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体(光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど)に格納することができるソフトウェア製品の形態で具現化されてよい。モジュールは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。モジュールの機能は、互いに統合されてもよいし、複数のサブモジュールにさらに分割されてもよい。
【0098】
本明細書に開示の実施形態に照らして説明した方法またはアルゴリズム工程は、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、または、両方の組み合わせを用いて実施されうる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、リードオンリーメモリ(ROM)、電気的プログラム可能ROM、電気的消去可能プログラム可能ROM、レジスタ、ハードドライブ、リムーバブルディスク、CD−ROM、または、任意の他の形態の当業者に周知の記憶媒体内にインストールされてよい。
【0099】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例1:サービスを認証するための方法であって、
第1の端末からユーザによって送信された第1のサービス要求を受信し、
前記受信された第1のサービス要求に基づいて、アクセス位置にリンクするために用いられる第1のリンクアドレスを生成し、
第2の端末に対応する事前設定された端末識別子を決定し、前記事前設定された端末識別子は前記ユーザによって予め設定された端末識別子であり、
前記第1のリンクアドレスを前記第2の端末に送信し、
第1のリンク要求を発行した端末から前記第1のリンク要求を受信し、
前記第1のリンク要求に基づいて、前記第1のリンク要求を発行した前記端末の発行済み端末識別子を決定し、
前記決定された発行済み端末識別子を前記第2の端末の前記事前設定された端末識別子と比較し、
前記比較の結果に基づいて、前記第1のサービス要求に対して次の処理動作を実行すること、
を備える、方法。
適用例2:適用例1に記載の方法であって、前記次の処理動作は、前記比較が、前記第1のリンク要求を発行した前記端末の前記発行済み端末識別子と前記第2の端末の前記事前設定された端末識別子とが一致するという結果である場合に、前記第1のサービス要求の認証を認めることを含む、方法。
適用例3:適用例1に記載の方法であって、前記次の処理動作は、前記比較が、前記第1のリンク要求を発行した前記端末の前記発行済み端末識別子と前記第2の端末の前記事前設定された端末識別子とが一致しないという結果である場合に、前記第1のサービス要求の認証を認めず、認証失敗メッセージを前記端末に送り返すことを含む、方法。
適用例4:適用例1に記載の方法であって、
前記第1のサービス要求は、前記ユーザによって前記第1の端末を介して送信され、
前記第1の端末および前記第2の端末は異なる端末、あるいは、前記第1の端末および前記第2の端末は同じ端末、である、方法。
適用例5:適用例1に記載の方法であって、さらに、
前記第2の端末の装置情報を決定し、
前記第1のリンク要求を発行した前記端末の装置情報を決定し、
前記第1のリンク要求を発行した前記端末の前記装置情報を前記第2の端末の前記装置情報と比較すること、
を備える、方法。
適用例6:適用例5に記載の方法であって、前記第2の端末の前記装置情報を決定することは、
a)サーバにアクセスする前記第2の端末に関する履歴記録情報に基づいて、前記第2の端末の前記装置情報を決定し、または、
b)前記第2の端末に結び付けられたユーザアカウント番号を用いて端末によって送信された第2のサービス要求を過去に受信した場合に、前記アクセス位置にリンクするために用いられる第2のリンクアドレスを生成し、
前記第2のリンクアドレスを前記第2の端末に送信し、
前記第2のリンクアドレスを通して発行された第2のリンク要求に基づいて、前記第2のリンク要求を発行した前記端末の端末識別子および前記端末の装置情報を決定し、
前記第2のリンク要求を発行した前記端末の前記端末識別子を前記第2の端末の前記事前設定された端末識別子と比較し、
前記第2のリンク要求を発行した前記端末の前記端末識別子および前記第2の端末の前記事前設定された端末識別子が一致し、前記第2のサービス要求の認証を認めた後に設定済みの期間内に警告メッセージが受信されなかった場合に、前記第2のリンク要求を発行した前記端末の前記装置情報が前記第2の端末の前記装置情報であると判定すること、
を備える、方法。
適用例7:適用例5に記載の方法であって、前記装置情報は、端末の装置型番、端末のオペレーティングシステムのバージョン番号、端末のブラウザのバージョン番号、端末の表示スクリーンのサイズおよび解像度、もしくは、それらの任意の組み合わせ、を含む、方法。
適用例8:サービスを認証するためのシステムであって、
サーバを備え、前記サーバは、
少なくとも1つのプロセッサであって、
第1の端末からユーザによって送信された第1のサービス要求を受信し、
前記受信した第1のサービス要求に基づいて、アクセス位置にリンクするために用いられる第1のリンクアドレスを生成し、
第2の端末に対応する事前設定された端末識別子を決定し、前記事前設定された端末識別子は、前記ユーザによって予め設定された端末識別子であり、
前記第1のリンクアドレスを前記第2の端末に送信し、
第1のリンク要求を発行した端末から前記第1のリンク要求を受信し、
前記第1のリンク要求に基づいて、前記第1のリンク要求を発行した前記端末の発行済み端末識別子を決定し、
前記決定された発行済み端末識別子を前記第2の端末の前記事前設定された端末識別子と比較し、
前記比較の結果に基づいて、前記第1のサービス要求に対して次の処理動作を実行するよう構成されている、少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続され、前記少なくとも1つのプロセッサに命令を提供するよう構成されているメモリと、を備え、
前記第2の端末は、前記サーバによって送信された前記第1のリンクアドレスを受信し、前記第1のリンクアドレスを通して前記第1のリンク要求を前記サーバに発行するよう構成されている、システム。
適用例9:適用例8に記載のシステムであって、さらに、
前記第1の端末は、ユーザ指示に従って、前記第1のサービス要求を発行するよう構成されており、
前記第1の端末および前記第2の端末は異なる端末、あるいは、前記第1の端末および前記第2の端末は同じ端末、である、システム。
適用例10:適用例8に記載のシステムであって、前記少なくとも1つのプロセッサは、さらに、
前記第2の端末の装置情報を決定し、
前記第1のリンク要求を発行した前記端末の装置情報を決定し、
前記第1のリンク要求を発行した前記端末の前記装置情報を前記第2の端末の前記装置情報と比較するよう構成されている、システム。
適用例11:適用例10に記載のシステムであって、前記第2の端末の前記装置情報を決定することは、
a)サーバにアクセスする前記第2の端末に関する履歴記録情報に基づいて、前記第2の端末の前記装置情報を決定し、または、
b)前記第2の端末に結び付けられたユーザアカウント番号を用いて端末によって送信された第2のサービス要求を過去に受信した場合に、前記アクセス位置にリンクするために用いられる第2のリンクアドレスを生成し、
前記第2のリンクアドレスを前記第2の端末に送信し、
前記第2のリンクアドレスを通して発行された第2のリンク要求に基づいて、前記第2のリンク要求を発行した前記端末の端末識別子および前記端末の装置情報を決定し、
前記第2のリンク要求を発行した前記端末の前記端末識別子を前記第2の端末の前記事前設定された端末識別子と比較し、
前記第2のリンク要求を発行した前記端末の前記端末識別子および前記第2の端末の前記事前設定された端末識別子が一致し、前記第2のサービス要求の認証を認めた後に設定済みの期間内に警告メッセージが受信されなかった場合に、前記第2のリンク要求を発行した前記端末の前記装置情報が前記第2の端末の前記装置情報であると判定すること、
を備える、システム。
適用例12:サーバであって、
少なくとも1つのプロセッサであって、
第1の端末からユーザによって送信された第1のサービス要求を受信し、
前記受信した第1のサービス要求に基づいて、アクセス位置にリンクするために用いられる第1のリンクアドレスを生成し、
第2の端末に対応する事前設定された端末識別子を決定し、前記事前設定された端末識別子は、前記ユーザによって予め設定された端末識別子であり、
前記第1のリンクアドレスを前記第2の端末に送信し、
第1のリンク要求を発行した端末から前記第1のリンク要求を受信し、
前記第1のリンク要求に基づいて、前記第1のリンク要求を発行した前記端末の発行済み端末識別子を決定し、
前記決定された発行済み端末識別子を、前記第2の端末の前記事前設定された端末識別子と比較し、
前記比較の結果に基づいて、前記第1のサービス要求に次の処理動作を実行するよう構成されている、少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続され、前記少なくとも1つのプロセッサに命令を提供するよう構成されているメモリと、
を備える、サーバ。
適用例13:適用例12に記載のサーバであって、前記少なくとも1つのプロセッサは、さらに、
前記第2の端末の装置情報を決定し、
前記第1のリンク要求を発行した前記端末の装置情報を決定し、
前記第1のリンク要求を発行した前記端末の前記装置情報を前記第2の端末の前記装置情報と比較するよう構成されている、サーバ。
適用例14:適用例13に記載のサーバであって、前記少なくとも1つのプロセッサは、さらに、
a)サーバにアクセスする前記第2の端末に関する履歴記録情報に基づいて、前記第2の端末の前記装置情報を決定するように、または、
b)前記第2の端末に結び付けられたユーザアカウント番号を用いて端末によって送信された第2のサービス要求を過去に受信した場合に、前記アクセス位置にリンクするために用いられる第2のリンクアドレスを生成し、
前記第2のリンクアドレスを前記第2の端末に送信し、
前記第2のリンクアドレスを通して発行された第2のリンク要求に基づいて、前記第2のリンク要求を発行した前記端末の端末識別子および前記端末の装置情報を決定し、
前記第2のリンク要求を発行した前記端末の前記端末識別子を前記第2の端末の前記事前設定された端末識別子と比較し、
前記第2のリンク要求を発行した前記端末の前記端末識別子および前記第2の端末の前記事前設定された端末識別子が一致し、前記第2のサービス要求の認証を認めた後に設定済みの期間内に警告メッセージが受信されなかった場合に、前記第2のリンク要求を発行した前記端末の前記装置情報が前記第2の端末の前記装置情報であると判定するよう構成されている、サーバ。
適用例15:サービスを認証するためのコンピュータプログラム製品であって、有形で持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
第1の端末からユーザによって送信された第1のサービス要求を受信するためのコンピュータ命令と、
前記受信された第1のサービス要求に基づいて、アクセス位置にリンクするために用いられる第1のリンクアドレスを生成するためのコンピュータ命令と、
第2の端末に対応する事前設定された端末識別子を決定するためのコンピュータ命令と、前記事前設定された端末識別子は、前記ユーザによって予め設定された端末識別子であり、
前記第1のリンクアドレスを前記第2の端末に送信するためのコンピュータ命令と、
第1のリンク要求を発行した端末から前記第1のリンク要求を受信するためのコンピュータ命令と、
前記第1のリンク要求に基づいて、前記第1のリンク要求を発行した前記端末の発行済み端末識別子を決定するためのコンピュータ命令と、
前記決定された発行済み端末識別子を前記第2の端末の前記事前設定された端末識別子と比較するためのコンピュータ命令と、
前記比較の結果に基づいて、前記第1のサービス要求に次の処理動作を実行するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。