JP2017503254A - ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステム - Google Patents

ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステム Download PDF

Info

Publication number
JP2017503254A
JP2017503254A JP2016537028A JP2016537028A JP2017503254A JP 2017503254 A JP2017503254 A JP 2017503254A JP 2016537028 A JP2016537028 A JP 2016537028A JP 2016537028 A JP2016537028 A JP 2016537028A JP 2017503254 A JP2017503254 A JP 2017503254A
Authority
JP
Japan
Prior art keywords
token
terminal
server
valid
website
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016537028A
Other languages
English (en)
Other versions
JP6282349B2 (ja
Inventor
ファン・テンフェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2017503254A publication Critical patent/JP2017503254A/ja
Application granted granted Critical
Publication of JP6282349B2 publication Critical patent/JP6282349B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Abstract

【課題】【解決手段】 本出願の実施形態は、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステムに関する。方法は、ウェブサイトにアクセスするためのログイン要求を端末から受信することと、第1のトークンを生成することと、リダイレクトスクリプトを含む情報を端末に送信することであって、リダイレクトスクリプトは、端末に、リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせるように構成される、情報の送信と、端末から検証要求を受信することと、検証要求に含まれるヴァージョンの第1のトークンが有効であるかどうかを、生成された第1のトークンに照らして決定することと、第1のトークンが有効であるとの表示を端末に送信することと、アクセス要求を受信することであって、アクセス要求は、第2のトークンを含む、アクセス要求の受信と、第2のトークンが有効であるかどうかを決定することと、第2のトークンが有効であるかどうかにしたがって、端末がモバイル端末であるかどうかを決定することと、を含む。【選択図】 図1

Description

[関連技術の相互参照]
本出願は、2014年1月7日に出願され発明の名称を「A METHOD AND A SERVER FOR DETERMINING WHETHER A TERMINAL LOGGING INTO A WEBSITE IS A MOBILE TERMINAL(ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびサーバ)」とする中国特許出願第201410007143.5号の優先権を主張する。該出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
本出願は、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法、装置、およびシステムに関する。
ワイヤレス・ウェブサイトは、モバイル端末(例えば、携帯電話、タブレット型コンピュータなどといったもの)のために開発されたウェブサイト、およびモバイル端末を通じてアクセスされるInternetウェブサイトである。ユーザは、パソコン(PC)、モバイル端末などといったものなどの、様々なタイプのデバイスを使用してワイヤレス・ウェブサイトにアクセスしてよいが、モバイル端末を使用してワイヤレス・ウェブサイトにアクセスすることで、より優れたユーザ体験がユーザに与えられるだろう。ワイヤレス・ウェブサイトは、通常のウェブサイトと同じ機能を数多く提供しえる。例えば、ワイヤレス・ウェブサイトは、対応する通常のウェブサイトの機能の大半を実現することができる。しかしながら、ワイヤレス・ウェブサイトは、主に、モバイル端末を使用するユーザの消費のために開発されたものである。ワイヤレス・ウェブサイトは、通常のウェブサイトに関係付けられた制約の多くを解決し、そうして、ユーザが自身の都合に合わせて多様な場所からワイヤレス・ウェブサイトにアクセスして情報を取得することを可能にしている。したがって、ワイヤレス・ウェブサイトは、ユーザの作業効率を向上させて、情報の価値を高める。
関連技術にしたがうと、ワイヤレス・ウェブサイトには、(例えば、ユーザとの安全なインタラクションをユーザに提供するために、)セキュリティ要件が高いものがある。例えば、セキュリティ要件が高いワイヤレス・ウェブサイトには、ユーザがモバイル端末を使用してログインすることのみを許可し、ユーザがモバイル端末ではない端末(例えば、デスクトップ型コンピュータ、ノートブック型コンピュータなどといったもの)を使用してログインすることを許可しないものがある。別の言い方をすると、セキュリティ要件が高いワイヤレス・ウェブサイトには、モバイル端末を使用しているユーザにのみアクセスを提供するものがある。ワイヤレス・ウェブサイトへの安全なアクセスをモバイル端末に提供するためのメカニズムは、モバイル端末ではない端末には対応していないだろうゆえに、ワイヤレス・ウェブサイトへのアクセス(例えば、ワイヤレス・ウェブサイトへのログイン)は、モバイル端末のみに制限され、モバイル端末ではない端末からのアクセスは、阻止されるだろう。例えば、あるユーザが、モバイル端末ではない端末(例えば、PCなどといったもの)を使用して、セキュリティ要件が高いウェブサイトにログインするときは、そのウェブサイトは、通常は、セキュリティ・コントロールを先ずインストールするようにユーザに要求し、ユーザがウェブサイトにログインするときに、そのインストールされたセキュリティ・コントロールを通じてユーザのアカウント番号およびパスワードが暗号化可能であるようにする。セキュリティ・コントロール、ならびにユーザのアカウント番号およびパスワードの暗号化の使用は、アカウント番号およびパスワードが悪意あるモジュール(例えば、トロイの木馬プログラム、ウィルスなどといったもの)によって損なわれる(例えば、盗まれる)ことを防ぐ。しかしながら、このようなセキュリティ・コントロールは、モバイル端末にはインストールすることができない。したがって、ワイヤレス・ウェブサイトと通常のウェブサイトとでは、関係付けられているセキュリティ・メカニズムが異なり、一般に、このようなセキュリティ・メカニズムが、ワイヤレス・ウェブサイト用にセットアップされることはない。したがって、もし、モバイル端末ではない端末(例えば、PCなどといったもの)が、ワイヤレス・ウェブサイトにログインしようとすると、悪意あるモジュール(例えば、トロイの木馬プログラム、ウィルス、悪意あるソフトウェアなどといったもの)が、セキュリティ情報(例えば、ユーザ名、パスワードなどといったもの)を損なう恐れがある。したがって、悪意あるモジュールによってセキュリティ情報が損なわれることがないように、セキュリティ要件が高いワイヤレス・ウェブサイトは、モバイル端末ではない端末によるアクセスを阻止する(そして、例えば、ユーザがPCなどといったものを使用してワイヤレス・ウェブサイトにログインすることを防ぐ)ように構成される。
関連技術にしたがうと、特定のワイヤレス・ウェブサイトにアクセスしている端末のタイプが決定される。例えば、ワイヤレス・ウェブサイト・サーバ(例えば、ワイヤレス・ウェブサイトを運営しているサーバなど)が、ワイヤレス・ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定してよい。ワイヤレス・ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するために、ワイヤレス・ウェブサイト・サーバは、ワイヤレス・ウェブサイトへのアクセスに関連して通信されるユーザエージェント情報(例えば、HTTP要求のユーザ−エージェント文字列に含まれるユーザエージェント情報)を使用してよい。例えば、ワイヤレス・ウェブサイト・サーバは、httpプロトコルに含まれるユーザエージェント情報を識別(例えば、決定)してよい。ユーザエージェント情報は、httpプロトコルの一部である。ユーザエージェント情報は、ワイヤレス・ウェブサイトにアクセスするために使用される端末の機器タイプおよびオペレーティングシステムを取得(例えば、決定)するために、ならびに、それによって、ユーザがモバイル端末を使用してウェブサイトにアクセスしているかどうかを決定するために、使用されてよい。しかしながら、モバイル端末ではない端末が、偽造されたユーザエージェント情報を使用してモバイル端末になりすます恐れがある。別の言い方をすると、ワイヤレス・ウェブサイトにアクセスするときに使用されるユーザエージェント情報が、偽造されている(例えば、ねつ造されている)可能性がある。例えば、ブラウザを通じて偽のユーザエージェント情報がセットアップされ、次いで、モバイル端末であるふりをしている端末(例えば、PCなど)がワイヤレス・ウェブサイトにログインする可能性がある。
本発明の様々な実施形態が、以下の詳細な説明および添付の図面で開示される。
ここで説明される図面は、本出願の理解を深めることおよび本出願の一部を構成することを意図している。本出願の例示の実施形態およびその説明は、本出願を説明することを意図しており、本出願に対する不適切な制限を構成するものではない。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのフローチャートである。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムを示した図である。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムにおける端末の構造ブロック図である。
本開示の様々な実施形態にしたがった、ウェブサイトにアクセスするためのおよびウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのコンピュータシステムの機能図である。
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、ならびに/または接続先のメモリに格納された命令および/もしくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサ等のプロセッサなどの、数々の形態で実現することができる。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、本発明の範囲内で変更されえる。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネントとして、またはタスクを実施するように製造された特殊コンポーネントとして実装されえる。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つ以上のデバイス、回路、および/または処理コアを言う。
本発明の原理を例示した添付の図面とともに、以下で、本発明の1つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態に関連して説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、および均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部または全部を伴わずとも、特許請求の範囲にしたがって実施されえる。明瞭を期するために、本発明に関係する技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように、詳細には説明されていない。
本開示の様々な実施形態は、ウェブサイトにログインするために使用される端末がモバイル端末であるかどうかを検証する(またはそれ以外のやり方で保証する)ための方法、装置、およびシステムを含む。
本開示の様々な実施形態にしたがうと、1つ以上のトークンが、端末とウェブサイト・サーバ(例えば、ワイヤレス・ウェブサイト・サーバ)との間で通信され、この1つ以上のトークンのうちの少なくとも1つが、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定する(またはそれ以外のやり方で保証する)ために有効性を立証される。端末が(例えば、ブラウザを使用して)ウェブサイトにログインすることを受けて、第1のトークンが(例えば、ウェブサイト・サーバなどによって)生成されて、端末に通信されてよい。端末は、端末上でクライアントアプリケーションを起動させるために第1のトークンを使用してよく、サーバ(例えば、ウェブサイト・サーバ)が、第1のトークンの有効性を立証してよい。例えば、ユーザが端末上のブラウザを通じてウェブサイトにログインするときに、第1のトークンが生成される。第1のトークンは、端末上のブラウザに、端末上のクライアントアプリケーションを起動させるための起動リンクにリダイレクトメカニズムを通してアクセスさせてよく、そうして、クライアントアプリケーションが起動され、この起動されたクライアントアプリケーションは、第1のトークンが有効であるかどうかを検証するためにサーバを使用させられる。一部の実施形態では、サーバがトークンを生成するときに、そのトークンは、バッファに格納される。したがって、もし、端末が、サーバのバッファに格納されているトークンと同一のもの、すなわちコピーを通信するならば、その端末は、有効なトークンを送信したと決定される。例えば、トークンが有効であるかどうかの検証は、受信されたトークンが、サーバに格納されているトークン(例えば、サーバによって生成されたトークン)と同じ(例えば、同一のもの、すなわちコピー)であるかどうかを決定することを含む。一部の実施形態では、リダイレクトメカニズムは、広告のためのGoogleリンクに類似している。さらに、端末がウェブサイトに再びアクセスする(例えば、ウェブサイトが端末上のブラウザを通じてアクセスされる)と、その端末によるウェブサイトへの再アクセスを受けて、サーバは、ブラウザによって送信された、ウェブサイトにアクセスするためのアクセス要求に関係して取得された第2のトークン(例えば、第2のトークンは、端末がアクセス要求をサーバに通信することを受けてウェブサイト・サーバによって生成されて、端末に通信されてよい)が有効であるかどうかを検証することによって、端末がモバイル端末であるかどうかを決定する。一部の実施形態では、サーバは、端末によるウェブサイトへの再ログインの試みを受けて、ウェブサイトにアクセスするためのアクセス要求に関係して取得された第2のトークンが有効であるかどうかを検証することによって、端末がモバイル端末であるかどうかを決定する。一部の実施形態では、トークンは、端末がウェブサイトにログインするたびに検証される。
本出願の様々な実施形態にしたがって、ウェブサイトにアクセスしている(例えば、ログインしている)端末がモバイル端末であるかどうかを決定するための方法、装置、および/またはシステムが提供される。
総じて、端末は、ネットワークシステム内で(例えば、ユーザによって)使用されるデバイスを言い、1つ以上のサーバと通信するために使用される。本開示の様々な実施形態にしたがうと、端末は、通信機能を含んでいてよい。例えば、端末は、スマートフォン、タブレット型パソコン(PC)、携帯電話、ビデオ電話、電子書籍リーダ、デスクトップ型PC、ラップトップ型PC、ネットブック型PC、携帯情報端末(PDA)、携帯マルチメディアプレーヤ(PMP)、mp3プレーヤ、携帯医療機器、カメラ、装着型機器(例えば、頭部装着型機器(HMD)、電子服、電子ブレース、電子ネックレス、電子アクセサリ、電子タトゥ、またはスマートウォッチ)などといったものであってよい。
本開示の様々な実施形態にしたがうと、端末は、通信機能を持つスマート家電であってよい。スマート家電は、例えば、テレビ、デジタルビデオディスク(DVD)プレーヤ、オーディオ、冷蔵庫、エアコン、掃除機、オーブン、電子レンジ、洗濯機、乾燥機、空気清浄機、セットトップボックス、TVボックス(例えば、Samsung HomeSync(商標)、Apple TV(商標)、またはGoogle TV(商標))、ゲーム機、電子辞書、電子キー、カムコーダ、電子フォトフレームなどといったものであってよい。
本開示の様々な実施形態にしたがうと、端末は、通信機能を含む、医療機器(例えば、磁気共鳴血管造影(MRA)機器、磁気共鳴撮像(MRI)機器、コンピュータ断層撮影(CT)機器、撮像機器、または超音波機器)、ナビゲーション機器、全地球測位システム(GPS)レシーバ、イベントデータレコーダ(EDR)、フライトデータレコーダ(FDR)、自動車インフォテインメント機器、海軍電子機器(例えば、海軍航海機器、ジャイロスコープ、またはコンパス)、航空電子機器、セキュリティ機器、産業用または消費者用ロボット、家具、建物/構造物の一部、電子掲示板、電子署名受信機器、プロジェクタ、様々な計測機器(例えば、水、電気、ガス、または電磁波を計測する機器)などといったものであってよい。
本開示の様々な実施形態にしたがうと、端末は、上記の機器の任意の組み合わせであってよい。また、当業者にならば、本開示の様々な実施形態にしたがった端末が上記の機器に限定されないことが、明らかである。
本開示の様々な実施形態にしたがうと、モバイル端末は、移動中に使用することができる端末機器を言う。例えば、モバイル端末は、携帯電話、タブレット型コンピュータなどといったものであってよい。
図1は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
図1を参照すると、個別でまたは協同して動作している1つ以上のサーバが、ウェブサイトにアクセスしている(例えば、ログインしている)端末がモバイル端末であるかどうかを検証する(例えば、決定する)ための、方法100が提供される。一部の実施形態では、方法100は、図5に例示されたサーバ520などのサーバによって実行されてよい。
110では、アクセス要求が受信される。一部の実施形態では、サーバ(例えば、ウェブサイトに関係付けられたウェブサイト・サーバ)が、アクセス要求を受信する。サーバは、ウェブサイトにアクセスしようと試みているまたはそれ以外の形でウェブサイトにログインしようと試みている端末からのアクセス要求を受信してよい。例えば、ユーザが端末にウェブサイトにログインすることを要求することを受けて、端末は、ウェブサイトに関係付けられたサーバにアクセス要求を送信してよい。
120では、第1のトークンなどといったものが生成される。一部の実施形態では、サーバは、第1のトークンなどといったものを生成する。サーバは、サーバに関係付けられたストレージデバイスに第1のトークンを保存してよい。サーバは、(例えば、端末からの)アクセス要求の受信を受けて、第1のトークンを生成してよい。例えば、ユーザが端末上のブラウザを通じてウェブサイトにログインすることを受けて、第1のトークンが生成されて、サーバ上に保存される。一例として、ユーザが、ウェブサイトにログインするためにユーザのアカウント番号、パスワード、およびその他のログイン情報を(例えば、端末上にインストールされたブラウザを通じて)入力することを受けて、端末(例えば、ブラウザ)は、ウェブサイト・サーバにログイン要求を送信する。ウェブサイト・サーバは、端末からの(例えば、端末上のブラウザを通じて送信された)ログイン要求の受信を受けて、第1のトークンを生成する。
本開示の様々な実施形態にしたがうと、第1のトークンは、端末およびアクセス要求を識別する情報を含む。例えば、一部の実施形態では、第1のトークンは、端末のIPアドレス、サーバの物理アドレス(例えば、MACアドレス)、タイムスタンプ(例えば、第1のトークンの生成についてのタイムスタンプ)、シリアル番号などといったものを含む。一部の実施形態では、第1のトークンは、一意のトークンである。例えば、サーバは、新しいシリアル番号を、対応する第1のトークンに関係付けてよい。サーバは、第1のトークンを生成するたびに、シリアル番号を1だけ増加させてよく(例えば、シリアル番号生成器は、シリアル番号の生成ごとに、生成されたシリアル番号のカウント数を1だけ増加させてよく)、シリアル番号は、第1のトークンの一意性を保証するために、現時点で生成された第1のトークンに関係付けられてよい。一部の実施形態では、第1のトークンは、一意の識別子を生成するために、端末時間、端末IPアドレス、端末MACアドレス、自動的に増分するシーケンスなど、またはそれらの組み合わせなどの、情報を含んでいてよい。例えば、一意の識別子は、端末時間と、端末IPアドレスと、端末MACアドレスと、自動的に増分するシーケンスとの和によって生成されてよい。本開示の様々な実施形態にしたがうと、第1のトークンは、失効日または失効時間、第1のトークンが有効にとどまる期間などといったものを有していてよい。第1のトークンは、一定の期間にわたって(例えば、失効日または失効時間が過ぎるまで、第1のトークンが有効にとどまる期間が終わるまでなどといった時点まで)サーバ上に保存されてよい。例えば、サーバは、第1のトークンを、その第1のトークンが失効するまで格納していてよい。本開示の様々な実施形態にしたがうと、第1のトークンの失効を受けて、サーバは、そこから第1のトークンを削除してよい。
130では、端末へのアクセス要求に関係付けられた情報が通信される。一部の実施形態では、サーバは、アクセス要求に関係付けられた情報を端末に通信する。例えば、サーバは、第1のトークンを端末に送信してよい。別の一例として、サーバは、リダイレクトスクリプトを含むページ(またはそのページへのリンク)を端末に(例えば、端末上のブラウザに)送信してよい。端末に通信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させてよい(例えば、サーバは、ブラウザにリダイレクトスクリプトを実行させる情報を端末に通信してよい)。
一部の実施形態では、端末は、端末による起動リンクへのアクセスを受けて、検証要求をサーバに送信する。端末による起動リンクへのアクセスを受けて、端末上でクライアントアプリケーションが起動されてよい。
本開示の様々な実施形態にしたがうと、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末(例えば、端末上のブラウザ)をアクセスさせるように構成される。一部の実施形態では、リダイレクトスクリプトは、起動リンクを含む。クライアントアプリケーションは、端末にインストールされた1つ以上のクライアントアプリケーションのうちの任意の1つであってよい。一部の実施形態では、クライアントアプリケーションは、(例えば、端末がモバイル端末であるかどうかを認証するために使用される)認証アプリケーションである。具体的には、サーバは、端末に(例えば、端末のブラウザに)ページを送信してよい。端末に送信されるページは、リダイレクトスクリプト(例えば、JavaScript(登録商標、以下同様)スクリプトなどといったもの)を含んでいてよい。リダイレクトスクリプトを実行することによって、ブラウザは、ページリダイレクトを行う。例えば、スクリプトは、リダイレクトスクリプトに含まれるクライアントアプリケーションの起動リンクにアクセスするために、ページリダイレクトを行い、それを受けて、クライアントアプリケーションを起動させることができる。
140では、検証要求が受信される。一部の実施形態では、サーバは、検証要求を受信する。例えば、サーバは、端末から検証要求を受信してよい。検証要求は、端末上のクライアントアプリケーションによって送信されてよい。一部の実施形態では、検証要求は、端末によってサーバから受信された第1のトークンを含む。例えば、検証要求は、クライアントアプリケーションによって起動リンクから取得された第1のトークンを含んでいてよい。
一部の実施形態では、クライアントアプリケーションは、端末(例えば、端末上のブラウザ)がリダイレクトスクリプトを実行してその後に起動リンクにアクセスすることによって起動される。本開示の様々な実施形態にしたがうと、起動リンクは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを含む。クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを、起動リンクからおよび/または起動リンクにアクセスすることによって取得してよい。
本開示の様々な実施形態にしたがうと、端末(例えば、端末上のブラウザ)がリダイレクトスクリプトを実行し、起動リンクにアクセスすることを受けて、クライアントアプリケーションは、起動される(例えば、呼び起こされるなどといったことを行われる)。一部の実施形態では、クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを、起動リンクからおよび/または起動リンクにアクセスすることによって取得する。クライアントアプリケーションは、第1のトークンが有効であるかに関する検証を要求する検証要求をサーバに送信するための基準として、アクセスアドレスを使用する。一部の実施形態では、端末(例えば、クライアントアプリケーション)は、クライアントアプリケーションの起動を受けて、検証要求を生成する。検証要求は、第1のトークンなどといったものを含んでいてよい。
150では、検証要求が有効であるかどうかの決定がなされる。一部の実施形態では、サーバは、検証要求が有効であるかどうかを決定する。例えば、サーバは、第1のトークンの有効性を立証してよい。本開示の様々な実施形態にしたがうと、サーバは、検証要求に含まれる第1のトークンが有効であるかどうかを決定する。その後、検証結果(例えば、検証要求に含まれる第1のトークンが有効であるかどうかの決定の結果)が、端末(例えば、クライアントアプリケーション)に送信される。
本開示の様々な実施形態にしたがうと、サーバは、第1のトークンを一定期間にわたって(例えば、第1のトークンの失効まで)格納しておく。一部の実施形態では、第1のトークンが失効したときに(例えば、第1のトークンの失効を受けて)、サーバは、第1のトークンを削除する。
一部の実施形態では、サーバは、検証要求に含まれる第1のトークンが有効であるかどうかを、検証要求に含まれる第1のトークンをアクセス要求を受けて生成された第1のトークンと比較することによって決定する。例えば、サーバは、検証要求に含まれる第1のトークンと同一の第1のトークンをサーバが有する(例えば、格納している)かどうかの照会を受けることができる。もし、サーバが、検証要求に含まれる第1のトークンと同一の第1のトークンを有するならば、その第1のトークンは、有効であると決定される。
もし、150において、検証要求が有効ではないと決定されたならば(例えば、もし、検証要求に含まれる第1のトークンが有効ではないと決定されたならば)、端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。例えば、サーバは、ウェブサイトへのログインを試みている端末はモバイル端末ではないと決定してよい。
反対に、もし、150において、検証要求が有効であると決定されたならば(例えば、もし、検証要求に含まれる第1のトークンが有効であると決定されたならば)、160において、サーバは、検証要求が有効であるとの表示を通信してよい。例えば、サーバによる、検証要求に含まれる第1のトークンが有効である(例えば、アクセス要求を受けて生成された第1のトークンと一致する)との決定を受けて、サーバは、検証要求が有効であるとの表示を端末に送信してよい。
本開示の様々な実施形態にしたがうと、検証要求が有効であるとの(例えば、検証要求に含まれる第1のトークンが有効であるとの)表示の受信を受けて、端末は、第2のトークンを生成する。一部の実施形態では、端末(例えば、クライアントアプリケーション)は、第1のトークンを暗号化することによって第2のトークンを生成する。一部の実施形態では、第2のトークンは、第1のトークンの暗号化ヴァージョンである。一部の実施形態では、第1のトークンは、平文である。本開示の様々な実施形態にしたがうと、端末は、第1のトークンが有効であると決定された場合にのみ第2のトークンを生成する。一部の実施形態では、第2のトークンは、ベーシック暗号化方法、ハッシュ暗号化方法、対称暗号化方法、非対称暗号化方法などを使用して第1のトークンを暗号化することによって生成される。例えば、もし、検証要求に含まれる第1のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクセスするために、第2のトークンを生成して端末上のブラウザを起動する。端末(例えば、端末上のブラウザ)は、ウェブサイトにアクセスするためのアクセス要求を送信する。
170では、第2のトークンを含むアクセス要求が受信される。一部の実施形態では、サーバは、第2のトークンを含むアクセス要求を受信する。例えば、サーバは、第2のトークンを含むアクセス要求を端末から受信する。
180では、第2のトークンに基づいて、端末のタイプが決定される。一部の実施形態では、サーバは、第2のトークンに基づいて、端末のタイプを決定する。本開示の様々な実施形態にしたがうと、もし、第2のトークンが有効であるならば、端末は、モバイル端末であると決定される。
本開示の様々な実施形態にしたがうと、第2のトークンを含むアクセス要求の受信を受けて、サーバは、第2のトークンが有効であるかどうかを決定する。例えば、サーバは、アクセス要求に含まれる第2のトークンが有効であるかどうかを、その第2のトークンが第1のトークンの暗号化ヴァージョンに相当するかどうかにしたがって検証する。一部の実施形態では、サーバは、第2のトークンを復号化し、その復号化された第2のトークンを第1のトークンと比較することによって、第2のトークンが有効であるかどうかを決定する。もし、復号化された第2のトークンが、(例えば、サーバに格納されている)第1のトークンに一致するならば、サーバは、第2のトークンが有効であると決定する。
本開示の様々な実施形態にしたがうと、第1のトークンが有効であることを示す結果を端末(例えば、クライアントアプリケーション)がサーバから受信することを受けて、端末は、第1のトークンを暗号化して第2のトークンを生成する。端末上のブラウザは、ウェブサイトにアクセスするためのアクセス要求をサーバへ送信させるために起動されてよい。一部の実施形態では、アクセス要求は、第2のトークンを含む。サーバは、ブラウザから送信された、ウェブサイトにアクセスするためのアクセス要求を受信し、アクセス要求に含まれる第2のトークンが有効であるかどうかを検証する。一部の実施形態では、第2のトークンは、第1のトークンが有効であるときにクライアントアプリケーションが第1のトークンを暗号化することによって生成されるので、第2のトークンは、第1のトークンを得るためにおよび第1のトークンが有効であるかどうかを検証するために、復号化される。もし、第1のトークンが有効であるならば、第2のトークンは、有効であると決定することができる。
もし、第2のトークンが有効であると決定されるならば、端末は、モバイル端末である。例えば、もし、第2のトークンが有効であると決定されるならば、サーバは、ユーザがウェブサイトにログインするために使用した端末がモバイル端末であると決定する。
本出願の様々な実施形態にしたがうと、サーバは、ウェブサイトにログインするために使用されたログイン情報の認証を受けて、第1のトークンを生成する。例えば、一部の実施形態では、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、端末がウェブサイトにログインするときに端末によってサーバに送信された(例えば、ユーザによって入力した)ログイン情報が正しいかどうかを検証することと、ログイン情報が正しいと決定された場合にサーバが第1のトークンを生成することとを含む。サーバは、端末(例えば、ユーザ)が(例えば、端末上のブラウザを通じて)ウェブサイトにログインするときに、ログイン情報を検証してよい。もし、ログイン情報が立証されたならば(例えば、もし、ログイン情報が正しいならば)、第1のトークンが生成される。一部の実施形態では、ログイン情報は、ユーザアカウント識別子(例えば、ログイン名、アカウント番号などといったもの)、パスワードなどといったものを含む。もし、ログイン情報が立証されなかったならば(例えば、もし、ログイン情報が正しくないならば)、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。
図2は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのフローチャートである。
図2を参照すると、ウェブサイトにアクセスしている端末のための方法200が例示されている。一部の実施形態では、方法200は、図5に例示された端末510によって実行される。
210では、アクセス要求が通信される。一部の実施形態では、端末は、ウェブサイトに関係付けられたサーバ(例えば、ウェブサイト・サーバ)に、アクセス要求を通信する。一部の実施形態では、アクセス要求は、端末のIPアドレスなどといったものを含む。例えば、アクセス要求は、端末が識別されえるもとになる情報を含んでいてよい。一部の実施形態では、アクセス要求は、ウェブサイトにアクセスするためのまたはそれ以外の形でウェブサイトにログインしようと試みるための要求に関係付けられる。
220では、アクセス要求に関係付けられた情報が受信される。一部の実施形態では、端末は、アクセス要求に関係付けられた情報を受信する。端末は、アクセス要求に関係付けられた情報をサーバ(例えば、端末がアクセス要求を通信した先であるサーバ)から受信する。一部の実施形態では、アクセス要求に関係付けられた情報は、リダイレクトスクリプトを含むページ(またはそのページへのリンク)を含む。端末によって受信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させる。一部の実施形態では、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末(例えば、端末上のブラウザ)をアクセスさせるように構成される。リダイレクトスクリプトは、起動リンクを含んでいてよい。
230では、クライアントアプリケーションが起動される。一部の実施形態では、端末は、クライアントアプリケーションを起動させる。アクセス要求に関係付けられた情報の受信を受けて、端末は、クライアントアプリケーションを起動させる。例えば、リダイレクトスクリプトの受信を受けて、端末(例えば、端末上のブラウザ)は、リダイレクトスクリプトにしたがってページリダイレクトを行う。ページリダイレクトは、リダイレクトスクリプトに含まれるクライアントアプリケーションの起動リンクに端末(例えば、端末上のブラウザ)をアクセスさせる。一部の実施形態では、クライアントアプリケーションの起動リンクへのアクセスを受けて、端末は、クライアントアプリケーションを起動させる(例えば、呼び起こす)。
本開示の様々な実施形態にしたがうと、端末は、クライアントアプリケーションの起動に関連して第1のトークンを取得する(例えば、受信する、取り出すなどといったことを行う)。例えば、クライアントアプリケーションは、起動リンクから第1のトークンを取得する。クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを、起動リンクからおよび/または起動リンクにアクセスすることによって取得する。
240では、検証要求が通信される。一部の実施形態では、端末は、検証要求をサーバに通信する。一部の実施形態では、検証要求は、第1のトークンを含む。例えば、検証要求は、クライアントアプリケーションが起動リンクから取得した第1のトークンを含む。端末は、クライアントアプリケーションの起動を受けて、検証要求を生成および/または通信してよい。
250では、検証要求に対する応答が受信される。一部の実施形態では、端末は、検証要求に対する応答を受信する。例えば、端末は、検証要求に対する応答をサーバから受信する。サーバは、検証要求に含まれる第1のトークンが有効であるかどうかを決定し、検証要求に含まれる第1のトークンが有効であるとの決定を受けて、サーバは、検証要求に対する応答を通信する。一部の実施形態では、検証要求に対する応答は、検証要求に含まれる第1のトークンが有効であるかどうかの表示を含む。
260では、第2のトークンが生成される。一部の実施形態では、端末は、第2のトークンを生成する。例えば、端末は、検証要求に含まれる第1のトークンが有効であるとの表示の受信を受けて、第2のトークンを生成する。一部の実施形態では、もし、検証要求に含まれる第1のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクスするために、第2のトークンを生成して端末上のブラウザを起動する。一部の実施形態では、端末(例えば、クライアントアプリケーション)は、MD5などの既知の暗号化技術を使用して第1のトークンを暗号化することによって、第2のトークンを生成する。
270では、第2のトークンを含むアクセス要求が通信される。一部の実施形態では、端末は、第2のトークンを含むアクセス要求を通信する。例えば、ウェブサイトにアクセスするためにクライアントアプリケーションが端末上のブラウザを起動することを受けて、端末は、第2のトークンを含むアクセス要求を通信する。
図3は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法のフローチャートである。
図3を参照すると、方法300は、個別でまたは協同して動作している1つ以上のサーバが、ウェブサイトにアクセスしている(例えば、ログインしている)端末がモバイル端末であるかどうかを検証する(例えば、決定する)ためのものである。一部の実施形態では、方法300は、図5に例示されたサーバ520などのサーバによって実行されてよい。
305では、ディスプレイ情報が受信される。一部の実施形態では、サーバ(例えば、ウェブサイトに関係付けられたウェブサイト・サーバ)が、端末からディスプレイ情報を受信する。一部の実施形態では、ディスプレイ情報は、端末に関する画面解像度情報を含む。一例として、ディスプレイ情報は、ウェブサイトにアクセスしようと試みているもしくはウェブサイトにログインしようと試みている端末からのアクセス要求に含まれる、またはそれ以外の形でそのようなアクセス要求に関連して受信される。例えば、端末(例えば、ユーザ)が、端末上のブラウザを通じてウェブサイトにログインするときに、その端末(例えば、ブラウザ)は、サーバにメッセージを通信する。一部の実施形態では、サーバに通信されるメッセージは、端末に関する画面解像度情報を含む。ブラウザは、端末のための画面解像度をそこから取得することができる。例えば、一部の実施形態では、ブラウザは、ページ上における解像度を取得するための実行プログラムを実行する。一例として、実行プログラムは、ページ上における解像度を取得するために、および画面解像度を含むメッセージをサーバに送信するために、スクリプト言語で(例えば、JavaScript言語で)事前に記述される。本開示の様々な実施形態にしたがうと、画面解像度は、端末(例えば、ブラウザ)によってサーバに送信されるHTTP要求に含まれる。
310では、端末のユーザエージェント情報が取得される。一部の実施形態では、サーバは、端末のユーザエージェント情報(例えば、ブラウザのユーザエージェント情報)を取得してよい。本開示の様々な実施形態にしたがうと、サーバは、HTTP要求のUser−Agentヘッダに含まれるユーザエージェント情報を使用して、端末の機器タイプを決定する。例えば、サーバは、機器タイプをユーザエージェント情報に含まれるデータと関係付けるマッピングテーブルを格納し、ユーザエージェント情報を使用して、マッピングテーブルのなかで機器タイプを検索する。別の一例として、ユーザエージェント情報は、対応する端末(例えば、ブラウザが実行される端末)の具体的な機器タイプを示したデータを含む。
本開示の様々な実施形態にしたがうと、ブラウザは、ウェブページへのアクセスに関係付けられたHTTP要求のなかに、ユーザエージェント情報を含める。一部の実施形態では、ユーザエージェント情報は、(例えば、アクセスされるウェブサイトに提供された)識別子を含む。例えば、ユーザエージェント情報に含まれる識別子は、端末が使用するブラウザタイプ、オペレーティングシステム、およびブラウザコアなどといったものを含む。したがって、ブラウザのユーザエージェント情報は、端末によってサーバに通信されるHTTP要求から取得することができる。一部の実施形態では、サーバは、ユーザエージェント情報および/またはHTTP要求を解析し、そこから端末の機器タイプを決定する。
本開示の様々な実施形態にしたがうと、サーバは、ディスプレイ情報およびユーザエージェント情報を同時に受信する。例えば、ディスプレイ情報およびユーザエージェント情報は、アクセス要求(例えば、HTTP要求などといったもの)に含まれる。一部の実施形態では、305および310は、組み合わされる、またはそれ以外の形で並行して実施される。
315では、端末の画面解像度が決定される。一部の実施形態では、サーバは、端末の画面解像度を決定する。本開示の様々な実施形態にしたがうと、機器タイプが、その機器タイプに対応する画面解像度を決定するための基準として使用される。例えば、一部の実施形態では、端末の画面解像度が使用中に設定されるゆえに、サーバは、端末の機器タイプの解析を通じて(例えば、端末の機器タイプの決定を通じて)端末の画面解像度を決定する。一部の実施形態では、サーバは、機器タイプと画面解像度との間の関係を格納する。本開示の様々な実施形態にしたがうと、ブラウザのユーザエージェント情報を解析することによって端末の機器タイプを取得した後、サーバは、機器タイプと画面解像度との間の関係に基づいて、機器タイプに対応する画面解像度を決定する。
320では、決定された画面解像度が、受信されたディスプレイ情報と同じであるかどうかの決定がなされる。一部の実施形態では、サーバは、決定された画面解像度(例えば、エージェント情報を使用して決定された画面解像度)が、受信されたディスプレイ情報と同じである(例えば、一致する)かどうかを決定する。例えば、サーバは、エージェント情報を使用して決定された画面解像度が、ウェブサイトにアクセスしようと試みているまたはウェブサイトにログインしようと試みている端末からのアクセス要求に含まれるまたはそれ以外の形でそのようなアクセス要求に関連して受信されるHTTP要求に含まれるディスプレイ情報に含まれる画面解像度と同一であるかどうかを決定する。サーバは、機器タイプに対応する画面解像度を、ブラウザから受信された端末画面解像度と比較する。したがって、サーバは、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるかどうかを決定する。例えば、ブラウザユーザエージェント情報を解析することによって取得された端末の機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるかどうかを決定するために、ブラウザユーザエージェント情報を解析することによって取得された端末の機器タイプに対応する画面解像度が、ブラウザから受信された端末画面解像度と比較される。
もし、320において、サーバが、決定された画面解像度(例えば、エージェント情報を使用して決定された画面解像度)が、受信されたディスプレイ情報と同じではないと決定したならば(別の言い方をすると、これら2つの解像度が一致しないならば)、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。例えば、もし、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが異なるならば、ウェブサイトにログインするためにまたはそれ以外の形でアクセスするためにユーザによって使用されている端末は、モバイル端末ではないと決定される。なぜならば、制限されたモバイル機器専用ウェブページへのアクセスを得るために、ハッカーらは、HTTP要求に含まれるユーザエージェント情報を変更し、その要求がパソコンなどの非モバイル端末ではなくモバイル端末から送信されているように装うことがあるからである。画面解像度、およびHTTP要求と端末との間の食い違いをチェックすることによって、何らかの偽要求を検出することができる。
反対に、もし、サーバが、決定された画面解像度(例えば、エージェント情報を使用して決定された画面解像度)が、受信されたディスプレイ情報と同じである(例えば、一致する)と決定したならば、サーバは、325に進み、そこで、第1のトークンを生成する。例えば、もし、機器タイプに対応する画面解像度が、ブラウザから受信された端末画面解像度と同じであるならば、サーバは、第1のトークンを生成し、その第1のトークンをサーバに(またはサーバに接続されたストレージデバイスに)保存する。別の言い方をすると、もし、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度との比較の結果が、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるというものであるならば、第1のトークンが生成される。一部の実施形態では、第1のトークンは、サーバによって生成される。本開示の様々な実施形態にしたがうと、第1のトークンは、端末のIPアドレス、サーバの物理アドレス(例えば、MACアドレス)、タイムスタンプ(例えば、第1のトークンの生成についてのタイムスタンプ)、シリアル番号などといったものを含む。一部の実施形態では、第1のトークンは、一意のトークンである。例えば、サーバは、新しいシリアル番号を、対応する第1のトークンに関係付ける。サーバは、第1のトークンを生成するたびに、シリアル番号を1だけ増加させ(例えば、シリアル番号生成器は、シリアル番号の生成ごとに、生成されたシリアル番号のカウント数を1だけ増加させてよく)、シリアル番号は、第1のトークンの一意性を保証するために、現時点で生成された第1のトークンに関係付けられる。本開示の様々な実施形態にしたがうと、第1のトークンは、失効日または失効時間、第1のトークンが有効にとどまる期間などといったものを有する。一部の実施形態では、第1のトークンは、一定の期間にわたって(例えば、失効日または失効時間が過ぎるまで、第1のトークンが有効にとどまる期間が終わるまでなどといった時点まで)サーバ上に保存される。例えば、サーバは、第1のトークンを、その第1のトークンが失効するまで格納しており、したがって、第1のトークンは、それがまだ失効していない間に(例えば、残期内に)、ウェブサイトにログインしている端末がモバイル端末であるかどうかを検証する(例えば、決定する)ために使用されてよい。本開示の様々な実施形態にしたがうと、第1のトークンの失効を受けて、サーバは、第1のトークンを削除する。
330では、アクセス要求に関係付けられた情報が通信される。一部の実施形態では、サーバは、アクセス要求に関係付けられた情報を端末に通信する。例えば、サーバは、第1のトークンを端末に送信する。別の一例として、サーバは、リダイレクトスクリプトを含むページを端末に(例えば、端末上のブラウザ)に送信する。一部の実施形態では、端末に通信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させる(例えば、サーバは、ブラウザにリダイレクトスクリプトを実行させる情報を端末に通信する)。
一部の実施形態では、端末は、端末による起動リンクのアクセスを受けて、検証要求をサーバに送信する。一部の実施形態では、端末による起動リンクのアクセスを受けて、端末上でクライアントアプリケーションが起動される。
本開示の様々な実施形態にしたがうと、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末(例えば、端末上のブラウザ)をアクセスさせるように構成される。一部の実施形態では、リダイレクトスクリプトは、端末にインストールされたクライアントアプリケーションを起動させるための起動リンクを含む。クライアントアプリケーションは、端末にインストールされた1つ以上のクライアントアプリケーションのうちの任意の1つであってよい。一部の実施形態では、起動リンク(例えば、Openユニフォームリソースロケータ(URL)など)は、端末にインストールされた1つのクライアントアプリケーションのために定められたものであり、これは、そのクライアントアプリケーションがその他のクライアントアプリケーションによって起動されることを可能にするリンクに相当する。各クライアントアプリケーションが、起動リンクを定めることができる。端末上の別のアプリケーション(例えば、別のクライアントアプリケーション)による起動リンクの実行を受けて、端末(例えば、その別のアプリケーション)は、クライアントアプリケーションを起動させることができる。例えば、あるクライアントアプリケーションのための起動リンクが端末上のブラウザに入力されると、その起動リンクへのアクセスによって、そのクライアントアプリケーションが起動される(例えば、呼び起こされる)。本開示の様々な実施形態にしたがうと、リダイレクトスクリプトを含むページが、端末のブラウザに送信される(例えば、サーバは、リダイレクトスクリプトを含むページを端末のブラウザに送信する)。一部の実施形態では、リダイレクトスクリプトは、JavaScriptスクリプト(例えば、JavaScriptスクリプト言語で記述された実行コード)などといったものである。もし、端末(例えば、端末上のブラウザまたはその他のアプリケーション)が、リダイレクトスクリプトを実行するならば(例えば、JavaScriptエンジンを通じてリダイレクトスクリプトを読み込んで解析した後に、リダイレクトスクリプトを実行するならば)、ブラウザは、リダイレクトスクリプトに含まれるクライアントアプリケーション起動リンクにアクセスするために、ページリダイレクトを行い、そうして、クライアントアプリケーションを起動させることができる。
335では、検証要求が受信される。一部の実施形態では、サーバは、検証要求を受信する。例えば、サーバは、端末から検証要求を受信する。一部の実施形態では、検証要求は、端末上のクライアントアプリケーションによって送信される。本開示の様々な実施形態にしたがうと、検証要求は、端末によってサーバから受信された第1のトークンを含む。例えば、検証要求は、クライアントアプリケーションによって起動リンクから取得された第1のトークンを含む。
一部の実施形態では、クライアントアプリケーションは、端末(例えば、端末上のブラウザ)がリダイレクトスクリプトを実行してその後に起動リンクを実行することによって起動される。本開示の様々な実施形態にしたがうと、起動リンクは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを含む。一部の実施形態では、クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを、起動リンクからおよび/または起動リンクにアクセスすることによって取得する。
本開示の様々な実施形態にしたがうと、端末(例えば、端末上のブラウザ)がリダイレクトスクリプトを実行し、次いで起動リンクにアクセスすることを受けて、クライアントアプリケーションは、起動される(例えば、呼び起こされるなどといったことを行われる)。一部の実施形態では、クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを、起動リンクからおよび/または起動リンクにアクセスすることによって取得する。クライアントアプリケーションは、第1のトークンが有効であるかに関する検証を要求する検証要求をサーバに送信するための基準として、アクセスアドレスを使用する。一部の実施形態では、端末(例えば、クライアントアプリケーション)は、クライアントアプリケーションの起動を受けて、検証要求を生成する。検証要求は、第1のトークンなどといったものを含む。
340では、検証要求が有効であるかどうかの決定がなされる。一部の実施形態では、サーバは、検証要求が有効であるかどうかを決定する。例えば、サーバは、第1のトークンの有効性を立証する。本開示の様々な実施形態にしたがうと、サーバは、検証要求に含まれる第1のトークンが有効であるかどうかを決定する。その後、検証結果(例えば、検証要求に含まれる第1のトークンが有効であるかどうかの決定の結果)が、端末(例えば、クライアントアプリケーション)に送信される。
本開示の様々な実施形態にしたがうと、サーバは、第1のトークンを一定期間にわたって(例えば、第1のトークンが失効するまで)格納する。一例として、この一定の期間は、10秒であってよい。一部の実施形態では、サーバは、第1のトークンを、その失効期限が過ぎたら削除する。
サーバは、検証要求に含まれる第1のトークンが有効であるかどうかを、検証要求に含まれる第1のトークンをアクセス要求を受けて生成された第1のトークンと比較することによって決定する。例えば、端末(例えば、クライアントアプリケーション)からの検証要求の受信を受けて、サーバは、検証要求に含まれる第1のトークンと同一の第1のトークンをサーバが有する(例えば、格納している)かどうかを決定するために、照会を受けることができる。もし、サーバが、検証要求に含まれる第1のトークンと同一の第1のトークンを有するならば、その第1のトークンは、有効であると決定される。
もし、340において、検証要求が有効ではないと決定されたならば(例えば、もし、検証要求に含まれる第1のトークンが有効ではないと決定されたならば)、端末がモバイル端末であるかどうかを決定するための方法は、終了してよい。例えば、一部の実施形態では、サーバは、ウェブサイトへのログインを試みている端末はモバイル端末ではないと決定する。
反対に、もし、340において、検証要求が有効であると決定されたならば(例えば、もし、検証要求に含まれる第1のトークンが有効であると決定されたならば)、345において、検証要求が有効であるという表示を通信される。一部の実施形態では、サーバは、検証要求が有効であるとの表示を通信する。例えば、サーバによる、検証要求に含まれる第1のトークンが有効である(例えば、アクセス要求を受けて生成された第1のトークンと一致する)との決定を受けて、サーバは、検証要求が有効であるとの表示を端末に送信する。
本開示の様々な実施形態にしたがうと、検証要求が有効であるとの(例えば、検証要求に含まれる第1のトークンが有効であるとの)表示の受信を受けて、端末は、第2のトークンを生成する。一部の実施形態では、端末(例えば、クライアントアプリケーション)は、第1のトークンを暗号化することによって第2のトークンを生成する。本開示の様々な実施形態にしたがうと、端末は、第1のトークンが有効であると決定された場合にのみ第2のトークンを生成する。例えば、もし、検証要求に含まれる第1のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクセスするために、第2のトークンを生成して端末上のブラウザを起動する。端末(例えば、端末上のブラウザ)は、ウェブサイトにアクセスするためのアクセス要求を送信する。
350では、第2のトークンを含むアクセス要求が受信される。一部の実施形態では、サーバは、第2のトークンを含むアクセス要求を受信する。例えば、サーバは、第2のトークンを含むアクセス要求を端末から受信する。
355では、第2のトークンに基づいて、端末のタイプが決定される。一部の実施形態では、サーバは、第2のトークンに基づいて、端末のタイプを決定する。本開示の様々な実施形態にしたがうと、もし、第2のトークンが有効であるならば、端末は、モバイル端末であると決定される。
本開示の様々な実施形態にしたがうと、第2のトークンを含むアクセス要求の受信を受けて、サーバは、第2のトークンが有効であるかどうかを決定する。例えば、サーバは、端末がモバイル端末であるかどうかを決定するために、アクセス要求に含まれる第2のトークンを、その第2のトークンが第1のトークンの暗号化ヴァージョンに相当するかどうかにしたがって検証する。一部の実施形態では、サーバは、第2のトークンを復号化し、その復号化された第2のトークンを第1のトークンと比較することによって、第2のトークンが有効であるかどうかを決定する。もし、復号化された第2のトークンが、(例えば、サーバに格納されている)第1のトークンに一致するならば、サーバは、第2のトークンが有効であると決定する。
本開示の様々な実施形態にしたがうと、第1のトークンが有効であることを示す結果を端末(例えば、クライアントアプリケーション)がサーバから受信することを受けて、端末(例えば、クライアントアプリケーション)は、第1のトークンを暗号化して第2のトークンを生成する。もし、検証要求に含まれる第1のトークンが有効ではないならば、サーバは、ユーザがウェブサイトにログインするために使用した端末がモバイル端末ではないと決定する。
本開示の様々な実施形態にしたがうと、第1のトークンが有効であるかどうかを示す結果をクライアントアプリケーションがサーバから受信することを受けて、もし、第1のトークンが有効であるならば、クライアントは、第1のトークンを暗号化して第2のトークンを生成することができる。一部の実施形態では、端末上のブラウザは、ウェブサイトにアクセスするためのアクセス要求をサーバへ送信させるために起動される。一部の実施形態では、アクセス要求は、第2のトークンを含む。第2のトークンは、第1のトークンが有効であると決定されたときにクライアントアプリケーションが第1のトークンを暗号化する結果として生成される。
サーバは、ブラウザから送信された、ウェブサイトにアクセスするためのアクセス要求を受信し、そのアクセス要求に含まれる第2のトークンが有効であるかどうかを検証する。例えば、サーバは、第2のトークンを復号化して第1のトークンを得て、第1のトークンは、第2のトークンを復号化することによって得られた第1のトークンが有効であるかどうかを検証される。例えば、サーバは、第2のトークンの復号化から得られた第1のトークンと同じ第1のトークンを有するかどうかの照会を受ける。もし、サーバが、第2のトークンの復号化から得られた第1のトークンと同じ第1のトークンを有しているならば、その第1のトークンは、有効であると確定される。もし、第2のトークンの復号化から得られた第1のトークンが有効であるならば、第2のトークンは、有効であると確定することができる。
本開示の様々な実施形態にしたがうと、もし、第2のトークンが有効であると決定されるならば、端末は、モバイル端末であると見なされる。例えば、もし、第2のトークンが有効であるならば、ユーザがウェブサイトにログインするために使用した端末は、モバイル端末であると決定される。反対に、もし、第2のトークンが有効ではないと決定されるならば、ユーザがウェブサイトにログインするために使用した端末は、モバイル端末ではないと決定される。
本出願の様々な実施形態にしたがうと、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、端末(例えば、端末上のブラウザ)に送信されるクッキーに第2のトークンを書き込むことを含む。例えば、もし、第2のトークンが有効であると決定されるならば、その第2のトークンは、ブラウザに送信されるクッキーに書き込まれる。
本開示の様々な実施形態にしたがうと、クッキーは、サーバによって生成されて、ブラウザに送信される。ブラウザは、通常は、クッキーを、端末上のディレクトリ下のテキストファイルに保存する。その後に続く、ウェブサイトにアクセスするための要求(例えば、同じウェブサイトが次に要求されるときの要求)に関連して、ブラウザは、そのクッキーをサーバに送信する。したがって、サーバは、ブラウザに送信されるクッキーに第2のトークンを入れて、第2のトークンを含むそのクッキーをブラウザに送信することができる。
一部の実施形態では、サーバは、第2のトークンのための失効日(例えば、1か月以内)を設定する。端末(例えば、ユーザ)が、同じブラウザを使用してウェブサイトに再びログインするときに、ブラウザのクッキーは、それが第2のトークンを含むかどうかを決定するためにチェックされる。もし、ブラウザのクッキーが、第2のトークンを含むと決定されるならば、クッキーに含まれる第2のトークンは、それが有効であることを確定するために検証される。例えば、サーバは、それが第2のトークンを有する(例えば、格納している)かどうかを照会される。もし、サーバが、第2のトークンを有しているならば、ブラウザのクッキーに含まれる第2のトークンは、有効であると確定される。もし、ブラウザのクッキーに含まれる第2のトークンが有効であると確定されるならば、ブラウザを走らせている端末は、モバイル端末であると確定される。
本開示の様々な実施形態にしたがうと、もし、ブラウザのクッキーに含まれる第2のトークンがまだ失効していない(例えば、第2のトークンの失効日前である)ならば、305〜345が実行される必要はない。例えば、ウェブサイトにログインしている端末は、モバイル端末としてまたは非モバイル端末として立証することができる。別の一例として、ウェブサイトにログインしている端末は、それがクッキーを取得した端末であるかどうかを検証される。例えば、サーバは、ウェブサイトにログインしている端末によってサーバに送信されたHTTP要求に含まれるその端末の識別情報(例えば、ユーザエージェント情報、IPアドレス情報などといったもの)を取得することによって、ウェブサイトにログインしている端末が、クッキーを以前取得した端末に相当するかどうかを決定してよい。一部の実施形態では、サーバは、クッキーと、そのクッキーを取得した端末のID(例えば、端末のユーザエージェント情報、IPアドレス情報などといったものを使用する)との間の関係を保存する。一部の実施形態では、サーバは、クッキーと、そのクッキーを取得した端末のIDとの間の関係を、ウェブサイトにログインするために使用された端末がクッキーを以前取得した端末であるかどうかを決定するための基準として使用する。もし、ウェブサイトにログインするために使用された端末が、クッキーを以前取得した端末ではないならば、ウェブサイトにログインするために使用された端末(例えば、ユーザ)は、この端末を通じてウェブサイトにログインすることを許可されない。
本出願の様々な実施形態にしたがうと、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための方法は、端末(例えば、ユーザ)によってそれがウェブサイトにログインするときに入力されたログイン情報が正しいかどうかを検証することを含む。一部の実施形態では、もし、ログイン情報が正しいならば、第1のトークンが生成される。別の言い方をすると、もし、機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるならば、ユーザによって入力されたログイン情報は、それが正しいことを確定するために検証される。一部の実施形態では、ログイン情報は、アカウント識別子(例えば、ログイン名、アカウント番号などといったもの)、パスワード、およびユーザによって入力されたその他の情報を含む。もし、ログイン情報が正しいと確定されるならば、第1のトークンが生成されてよい。
図4は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末のフローチャートである。
図4を参照すると、ウェブサイトにアクセスしている端末のための方法400が例示されている。一部の実施形態では、方法400は、図5に例示された端末510によって実行されてよい。
410では、ディスプレイ情報が通信される。一部の実施形態では、端末は、ウェブサイトに関係付けられたサーバ(例えば、ウェブサイト・サーバ)にディスプレイ情報を通信する。一部の実施形態では、ディスプレイ情報は、端末に関する画面解像度情報を含む。一部の実施形態では、ディスプレイ情報は、ウェブサイトにアクセスしようと試みているもしくはウェブサイトにログインしようと試みている端末からのアクセス要求に含まれる、またはそれ以外の形でそのようなアクセス要求に関連して受信される。例えば、端末(例えば、ユーザ)が、端末上のブラウザを通じてウェブサイトにログインするときに、その端末(例えば、ブラウザ)は、サーバにメッセージを通信する。一部の実施形態では、サーバに通信されるメッセージは、端末に関する画面解像度情報を含む。ブラウザは、端末のための画面解像度をそこから取得する。例えば、一部の実施形態では、ブラウザは、ページ上における解像度を取得するための実行プログラムを実行してよい。一部の実施形態では、実行プログラムは、ページ上における解像度を取得するためにおよび画面解像度を含むメッセージをサーバに送信するために、スクリプト言語で(例えば、JavaScript言語で)事前に記述される。本開示の様々な実施形態にしたがうと、画面解像度は、端末(例えば、ブラウザ)によってサーバに送信されるHTTP要求に含まれる。
420では、端末のユーザエージェント情報が通信される。一部の実施形態では、端末は、端末のユーザエージェント情報(例えば、ブラウザのユーザエージェント情報)を、ウェブサイトに関係付けられたサーバに通信する。一部の実施形態では、ユーザエージェント情報は、端末の機器タイプが決定されえるもとになるデータを含む。例えば、ユーザエージェント情報は、対応する端末(例えば、ブラウザが実行される端末)の具体的な機器タイプを示したデータを含む。
本開示の様々な実施形態にしたがうと、ブラウザは、ウェブページへのアクセスに関係付けられたHTTP要求のなかに、ユーザエージェント情報を含める。一部の実施形態では、ユーザエージェント情報は、(例えば、アクセスされるウェブサイトに提供された)識別子を含む。例えば、ユーザエージェント情報に含まれる識別子は、端末が使用するブラウザタイプ、オペレーティングシステム、およびブラウザコアなどといったものを含む。
本開示の様々な実施形態にしたがうと、端末は、ディスプレイ情報およびユーザエージェント情報を同時にサーバに送信する。例えば、ディスプレイ情報およびユーザエージェント情報は、アクセス要求(例えば、HTTP要求などといったもの)に含まれる。一部の実施形態では、410および420は、組み合わされてよい、またはそれ以外の形で並行して実施されてよい。
端末は、ウェブサイトに関係付けられたサーバに(例えば、ウェブサイト・サーバ)に、アクセス要求を通信する。一部の実施形態では、アクセス要求は、端末のIPアドレスなどといったものを含む。例えば、アクセス要求は、端末が識別されえるもとになる情報を含む。一部の実施形態では、アクセス要求は、ウェブサイトにアクセスするためのまたはそれ以外の形でウェブサイトにログインしようと試みるための要求に関係付けられる。アクセス要求は、ディスプレイ情報およびユーザエージェント情報の1つ以上を含んでいてよい。
430では、アクセス要求に関係付けられた情報が受信される。一部の実施形態では、端末は、アクセス要求に関係付けられた情報を受信する。例えば、端末は、端末は、アクセス要求に関係付けられた情報をサーバ(例えば、端末がアクセス要求を通信した先であるサーバ)から受信する。一部の実施形態では、アクセス要求に関係付けられた情報は、リダイレクトスクリプトを含むページ(またはそのページへのリンク)を含む。端末によって受信される、アクセス要求に関係付けられた情報は、端末にリダイレクトスクリプトを実行させる。例えば、リダイレクトスクリプトは、クライアントアプリケーションを起動させるために、端末上のクライアントアプリケーションを起動させる起動リンクに端末(例えば、端末上のブラウザ)をアクセスさせるように構成される。一部の実施形態では、リダイレクトスクリプトは、起動リンクを含む。
440では、クライアントアプリケーションが起動される。一部の実施形態では、端末は、クライアントアプリケーションを起動させる。アクセス要求に関係付けられた情報の受信を受けて、端末は、クライアントアプリケーションを起動させる。例えば、リダイレクトスクリプトの受信を受けて、端末(例えば、端末上のブラウザ)は、リダイレクトスクリプトにしたがってページリダイレクトを行う。ページリダイレクトは、リダイレクトスクリプトに含まれるクライアントアプリケーションの起動リンクに端末(例えば、端末上のブラウザ)をアクセスさせる。一部の実施形態では、クライアントアプリケーションの起動リンクへのアクセスを受けて、端末は、クライアントアプリケーションを起動させる(例えば、呼び起こす)。
本開示の様々な実施形態にしたがうと、端末は、クライアントアプリケーションの起動に関連して第1のトークンを取得する(例えば、受信する、取り出す、などといったことを行う)。例えば、クライアントアプリケーションは、起動リンクから第1のトークンを取得する。クライアントアプリケーションは、ウェブサイトのアクセスアドレス、第1のトークンなどといったものを、起動リンクからおよび/または起動リンクにアクセスすることによって取得する。
450では、検証要求が通信される。一部の実施形態では、端末は、検証要求をサーバに通信する。一部の実施形態では、検証要求は、第1のトークンを含む。例えば、検証要求は、クライアントアプリケーションが起動リンクから取得した第1のトークンを含む。端末は、クライアントアプリケーションの起動を受けて、検証要求を生成および/または通信してよい。
460では、検証要求に対する応答が受信される。一部の実施形態では、端末は、検証要求に対する応答を受信する。例えば、端末は、検証要求に対する応答をサーバから受信する。一部の実施形態では、サーバは、検証要求に含まれる第1のトークンが有効であるかどうかを決定し、検証要求に含まれる第1のトークンが有効であるとの決定を受けて、サーバは、検証要求に対する応答を通信する。一部の実施形態では、検証要求に対する応答は、検証要求に含まれる第1のトークンが有効であるかどうかの表示を含む。
470では、第2のトークンが生成される。一部の実施形態では、端末は、第2のトークンを生成する。一例として、端末は、検証要求に含まれる第1のトークンが有効であるとの表示の受信を受けて、第2のトークンを生成する。一部の実施形態では、もし、検証要求に含まれる第1のトークンが有効であるならば、クライアントアプリケーションは、ウェブサイトにアクセスするために、第2のトークンを生成して端末上のブラウザを起動する。一部の実施形態では、端末(例えば、クライアントアプリケーション)は、第1のトークンを暗号化することによって、第2のトークンを生成する。
480では、第2のトークンを含むアクセス要求が通信される。一部の実施形態では、端末は、第2のトークンを含むアクセス要求を通信する。一例として、ウェブサイトにアクセスするためにクライアントアプリケーションが端末上のブラウザを起動することを受けて、端末は、第2のトークンを含むアクセス要求を通信する。
本開示の様々な実施形態にしたがうと、ウェブサイトにアクセスするための方法は、サーバからクッキーを受信することを含む。一部の実施形態では、クッキーは、第2のトークンを含む。一部の実施形態では、端末は、クッキーを(例えば、ブラウザに関連して)格納する。一例として、その後に続く、ウェブサイトにアクセスしようとするまたはそれ以外の形でログインしようとする試みにおいて、端末は、クッキーをサーバに送信する。一部の実施形態では、もし、サーバが、その後に続く、ウェブサイトにアクセスしようとするまたはそれ以外の形でログインしようとする試みの時点において、クッキーに含まれる第2のトークンが有効であると決定するならば、端末は、430〜480の実施を求められることなくウェブサイトにログインする。
本出願は、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバも提供する。
図5は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムを示した図である。
図5を参照すると、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステム500は、端末510と、サーバ520と、ネットワーク530とを含んでいてよい。図5に例示されるように、端末510は、ネットワーク530を通じてサーバ520と通信してよい。
一部の実施形態では、端末510は、サーバ520に関係付けられたウェブサイトにアクセスするまたはそれ以外の形でログインしようと試みる。例えば、端末510は、ウェブサイトにアクセスするためのアクセス要求をサーバ520に通信する。一部の実施形態では、端末510は、アクセス要求に関係付けられた情報をサーバ520から受信する。一部の実施形態では、端末510は、検証要求を生成しえるクライアントアプリケーションを起動させる。その後、端末510は、検証要求をサーバ520に通信する。一部の実施形態では、端末510は、検証要求に対する応答をサーバ520から受信する。一部の実施形態では、検証要求に対する応答の受信を受けて、端末510は、第2のトークンを生成する。その後、端末510は、第2のトークンを含むアクセス要求をサーバ520に通信する。
一部の実施形態では、サーバ520は、端末510からアクセス要求を受信する。一部の実施形態では、サーバ520は、端末510を認証し、アクセス要求に関係付けられた情報を端末510に通信する。一部の実施形態では、サーバ520は、端末510から検証要求を受信する。一例として、端末510からの検証要求の受信を受けて、サーバ520は、検証要求が有効であるかどうかを決定する。一部の実施形態では、サーバ520は、検証要求が有効であるかどうかの表示を通信する。一部の実施形態では、サーバ520は、第2のトークンを含むアクセス要求を受信する。一例として、第2のトークンを含むアクセス要求の受信を受けて、サーバ520は、第2のトークンが有効であるかどうかにしたがって、端末がモバイル端末であるかどうかを決定する。
図6Aは、本開示の様々な実施形態にしたがった、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
図6Aを参照すると、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバ600が提供される。一部の実施形態では、サーバ600は、図1に例示された方法100を実行する。
本出願の様々な実施形態にしたがうと、サーバ600は、生成モジュール601と、第1の返信モジュール602と、第1の受信モジュール603と、第1の検証モジュール604と、第2の返信モジュール605と、第2の受信モジュール606と、第2の検証モジュール607と、第1の決定モジュール608とを含む。
一部の実施形態では、生成モジュール601は、ユーザが端末上のブラウザを通じてウェブサイトにログインするときに第1のトークンを生成するようにおよびその第1のトークンをサーバ600に保存するように構成される。一例として、生成モジュール601は、サーバ600が端末からアクセス要求を受信することを受けて、第1のトークンを生成する。
一部の実施形態では、第1の返信モジュール602は、リダイレクトスクリプトを含むページを端末に(例えば、端末上のブラウザに)通信し、それによって、端末(例えば、端末上のブラウザ)にリダイレクトスクリプトを実行させておよびその結果として起動リンクにアクセスさせて、端末上のクライアントアプリケーションを起動させるように構成される。一部の実施形態では、起動リンクは、ウェブサイトのアクセスアドレスと、第1のトークンとを含む。
一部の実施形態では、第1の受信モジュール603は、端末によって(例えば、クライアントアプリケーションによって)送信された検証要求を受信するように構成される。検証要求は、クライアントアプリケーションによって起動リンクから取得された第1のトークンを含む。
一部の実施形態では、第1の検証モジュール604は、検証要求に含まれる第1のトークンが有効であるかどうかを決定するように構成される。
一部の実施形態では、第2の返信モジュール605は、検証結果をクライアントアプリケーションに通信するように構成される。
一部の実施形態では、第2の受信モジュール606は、もし、検証要求で運ばれた第1のトークンが有効であり、尚且つ端末(例えば、クライアントアプリケーション)がウェブサイトにアクセスするために第2のトークンを生成して端末上のブラウザを起動させた場合に、ウェブサイトへのアクセスのために端末上のブラウザから送信されたアクセス要求を受信するように構成される。
一部の実施形態では、第2の検証モジュール607は、アクセス要求に含まれる第2のトークンが有効であるかどうかを決定するように構成される。
一部の実施形態では、第1の決定モジュール608は、端末がモバイル端末であるかどうかを決定するように構成される。例えば、第1の決定モジュール608は、もし、第2の検証モジュール607が第2のトークンが有効であると決定した場合に、端末がモバイル端末であると決定するように構成される。
本開示の様々な実施形態にしたがうと、第2のトークンは、クライアントアプリケーションが第1のトークンを暗号化することによって生成される。
本出願の様々な実施形態にしたがうと、第2の検証モジュール607は、検証サブモジュールと、決定サブモジュールとを含む。
一部の実施形態では、第2の検証モジュール607に含まれる検証サブモジュールは、第2のトークンを復号化して第1のトークンを得るようにおよび第2のトークンを復号化して得られた第1のトークンが有効であるかどうかを決定するように構成される。
一部の実施形態では、第2の検証モジュール607に含まれる決定サブモジュールは、第2のトークンが有効であるかどうかを決定するように構成される。例えば、決定サブモジュールは、もし、第1のトークンが有効である場合に、第2のトークンが有効であるとおよび端末がモバイル端末であると決定する。
本出願の様々な実施形態にしたがうと、サーバ600は、書き込みモジュールも含んでいてよい。一例として、書き込みモジュールは、もし、第2のトークンが有効であると決定された場合に、端末(例えば、ブラウザ)に送信されるクッキーに第2のトークンを書き込むように構成される。
本出願の様々な実施形態にしたがうと、サーバ600は、チェックモジュールと、第3の検証モジュールと、第2の決定モジュールとを含む。
一部の実施形態では、チェックモジュールは、ユーザが端末上のブラウザを通じてウェブサイトにログインすることを受けて、ブラウザのクッキーが第2のトークンを含むかどうかを決定するように構成される。
一部の実施形態では、第3の検証モジュールは、ユーザが端末上のブラウザを通じてウェブサイトにログインするときに、ブラウザのクッキーに含まれる第2のトークンが有効であるかどうかを決定するように構成される。
一部の実施形態では、第2の決定モジュールは、第2のトークン(例えば、クッキーに含まれる第2のトークン)の有効性にしたがって、端末がモバイル端末であるかどうかを決定するように構成される。例えば、第2の決定モジュールは、もし、第2のトークン(例えば、クッキーに含まれる第2のトークン)が有効である場合に、端末がモバイル端末であると決定するように構成される。
図6Bは、本開示の様々な実施形態にしたがった、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバの構造ブロック図である。
図6Bを参照すると、ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するためのサーバ600が提供される。一部の実施形態では、サーバ600は、図3に例示された方法300を実行する。
本出願の様々な実施形態にしたがうと、サーバ600は、生成モジュール601と、第1の返信モジュール602と、第1の受信モジュール603と、第1の検証モジュール604と、第2の返信モジュール605と、第2の受信モジュール606と、第2の検証モジュール607と、第1の決定モジュール608とを含む。
本出願の様々な実施形態にしたがうと、サーバ600は、また、第3の受信モジュール612と、第3の決定モジュール614と、第4の決定モジュール616と、比較モジュール618とを含む。
一部の実施形態では、第3の受信モジュール612は、端末(例えば、ユーザ)が端末上のブラウザを通じてウェブサイトにログインするときに、ブラウザによって送信された、端末に関する画面解像度情報を含むメッセージを受信するように構成される。
一部の実施形態では、第3の決定モジュール614は、ブラウザのユーザエージェント情報を取得するように、およびそのユーザエージェント情報を解析することによって端末の機器タイプを決定するように構成される。
一部の実施形態では、第4の決定モジュール616は、端末の機器タイプにしたがって、その機器タイプに対応する画面解像度を決定するように構成される。
一部の実施形態では、比較モジュール618は、機器タイプに対応する画面解像度を、端末(例えば、端末上のブラウザ)から受信された端末画面解像度と比較するように、および機器タイプに対応する画面解像度と、ブラウザから受信された端末画面解像度とが同じであるかどうかを決定するように構成される。
生成モジュール601は、さらに、もし、機器タイプに対応する画面解像度が、端末(例えば、端末上のブラウザ)から受信された端末画面解像度と同じである場合に、第1のトークンを生成するように構成される。
本出願の様々な実施形態にしたがうと、サーバ600は、また、第4の検証モジュールと、第5の決定モジュールとを含む。
一部の実施形態では、第4の検証モジュールは、端末(例えば、ユーザ)がウェブサイトにログインするときに入力したログイン情報が正しいかどうかを決定するように構成される。例えば、第4の検証モジュールは、ログイン情報を認証するように構成される。
一部の実施形態では、第5の決定モジュールは、ログイン情報が正しいかどうかにしたがって、第1のトークンが生成されるべきであるかどうかを決定するように構成される。例えば、第5の決定モジュールは、もし、ログイン情報が正しいと決定される場合に、第1のトークンが生成されるべきであると決定するように構成される。
本出願の様々な実施形態にしたがうと、第1の検証モジュールは、さらに、照会サブモジュールおよび/または決定サブモジュールを含む。
一部の実施形態では、照会サブモジュールは、検証要求で運ばれた第1のトークンと同じ第1のトークンをサーバが有する(例えば、格納している)かどうかをサーバに照会するように構成される。
一部の実施形態では、決定サブモジュールは、第1のトークンが有効であるかどうかを決定するように構成される。一例として、決定サブモジュールは、もし、第1のトークンを有することを照会サブモジュールが決定した場合に、第1のトークンが有効であるかどうかを決定するように構成される。一例として、決定サブモジュールは、端末から受信された第1のトークンが有効であるかどうかを決定するために、サーバに格納されている第1のトークンを使用するように構成される。
本実施形態のサーバ600によって実現される機能は、上記の図1〜2に示された方法の実施形態に対応しているので、本実施形態のなかで十分に詳しく説明されていない部分に関しては、上述された実施形態における適切な説明を参照してよい。このことは、これ以上ここでは論じられない。
図7は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムにおける端末の構造ブロック図である。
図7を参照すると、ウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するためのシステムにおける端末700が提供される。一部の実施形態では、端末700は、図2および図4の方法200および方法400を実行する。
一部の実施形態では、端末700は、ブラウザモジュール702、クライアントアプリケーションモジュール704、トークン生成モジュール706、通信モジュール708、ストレージモジュール710などといったものを含む。
一部の実施形態では、ブラウザモジュール702は、ウェブサイトにアクセスする。例えば、ブラウザモジュール702は、ウェブサイトを運営しているサーバと、端末700を操作しているユーザとの間のインターフェースとして動作する。一例として、ブラウザモジュール702は、作動式に、ウェブサイトにアクセスするまたはそれ以外の形でログインする。一部の実施形態では、ブラウザモジュール702は、端末700のディスプレイ解像度を決定する。本開示の様々な実施形態にしたがうと、ブラウザモジュール702は、ウェブサイトにアクセスするためのアクセス要求を、作動式にサーバに通信する。
一部の実施形態では、クライアントアプリケーションモジュール704は、端末700がモバイル端末であるかを検証するために、操作可能な方式でサーバと通信する。一例として、クライアントアプリケーション704は、起動リンクが端末700(例えば、ブラウザモジュール702)によってアクセスされたときまたはそれ以外の形で処理されたときに起動される。一部の実施形態では、クライアントアプリケーションモジュール704は、第1のトークンを、起動リンクから取得するまたはそれ以外の形で起動リンクを使用して取得する。一部の実施形態では、クライアントアプリケーションモジュール704は、検証要求を生成し、操作可能な方式でその検証要求をサーバに通信する。本開示の様々な実施形態にしたがうと、クライアントアプリケーションモジュール704は、第2のトークンを生成する。一部の実施形態では、クライアントアプリケーションモジュール704は、第2のトークンを含むアクセス要求を、操作可能な方式でサーバに通信する。
一部の実施形態では、トークン生成モジュール706は、第2のトークンを生成する。一例として、トークン生成モジュール706は、第1のトークン(例えば、クライアントアプリケーションモジュール704が起動シンクから取得したまたはそれ以外の形で起動リンクを使用して取得した第1のトークン)を暗号化することによって、第2のトークンを生成する。
一部の実施形態では、通信モジュール708は、ウェブサイト(例えば、ウェブサイトに関係付けられたサーバ)と通信する。一例として、通信モジュール708は、ウェブサイトと、端末700のその他のモジュールとの間のインターフェースとして動作するように構成される。例えば、端末700のその他のモジュールは、通信モジュール708を通じて別の端末(例えば、サーバ)との間でデータの送信を行ってよい。
一部の実施形態では、ストレージモジュール710は、端末700がその他の端末(例えば、サーバ)から受信するデータ(例えば、第1のトークン、クッキーなどといったもの)または端末700が生成するデータ(例えば、第2のトークン)を格納する。
上述されたモジュールは、1つ以上のプロセッサ上で実行されるソフトウェアコンポーネントとして、または特定の機能を実施するように設計されたプログラマブルロジックデバイスおよび/もしくは特殊用途向け集積回路などのハードウェアとして、またはそれらの組み合わせとして実装することができる。一部の実施形態では、これらのモジュールは、本発明の実施形態で説明される方法を(パソコン、サーバ、ネットワーク機器などの)コンピュータデバイスに実行させるための幾つかの命令を含み尚且つ(光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの)不揮発性のストレージ媒体に格納することができるソフトウェア製品の形態で具現化することができる。これらのモジュールは、1つのデバイス上に実装されてよい、または複数のデバイスに分散されてよい。これらのモジュールの機能は、互いに合体されてよい、または複数のサブモジュールにさらに分割されてよい。
図8は、本開示の様々な実施形態にしたがった、ウェブサイトにアクセスするための、またはウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための、コンピュータシステムの機能図である。
図8を参照すると、ウェブサイトにアクセスするための、またはウェブサイトにアクセスしている端末がモバイル端末であるかどうかを決定するための、コンピュータシステム800が提供される。ビデオコールの実現には、その他のコンピュータシステムアーキテクチャおよび構成を使用することもできることが明らかである。後述されるような様々なサブシステムを含むコンピュータシステム800は、少なくとも1つのマイクロプロセッササブシステム(プロセッサまたは中央演算処理装置(CPU)とも呼ばれる)802を含む。例えば、プロセッサ802は、シングルチッププロセッサによってまたは複数のプロセッサによって実現することができる。一部の実施形態では、プロセッサ802は、コンピュータシステム800の動作を制御する汎用デジタルプロセッサである。メモリ810から取り出された命令を使用して、プロセッサ802は、入力データの受信および操作、ならびに出力デバイス(例えば、ディスプレイ818)へのデータの出力および表示を制御する。
プロセッサ802は、メモリ810に双方向に接続され、メモリ810は、通常はランダムアクセスメモリ(RAM)である第1の一次ストレージと、通常は読み出し専用メモリ(ROM)である第2の一次ストレージとを含むことができる。当該分野で周知のように、一次ストレージは、汎用ストレージエリアとしておよびスクラッチパッドメモリとして使用することができ、入力データおよび処理済みデータを格納するために使用することもできる。一次ストレージは、プログラミング命令およびデータを、プロセッサ802上で起きるプロセスのためのその他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で格納することもできる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ802がその機能(例えば、プログラムされた命令)を実施するために使用する基本的な動作命令、プログラムコード、データ、およびオブジェクトを含む。例えば、メモリ810は、例えば、データアクセスが双方向または単方向のいずれである必要があるかに応じ、後述の任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ802は、頻繁に必要とされるデータを、直接的に且つ非常に迅速に取り出してキャッシュメモリ(不図示)に格納することもできる。
着脱式大容量ストレージデバイス812は、コンピュータシステム800のための追加のデータストレージ容量を提供し、双方向(読み出し/書き込み)にまたは単方向(読み出しのみ)のいずれかでプロセッサ802に接続される。例えば、ストレージ812は、磁気テープ、フラッシュメモリ、PCカード、ポータブル大容量ストレージデバイス、ホログラフィックストレージデバイス、およびその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ820が、追加のデータストレージ容量を提供することもできる。固定大容量ストレージ820として最も一般的な例は、ハードディスクドライブである。大容量ストレージデバイス812および固定大容量ストレージ820は、一般に、プロセッサ802によって通常は能動的に使用されていない追加のプログラミング命令やデータといったものを格納する。大容量ストレージデバイス812および固定大容量ストレージ820に保持される情報は、もし必要であれば、仮想メモリとしてメモリ810(例えば、RAM)の一部に標準的に組み込み可能であることがわかる。
バス814は、ストレージサブシステムへのアクセスをプロセッサ802に提供することに加えて、その他のサブシステムおよびデバイスへのアクセスを提供するためにも使用することができる。図に示されるように、これらとしては、ディスプレイ818、ネットワークインターフェース816、キーボード804、およびポインティングデバイス806はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、およびその他のサブシステムが挙げられる。例えば、ポインティングデバイス806は、マウス、スタイラス、トラックボール、またはタブレットであってよく、グラフィカルユーザインターフェースとのやり取りに有用である。
ネットワークインターフェース816は、図に示されるようなネットワーク接続を使用してプロセッサ802が別のコンピュータ、コンピュータネットワーク、または電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース816を通じて、プロセッサ802は、方法/プロセスのステップを実施する過程において、別のネットワークから情報(例えば、データオブジェクトもしくはプログラム命令)を受信するまたは別のネットワークに情報を出力することができる。情報は、多くの場合、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信するまたは別のネットワークに出力することができる。コンピュータシステム800を外部ネットワークに接続するためにおよびデータを標準プロトコルにしたがって転送するために、インターフェースカードまたは類似のデバイス、およびプロセッサ802によって実現される(例えば、プロセッサ802上で実行される/実施される)適切なソフトウェアを使用することができる。例えば、本明細書で開示される様々なプロセスの実施形態は、プロセッサ802上で実行することができる、または処理の一部を共有するリモートプロセッサと協働でインターネット、イントラネットネットワーク、もしくはローカルエリアネットワークなどのネットワークで実施することができる。プロセッサ802には、ネットワークインターフェース816を通じて追加の大容量ストレージデバイス(不図示)も接続することができる。
コンピュータシステム800と協働して、補助入出力デバイスインターフェース(不図示)を使用することができる。補助入出力デバイスインターフェースは、プロセッサ802がマイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き文字認識装置、生体認証リーダ、カメラ、ポータブル大容量ストレージデバイス、およびその他のコンピュータなどの他のデバイスにデータを送信することを、およびさらに一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用ならびに専用のインターフェースを含むことができる。
図8に示されたコンピュータシステムは、本明細書で開示される様々な実施形態で使用するのに適したコンピュータシステムの一例に過ぎない。このような使用に適したその他のコンピュータシステムは、さらに多くのまたは少ないサブシステムを含むことができる。また、バス814は、サブシステムをつなぐ働きをするあらゆる相互接続方式を例示したものである。異なる構成のサブシステムを有するその他のコンピュータアーキテクチャを用いることもできる。
本明細書で開示される実施形態に照らして説明された方法またはステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、または両者の組み合わせを使用して実現することができる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)メモリ、読み出し専用メモリ(ROM),電気的にプログラム可能なROM,電気的に消去可能なROM、レジスタ、ハードドライブ、着脱式ディスク、CD−ROM,または当該技術分野で知られるその他の任意の形態のストレージ媒体にインストールすることができる。
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、数々の代替的手法がある。開示された実施形態は、例示的なものであり、限定的なものではない。

Claims (21)

  1. 方法であって、
    ウェブサイトにアクセスするためのログイン要求を端末から受信することと、
    前記端末からの前記ログイン要求の受信を受けて、第1のトークンを生成することと、
    リダイレクトスクリプトを含む情報を前記端末に送信することであって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせるように構成される、情報の送信と、
    前記端末から検証要求を受信することであって、前記検証要求は、前記端末が前記起動リンクを使用することによって取得されたヴァージョンの前記第1のトークンを含む、検証要求の受信と、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンが有効であるかどうかを、前記生成された第1のトークンに照らして決定することと、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンが有効であるとの決定を受けて、前記第1のトークンが有効であるとの表示を前記端末に送信することと、
    前記ウェブサイトにアクセスするためのアクセス要求を受信することであって、前記アクセス要求は、第2のトークンを含む、アクセス要求の受信と、
    前記第2のトークンが有効であるかどうかを決定することと、
    前記第2のトークンが有効であるかどうかにしたがって、前記端末がモバイル端末であるかどうかを決定することと、
    を備える方法。
  2. 請求項1に記載の方法であって、
    前記第2のトークンは、前記端末上のクライアントアプリケーションが前記第1のトークンを暗号化することによって生成される、方法。
  3. 請求項1に記載の方法であって、
    前記第2のトークンが有効であるかどうかを決定することは、
    前記第2のトークンを復号化して前記第1のトークンを得て、前記第2のトークンを復号化することによって得られた前記第1のトークンが有効であるかどうかを検証することと、
    もし、前記第2のトークンを復号化することによって得られた前記第1のトークンが有効である場合に、前記第2のトークンが有効であると決定することと、
    を含む、方法。
  4. 請求項1に記載の方法であって、さらに、
    前記第2のトークンが有効であると決定される場合に、前記第2のトークンをクッキーに書き込み、前記クッキーを前記端末に送信することを備える方法。
  5. 請求項4に記載の方法であって、さらに、
    前記端末上のブラウザを通じて前記ウェブサイトにログインするための要求を前記端末から受信することを受けて、前記ブラウザのクッキーが前記第2のトークンを含むかどうかを決定することと、
    前記ブラウザの前記クッキーが前記第2のトークンを含むとの決定を受けて、前記ブラウザの前記クッキーに含まれる前記第2のトークンが有効であるかどうかを決定することと、
    を備える方法。
  6. 請求項5に記載の方法であって、さらに、
    前記ブラウザの前記クッキーに含まれる前記第2のトークンが有効であるとの決定を受けて、前記端末がモバイル端末であると決定することを備える方法。
  7. 請求項1に記載の方法であって、さらに、
    前記端末上のブラウザからメッセージを受信することであって、前記端末は、前記端末上の前記ブラウザを通して前記ウェブサイトにログインし、前記ブラウザからの前記メッセージは、前記端末のための画面解像度の画面解像度情報を含む、メッセージの受信と、
    前記ブラウザのユーザエージェント情報を受信することと、
    前記ブラウザの前記ユーザエージェント情報にしたがって、前記端末の機器タイプを決定することと、
    前記端末の前記機器タイプに対応する画面解像度を決定することと、
    前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記端末の前記画面解像度と同じであるかどうかを決定することと、
    前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記画面解像度と同じであるとの決定を受けて、第1のトークンを生成することと、
    を備える方法。
  8. 請求項1に記載の方法であって、さらに、
    前記ウェブサイトにアクセスするための前記ログイン要求に関連してサーバによって受信されたログイン情報が正しいかどうかを決定することと、
    前記ログイン情報が正しいと決定された場合に、前記第1のトークンが生成されるべきであると決定することと、
    を備える方法。
  9. 請求項1に記載の方法であって、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンが有効であるかどうかを決定することは、さらに、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンと同じ第1のトークンをサーバが有するかどうかを決定することと、
    もし、前記検証要求に含まれる前記ヴァージョンの前記第1のトークンと同じ第1のトークンを前記サーバが有すると決定される場合に、前記第1のトークンが有効であると決定することと、
    を含む、方法。
  10. 請求項1に記載の方法であって、さらに、
    前記端末がモバイル端末であるとの決定を受けて、前記端末に前記ウェブサイトへのアクセスを許可することを備える方法。
  11. サーバであって、
    端末がウェブサイトにログインすることに関連して第1のトークンを生成し、および前記第1のトークンを保存するように構成された生成モジュールと、
    リダイレクトスクリプトを含む情報を前記端末に送信するように構成された第1の返信モジュールであって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせるように構成される、第1の返信モジュールと、
    前記端末からの検証要求を受信するように構成された第1の受信モジュールであって、前記検証要求は、前記端末が前記起動リンクを使用することによって取得されたヴァージョンの前記第1のトークンを含む、第1の受信モジュールと、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンが有効であるかどうかを、前記生成された第1のトークンに照らして決定するように構成された第1の検証モジュールと、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンが有効であると前記第1の検証モジュールが決定することを受けて、前記第1のトークンが有効であるとの表示を前記端末に送信するように構成された第2の返信モジュールと、
    前記ウェブサイトにアクセスするためのアクセス要求を受信するように構成された第2の受信モジュールであって、前記アクセスは、第2のトークンを含む、第2の受信モジュールと、
    前記第2のトークンが有効であるかどうかを決定するように構成された第2の検証モジュールと、
    前記第2のトークンが有効であるかどうかにしたがって、前記端末がモバイル端末であるかどうかを決定するように構成された第1の決定モジュールと、
    を備えるサーバ。
  12. 請求項11に記載のサーバであって、
    前記第2のトークンは、前記端末上のクライアントアプリケーションが前記第1のトークンを暗号化することによって生成される、サーバ。
  13. 請求項11に記載のサーバであって、
    前記第2の検証モジュールは、さらに、前記第2のトークンを復号化して前記第1のトークンを得、前記第2のトークンを復号化することによって得られた前記第1のトークンが有効であるかどうかを検証し、および前記第2のトークンを復号化することによって得られた前記第1のトークンが有効である場合に、前記第2のトークンが有効であると決定するように構成される、サーバ。
  14. 請求項11に記載のサーバであって、さらに、
    前記第2のトークンをクッキーに書き込むように構成された書き込みモジュールと、
    前記クッキーを前記端末に送信するように構成された通信モジュールと、
    を備えるサーバ。
  15. 請求項14に記載のサーバであって、さらに、
    前記端末上のブラウザを通じて前記ウェブサイトにログインするための要求を前記端末から受信することを受けて、前記ブラウザのクッキーが前記第2のトークンを含むかどうかを決定するように構成されたチェックモジュールと、
    前記ブラウザの前記クッキーが前記第2のトークンを含むと前記チェックモジュールが決定することを受けて、前記ブラウザの前記クッキーに含まれる前記第2のトークンが有効であるかどうかを決定するように構成された第3の検証モジュールと、
    を備えるサーバ。
  16. 請求項15に記載のサーバであって、さらに、
    前記ブラウザの前記クッキーに含まれる前記第2のトークンが有効であると前記第3の検証モジュールが決定することを受けて、前記端末がモバイル端末であると決定するように構成された第2の決定モジュールを備えるサーバ。
  17. 請求項11に記載のサーバであって、さらに、
    前記端末上のブラウザからメッセージを受信するように構成された第3の受信モジュールであって、前記端末は、前記端末上の前記ブラウザを通じて前記ウェブサイトにログインし、前記ブラウザからの前記メッセージは、前記端末のための画面解像度の画面解像度情報を含む、第3の受信モジュールと、
    前記ブラウザのユーザエージェント情報を受信し、および前記ブラウザの前記ユーザエージェント情報にしたがって前記端末の機器タイプを決定するように構成された第3の決定モジュールと、
    前記端末の前記機器タイプに対応する画面解像度を決定するように構成された第4の決定モジュールと、
    前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記端末の前記画面解像度と同じであるかどうかを決定するように構成された比較モジュールと、
    を備え、
    前記端末の前記機器タイプに対応する前記画面解像度が、前記ブラウザから受信された前記画面解像度と同じであると前記比較モジュールが決定することを受けて、前記生成モジュールは、前記第1のトークンを生成する、サーバ。
  18. 請求項11に記載のサーバであって、さらに、
    前記ウェブサイトにアクセスするためのログイン要求に関連して前記サーバによって受信されたログイン情報が正しいかどうかを決定するように構成された第4の検証モジュールを備え、
    前記ウェブサイトにアクセスするための前記ログイン要求に関連して前記サーバによって受信されたログイン情報が正しいと前記第4の検証モジュールが決定することを受けて、前記生成モジュールは、前記第1のトークンを生成する、サーバ。
  19. 請求項11に記載のサーバであって、
    前記第1の検証モジュールは、照会サブモジュールと、決定サブモジュールと含み、
    前記照会サブモジュールは、前記検証要求に含まれる前記ヴァージョンの前記第1のトークンと同じ第1のトークンを前記サーバが有するかどうかを決定するように構成され、
    前記決定サブモジュールは、もし、前記検証要求に含まれる前記ヴァージョンの前記第1のトークンと同じ第1のトークンを前記サーバが有すると決定される場合に、前記第1のトークンが有効であるかどうかを決定するように構成される、サーバ。
  20. 請求項11に記載のサーバであって、
    前記第1の決定モジュールは、さらに、前記端末がモバイル端末であるとの決定を受けて、前記端末に前記ウェブサイトへのアクセスを許可するように構成される、サーバ。
  21. 有体の非一過性のコンピュータ読み取り可能ストレージ媒体に盛り込まれたコンピュータプログラム製品であって、
    ウェブサイトにアクセスするためのログイン要求を端末から受信するためのコンピュータ命令と、
    前記端末からの前記ログイン要求の受信を受けて、第1のトークンを生成するためのコンピュータ命令と、
    リダイレクトスクリプトを含む情報を前記端末に送信するためのコンピュータ命令であって、前記リダイレクトスクリプトは、前記端末に、前記リダイレクトスクリプトを実行させ、および起動リンクにアクセスさせるように構成される、コンピュータ命令と、
    前記端末から検証要求を受信するためのコンピュータ命令であって、前記検証要求は、前記端末が前記起動リンクを使用することによって取得されたヴァージョンの前記第1のトークンを含む、コンピュータ命令と、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンが有効であるかどうかを、前記生成された第1のトークンに照らして決定するためのコンピュータ命令と、
    前記検証要求に含まれる前記ヴァージョンの前記第1のトークンが有効であるとの決定を受けて、前記第1のトークンが有効であるとの表示を前記端末に送信するためのコンピュータ命令と、
    前記ウェブサイトにアクセスするためのアクセス要求を受信するためのコンピュータ命令であって、前記アクセス要求は、第2のトークンを含む、コンピュータ命令と、
    前記第2のトークンが有効であるかどうかを決定するためのコンピュータ命令と、
    前記第2のトークンが有効であるかどうかにしたがって、前記端末がモバイル端末であるかどうかを決定するためのコンピュータ命令と、
    を備えるコンピュータプログラム製品。
JP2016537028A 2014-01-07 2015-01-06 ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステム Active JP6282349B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201410007143.5A CN104767719B (zh) 2014-01-07 2014-01-07 确定登录网站的终端是否是移动终端的方法及服务器
CN201410007143.5 2014-01-07
US14/589,869 US10135824B2 (en) 2014-01-07 2015-01-05 Method and system for determining whether a terminal logging into a website is a mobile terminal
US14/589,869 2015-01-05
PCT/US2015/010275 WO2015105778A1 (en) 2014-01-07 2015-01-06 Method and system for determining whether a terminal logging into a website is a mobile terminal

Publications (2)

Publication Number Publication Date
JP2017503254A true JP2017503254A (ja) 2017-01-26
JP6282349B2 JP6282349B2 (ja) 2018-02-21

Family

ID=53496089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016537028A Active JP6282349B2 (ja) 2014-01-07 2015-01-06 ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステム

Country Status (8)

Country Link
US (1) US10135824B2 (ja)
EP (1) EP3092775B8 (ja)
JP (1) JP6282349B2 (ja)
KR (1) KR101850677B1 (ja)
CN (1) CN104767719B (ja)
HK (1) HK1207763A1 (ja)
TW (1) TWI687113B (ja)
WO (1) WO2015105778A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789845A (zh) * 2015-11-23 2017-05-31 天津九洲云物联科技有限公司 一种网络数据安全传输的方法
US10652365B2 (en) * 2016-01-06 2020-05-12 Adobe Inc. Robust computing device identification framework
CN107294920B (zh) * 2016-03-31 2020-06-26 阿里巴巴集团控股有限公司 一种反向信任登录方法和装置
US10305901B2 (en) * 2016-05-06 2019-05-28 Blackberry Limited System and method for multi-factor authentication
CN106230838A (zh) * 2016-08-04 2016-12-14 中国银联股份有限公司 一种第三方应用访问资源的方法和装置
US10484851B2 (en) * 2016-12-22 2019-11-19 Venuenext, Inc. Communicating information between applications executing on a client device via authentication information generated by an application
CN108737338B (zh) * 2017-04-19 2021-06-04 阿里巴巴集团控股有限公司 一种认证方法及系统
CN107404488B (zh) * 2017-08-07 2020-11-27 台州市吉吉知识产权运营有限公司 一种同一应用多终端设备互斥方法及装置
US10673831B2 (en) * 2017-08-11 2020-06-02 Mastercard International Incorporated Systems and methods for automating security controls between computer networks
US10505733B2 (en) * 2017-09-25 2019-12-10 Citrix Systems, Inc. Generating and managing a composite identity token for multi-service use
US11349869B1 (en) 2017-12-22 2022-05-31 Spins Ventures Llc Network device detection and verification protocol
CN109101532A (zh) * 2018-06-25 2018-12-28 广州爱九游信息技术有限公司 检测作弊方法、装置及设备
CN109684799B (zh) * 2018-08-21 2023-12-26 Tcl金融科技(深圳)有限公司 账户登录方法、登录装置、账户登录设备及存储介质
JP7096736B2 (ja) * 2018-08-28 2022-07-06 キヤノン株式会社 システム、及びデータ処理方法
TWI697802B (zh) * 2018-11-12 2020-07-01 臺灣網路認證股份有限公司 依客戶環境選擇資料傳遞方式以進行憑證作業之系統及方法
CN110430213B (zh) * 2019-08-15 2022-02-01 北京奇艺世纪科技有限公司 业务请求处理方法、装置及系统
US11790349B2 (en) * 2019-10-18 2023-10-17 Landis+Gyr Technology, Inc. Secure tokens for controlling access to a resource in a resource distribution network
US11481851B2 (en) 2019-10-18 2022-10-25 Landis+Gyr Innovations, Inc. Secure tokens for controlling access to a resource in a resource distribution network
CN110933065A (zh) * 2019-11-26 2020-03-27 深圳市信联征信有限公司 网页防爬虫方法、装置、计算机设备及存储介质
CN111181977B (zh) * 2019-12-31 2021-06-04 瑞庭网络技术(上海)有限公司 一种登录方法、装置、电子设备及介质
CN111478942A (zh) * 2020-03-06 2020-07-31 视联动力信息技术股份有限公司 请求处理方法、装置、电子设备及存储介质
CN113239308B (zh) * 2021-05-26 2023-07-18 杭州安恒信息技术股份有限公司 一种页面访问方法、装置、设备及存储介质
US20220385657A1 (en) * 2021-05-31 2022-12-01 Sequoia Benefits and Insurance Services, LLC User impersonation system
KR20230012874A (ko) * 2021-07-16 2023-01-26 (주)모니터랩 보안 장치에서 쿠키를 활용한 사용자 인증 방법
KR102462646B1 (ko) 2021-09-09 2022-11-03 최방현 Usb를 이용한 개인인증 및 웹사이트 로그인 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184818A (ja) * 1997-12-25 1999-07-09 Ntt Data Corp 認証システム及び方法、並びに同システムのためのクライアントマシン
WO2013049392A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137006B1 (en) * 1999-09-24 2006-11-14 Citicorp Development Center, Inc. Method and system for single sign-on user access to multiple web servers
AU2001245481A1 (en) 2000-03-07 2001-09-17 Hotlens.Com Inc. Server-side web browsing and multiple lens system, method and apparatus
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US7360096B2 (en) * 2002-11-20 2008-04-15 Microsoft Corporation Securely processing client credentials used for Web-based access to resources
US7340525B1 (en) * 2003-01-24 2008-03-04 Oracle International Corporation Method and apparatus for single sign-on in a wireless environment
US20050216846A1 (en) 2004-03-26 2005-09-29 Mika Kalenius Normal versus small screen rendering with given URL
CN101996206B (zh) 2009-08-11 2013-07-03 阿里巴巴集团控股有限公司 一种呈现网页页面的方法、装置及系统
US8312285B2 (en) * 2009-12-07 2012-11-13 International Business Machines Corporation Global profile management method and system
CN102238007A (zh) * 2010-04-20 2011-11-09 阿里巴巴集团控股有限公司 第三方应用获得用户的会话令牌的方法、装置及系统
CN101977233A (zh) * 2010-11-01 2011-02-16 优视科技有限公司 一种移动终端以阅读模式浏览网页方法和系统
WO2012083540A1 (en) 2010-12-23 2012-06-28 Nokia Corporation Method and apparatus for providing token-based classification of device information
CN103024740B (zh) * 2011-09-28 2015-07-15 腾讯科技(深圳)有限公司 移动终端访问互联网的方法及系统
US9021383B2 (en) 2011-12-13 2015-04-28 Lenovo (Singapore) Pte. Ltd. Browsing between mobile and non-mobile web sites
KR101323816B1 (ko) 2012-06-22 2013-10-31 서울대학교병원 (분사무소) 휴대용 단말기의 인증 서비스 제공 방법 및 이를 제공하는 시스템
US8613069B1 (en) * 2013-05-17 2013-12-17 Phantom Technologies, Inc. Providing single sign-on for wireless devices
US20150067472A1 (en) * 2013-08-28 2015-03-05 F5 Networks, Inc. Web browser fingerprinting

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11184818A (ja) * 1997-12-25 1999-07-09 Ntt Data Corp 認証システム及び方法、並びに同システムのためのクライアントマシン
WO2013049392A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management

Also Published As

Publication number Publication date
TWI687113B (zh) 2020-03-01
US10135824B2 (en) 2018-11-20
JP6282349B2 (ja) 2018-02-21
KR20160083930A (ko) 2016-07-12
CN104767719B (zh) 2018-09-18
KR101850677B1 (ko) 2018-04-20
EP3092775A1 (en) 2016-11-16
EP3092775B1 (en) 2020-09-30
EP3092775B8 (en) 2021-03-10
HK1207763A1 (en) 2016-02-05
WO2015105778A1 (en) 2015-07-16
CN104767719A (zh) 2015-07-08
US20150195268A1 (en) 2015-07-09
TW201528844A (zh) 2015-07-16

Similar Documents

Publication Publication Date Title
JP6282349B2 (ja) ウェブサイトにログインしている端末がモバイル端末であるかどうかを決定するための方法およびシステム
US11431501B2 (en) Coordinating access authorization across multiple systems at different mutual trust levels
US10091127B2 (en) Enrolling a mobile device with an enterprise mobile device management environment
US10419425B2 (en) Method, device, and system for access control of a cloud hosting service
US10171449B2 (en) Account login method and device
US10038690B2 (en) Multifactor authentication processing using two or more devices
EP3345087B1 (en) Method, device, and system for access control of a cloud hosting service
JP6204986B2 (ja) 同期通信におけるサーバー証明書エラーへの安全な対処
US10484372B1 (en) Automatic replacement of passwords with secure claims
WO2015062362A1 (zh) 用户登录的方法、设备及系统
US9104838B2 (en) Client token storage for cross-site request forgery protection
EP3061025B1 (en) Method and system for authenticating service
US10587594B1 (en) Media based authentication
US20130185780A1 (en) Computer implemented method and system for generating a one time password
WO2015060950A1 (en) Method and system for authenticating service
US9825971B2 (en) Anonymous server based user settings protection
US9521146B2 (en) Proof of possession for web browser cookie based security tokens
US10423776B1 (en) Systems and methods for password-based authentication

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180123

R150 Certificate of patent or registration of utility model

Ref document number: 6282349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250