JP6433508B2 - 検証コードを生成するための方法およびシステム - Google Patents

検証コードを生成するための方法およびシステム Download PDF

Info

Publication number
JP6433508B2
JP6433508B2 JP2016561704A JP2016561704A JP6433508B2 JP 6433508 B2 JP6433508 B2 JP 6433508B2 JP 2016561704 A JP2016561704 A JP 2016561704A JP 2016561704 A JP2016561704 A JP 2016561704A JP 6433508 B2 JP6433508 B2 JP 6433508B2
Authority
JP
Japan
Prior art keywords
verification code
current
verification
generators
partial
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.)
Active
Application number
JP2016561704A
Other languages
English (en)
Other versions
JP2017520817A (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 JP2017520817A publication Critical patent/JP2017520817A/ja
Application granted granted Critical
Publication of JP6433508B2 publication Critical patent/JP6433508B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • 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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Storage Device Security (AREA)
  • Detection And Correction Of Errors (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Telephonic Communication Services (AREA)

Description

[関連技術の相互参照]
本出願は、2014年5月8日に出願され発明の名称を「A METHOD AND A DEVICE FOR GENERATING VERIFICATION CODE(検証コードを生成するための方法およびデバイス)」とする中国特許出願第201410194197.7号の優先権を主張する。この出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
本出願は、検証コードを生成するための方法およびシステムに関する。
インターネットは、人々に便利さをもたらした一方で、様々なリスクも招いてきた。一部の悪意あるユーザは、インターネットリソースを大規模に不適切使用するために、ボットを利用する。例えば、一部の悪意あるユーザは、ウェブサイトアカウントを一括登録する、意味不明な文字を埋め込む、ガーベッジデータをサーバにサブミットする等を行うために、自動登録ツールを使用する。一部の悪意あるユーザは、サーバリソースを無駄使いし、正規ユーザによる通常使用に影響を及ぼす。また、一部の悪意あるユーザは、正規ユーザのアカウントパスワードを見つけ出そうとしてサーバにアクセスし続け、そうして正規ユーザのプライバシーおよび利益を脅かす。したがって、サーバは、通常、正規ユーザと悪意あるユーザとを自動的に区別することによって悪意あるユーザによるリスクを軽減することができる技術を配備している。
正規ユーザと悪意あるユーザとを差別化するために、検証コードが使用される。検証コードを生成するための様々な方法には、ASCII文字による検証、質問と回答による検証、および音声による検証などの様々な方法がある。検証コードは、これらのいずれかのタイプの方法の使用をサーバ上で選択することによって生成される。しかしながら、光学式文字認識技術、自動回答技術、および音声認識技術によって、プログラムが自動的に正しい検証コードをサブミットできることが増えており、悪意あるユーザをブロックすることが、ますます難しくなっている。
本発明の様々な実施形態が、以下の詳細な説明および添付の図面で開示される。
検証コードを生成するためのプロセスの一実施形態のフローチャートである。
検証コードを生成するためのプロセスの別の一実施形態のフローチャートである。
混合文字検証コードジェネレータによって生成された部分検証コードの一例の図である。
質問と回答検証コードジェネレータによって生成された部分検証コードの一例の図である。
写真に基づく検証コードジェネレータによって生成された部分検証コードの一例の図である。
現行検証コードの一例の図である。
検証コードを生成するためのデバイスの一実施形態の論理構造図である。
現行使用セットモジュールの一実施形態の論理構造図である。
検証コードジェネレータセットの一例の論理構造図である。
検証コードを生成するためのシステムの一実施形態の図である。
検証コードを生成するためのプログラムドコンピュータシステムの一実施形態の機能図である。
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、ならびに/または接続先のメモリに格納された命令および/もしくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実現できる。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、本発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネントとして、またはタスクを実施するように製造された特殊コンポーネントとして実装されてよい。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された1つ以上のデバイス、回路、および/または処理コアを言う。
本発明の原理を例示した添付の図面とともに、以下で、本発明の、1つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態に関連して説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、および均等物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部または全部を伴うことなく特許請求の範囲にしたがって実施されてよい。明瞭を期するために、本発明に関係する技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように、詳細に説明されていない。
従来、様々な種類の検証コードジェネレータが存在する。例えば、デジタル検証コードジェネレータ、ASCII文字検証コードジェネレータ、漢字検証コードジェネレータ、質問と回答検証コードジェネレータ、または写真に基づく検証コードジェネレータは、そのそれぞれの生成技術に基づいて、幾つかの数字、幾つかのASCII文字、幾つかの漢字、質問、または画像をそれぞれ生成する。ユーザは、検証にパスするために、検証コードチェックサムと同じ数字、同じASCII文字、同じ漢字、または同じ回答を入力する。別の一例では、音声検証コードジェネレータが、特殊な技術に基づいて一定の長さの音声を生成し、その音声を再生してユーザに聴かせる。ユーザは、検証にパスするために、音声に基づいて文字を入力するまたは正しい回答を入力する。これらの検証コードを解読するために、相応して様々な技術が利用されている。例えば、光学式文字認識技術は、写真の中の数字、ASCII文字、および漢字を認識できる。自動回答技術は、認識されたテキストに基づいて質問を読み取って、回答を提供できる。音声検証コードを解読するためには、音声認識技術、または音声認識技術と自動回答技術との組み合わせが使用できる。一部の実施形態では、各検証コードジェネレータは、検証コードとそれに対応する検証コードチェックサムとをペアで格納しており、検証コードの提供を求める要求が受信されると、それらのペアのなかから無作為に1つのペアを選択する。本明細書で説明されるように、検証コードジェネレータ技術は、実施されるコード解読技術の違いに基づいて、複数の検証モード(例えば、デジタル検証モード、ASCII文字検証モード、漢字検証モード、音声検証モード、質問と回答検証モード、写真に基づく検証モード等)に分けることができる。
検証コードジェネレータは、いずれも、コード解読の難易度を上げるために複数の手段を使用するが、的を絞ってコード解読技術を最適化すれば、特定の検証コードジェネレータに対抗する高いコード解読成功率を実現することが可能である。このようなコード解読技術は、しかしながら、たとえもし2つの検証コードジェネレータが同じ検証モードを使用していたとしても、もう1つの検証コードジェネレータに対しては往々にして無能である。例えば、コード解読技術1は、検証コードジェネレータ1に対して0.8の成功率を有し、検証コードジェネレータ2に対して0.7の成功率を有する。もし、検証コードジェネレータ1と検証コードジェネレータ2とが組み合わせて使用されるならば、コード解読技術1による成功率は、0.56に低下する。検証コードジェネレータ2に対するコード解読技術2の成功率が0.8であると想定すると、コード解読技術1がコード解読技術2と組み合わせて使用される場合、実現可能な最も高い成功率は、0.64に低下する。
図1は、検証コードを生成するためのプロセスの一実施形態のフローチャートである。一部の実施形態では、プロセス100は、図8のサーバ810によって実行され、以下を含む。
一部の実施形態では、サーバまたはその他の計算機器は、少なくとも2つの検証コードジェネレータを含む検証コードジェネレータセットを含む。一部の実施形態では、検証コードジェネレータは、実行可能プログラムに含まれている。一部の実施形態では、検証コードジェネレータセットのなかの対応する検証コードジェネレータを表すために、コードまたは識別子が使用される。一部の実施形態では、検証モードが同じで技術が異なる検証コードジェネレータおよび異なる検証モードを使用する検証コードジェネレータを含む様々な検証コードジェネレータが、セットに組み込まれる。検証技術が発達するにつれて、検証コードジェネレータセットには、新しい検証コードジェネレータの出現とともに新しい検証コードジェネレータを組み込むことができる。もちろん、検証コードジェネレータセットは、検証コードクラスおよび属性要件に基づいて選択された検証コードジェネレータを含むことができる。
一部の実施形態では、検証コードクラスは、所望の検証コードが数字検証コードであるか、テキストに基づく検証コードであるか、文字に基づく検証コードであるか、またはその他の何らかのタイプの検証コードであるかを指している。各クラスの検証コードが生成されるときは、そのクラスの検証コードを形成するための何らかの属性要件を指定することができる。属性要件の例として、検証コードが4桁の数字に相当すること、検証コードが各桁に3から9までしか含まないこと、検証コードが無作為生成文字の位置のシフトを要求すること等が挙げられる。検証コードクラスおよび属性要件に基づいて、例えば3456、3457、5698などの、特定の検証コードクラスのための様々な表現および値が生成できる。
110では、サーバは、現行使用セットを構成するために、検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択する。
検証コードジェネレータがどのようにして検証コードジェネレータセットのなかから選択されるかに対し、制約はない。一部の実施形態では、サーバ上における特定のセキュリティ上の必要性、ユーザの好み、またはそのようなその他の要因に基づいて、或るスクリーニング技術、またはスクリーニング技術を指定する或るやり方が用いられる。例えば、必要とされるセキュリティレベルが低い低リスク設定では、小さい数(例えば、2つの)検証ジェネレータが低セキュリティスクリーニング技術で使用される。高リスク設定では、大きい数(例えば、4つまたは5つ以上の)検証ジェネレータが高セキュリティスクリーニング技術で使用される。本明細書で言うスクリーニング技術は、どの検証コードジェネレータがどの順番で選択されるかを指定する。別の言い方をすると、スクリーニング技術は、検証コードジェネレータの配列を指定する。
検証コードジェネレータプロセスは、様々な検証コードジェネレータの組み合わせに基づく。低リスク設定では、単純な検証コードが生成できる。例えば、検証コードが生成されるときに、検証コードは、各桁が3から9までの値を有する4桁であり、したがって、ユーザは、例えば3467などの検証コードを見せられる。高リスク設定では、ユーザがボットではないことを確かめるために、検証コードジェネレータの組み合わせが使用できる(例えば、検証コードは、複数の部分検証コードの組み合わせに基づいて生成される)。複数の部分検証コードの組み合わせを使用すると、1つの検証コードクラスが使用される代わりに様々な検証コードクラスの組み合わせが使用されるので、機械学習が、より難しくなる。例えば、数字に漢字を加えるなど2つの検証コードクラスが使用できる。例えば、ユーザは、「3456中国」のような検証コードを見せられる。ここで、「中国」は、「China」の漢字に相当する。
例えば、N(Nは、2以上の自然数である)個の検証コードジェネレータを含むセットのなかからM(Mは、2以上で尚且つN以下の自然数である)個の検証コードジェネレータを無作為に選択し、そのセットのなかで検証コードジェネレータが出現する順番に基づいて、現行使用セットのスクリーニング技術を編成することができる。このやり方では、現行使用セットは、C(N,M)通りの可能性(N個のなかからM個を選択する、即ち
Figure 0006433508
通りの組み合わせ)を有する。もし、M個の検証コードジェネレータが無作為に選択され、それらが選択される順番に基づいて、現行使用セットのスクリーニング技術が編成されるならば、現行使用の配列は、P(N,M)通りの可能性(N(N−1)(N−2)…(N−M+1)通りの順列)を有する。これらの状況下では、現行使用セットは、実際は、一連の検証ジェネレータを示すことになる。
別の一例では、検証コードジェネレータセットが7つの検証コードジェネレータを含み、そのうち、3つの検証コードジェネレータがASCII文字検証モードを使用し、2つの検証コードジェネレータが音声検証モードを使用し、2つの検証コードジェネレータが質問と回答検証モードを使用すると想定する。任意の2つの検証モードが選択できる。各検証モードから、現行使用セットを構成するために任意の検証コードジェネレータが選択できる。或いは、現行使用セットを構成するために、3つの検証モードの各モードから1つずつ検証コードジェネレータを選択して無作為に配列させることができる。
上記2つの例は、決まったスクリーニング技術が用いられる状況であると見なすことができる。一部の実施形態では、現行使用セットを構成するために使用できるスクリーニング技術が可変である。例えば、プロセス100は、任意の2つ、任意の3つ、または任意の4つの検証コードジェネレータを順繰りに回る。現行使用セットは、2つ、3つ、または4つの検証コードジェネレータを含むことになり、含まれる検証コードジェネレータの数は、その都度異なる。
一実装形態では、先ず、1つまたは複数のスクリーニング技術が事前に準備される。現行使用セットのための検証コードジェネレータが選択されるときは、1つまたは複数の事前に準備されたスクリーニング技術のなかから1つのスクリーニング技術が指定される。指定されたスクリーニング技術に基づいて、検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータが選択される。一実装形態では、任意のスクリーニング技術が事前に準備可能である。現行使用セットを生成するためにスクリーニング技術の1つを指定することに対し、いかなる制約も課されない。
例えば、1つまたは複数の事前に準備されたスクリーニング技術のなかから1つのスクリーニング技術が無作為に選択される、または2つ以上の事前に準備されたスクリーニング技術が順繰りに使用される。別の一例では、同じアドレスのクライアントには、以前使用されたスクリーニング技術とは異なる別のスクリーニング技術が選択される。
一部の実施形態では、使用されるスクリーニング技術は、ユーザの行動記録に基づいて選択できる。事前に準備された技術が様々な複雑度を有する(例えば、スクリーニング技術によっては、複雑度が高いと記されたものがある)場合は、ユーザの過去の行動記録に基づいて、特定の複雑度を有する技術が選択できる。
例えば、一定の時間区分内におけるユーザのログイン失敗回数が記録される。一定の時間区分内における失敗回数が0である場合は、2つの数字検証コードジェネレータを組み合わせるスクリーニング技術が利用できる。一定の時間区分内の失敗回数が1である場合は、1つの数字検証コードジェネレータと、1つの質問と回答検証コードジェネレータとを組み合わせるスクリーニング技術が使用できる。一定の時間区分内の失敗回数が2である場合は、4つの検証モードの検証コードジェネレータを組み合わせるスクリーニング技術が使用できる。別の一例では、ユーザが自動的にログインするためにボットを使用した疑いがある場合に、そのユーザには、最も複雑度が高いスクリーニング技術が使用される。
過度に複雑な検証コードは、セキュリティを向上できる一方で、或る程度の不便性によってユーザを苦しめる恐れがある。ユーザの過去の行動記録に基づいて、ユーザの個人的意図を推定し、相応する複雑度の検証コードを適用することによって、セキュリティとユーザ利便性との間で上手くバランスをとることができる。
なお、本実施形態では、現行使用セットが、現時点で使用されている検証コードジェネレータの集合であることができる。現行使用セットは、また、現在使用中である検証コードジェネレータの配列であることもできる。別の言い方をすると、現行使用セットは、構成要素の順番に無関係であることができる、または構成要素の順番に関係していることができる。
120では、サーバは、対応する部分検証コードを得るために、現行使用セットのなかの各検証コードジェネレータを実行する。
現行使用セットが生成された後は、現行使用セットのなかの各検証コードジェネレータが個別に実行できる。各検証コードジェネレータは、そのジェネレータ自身の技術に対応する部分検証コードを生成する。同時に、各検証コードジェネレータは、検証コードジェネレータの正しい出力に相当する値を有する対応する部分検証コードチェックサムも生成する。例えば、検証コードとしてASCII値を出力するASCII検証コードジェネレータの場合は、部分検証コードチェックサムは、出力されている値であり、検証コードとして質問を出力する質問と回答検証コードジェネレータの場合は、部分検証コードチェックサムは、質問に対して期待される回答であり、検証コードとして画像を出力する写真に基づく検証コードジェネレータの場合は、部分検証コードチェックサムは、出力された画像内に示された値である。その他の部分検証コードチェックサムが、様々なタイプの検証コードジェネレータのために使用できる。チェックサムは、対応する画像検証コードまたはその他のタイプの検証コードを有し、ユーザが入力したものと比較される。
130では、サーバは、部分検証コードから現行検証コードを構成する。
一部の実施形態では、現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードが組み合わされ、部分検証コードを組み合わせた結果が現行検証コードを形成する。一部の実施形態では、各検証コードジェネレータによって生成された部分検証コードチェックサムが組み合わされ、部分検証コードチェックサムを組み合わせた結果が現行検証コードチェックサムを形成する。検証コードおよびそれに対応する検証コードチェックサムは、クライアントが検証にパスするかどうかをチェックするためにチェックサムを正しく使用することが可能であるように、同じ順番で組み合わせることができる。
一部の実施形態では、現行使用セットが構成要素の順番に関係付けられている場合に、現行使用セットのなかの検証コードジェネレータの配列は、対応する部分検証コードを組み合わせて現行検証コードを構成するための基準としての役割を果たす。同様に、対応する検証コードチェックサムも、それらの配列に基づいて組み合わされて現行検証コードチェックサムに構成される。
一部の実施形態では、少なくとも2つのタイプの検証コードジェネレータが同時に適用され、使用されている検証コードジェネレータは通常は絶えず変化するという事実は、悪意あるユーザが、検証コードジェネレータがいくつ存在しているかのみならず、これらの検証コードジェネレータの組み合わせまたは配列がいくつ存在するかも知る必要があることを意味する。悪意あるユーザは、たとえもしこれらの検証コードジェネレータを習得したとしても、的を絞ってコード解読技術を最適化することが依然として極めて難しいことがわかるだろう。悪意あるユーザは、コードの解読に非常に長い時間を費やさなければならず、これは、悪意あるユーザにとって、コード解読のために許容レベルの成功率を実現することを難しくするだろう。
1つの検証コードジェネレータコードを解読するために費やされる平均時間が10ms(ミリ秒)であり、コード解読成功率が80%であると想定する。もし、1つの検証コードジェネレータセットが10個の検証コードジェネレータを含み、技術の組み合わせを作るために毎回最多で4つの検証コードジェネレータが選択されるならば、現行使用セットは、10,000通りの可能性を生み出すだろう。すると、コード解読に費やされる平均時間は、(10×4(1〜10,000))=40ms〜400s(秒)になる。また、コード解読成功率は、0.8×0.8×0.8×0.8≒0.4になる。このようなコード解読速度およびコード解読成功率は、コード解読者にとって非常に非魅力的であり、コード解読者がコード解読を試みようとするのを防ぐだろう。
図2は、検証コードを生成するためのプロセスの別の一実施形態のフローチャートである。一部の実施形態では、プロセス200は、図8のサーバ810によって実行され、以下を含む。
210では、サーバは、検証コードジェネレータセットおよびスクリーニング技術セットを生成する。
例えば、検証コードジェネレータセットを形成するために、数字検証コードジェネレータNum1と、数字検証コードジェネレータNum2と、混合ASCII文字検証コードジェネレータと、中国語検証コードジェネレータと、質問と回答検証コードジェネレータと、写真に基づく検証コードジェネレータとが組み合わされる。番号1〜6は、対応する検証コードジェネレータを順次表すために使用される。番号1〜4の検証コードジェネレータは、ASCII文字検証モードを使用し、番号5の検証コードジェネレータは、質問と回答検証モードを使用し、番号6の検証コードジェネレータは、写真に基づく検証モードを使用する。新しい検証コードジェネレータが使用される場合は、その新しい検証コードジェネレータを検証コードジェネレータセットに追加し、それに応じて1つ増やされた番号を振ることができる。
以下の3つのスクリーニング技術が、スクリーニング技術セットに組み込み可能である。
A. 2つの検証コードジェネレータを選択する。
B. 少なくとも2つの検証モードを使用する3つの検証コードジェネレータを選択する。
C. 数字検証コードジェネレータNum1と、ASCII文字検証コードジェネレータとを選択する。
新しいスクリーニング技術を採用するときは、その新しいスクリーニング技術をセットに追加することができる。
220では、サーバは、スクリーニング技術セットのなかから1つのスクリーニング技術を無作為に選択する。選択されたスクリーニング技術は、検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択するためにおよび該少なくとも2つの選択された検証コードジェネレータに基づいて現行使用セットを形成するために使用される。
230では、サーバは、対応する部分検証コードおよび部分検証コードチェックサムを得るために、現行使用セットのなかの各検証コードジェネレータを実行する。
240では、サーバは、現行検証コードを形成するために、部分検証コードを組み合わせる。相応するやり方で、サーバは、現行検証コードチェックサムを形成するために、部分検証コードチェックサムを組み合わせる。
例えば、動作220において、選択されたスクリーニング技術がBであると想定する。スクリーニング技術Bにしたがって生成された現行使用セットは、混合文字ASCII検証コードジェネレータ、質問と回答検証コードジェネレータ、および写真に基づく検証コードジェネレータに相当する。
図3は、混合文字検証コードジェネレータによって生成された部分検証コードの一例の図である。図2の動作230において、混合文字検証コードジェネレータによって生成された部分検証コードの例が、図3に示されており、対応する部分検証コードチェックサムは、「t00E」である。図4は、質問と回答検証コードジェネレータによって生成された部分検証コードの一例の図である。出力されている質問は、「今日は何曜日?」である。質問と回答検証コードジェネレータによって生成された部分検証コードの例が、図4に示されており、対応する部分検証コードチェックサムは、「木曜日」である。図5は、写真に基づく検証コードジェネレータによって生成された部分検証コードの一例の図である。写真に基づく検証コードジェネレータによって生成された部分検証コードの例が、図5に示されており、対応する部分検証コードチェックサムは、「303」である。
図6は、現行検証コードの一例の図である。したがって、動作240で生成された現行検証コードが、図6に示されており、現行検証コードチェックサムは、「t00E 木曜日 303」である。
現行検証コードが生成された後、サーバは、その現行検証コードをクライアントに出力する。サーバは、クライアントによって送り返されたユーザ入力を受信し、そのユーザ入力を現行検証コードチェックサムと比較する。もし、ユーザ入力と現行検証コードチェックサムとが一致するならば、ユーザは検証にパスする。
図7Aは、検証コードを生成するためのデバイスの一実施形態の論理構造図である。一部の実施形態では、デバイス700は、図1のプロセス100または図2のプロセス200を実行し、現行使用セットモジュール710と、ジェネレータ実行モジュール720と、検証コード生成モジュール730とを含む。
一部の実施形態では、現行使用セットモジュール710は、検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択し、それらの少なくとも2つの検証コードジェネレータを組み合わせて現行使用セットを形成する。
一部の実施形態では、ジェネレータ実行モジュール720は、対応する部分検証コードを得るために、現行使用セットのなかの各検証コードジェネレータを実行する。
一部の実施形態では、検証コード生成モジュール730は、現行検証コードを形成するために、部分検証コードを組み合わせる。
図7Bは、現行使用セットモジュールの一実施形態を示した論理構造図である。一部の実施形態では、現行使用セットモジュール7100は、図7Aの現行使用セットモジュール710の一実現形態であり、技術指定モジュール7110と、ジェネレータ選択モジュール7120とを含む。
一部の実施形態では、技術指定モジュール7110は、事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定する。
一部の実施形態では、ジェネレータ選択モジュール7120は、指定されたスクリーニング技術に基づいて、検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択する。
一部の実施形態では、事前に準備されたスクリーニング技術は、様々な複雑度を有する。
一部の実施形態では、現行使用セットモジュール7100は、更に、スクリーニング技術モジュール7130を含む。
一部の実施形態では、スクリーニング技術モジュール7130は、ユーザの過去の行動記録に基づいて、特定の複雑度を有する技術を選択する。
一部の実施形態では、現行使用セットモジュール7100は、更に、技術指定モジュール7140を含む。
一部の実施形態では、技術指定モジュール7140は、事前に準備されたスクリーニング技術のなかからスクリーニング技術を無作為に選択する。
図7Aに戻り、一部の実施形態では、検証コード生成モジュール730は、現行使用セットのなかの検証コードジェネレータの配列に対応する部分検証コードから現行検証コードを構成する。
一部の実施形態では、デバイス700は、更に、チェックサム生成モジュール740を含む。
一部の実施形態では、チェックサム生成モジュール740は、現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードチェックサムから現行検証コードチェックサムを構成する。
図7Cは、検証コードジェネレータセットの一例の論理構造図である。一部の実施形態では、検証コードジェネレータセットは、数字検証コードジェネレータと、混合ASCII文字検証コードジェネレータと、中国語検証コードジェネレータと、質問と回答検証コードジェネレータと、写真に基づく検証コードジェネレータとを含む。
上記の説明からわかるように、従来の単一の検証コードジェネレータは、使用のたびに1つの検証コードを生成する。これに対し、本出願の実施形態は、検証コードを生成するために、2つまたは3つ以上の検証コードジェネレータを同時に使用し、使用のたびに検証コードジェネレータを変更するのが通常である。したがって、コード解読のために必要とされる時間が長くなるのみならず、コード解読成功率も低下し、ネットワークセキュリティが向上する。
本出願の実施形態は、上述されたプロセスフローの実行に対応する検証コード生成デバイスも提供する。このデバイスは、ソフトウェアを通じて実現できる、またはハードウェア、もしくはソフトウェアとハードウェアとの組み合わせを通じて実現できる。
図8は、検証コードを生成するためのシステムの一実施形態の図である。一部の実施形態では、システム800は、ネットワーク830を通じてクライアント820に接続されたサーバ810を含む。
一部の実施形態では、サーバ810は、現行使用セットを構成するために、検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択し、対応する部分検証コードを得るために、現行使用セットのなかの各検証コードジェネレータを動作させ、部分検証コードから現行検証コードを構成する。
クライアント820は、少なくとも2つの検証コードジェネレータによって生成された検証コードチェックサムと照合されるユーザ入力を提供する。
図9は、検証コードを生成するためのプログラムドコンピュータシステムの一実施形態を示した機能図である。検証コードの生成には、その他のコンピュータシステムアーキテクチャおよびコンピュータシステム構成も使用できることが明らかである。後述のような様々なサブシステムを含むコンピュータシステム900は、少なくとも1つのマイクロプロセッササブシステム(プロセッサまたは中央演算処理装置(CPU)とも呼ばれる)902を含む。例えば、プロセッサ902は、シングルチッププロセッサによってまたは複数のプロセッサによって実現できる。一部の実施形態では、プロセッサ902は、コンピュータシステム900の動作を制御する汎用デジタルプロセッサである。メモリ910から取り出された命令を使用して、プロセッサ902は、入力データの受信および操作、ならびに出力デバイス(例えば、ディスプレイ918)へのデータの出力および表示を制御する。
プロセッサ902は、メモリ910に双方向に接続され、該メモリ910は、通常はランダムアクセスメモリ(RAM)である第1の一次ストレージと、通常は読み出し専用メモリ(ROM)である第2の一次ストレージエリアとを含むことができる。当該分野で周知のように、一次ストレージは、汎用ストレージエリアとしておよびスクラッチパッドメモリとして使用でき、入力データおよび処理済みデータを格納するためにも使用できる。一次ストレージは、プログラミング命令およびデータも、プロセッサ902上で起きるプロセスのためのその他のデータおよび命令に追加して、データオブジェクトおよびテキストオブジェクトの形態で格納できる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ902がその機能(例えば、プログラムド命令)を実施するために使用する基本的な動作命令、プログラムコード、データ、およびオブジェクトを含む。例えば、メモリ910は、例えば、データアクセスが双方向または単方向のいずれである必要があるかに応じ、後述の任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ902は、頻繁に必要とされるデータを直接的に且つ非常に迅速に取り出してキャッシュメモリ(不図示)に格納することもできる。
着脱式大容量ストレージデバイス912は、コンピュータシステム900のための追加のデータストレージ容量を提供し、双方向(読み出し/書き込み)にまたは単方向(読み出しのみ)のいずれかでプロセッサ902に接続される。例えば、ストレージ912は、磁気テープ、フラッシュメモリ、PCカード、ポータブル大容量ストレージデバイス、ホログラフィックストレージデバイス、およびその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ920も、追加のデータストレージ容量を提供できる。大容量ストレージ920として最も一般的な例は、ハードディスクドライブである。大容量ストレージ912および920は、一般に、プロセッサ902によって通常は能動的に使用されていない追加のプログラミング命令やデータといったものを格納する。大容量ストレージ912および920に保持される情報は、必要に応じて、仮想メモリとしてメモリ910(例えば、RAM)の一部に標準的に組み込み可能であることがわかる。
バス914は、プロセッサ902がストレージサブシステムにアクセスすることを可能にすることに加えて、その他のサブシステムおよびデバイスへのアクセスを可能にするためにも使用できる。図に示されるように、これらとしては、ディスプレイモニタ918、ネットワークインターフェース916、キーボード904、およびポインティングデバイス906はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、およびその他のサブシステムが挙げられる。例えば、ポインティングデバイス906は、マウス、スタイラス、トラックボール、またはタブレットであってよく、グラフィカルユーザインターフェースとのやり取りに有用である。
ネットワークインターフェース916は、図に示されるようなネットワーク接続を使用してプロセッサ902が別のコンピュータ、コンピュータネットワーク、または電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース916を通じて、プロセッサ902は、方法/プロセスのステップを実施する過程において、別のネットワークから情報(例えば、データオブジェクトもしくはプログラム命令)を受信できるまたは別のネットワークに情報を出力できる。情報は、プロセッサ上で実行される一連の命令として表されることが多く、別のネットワークから受信できるまたは別のネットワークに出力できる。コンピュータシステム900を外部ネットワークに接続するためにおよびデータを標準プロトコルにしたがって転送するために、インターフェースカードまたは類似のデバイス、およびプロセッサ902によって実現される(例えば、プロセッサ709上で実行される/実施される)適切なソフトウェアが使用できる。例えば、本明細書で開示される様々なプロセスの実施形態は、プロセッサ902上で実行できる、または処理の一部を共有するリモートプロセッサと協働でインターネット、イントラネットネットワーク、もしくはローカルエリアネットワークなどのネットワークで実施できる。プロセッサ902には、ネットワークインターフェース916を通じて追加の大容量ストレージデバイス(不図示)も接続できる。
コンピュータシステム900と協働して、補助入出力デバイスインターフェース(不図示)が使用できる。補助入出力デバイスインターフェースは、プロセッサ902がマイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き文字認識装置、生体認証リーダ、カメラ、ポータブル大容量ストレージデバイス、およびその他のコンピュータなどの他のデバイスにデータを送信することを、および更に一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用ならびに専用のインターフェースを含むことができる。
図9に示されるコンピュータシステムは、本明細書で開示される様々な実施形態での使用に適したコンピュータシステムの一例に過ぎない。このような使用に適したその他のコンピュータシステムは、より多くの、またはより少ないサブシステムを含むことができる。また、バス914は、サブシステムをリンクする働きをする任意の相互接続方式を例示したものである。異なる設定のサブシステムを有するその他のコンピュータアーキテクチャも利用できる。
上述されたモジュールは、1つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、またはプログラマブルロジックデバイス、および/もしくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、またはそれらの組み合わせとして実装できる。一部の実施形態では、これらのモジュールは、本発明の実施形態で説明される方法を(パソコン、サーバ、ネットワーク機器等などの)コンピュータデバイスに実行させるための幾つかの命令を含み尚且つ(光ディスク、フラッシュストレージデバイス、モバイルハードディスク等などの)不揮発性ストレージ媒体に格納できるソフトウェア製品の形態で具現化できる。モジュールは、1つのデバイス上に実装されてよい、または複数のデバイスに分散されてよい。モジュールの機能は、互いに合体されてよい、または複数のサブモジュールに更に分割されてよい。
本明細書に開示された実施形態に照らして説明された方法またはアルゴリズムステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、またはそれらの組み合わせを使用して実現できる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、電気的に消去可能なROM、電気的に消去可能なプログラマブルROM、レジスタ、ハードドライブ、着脱式ディスク、CD−ROM、または当該技術分野で知られるその他の任意の形態のストレージ媒体にインストールできる。
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するには、数々の代替手法がある。開示された実施形態は、例示的なものであり、限定的なものではない。
本発明は、たとえば、以下のような態様で実現することもできる。
[適用例1]
方法であって、
現行使用セットを構成するために、複数の検証コードジェネレータを含む検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することと、
対応する部分検証コードを得るために、前記現行使用セットのなかの各検証コードジェネレータを実行することと、
前記部分検証コードから現行検証コードを構成することと、
前記現行検証コードをユーザに出力することと、
前記現行検証コードに応えてなされたユーザ応答を受信することと、
前記ユーザが検証にパスするかどうかを決定するために、前記現行検証コードと前記ユーザ応答とを比較することと、
を備える方法。
[適用例2]
適用例1の方法であって、
前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することは、
複数の事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することであって、前記複数の事前に準備されたスクリーニング技術は、対応する複数の検証コードジェネレータ配列を指定する、スクリーニング技術の指定と、
前記指定されたスクリーニング技術に基づいて、前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することと、
を含む、方法。
[適用例3]
適用例2の方法であって、
前記事前に準備されたスクリーニング技術は、様々な複雑度を有し、
前記事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することは、前記ユーザの過去の行動データに基づいて、特定の複雑度を有するスクリーニング技術を選択することを含む、方法。
[適用例4]
適用例2の方法であって、
前記事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することは、前記事前に準備されたスクリーニング技術のなかから無作為にスクリーニング技術を選択することを含む、方法。
[適用例5]
適用例1の方法であって、
前記部分検証コードから現行検証コードを構成することは、前記現行使用セットのなかの前記少なくとも2つの検証コードジェネレータからなる配列に対応する前記部分検証コードから現行検証コードを構成することを含む、方法。
[適用例6]
適用例1の方法であって、更に、
前記現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードチェックサムから現行検証コードチェックサムを構成することを備える方法。
[適用例7]
適用例1の方法であって、
前記現行使用セットのなかの前記選択された少なくとも2つの検証コードジェネレータによって、少なくとも2つの検証モードが使用される、方法。
[適用例8]
システムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに接続され、前記少なくとも1つのプロセッサに命令を提供するように構成されたメモリと、
を備え、
前記少なくとも1つのプロセッサは、
現行使用セットを構成するために、複数の検証コードジェネレータを含む検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することと、
対応する部分検証コードを得るために、前記現行使用セットのなかの各検証コードジェネレータを実行することと、
前記部分検証コードから現行検証コードを構成することと、
前記現行検証コードをユーザに出力することと、
前記現行検証コードに応えてなされたユーザ応答を受信することと、
前記ユーザが検証にパスするかどうかを決定するために、前記現行検証コードと前記ユーザ応答とを比較することと、
を行うように構成される、システム。
[適用例9]
適用例8のシステムであって、
前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することは、
複数の事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することであって、前記複数の事前に準備されたスクリーニング技術は、対応する複数の検証コードジェネレータ配列を指定する、スクリーニング技術の指定と、
前記指定されたスクリーニング技術に基づいて、前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することと、
を含む、システム。
[適用例10]
適用例9のシステムであって、
前記事前に準備されたスクリーニング技術は、様々な複雑度を有し、
前記事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することは、前記ユーザの過去の行動データに基づいて、特定の複雑度を有するスクリーニング技術を選択することを含む、システム。
[適用例11]
適用例9のシステムであって、
前記事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することは、前記事前に準備されたスクリーニング技術のなかから無作為にスクリーニング技術を選択することを含む、システム。
[適用例12]
適用例8のシステムであって、
前記部分検証コードから現行検証コードを構成することは、前記現行使用セットのなかの前記少なくとも2つの検証コードジェネレータからなる配列に対応する前記部分検証コードから現行検証コードを構成することを含む、システム。
[適用例13]
適用例8のシステムであって、
前記少なくとも1つのプロセッサは、更に、
前記現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードチェックサムから現行検証コードチェックサムを構成するように構成される、システム。
[適用例14]
有形の非一過性のコンピュータ読み取り可能ストレージ媒体に記録されたコンピュータプログラム製品であって、
現行使用セットを構成するために、複数の検証コードジェネレータを含む検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択するためのコンピュータ命令と、
対応する部分検証コードを得るために、前記現行使用セットのなかの各検証コードジェネレータを実行するためのコンピュータ命令と、
前記部分検証コードから現行検証コードを構成するためのコンピュータ命令と、
前記現行検証コードをユーザに出力するためのコンピュータ命令と、
前記現行検証コードに応えてなされたユーザ応答を受信するためのコンピュータ命令と、
前記ユーザが検証にパスするかどうかを決定するために、前記現行検証コードと前記ユーザ応答とを比較するためのコンピュータ命令と、
を備えるコンピュータプログラム製品。
[適用例15]
適用例14のコンピュータプログラム製品であって、
前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することは、
複数の事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することであって、前記複数の事前に準備されたスクリーニング技術は、対応する複数の検証コードジェネレータ配列を指定する、スクリーニング技術の指定と、
前記指定されたスクリーニング技術に基づいて、前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することと、
を含む、コンピュータプログラム製品。
[適用例16]
適用例15のコンピュータプログラム製品であって、
前記事前に準備されたスクリーニング技術は、様々な複雑度を有し、
前記事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することは、前記ユーザの過去の行動データに基づいて、特定の複雑度を有するスクリーニング技術を選択することを含む、コンピュータプログラム製品。
[適用例17]
適用例15のコンピュータプログラム製品であって、
前記事前に準備されたスクリーニング技術のなかからスクリーニング技術を指定することは、前記事前に準備されたスクリーニング技術のなかから無作為にスクリーニング技術を選択することを含む、コンピュータプログラム製品。
[適用例18]
適用例14のコンピュータプログラム製品であって、
前記部分検証コードから現行検証コードを構成することは、前記現行使用セットのなかの前記少なくとも2つの検証コードジェネレータからなる配列に対応する前記部分検証コードから現行検証コードを構成することを含む、コンピュータプログラム製品。
[適用例19]
適用例14のコンピュータプログラム製品であって、更に、
前記現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードチェックサムから現行検証コードチェックサムを構成することを備えるコンピュータプログラム製品。
[適用例20]
適用例14のコンピュータプログラム製品であって、
前記現行使用セットのなかの前記選択された少なくとも2つの検証コードジェネレータによって、少なくとも2つの検証モードが使用される、コンピュータプログラム製品。

Claims (11)

  1. 方法であって、
    現行使用セットを構成するために、複数の検証コードジェネレータを含む検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することであって、
    複数の事前に準備されたスクリーニング技術のなかから、ユーザの過去の行動データに基づいて、スクリーニング技術を指定することであって、前記複数のスクリーニング技術は、対応する複数の検証コードジェネレータ配列を指定し、様々な複雑度を有する、スクリーニング技術の指定と、
    前記指定されたスクリーニング技術に基づいて、前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することと、
    を含む、少なくとも2つの検証コードジェネレータの選択と、
    対応する部分検証コードを得るために、前記現行使用セットのなかの各検証コードジェネレータを実行することと、
    前記部分検証コードから現行検証コードを構成することと、
    前記現行検証コードを前記ユーザに出力することと、
    前記現行検証コードに応えてなされたユーザ応答を受信することと、
    前記ユーザが検証にパスするかどうかを決定するために、前記現行検証コードと前記ユーザ応答とを比較することと、
    を備える方法。
  2. 請求項1に記載の方法であって、
    前記部分検証コードから現行検証コードを構成することは、前記現行使用セットのなかの前記少なくとも2つの検証コードジェネレータからなる配列に対応する前記部分検証コードから現行検証コードを構成することを含む、方法。
  3. 請求項1に記載の方法であって、更に、
    前記現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードチェックサムから現行検証コードチェックサムを構成することを備える方法。
  4. 請求項1に記載の方法であって、
    前記現行使用セットのなかの前記選択された少なくとも2つの検証コードジェネレータによって、少なくとも2つの検証モードが使用される、方法。
  5. システムであって、
    少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに接続され、前記少なくとも1つのプロセッサに命令を提供するように構成されたメモリと、
    を備え、
    前記少なくとも1つのプロセッサは、
    現行使用セットを構成するために、複数の検証コードジェネレータを含む検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することであって、
    複数の事前に準備されたスクリーニング技術のなかから、ユーザの過去の行動データに基づいて、スクリーニング技術を指定することであって、前記複数のスクリーニング技術は、対応する複数の検証コードジェネレータ配列を指定し、様々な複雑度を有する、スクリーニング技術の指定と、
    前記指定されたスクリーニング技術に基づいて、前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択することと、
    を含む、少なくとも2つの検証コードジェネレータの選択と、
    対応する部分検証コードを得るために、前記現行使用セットのなかの各検証コードジェネレータを実行することと、
    前記部分検証コードから現行検証コードを構成することと、
    前記現行検証コードを前記ユーザに出力することと、
    前記現行検証コードに応えてなされたユーザ応答を受信することと、
    前記ユーザが検証にパスするかどうかを決定するために、前記現行検証コードと前記ユーザ応答とを比較することと、
    を行うように構成される、システム。
  6. 請求項5に記載のシステムであって、
    前記部分検証コードから現行検証コードを構成することは、前記現行使用セットのなかの前記少なくとも2つの検証コードジェネレータからなる配列に対応する前記部分検証コードから現行検証コードを構成することを含む、システム。
  7. 請求項5に記載のシステムであって、
    前記少なくとも1つのプロセッサは、更に、
    前記現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードチェックサムから現行検証コードチェックサムを構成するように構成される、システム。
  8. コンピュータプログラムであって、コンピュータを使用して、
    現行使用セットを構成するために、複数の検証コードジェネレータを含む検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択する機能であって、
    複数の事前に準備されたスクリーニング技術のなかから、ユーザの過去の行動データに基づいて、スクリーニング技術を指定する機能であって、前記複数のスクリーニング技術は、対応する複数の検証コードジェネレータ配列を指定し、様々な複雑度を有する、スクリーニング技術の指定の機能と、
    前記指定されたスクリーニング技術に基づいて、前記検証コードジェネレータセットのなかから少なくとも2つの検証コードジェネレータを選択する機能と、
    を含む、少なくとも2つの検証コードジェネレータを選択する機能と、
    対応する部分検証コードを得るために、前記現行使用セットのなかの各検証コードジェネレータを実行する機能と、
    前記部分検証コードから現行検証コードを構成する機能と、
    前記現行検証コードを前記ユーザに出力する機能と、
    前記現行検証コードに応えてなされたユーザ応答を受信する機能と、
    前記ユーザが検証にパスするかどうかを決定するために、前記現行検証コードと前記ユーザ応答とを比較する機能と、
    を実現させるための、コンピュータプログラム。
  9. 請求項8に記載のコンピュータプログラムであって、
    前記部分検証コードから現行検証コードを構成することは、前記現行使用セットのなかの前記少なくとも2つの検証コードジェネレータからなる配列に対応する前記部分検証コードから現行検証コードを構成することを含む、コンピュータプログラム。
  10. 請求項8に記載のコンピュータプログラムであって、更に、
    前記現行使用セットのなかの各検証コードジェネレータによって生成された部分検証コードチェックサムから現行検証コードチェックサムを構成することを備えるコンピュータプログラム。
  11. 請求項8に記載のコンピュータプログラムであって、
    前記現行使用セットのなかの前記選択された少なくとも2つの検証コードジェネレータによって、少なくとも2つの検証モードが使用される、コンピュータプログラム。
JP2016561704A 2014-05-08 2015-05-06 検証コードを生成するための方法およびシステム Active JP6433508B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201410194197.7 2014-05-08
CN201410194197.7A CN105095726B (zh) 2014-05-08 2014-05-08 生成验证码的方法及装置
US14/704,819 US10489576B2 (en) 2014-05-08 2015-05-05 Method and system for generating verification codes
US14/704,819 2015-05-05
PCT/US2015/029378 WO2015171702A1 (en) 2014-05-08 2015-05-06 Method and system for generating verification codes

Publications (2)

Publication Number Publication Date
JP2017520817A JP2017520817A (ja) 2017-07-27
JP6433508B2 true JP6433508B2 (ja) 2018-12-05

Family

ID=54368079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016561704A Active JP6433508B2 (ja) 2014-05-08 2015-05-06 検証コードを生成するための方法およびシステム

Country Status (7)

Country Link
US (2) US10489576B2 (ja)
EP (1) EP3140978B1 (ja)
JP (1) JP6433508B2 (ja)
KR (1) KR101978934B1 (ja)
CN (1) CN105095726B (ja)
TW (1) TWI649670B (ja)
WO (1) WO2015171702A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250755B (zh) * 2016-07-28 2021-11-19 北京旷视科技有限公司 用于生成验证码的方法及装置
US11636941B2 (en) 2016-12-15 2023-04-25 Conquer Your Addiction Llc Dynamic and adaptive systems and methods for rewarding and/or disincentivizing behaviors
WO2018112047A2 (en) 2016-12-15 2018-06-21 Williams David H Systems and methods of using wireless location, context, and/or one or more communication networks for monitoring for, preempting and/or mitigating pre-identified behavior
US10497242B2 (en) 2016-12-15 2019-12-03 David H. Williams Systems and methods for monitoring for and preempting pre-identified restriction violation-related behavior(s) of persons under restriction
US10853897B2 (en) 2016-12-15 2020-12-01 David H. Williams Systems and methods for developing, monitoring, and enforcing agreements, understandings, and/or contracts
US11412353B2 (en) 2016-12-15 2022-08-09 Conquer Your Addiction Llc Systems and methods for monitoring for and preempting the risk of a future occurrence of a quarantine violation
CN107342995A (zh) * 2017-07-03 2017-11-10 深圳市全民合伙人科技有限公司 一种用户信息处理方法及系统
CN110730152B (zh) * 2018-07-16 2021-11-26 杭州海康威视数字技术股份有限公司 一种登录验证方法、装置及电子设备
CN111382413A (zh) * 2018-12-28 2020-07-07 武汉极意网络科技有限公司 存储器、基于推理的验证码实现方法、装置和设备
CN110427745B (zh) * 2019-07-02 2022-03-08 五八有限公司 验证码获取方法、装置、电子设备和计算机可读介质
CN110995677A (zh) * 2019-11-22 2020-04-10 河北网新科技集团有限公司 一种验证码生成方法、登录验证方法及登录验证系统
CN111177689A (zh) * 2019-12-30 2020-05-19 广东智媒云图科技股份有限公司 验证码的生成方法及装置
US20240126641A1 (en) * 2021-01-22 2024-04-18 Alibaba Group Holding Limited End to end check code protection in storage engine
KR20230016792A (ko) * 2021-07-27 2023-02-03 주식회사 에스투더블유 웹 사이트 수집 방법 및 장치
US12099817B2 (en) * 2022-01-27 2024-09-24 Accenture Global Solutions Limited Intelligent industry compliance reviewer

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69320321T2 (de) 1993-02-05 1998-12-24 Hewlett-Packard Co., Palo Alto, Calif. Verfahren und Gerät zum Nachprüfen von CRC-Koden, wobei CRC Teilkode kombiniert werden
WO2000034867A1 (en) * 1998-12-09 2000-06-15 Network Ice Corporation A method and apparatus for providing network and computer system security
US6915426B1 (en) * 1999-07-23 2005-07-05 Networks Associates Technology, Inc. System and method for enabling authentication at different authentication strength-performance levels
US7069435B2 (en) * 2000-12-19 2006-06-27 Tricipher, Inc. System and method for authentication in a crypto-system utilizing symmetric and asymmetric crypto-keys
JP3659178B2 (ja) * 2001-02-22 2005-06-15 日本電信電話株式会社 分散ディジタル署名作成方法及び装置及び分散ディジタル署名付ディジタル文書作成方法及び装置及び分散ディジタル署名作成プログラム及び分散ディジタル署名作成プログラムを格納した記憶媒体
US20030035646A1 (en) 2001-08-20 2003-02-20 Vat 19, Llc Digital video device having a verification code thereon and method of generating a verification code
US8171298B2 (en) * 2002-10-30 2012-05-01 International Business Machines Corporation Methods and apparatus for dynamic user authentication using customizable context-dependent interaction across multiple verification objects
JP4034743B2 (ja) * 2004-01-23 2008-01-16 株式会社東芝 多重署名方法、装置、プログラム及びシステム
US8601538B2 (en) 2006-08-22 2013-12-03 Fuji Xerox Co., Ltd. Motion and interaction based CAPTCHA
CN101447872B (zh) * 2007-11-27 2011-09-28 阿里巴巴集团控股有限公司 一种用户身份验证方法、系统及验证码生成维护子系统
JP4584300B2 (ja) * 2007-12-19 2010-11-17 富士通株式会社 電子署名プログラム、コンピュータにより読み取り可能な記録媒体、電子署名装置、電子署名方法
CN101197678B (zh) * 2007-12-27 2011-04-06 腾讯科技(深圳)有限公司 图片验证码生成方法和图片验证码生成装置
WO2010055159A2 (en) * 2008-11-14 2010-05-20 Lumex As Completely automatic public turing test to tell computers and humans apart (captcha) based on a multiple of different captcha methods
US8910251B2 (en) 2009-03-06 2014-12-09 Facebook, Inc. Using social information for authenticating a user session
JP2011048497A (ja) 2009-08-25 2011-03-10 Ricoh Co Ltd アンチロボットテストシステム、アンチロボットテスト方法、アンチロボットテストサーバ
JP5020306B2 (ja) 2009-12-04 2012-09-05 ヤフー株式会社 サーバ装置及びサービス提供方法
TWI448923B (zh) * 2010-03-15 2014-08-11 F2Ware Inc 全自動區分計算機和人類的測試管理方法與系統,及其電腦程式產品
US8640212B2 (en) * 2010-05-27 2014-01-28 Red Hat, Inc. Securing passwords with CAPTCHA based hash when used over the web
US9118666B2 (en) * 2010-06-30 2015-08-25 Google Inc. Computing device integrity verification
TW201228326A (en) * 2010-12-28 2012-07-01 Gamania Digital Entertainment Co Ltd Method for generating dynamic authimage by means of utilizing character arrangement
US20130145441A1 (en) 2011-06-03 2013-06-06 Dhawal Mujumdar Captcha authentication processes and systems using visual object identification
US9621528B2 (en) 2011-08-05 2017-04-11 24/7 Customer, Inc. Creating and implementing scalable and effective multimedia objects with human interaction proof (HIP) capabilities, with challenges comprising secret question and answer created by user, and advertisement corresponding to the secret question
US20130104187A1 (en) * 2011-10-18 2013-04-25 Klaus Helmut Weidner Context-dependent authentication
WO2013096601A1 (en) * 2011-12-20 2013-06-27 Visa International Service Association Familiar dynamic human challenge response test content
KR101859942B1 (ko) 2012-01-06 2018-05-21 캬피 인크 캡차 제공 방법 및 캡차 제공 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록 매체
CN102594811A (zh) * 2012-01-15 2012-07-18 青岛印象派信息技术有限公司 视频验证码云技术
US8904493B1 (en) * 2012-08-29 2014-12-02 Google Inc. Image-based challenge-response testing
CN103731403B (zh) 2012-10-12 2017-06-23 阿里巴巴集团控股有限公司 一种验证码生成系统及方法
US9129100B2 (en) 2012-12-13 2015-09-08 Huawei Technologies Co., Ltd. Verification code generation and verification method and apparatus

Also Published As

Publication number Publication date
KR20160135239A (ko) 2016-11-25
WO2015171702A1 (en) 2015-11-12
CN105095726A (zh) 2015-11-25
TWI649670B (zh) 2019-02-01
US11574040B2 (en) 2023-02-07
EP3140978A1 (en) 2017-03-15
TW201543256A (zh) 2015-11-16
US20150324573A1 (en) 2015-11-12
KR101978934B1 (ko) 2019-05-16
EP3140978B1 (en) 2024-02-21
US20200193010A1 (en) 2020-06-18
US10489576B2 (en) 2019-11-26
CN105095726B (zh) 2018-05-11
JP2017520817A (ja) 2017-07-27

Similar Documents

Publication Publication Date Title
JP6433508B2 (ja) 検証コードを生成するための方法およびシステム
JP6585301B2 (ja) Captchaチャレンジの動的な更新
US11582139B2 (en) System, method and computer readable medium for determining an event generator type
CN105849691B (zh) 用于代码虚拟化和远程进程调用生成的方法和装置
TWI787211B (zh) 驗證方法及裝置
US20160173476A1 (en) Credential validation using multiple computing devices
US20090150983A1 (en) System and method for monitoring human interaction
US9626495B2 (en) Authenticating a device based on availability of other authentication methods
US8392986B1 (en) Evaluating text-based access strings
JP2016511475A (ja) 人間を機械から区別するための方法及びシステム
JP2006164237A (ja) 話者照会および逆チューリングテストの組合せによるユーザー認証
WO2017105941A1 (en) Controlling access to online resources using device validations
US11151440B2 (en) Neural response human detector
CN103164698A (zh) 指纹库生成方法及装置、待测文本指纹匹配方法及装置
JP2015115079A (ja) 認証入力方法および装置
US11960592B2 (en) Preventing unauthorized access to personal data during authentication processes
CN104065666A (zh) 一种生成图片验证码的方法及装置
CN106250755B (zh) 用于生成验证码的方法及装置
WO2009023683A2 (en) Methods and systems for transmitting a data attribute from an authenticated system
Sahu et al. Survey on various techniques of user authentication and graphical password
CN108133132B (zh) 身份验证方法、系统和电子设备
WO2014165122A1 (en) Use of unknown user data for identifying known users
CN113508371B (zh) 用于改进计算机标识的系统和方法
CN105847216A (zh) 身份认证方法及装置
TWI342506B (en) Method of identification according to selected patterns and related computer system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180514

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: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181106

R150 Certificate of patent or registration of utility model

Ref document number: 6433508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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