(57)【要約】【課題】コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための方法、装置及びコンピュータ・プログラムを提供すること。【解決部】本方法は、チャレンジ・レスポンス・テスト画像を生成するステップを備える。前記チャレンジ・レスポンス・テスト画像を生成するステップは、（ａ）第１のマスク化画像として、実質的に形の良い第１の画像を提供するステップを有する。前記第１のマスク化画像は、形の良い第１の画像の部分から全体として構成される可視部分及び第１の複数の画像要素を有する。前記チャレンジ・レスポンス・テスト画像を生成するステップは、（ｂ）第２のマスク化画像として、少なくとも１つの形の悪い画像を提供するステップをさらに有する。前記第２のマスク化画像は、少なくとも１つの形の悪い第１の部分を有する。【選択図】  図２
2013532342.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための方法であって、
チャレンジ・レスポンス・テスト画像を生成するステップを備え、
前記チャレンジ・レスポンス・テスト画像を生成するステップが、
（ａ）第１のマスク化画像として、実質的に形の良い第１の画像を提供するステップを有し、
前記第１のマスク化画像が、形の良い第１の画像の部分から全体として構成される可視部分及び第１の複数の画像要素を有し、
（ｂ）第２のマスク化画像として、少なくとも１つの形の悪い画像を提供するステップをさらに有し、
前記第２のマスク化画像が、少なくとも１つの形の悪い第１の部分を有する、方法。
【請求項２】
前記ステップ（ａ）が、
（ａ１）前記形の良い第１の画像を提供するステップと、
（ａ２）前記形の良い第１の画像をフレームワーク内に配置することにより、前記第１の複数の画像要素を有する、形の良い第２の画像を決定するステップと、
（ａ３）前記形の良い第２の画像を決定する前記ステップ（ａ２）に応答して、前記形の良い第２の画像にマスクを適用することにより、前記第１のマスク化画像を生成するステップを有し、
前記ステップ（ｂ）が、
（ｂ１）前記形の良い第１の画像を前記フレームワーク内に配置する前記ステップ（ａ２）に応答して、前記第１の複数の画像要素から全体として構成され且つ形の悪い第２の部分を有する、形の悪い画像を生成するステップと、
（ｂ２）前記形の悪い画像を生成することに応答して、前記形の悪い画像にマスクを適用することにより、前記第２のマスク化画像を生成するステップを有する、請求項１に記載の方法。
【請求項３】
前記チャレンジ・レスポンス・テスト画像を生成するステップが、
（ｃ）第３の複数の画像要素を有する、前記形の良い第１の画像を提供するステップを有し、
前記第３の複数の画像要素が、前記第１の複数の画像要素を含み、
（ｄ）第４の複数の画像要素を有する、少なくとも１つの形の良い第２の画像を提供するステップと、
（ｅ）前記第３の複数の画像要素の各々をフレームワーク内に配置するステップと、
（ｆ）前記第４の複数の画像要素の各々を前記フレームワーク内に配置するステップと、
（ｇ）前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記ステップ（ｅ）及び（ｆ）に応答して、前記フレームワークに第１のマスクを適用することにより、前記第１のマスク化画像を生成するステップと、
（ｈ）前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記ステップ（ｅ）及び（ｆ）に応答して、前記フレームワークに少なくとも１つの第２のマスクを適用することにより、前記少なくとも１つの形の悪い画像を生成するステップをさらに有する、請求項１に記載の方法。
【請求項４】
前記チャレンジ・レスポンス・テスト画像を受信者に送信するステップをさらに備える、請求項１ないし請求項３の何れか１項に記載の方法。
【請求項５】
前記送信するステップに応答して、前記送信されたチャレンジ・レスポンス・テスト画像に関連する応答メッセージを受信するステップをさらに備える、請求項４に記載の方法。
【請求項６】
前記受信するステップに応答して、前記応答メッセージが、前記チャレンジ・レスポンス・テスト画像に関連する値であって、前記受信者が前記実質的に形の良い第１の画像を正しく識別したことを示す値に一致するか否かを評価するステップと、
前記応答メッセージが前記値に一致するという前記評価するステップの評価結果に応答して、認証メッセージを送信することにより、前記受信者が前記コンピュータ資源にアクセスすることを許可するステップをさらに備える、請求項５に記載の方法。
【請求項７】
前記フレームワークがＮ×Ｍグリッドである、請求項２ないし請求項６の何れか１項に記載の方法。
【請求項８】
コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための装置であって、
チャレンジ・レスポンス・テスト画像を生成し、第１のマスク化画像として、実質的に形の良い第１の画像を提供し、第２のマスク化画像として、少なくとも１つの形の悪い画像を提供するための生成部を備え、
前記第１のマスク化画像が、形の良い第１の画像の部分から全体として構成される可視部分及び第１の複数の画像要素を有し、
前記第２のマスク化画像が、少なくとも１つの形の悪い第１の部分を有する、装置。
【請求項９】
前記形の良い第１の画像を提供するための分析部と、
前記形の良い第１の画像をフレームワーク内に配置することにより、前記第１の複数の画像要素を有する、形の良い第２の画像を決定するための配置部をさらに備え、
前記生成部が、前記形の良い第２の画像を決定する前記配置部に応答して、前記形の良い第２の画像にマスクを適用することにより、前記第１のマスク化画像を生成するように動作可能であり、
前記形の良い第１の画像を前記フレームワーク内に配置する前記配置部に応答して、前記第１の複数の画像要素から全体として構成され且つ形の悪い第２の部分を有する、形の悪い画像を生成するための操作部をさらに備え、
前記生成部が、前記形の悪い画像を生成する前記操作部に応答して、前記形の悪い画像にマスクを適用することにより、前記第２のマスク化画像を生成するように動作可能である、請求項８に記載の装置。
【請求項１０】
第３の複数の画像要素を有する、前記形の良い第１の画像を提供するための分析部をさらに備え、
前記第３の複数の画像要素が、前記第１の複数の画像要素を含み、
前記分析部が、第４の複数の画像要素を有する、少なくとも１つの形の良い第２の画像を提供するように動作可能であり、
前記第３の複数の画像要素の各々をフレームワーク内に配置し且つ前記第４の複数の画像要素の各々を前記フレームワーク内に配置するための配置部をさらに備え、
前記生成部が、前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記配置部に応答して、前記フレームワークに第１のマスクを適用することにより、前記第１のマスク化画像を生成するように動作可能であり、
前記生成部が、前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記配置部に応答して、前記フレームワークに少なくとも１つの第２のマスクを適用することにより、前記少なくとも１つの形の悪い画像を生成するようにさらに動作可能である、請求項８に記載の装置。
【請求項１１】
前記チャレンジ・レスポンス・テスト画像を受信者に送信するための送信部をさらに備える、請求項８ないし請求項１０の何れか１項に記載の装置。
【請求項１２】
前記送信部に応答して、前記送信されたチャレンジ・レスポンス・テスト画像に関連する応答メッセージを受信するための受信部をさらに備える、請求項１１に記載の装置。
【請求項１３】
前記応答メッセージを受信する前記受信部に応答して、前記応答メッセージが、前記チャレンジ・レスポンス・テスト画像に関連する値であって、前記受信者が前記実質的に形の良い第１の画像を正しく識別したことを示す値に一致するか否かを評価するための評価部をさらに備え、
前記応答メッセージが前記値に一致するという前記評価部の評価結果に応答して、前記送信部が、認証メッセージを送信することにより、前記受信者が前記コンピュータ資源にアクセスすることを許可するように動作可能である、請求項１２に記載の装置。
【請求項１４】
前記フレームワークがＮ×Ｍグリッドである、請求項８ないし請求項１３の何れか１項に記載の装置。
【請求項１５】
請求項１ないし請求項７の何れか１項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チャレンジ・レスポンス・テストに係り、さらに詳細に説明すれば、コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための装置及び方法に係る。
【背景技術】
【０００２】
CAPTCHA（Completely Automated Public Turing test to tell Computers andHumans Apart）は、サーバによって設定されたテストの応答者が人間であって、他のコンピュータではないことを保証するために、コンピュータにおいて一般に使用されるチャレンジ・レスポンス・テストである。一般に、人間は、そのテストに合格するのに何の困難もないが、他のコンピュータは、そのテストに合格するのが困難である。なぜなら、テストは一般的に、他のコンピュータが持っていない認識能力を必要とするからである。従って、そのテストに合格すれば、そのテストを提示するサーバは、応答者が人間であると推測する。その場合、サーバは、そのテストに関連する保護されたコンピュータ資源への応答者のアクセスを許可することができる。
【０００３】
一般にCAPTCHAが使用されるのは、ユーザがインターネット資源（例えば、サーバ上のデータベース）にアクセスすることを望んでいる場合である。ユーザがデータベースにアクセスする前に、テストが提示される。ユーザがそのテストに合格すれば、データベースへのアクセスが許可される。ユーザがそのテストに合格しなければ、データベースへのアクセスが拒否される。従って、CAPTCHAは、ウェブ・サービス上の自動アクセス攻撃要求を防止するために使用することができる。しかし、或るコンピュータがCAPTCHAに正しく応答することができれば、このコンピュータは、保護されたコンピュータ資源にアクセスすることができる。CAPTCHAの用途の一例は、無料のＥメール・アドレス・アカウントを提供するウェブ・サイトに関するものである。一般に、そのようなウェブ・サイトは、スパマ(spammer)にとって魅力的である。というのは、スパマは、スパムを送信する複数のＥメール・アドレス・アカウントを開設することに興味を持っているからである。この例では、CAPTCHAによって保護された登録プロセスは、Ｅメール・アドレス・アカウントの自動獲得を防止するのに有用である。
【０００４】
既存のCAPTCHAは、誤りを起こしやすい。なぜなら、現在まで開発されたそのようなテストを打ち破るためのクラッキング・アルゴリズムが、コンピュータ・プログラム用に開発されているからである。テストが非常に複雑となり、そのためクラッキングのコストが法外に高くならない限り、新しいCAPTCHAは、打ち破ることができる。
【０００５】
従来技術に従ったCAPTCHAの一例は、人間のユーザに提示されたCAPTCHA画像内の１組の記号をそのユーザが確認することを必要とする。一般に、CAPTCHA画像は、１組の歪曲された記号及び背景から成る。従って、CAPTCHAは、そのユーザが歪曲された記号を認識することができるか否かをテストする。一般的な歪曲は、クラッキング・アルゴリズムにとって画像分割解析が困難となるように、記号上に斜めの線を設けたり、記号を互いに集中させるというものである。しかし、そのような分析は、困難ではあるが、不可能ではない。また、人間によって容易に認識可能であるが、マシンによって認識することが困難な態様でテキストを提示することは、困難であるという問題がある。このアプローチは、単一の文字を認識するという人間の能力に基づいている。このアプローチは、システムによって使用されるアルファベットの文字（多くの場合、ラテン文字）を使用しない、ユーザのための用途には適用することができない。しかし、非ラテン文字の図形的な歪曲は、これらの文字を解釈することをより困難にする可能性がある。また、テキストを入力することを必要とするシステムは、キーボードを持たない装置を使用する人々にとってアクセシビリティの問題を引き起こすことがある。
【０００６】
従来技術に従ったCAPTCHAの他の例は、１組のCAPTCHA画像から、特定の特性を有する或るCAPTCHA画像をユーザが選択することを必要とする。例えば、この特性は、そのCAPTCHA画像が特定の言語における或る単語を表すというものである。クラッキング・アルゴリズムは、画像分割によってこのCAPTCHA画像が表す各単語を識別し且つ各単語を辞書内の単語と比較することによって、これを打ち破ることができるであろう。選択可能なCAPTCHAの一例は、米国特許出願公開第２００９／０２３５３２７号明細書に記載されている。
【０００７】
従来技術に従ったCAPTCHAの代替例は、CAPTCHA画像内に提示された多数のオブジェクトの相対的位置に関する質問について、ユーザが回答することを必要とする。例えば、CAPTCHA画像は、普通に認識可能な４つのオブジェクトを提示することができる。そのユーザは、他のオブジェクト上にある或るオブジェクトの名前を挙げるように求められる。クラッキング・アルゴリズムは、通常のオブジェクト認識アルゴリズムを使用して、これらのオブジェクトを識別することにより、これを打ち破ることができるであろう。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第２００９／０２３５３２７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、当該技術分野では、前述の問題を解決することが要請されている。
【課題を解決するための手段】
【００１０】
本発明の第１の側面に従って、コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための方法が提供される。本方法は、チャレンジ・レスポンス・テスト画像を生成するステップを備える。前記チャレンジ・レスポンス・テスト画像を生成するステップは、
（ａ）第１のマスク化画像として、実質的に形の良い第１の画像を提供するステップを有し、
前記第１のマスク化画像は、形の良い第１の画像の部分から全体として構成される可視部分及び第１の複数の画像要素を有し、
（ｂ）第２のマスク化画像として、少なくとも１つの形の悪い画像を提供するステップをさらに有し、
前記第２のマスク化画像は、少なくとも１つの形の悪い第１の部分を有する。
【００１１】
好ましくは、本方法において、
前記ステップ（ａ）は、
（ａ１）前記形の良い第１の画像を提供するステップと、
（ａ２）前記形の良い第１の画像をフレームワーク内に配置することにより、前記第１の複数の画像要素を有する、形の良い第２の画像を決定するステップと、
（ａ３）前記形の良い第２の画像を決定する前記ステップ（ａ２）に応答して、前記形の良い第２の画像にマスクを適用することにより、前記第１のマスク化画像を生成するステップを有し、
前記ステップ（ｂ）は、
（ｂ１）前記形の良い第１の画像を前記フレームワーク内に配置する前記ステップ（ａ２）に応答して、前記第１の複数の画像要素から全体として構成され且つ形の悪い第２の部分を有する、形の悪い画像を生成するステップと、
（ｂ２）前記形の悪い画像を生成することに応答して、前記形の悪い画像にマスクを適用することにより、前記第２のマスク化画像を生成するステップを有する。
【００１２】
好ましくは、本方法において、前記チャレンジ・レスポンス・テスト画像を生成するステップは、
（ｃ）第３の複数の画像要素を有する、前記形の良い第１の画像を提供するステップを有し、
前記第３の複数の画像要素が、前記第１の複数の画像要素を含み、
（ｄ）第４の複数の画像要素を有する、少なくとも１つの形の良い第２の画像を提供するステップと、
（ｅ）前記第３の複数の画像要素の各々をフレームワーク内に配置するステップと、
（ｆ）前記第４の複数の画像要素の各々を前記フレームワーク内に配置するステップと、
（ｇ）前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記ステップ（ｅ）及び（ｆ）に応答して、前記フレームワークに第１のマスクを適用することにより、前記第１のマスク化画像を生成するステップと、
（ｈ）前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記ステップ（ｅ）及び（ｆ）に応答して、前記フレームワークに少なくとも１つの第２のマスクを適用することにより、前記少なくとも１つの形の悪い画像を生成するステップをさらに有する。
【００１３】
好ましくは、本方法は、チャレンジ・レスポンス・テスト画像を受信者に送信するステップをさらに備える。
【００１４】
好ましくは、本方法は、前記送信するステップに応答して、前記送信されたチャレンジ・レスポンス・テスト画像に関連する応答メッセージを受信するステップをさらに備える。
【００１５】
好ましくは、本方法は、前記受信するステップに応答して、前記応答メッセージが、前記チャレンジ・レスポンス・テスト画像に関連する値であって、前記受信者が前記実質的に形の良い第１の画像を正しく識別したことを示す値に一致するか否かを評価するステップと、
前記応答メッセージが前記値に一致するという前記評価するステップの評価結果に応答して、認証メッセージを送信することにより、前記受信者が前記コンピュータ資源にアクセスすることを許可するステップをさらに備える。
【００１６】
好ましくは、本方法において、前記フレームワークはＮ×Ｍグリッドである。
【００１７】
本発明の第２の側面に従って、コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための装置が提供される。本装置は、チャレンジ・レスポンス・テスト画像を生成し、第１のマスク化画像として、実質的に形の良い第１の画像を提供し、第２のマスク化画像として、少なくとも１つの形の悪い画像を提供するための生成部を備える。
前記第１のマスク化画像は、形の良い第１の画像の部分から全体として構成される可視部分及び第１の複数の画像要素を有し、
前記第２のマスク化画像は、少なくとも１つの形の悪い第１の部分を有する。
【００１８】
好ましくは、本装置は、
前記形の良い第１の画像を提供するための分析部と、
前記形の良い第１の画像をフレームワーク内に配置することにより、前記第１の複数の画像要素を有する、形の良い第２の画像を決定するための配置部をさらに備え、
前記生成部は、前記形の良い第２の画像を決定する前記配置部に応答して、前記形の良い第２の画像にマスクを適用することにより、前記第１のマスク化画像を生成するように動作可能であり、
前記形の良い第１の画像を前記フレームワーク内に配置する前記配置部に応答して、前記第１の複数の画像要素から全体として構成され且つ形の悪い第２の部分を有する、形の悪い画像を生成するための操作部をさらに備え、
前記生成部は、前記形の悪い画像を生成する前記操作部に応答して、前記形の悪い画像にマスクを適用することにより、前記第２のマスク化画像を生成するように動作可能である。
【００１９】
好ましくは、本装置は、
第３の複数の画像要素を有する、前記形の良い第１の画像を提供するための分析部をさらに備え、
前記第３の複数の画像要素は、前記第１の複数の画像要素を含み、
前記分析部は、第４の複数の画像要素を有する、少なくとも１つの形の良い第２の画像を提供するように動作可能であり、
前記第３の複数の画像要素の各々をフレームワーク内に配置し且つ前記第４の複数の画像要素の各々を前記フレームワーク内に配置するための配置部をさらに備え、
前記生成部は、前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記配置部に応答して、前記フレームワークに第１のマスクを適用することにより、前記第１のマスク化画像を生成するように動作可能であり、
前記生成部は、前記第３の複数の画像要素及び前記第４の複数の画像要素の各々を前記フレームワーク内に配置する前記配置部に応答して、前記フレームワークに少なくとも１つの第２のマスクを適用することにより、前記少なくとも１つの形の悪い画像を生成するようにさらに動作可能である。
【００２０】
好ましくは、本装置は、前記チャレンジ・レスポンス・テスト画像を受信者に送信するための送信部をさらに備える。
【００２１】
好ましくは、本装置は、前記チャレンジ・レスポンス・テスト画像を受信者に送信する送信部に応答して、前記送信されたチャレンジ・レスポンス・テスト画像に関連する応答メッセージを受信するための受信部をさらに備える。
【００２２】
好ましくは、本装置は、前記応答メッセージを受信する前記受信部に応答して、前記応答メッセージが、前記チャレンジ・レスポンス・テスト画像に関連する値であって、前記受信者が前記実質的に形の良い第１の画像を正しく識別したことを示す値に一致するか否かを評価するための評価部をさらに備え、
前記応答メッセージが前記値に一致するという前記評価部の評価結果に応答して、前記送信部は、認証メッセージを送信することにより、前記受信者が前記コンピュータ資源にアクセスすることを許可するように動作可能である。
【００２３】
好ましくは、本装置において、前記フレームワークは、Ｎ×Ｍグリッドである。
【００２４】
本発明の第３の側面に従って、コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するためのコンピュータ・プログラムが提供される。本コンピュータ・プログラムは、本発明の第１の側面に係る方法発明の各ステップをコンピュータに実行させるためのものである。
【発明の効果】
【００２５】
本発明が提供するチャレンジ・レスポンス・テスト（CAPTCHA）は、人間がそのソース画像の一部であるとして当該ソース画像の諸部分を容易に検出するという人間の認識能力を使用することを可能にする。人間は、完全な画像が提示されない場合でも、欠落した情報を補うことに非常に優れているが、自動化プロセスはそのような能力が非常に優れているわけではない。
【００２６】
本発明は、ユーザに対し文字を入力することを強制するのではなく、それがクリック・ベースであるという点で、既存のシステムの改良を提供する。クリック応答は、文字を入力することよりも容易であるので、クリック・ベースのシステムは携帯用装置上で特に有利である。
【００２７】
本発明は、チャレンジ・レスポンス・テスト用に一層複雑な要素を追加することを可能にする。例えば、異なるサイズのセル・ウィンドウ、異なるカラーのマスク要素を含めたり、一般的でない画像を使用することを可能にする。これらの複雑な要素は、潜在的なクラッキング・アルゴリズムに対する複雑さを増加させるが、チャレンジ・レスポンス・テストに応答する人間に対する複雑さを増加させない。
【００２８】
本発明は、異なるサイズ及びタイプのフレームワークを使用することを可能にするとともに、良いマスク及び悪いマスクを提供するために、例えば、回転を使用することにより、マスクの再使用を可能にする。
【００２９】
本発明は、一層多くの処理及び一層複雑なアルゴリズムを必要とするという点で、クラッキング・アルゴリズムに対する困難性を著しく増加させる。一方、人間にとっては、しばしば判読不能なテキストに帰着するデジタル変換よりも、画像認識の方が比較的に易しいという理由で、使いやすさが改良されている。また、本発明の用途は、単一セットの文字／アルファベット又は任意の文字システムを知っているユーザに全く制限されない。また、如何なるテキストも入力する必要がなく、かえって簡単なクリック又は音声応答によって応答を与えることができるという理由で、アクセシビリティ(accessibility)も改良されている。
【００３０】
本発明が提供する諸機能は、隣接する画像部分相互間の（画像部分及びマスクの間の遷移を除く）エッジ上のカラー変化を検出することにより、異なる画像からの内容を保持する隣接する画像要素を検出することを試みるクラッキング・アルゴリズムから保護することを可能にする。これらの有利な機能は、次の通りである。
・高いカラー解像度の画像を使用すること。そのようにすると、隣接する画素であっても、同じカラーを有することが極めて希になるであろう。クラッキング・アルゴリズムは、統計に基づいて判断することを強制されるであろう。
・必要とされる計算の量を増加させるために、比較的に小さなマスクを使用すること。そのようにすると、比較すべき大きなエッジの量が減少し、偽陽性及び偽陰性の数が増大し、その結果、統計結果を比較することが困難となる。
・画像の隣接するブロックの数が最小になるようにマスクを定義することにより、クラッキング・アルゴリズムに対し比較すべきより少ない資料を与えること。
・諸実施形態に示されるような長方形のマスクの代わりに、検出するのが簡単ではない異なる種類のマスク（例えば、複雑な諸形状及び諸形状の種々のモザイクを有するマスク）を準備し、毎回異なるマスクを使用すること。そのようにすると、クラッキング・アルゴリズムは、先ず、どの部分がマスクに属し且つどの部分が画像に属するかを検出することを必要とするであろう。
【図面の簡単な説明】
【００３１】
【図１】本発明の推奨実施形態を実装することができる、従来技術に従ったコンピュータ・システムを示すブロック図である。
【図２】本発明の推奨実施形態に従った、コンピュータ資源に関連するチャレンジ・レスポンス・テストを提供するための方法を示す高水準のフローチャートである。
【図３】本発明の推奨実施形態に従った、コンピュータ資源１２０に関連するチャレンジ・レスポンス・テストを提供するためのサーバ１０５、１０６上で動作可能な装置を示すブロック図である。
【図４】本発明の推奨実施形態に従った、前記装置によって使用される複数の画像要素を示すブロック図である。
【図５】本発明の推奨実施形態に従った、前記装置によって生成される複数の画像を示すブロック図である。
【図６】本発明の推奨実施形態に従った、ユーザに対するCAPTCHA画像の複数の画像の提示を示す図である。
【図７】本発明の代替実施形態に従った、第２のソース画像及び他の画像を示す図である。
【図８】本発明の代替実施形態に従った、前記装置によって使用される複数のマスク及び複数の画像を示すブロック図である。
【発明を実施するための形態】
【００３２】
図１は、本発明の推奨実施形態を実装することができる、従来技術に従ったコンピュータ・システム１００を示すブロック図である。コンピュータ・システム１００は、第１のサーバ１０５、第２のサーバ１０６、第３のサーバ１０８及びワークステーション１１５のようなコンピュータ装置を含む。これらのコンピュータ装置は、有線ネットワーク１１０又は無線ネットワーク（図示せず）を含む、ネットワーク１１４を通して互いに接続可能である。ネットワークの一例は、インターネット１１４である。ユーザ１１８は、第１のサーバ１０５上で利用可能なコンピュータ資源（サーバ資源）１２０にアクセスするために、ワークステーション１１５を使用する。ワークステーション１１５は、携帯用装置とすることができる。
【００３３】
ユーザ１１８がウェブ・ページ１２５のユニフォーム・リソース・ロケータ（ＵＲＬ）アドレスを入力すると、要求が第１のサーバ１０５に送信される。第１のサーバ１０５は、チャレンジ・レスポンス・テスト画像（CAPTCHA画像）１３５を提示する。CAPTCHA画像１３５は、ワークステーション１１５のウインドウ１３０内に表示される。一般に、ウェブ・ページ１２５は、第１のサーバ１０５上にあるサーバ・ウェブ・ページ１２５のハイパーテキスト・マークアップ・テキスト言語（html）レンダリングである。もし、第３のサーバ１０８がウェブ・ページ１２５への自動化アクセスを試みれば、CAPTCHAは、第３のサーバ１０８にも利用可能となろう。
【００３４】
代替的に、第１のサーバ１０５によって認証サーバ１０６として使用される第２のサーバ１０６は、パス１５０を使用して、コンピュータ資源１２０にアクセスするための要求を認証する。
【００３５】
従来技術に従ったCAPTCHA画像１３５は、２つの文字、すなわち歪曲された文字「Ａ」１３６及び文字「Ｂ」１３７から成る。この歪曲は、文字「Ｂ」１３７の回転及び線１３８を含む。ユーザ１１８は、入力ボックス１４０に文字「Ａ Ｂ」を入力することにより、CAPTCHAに応答する。
【００３６】
（図３〜図５と共に参照すべき）図２は、本発明の推奨実施形態に従った、コンピュータ資源１２０に関連するチャレンジ・レスポンス・テストを提供するための方法を示す高水準のフローチャート２００である。図３は、本発明の推奨実施形態に従った、コンピュータ資源１２０に関連するチャレンジ・レスポンス・テストを提供するためのサーバ１０５、１０６上で動作可能な装置３０５を示すブロック図である。図４は、本発明の推奨実施形態に従った、装置３０５によって使用される画像要素４２０、４４０、４４０ａ、４４０ｂを示すブロック図である。図５は、本発明の推奨実施形態に従った、装置３０５によって生成される画像５０５、５１０、５１５を示すブロック図５００である。
【００３７】
図２は、論理的なフローチャートとして図示されている。そのため、図示された順序およびラベルが付された複数のステップは、本方法の１つの実施形態を示す。図示された方法の１つ以上のステップ又は部分の機能、論理又は効果と同等の他のステップ及び方法を想到することができる。さらに、使用された形式及び記号は、本方法の論理的なステップを説明するためのものであって、本方法の範囲を制限するものではないことを理解されたい。
【００３８】
本方法は、ステップ２０１から開始する。ステップ２０５で、ユーザ１１８は、ウェブ・ページ１２５のユニフォーム・リソース・ロケータ（ＵＲＬ）アドレスを入力し、ｕｒｌ要求（図示せず）を第１のサーバ１０５に送信する。第１のサーバ１０５は、ｕｒｌ要求を受信し、このｕｒｌ要求がアクセスの認証を必要とするコンピュータ資源１２０用のものであることを識別する。第１のサーバ１０５は、コンピュータ資源１２０に関連するCAPTCHA要求を、装置３０５に送信する。装置３０５の受信部３１０は、CAPTCHA要求を受信する。
【００３９】
ステップ２１０で、分析部３１５は、CAPTCHA要求を分析することにより、コンピュータ資源１２０用の識別子を決定する。分析部３１５は、データ・ソース３２０から第１のソース画像４２０を抽出する。データ・ソース３２０の例は、ライブラリ３２０又はネットワーク１１４上のデータ・ソース３２０である。第１のソース画像４２０は、その画像が人間によって認識可能であるという点で、形の良い画像（well-formed image）である。説明の便宜上の目的のみで、図４には、推奨実施形態で使用される一例として、円４２０が示されている。
【００４０】
ステップ２１５で、配置部３２５は、第１のソース画像４２０を、１組のセルを含むフレームワーク４４０内に配置し、充填済みフレームワーク（filled framework）４４０ａを提供する。フレームワーク４４０の一例は、図４に示されている５×４グリッドのような、Ｎ×Ｍグリッド４４０である。充填済みフレームワーク４４０ａは、形の良い画像４４０ａである。
【００４１】
ステップ２２５で、操作部３３０は、種々の構成におけるセルの内容をあちこち移動させて、充填済みフレームワーク４４０ａの内容を操作することにより、操作済みフレームワーク（manipulated framework）４４０ｂを提供する。操作済みフレームワーク４４０ｂは、形の悪い画像（ill-formed image）であり、少なくとも１つの形の悪い第１の部分４１４を含む。形の悪い第１の部分４１４は、第１のソース画像４２０と整合しない。
【００４２】
ステップ２３０で、作成部３３５は、マスク５０５を生成する。マスク５０５は、１組のセル５１２から成り、その一部５１２は、下部にある情報の一部５１４を可視的にする。
【００４３】
ステップ２４０で、生成部３４０は、充填済みフレームワーク４４０ａにマスク５０５を適用することにより、実質的に形の良い画像５１０を生成する。実質的に形の良い画像５１０は、下部にあるセル内の画像要素の部分５１４が互いに整合し且つ第１のソース画像４２０と整合していることを人間が認識できるという点で、第１のソース画像４２０を表す。実質的に形の良い画像５１０は、第１のマスク化画像５１０であり、第１のソース画像４２０の部分５１４から構成される可視部分を有する。
【００４４】
また、生成部３４０は、操作済みフレームワーク４４０ｂにマスク５０５を適用することにより、形の悪い画像５１５を生成する。形の悪い画像５１５は、第２のマスク化画像５１５であり、少なくとも１つの形の悪い第２の部分５１６から構成される。第２のマスク化画像５１５の形の悪い第２の部分５１６は、第１のソース画像４２０と整合しない。
【００４５】
生成部３４０は、実質的に形の良い画像５１０及び形の悪い画像５１５を並べることにより、チャレンジ・レスポンス・テスト画像（CAPTCHA画像）５５０を生成する。
【００４６】
ステップ２４５で、送信部３６５は、生成済みのCAPTCHA画像５５０の構成体をワークステーション１１５に送信する。ステップ２５０で、送信されたCAPTCHA画像５５０は、ワークステーション１１５のウインドウ１３０内に表示される。CAPTCHAは、CAPTCHA画像５５０の構成体から、実質的に形の良い画像５１０を識別するようにユーザ１１８にチャレンジする。
【００４７】
ステップ２５５で、ユーザ１１８は、実質的に形の良い画像５１０として構成体５１０、５１５のうちの１つを選択し、そしてワークステーション１１５は、応答メッセージを装置３０５に送信する。
【００４８】
ステップ２６０で、受信部３１０は、応答メッセージを受信する。ステップ２６５で、評価部３４５は、応答メッセージがCAPTCHA画像５５０に関連する値（すなわち、ユーザ１１８が実質的に形の良い画像５１０を正しく選択したことを示す値）に一致するか否かを評価する。ユーザ１１８が正しければ、ステップ２７５で、装置３０５は、認証メッセージを第１のサーバ１０５に送信する。第１のサーバ１０５は、コンピュータ資源１２０をユーザ１１８のワークステーション１１５に供給する。
【００４９】
本方法は、ステップ２９９で終了する。
【００５０】
図６は、発明の推奨実施形態に従った、ユーザ１１８に対するCAPTCHA画像５５０の実質的に形の良い画像５１０及び形の悪い画像５１５の提示を示す図である。ユーザ１１８に対し、命令６１０が提示され、これに加えて、CAPTCHA画像５５０の実質的に形の良い画像５１０及び形の悪い画像５１５の各々を検討するための左矢印ボタン６１５及び右矢印ボタン６２０と、画像５１０及び５１５のうちの１つを選択するための選択ボタン６２５が提示される。矢印ボタン６１５及び６２０のうちの１つを押すことによって、実質的に形の良い画像５１０及び形の悪い画像５１５のうちの１つが表示される。代替実施形態では、CAPTCHA画像５５０の実質的に形の良い画像５１０及び形の悪い画像５１５の全てが一緒に表示される。
【００５１】
当業者には明らかなように、種々のソース画像４２０を使用することができ、そしてCAPTCHAの供給ごとに新しい第１のソース画像４２０を使用しなければならない。推奨実施形態では、第１のソース画像４２０用に不明瞭な複数のソースが使用される。このようにすると、クラッキング・アルゴリズムにとって、表示された構成体６０５、６１０、６１５の露出された全ての画像についてウェブ捜索を行い、最大のヒットを返すものを正しいものとして選択することが一層困難になる。
【００５２】
代替実施形態では、操作部３３０は、充填済みフレームワーク４４０aの内容を複数回にわたって操作することにより、１組の操作済みフレームワーク４４０ｂを提供する。生成部３４０は、１組の操作済みフレームワーク４４０ｂにマスク５０５を適用することにより、１組の形の悪い画像５１５を生成する。生成部３４０は、実質的に形の良い画像５１０及び形の悪い画像５１５を並べることにより、チャレンジ・レスポンス・テスト画像（CAPTCHA画像）５５０を生成する。
【００５３】
さらに、当業者に明らかなように、セルの数を変更することができ、そして下部にある情報の部分５１４の異なる量を可視的に表示するように、部分５１２のサイズを変更することができる。
【００５４】
（図２及び図８と共に参照すべき）図７は、本発明の代替実施形態に従った、第２のソース画像７２０及び他の画像７２５を示す図である。図８は、本発明の代替実施形態に従った、装置３０５によって使用されるマスク８０５、８１０及び画像８６０、８６５を示すブロック図８００である。
【００５５】
ステップ２１０で、分析部３１５は、CAPTCHA要求を分析することにより、コンピュータ資源１２０用の識別子を決定する。
【００５６】
ステップ２２５で、操作部３３０は、充填済みフレームワーク７４０ａ、７４０ｂからの画像要素７１２を再配置することを通して充填済みフレームワーク７４０ａ、７４０ｂの内容を操作することにより、操作済みフレームワーク７５０を提供する。操作済みフレームワーク７５０は、第１の充填済みフレームワーク７４０ａからの画像要素７６０と、第２の充填済みフレームワーク７４０ｂからの画像要素７５５、７６５を含む。操作は、ランダムに実行される。装置３０５は、操作済みフレームワーク７５０のどのセルが充填済みフレームワーク７４０ａ、７４０ｂのどちらから来たかというレコードを格納する。代替実施形態では、操作は、第２のソース画像７２０及び他の画像７２５の属性（例えば、シェーディング、形状、又はプロファイリング）に基づく。
【００５７】
ステップ２３０で、作成部３３５は、良いマスク８０５を生成する。良いマスク８０５は、下部にある情報を可視的にする１組のクリア・セル８０２と、下部にある情報を可視的にしない１組の非クリア・セル８０４から成る。良いマスク８０５は、操作済みフレームワーク７５０に適用されるとき、第１の充填済みフレームワーク７４０ａからの画像要素７６０が存在する、操作済みフレームワーク７５０のセルだけを表示するようなマスクである。また、作成部３３５は、悪いマスク８１０を生成する。悪いマスク８１０も、下部にある情報を可視的にする１組のクリア・セル８１２と、下部にある情報を可視的にしない１組の非クリア・セル８１４から成る。悪いマスク８１０は、操作済みフレームワーク７５０に適用されるとき、第２の充填済みフレームワーク７４０ｂからの画像要素７５５及び７５６が存在するセルを表示するようなマスクである。
【００５８】
ステップ２４０で、生成部３４０は、操作済みフレームワーク７５０に良いマスク８０５を適用することにより、実質的に形の良い画像８６０を生成する。実質的に形の良い画像８６０は、下部にあるセル内の画像要素の部分が互いに整合し且つ第２のソース画像７２０と整合することを人間が認識できるという点で、第２のソース画像７２０を表す。実質的に形の良い画像８６０は、マスク化画像８６０であり、全体として第２のソース画像７２０からの部分から構成される可視部分８６２を有する。
【００５９】
また、生成部３４０は、悪いマスク８１０を適用することにより、第２の形の悪い画像８６５を生成する。第２の形の悪い画像８６５は、マスク化画像８６５であり、第３の形の悪い部分８６６を有する。第２の形の悪い画像８６５の第３の形の悪い部分８６６は、第２のソース画像７２０と整合しない。
【００６０】
生成部３４０は、実質的に形の良い画像８６０及び形の悪い画像８６５の各々を並べることにより、チャレンジ・レスポンス・テスト画像（CAPTCHA画像）８５０を生成する。
【００６１】
図７の代替実施形態では、図２の方法の他のステップは、前述した通りである。
【００６２】
代替実施形態では、分析部３１５は、１組の他の画像７２５を抽出し、配置部３２５は、１組の第２の充填済みフレームワーク７４０ｂを提供する。作成部３３５は、１組の悪いマスク８１０を生成する。生成部３４０は、１組の悪いマスク８１０を適用することにより、１組の第２の形の悪い画像８６５を生成し、そして実質的に形の良い画像８６０及び形の悪い画像８６５の各々を並べることにより、チャレンジ・レスポンス・テスト画像（CAPTCHA画像）８５０を生成する。
【００６３】
推奨実施形態では、第２のソース画像７２０及び１組の他の画像７２５の各々は、サイズ、明るさ、コントラスト及び他の容易に検出できるアーチファクトの点で、類似している。
【００６４】
代替実施形態では、マスク・カラーの整合性を使用するクラッキング・アルゴリズムを防止するために、マスク・セルのカラーが、ランダムに又はソース画像７２０のパレットから選択することによって変えられるようになっている。
【００６５】
当業者には明らかなように、異なるフレームワーク４４０を使用することができる。例えば、異なるサイズのＮ×Ｍグリッド４４０、１００５及び１０５０を使用するか、又は異なるサイズの円形フレームワーク８３０を使用することができる。代替実施形態では、CAPTCHAを打ち破る困難性を増加させるために、例えば、ソース文の長さ、マトリクスのサイズ又はユーザに提示される形の悪い構成体の数を変更することができる。
【００６６】
代替実施形態では、装置３０５は、認証サーバとしての第２のサーバ１０６上で動作可能である。
【００６７】
以上では、本発明の実施形態に従った、方法、装置（システム）及びコンピュータ・プログラムのフローチャート又はブロック図を参照して、本発明の諸側面を説明した。フローチャート又はブロック図の各ブロック、複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができる。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサに提供すると、当該コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される諸命令は、フローチャート又はブロック図のブロックで指定された機能／行為を実装するための手段を作成する。
【００６８】
また、これらのコンピュータ・プログラム命令をコンピュータ可読媒体内に格納すると、当該コンピュータ可読媒体内に格納された諸命令が、フローチャート又はブロック図のブロックで指定された機能／行為を実装するための諸命令を含む製品を生産することを目的として、コンピュータ、他のプログラム可能なデータ処理装置又は他の装置に対し特定の態様で機能するように指示することができる。また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能なデータ処理装置又は他の装置にロードすると、当該コンピュータ、他のプログラム可能なデータ処理装置又は他の装置上で実行される諸命令が、フローチャート又はブロック図のブロックで指定された機能／行為を実装するためのプロセスを提供することを目的として、一のコンピュータ実装プロセスを生成するように当該コンピュータ、他のプログラム可能なデータ処理装置又は他のデバイス上で一連の動作ステップを実行させることができる。
【００６９】
当業者には明らかなように、本発明の諸側面は、システム、方法又はコンピュータ・プログラムとして具体化することができる。従って、本発明の諸側面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）又はソフトウェア及びハードウェア要素の両方を含む実施形態の形式を取ることができ、これらの全てを一般に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明の諸側面は、コンピュータ可読プログラム・コードを１つ以上のコンピュータ可読媒体内に具体化した、コンピュータ・プログラムの形式を取ることができる。
【００７０】
本発明の諸側面に従った動作を実施するためのコンピュータ・プログラム・コードは、Ｊａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向プログラミング言語及び「Ｃ」プログラミング言語又は同様のプログラミング言語のような通常の手続き的プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書くことができる。プログラム・コードは、独立のソフトウェア・パッケージとしてユーザ・コンピュータ上で完全に実行することができ、その一部をユーザ・コンピュータ上で且つ他の一部を遠隔コンピュータ上で実行することができ、又は遠隔コンピュータ若しくはサーバ上で完全に実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）又は広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを通してユーザ・コンピュータに接続することができ、或いはその接続を（例えば、インターネット・サービス・プロバイダを使用するインターネットを通して）外部コンピュータに行うことができる。
【符号の説明】
【００７１】
１０５、１０６、１０８・・・サーバ
１１５・・・ワークステーション
１１８・・・ユーザ
１２０・・・コンピュータ資源
１２５・・・ウェブ・ページ
１３０・・・ウインドウ
１３５・・・CAPTCHA画像
１４０・・・入力ボックス
３０５・・・装置
３１０・・・受信部
３１５・・・分析部
３２０・・・ライブラリ
３２５・・・配置部
３３０・・・操作部
３３５・・・作成部
３４０・・・生成部
３４５・・・評価部
３６５・・・送信部
４１４・・・形の悪い第１の部分
４２０・・・第１のソース画像
４４０・・・フレームワーク
４４０ａ・・・充填済みフレームワーク（形の良い画像）
４４０ｂ・・・操作済みフレームワーク（形の悪い画像）
５１４・・・可視部分
５０５・・・マスク
５１０・・・実質的に形の良い画像（第１のマスク化画像）
５１２・・・セル
５１５・・・形の悪い画像（第２のマスク化画像）
５１６・・・形の悪い第２の部分
５５０・・・CAPTCHA画像
６１０・・・命令
６１５・・・左矢印ボタン
６２０・・・右矢印ボタン
６２５・・・選択ボタン
７２０・・・第２のソース画像
７２５・・・他の画像
７４０ａ・・・第１の充填済みフレームワーク
７４０ｂ・・・第２の充填済みフレームワーク
７５０・・・操作済みフレームワーク
７５５、７５６・・・第２の充填済みフレームワークからの画像要素
７６０・・・第１の充填済みフレームワークからの画像要素
８０２、８１２・・・クリア・セル
８０４、８１４・・・非クリア・セル
８０５・・・良いマスク
８１０・・・悪いマスク
８５０・・・CAPTCHA画像
８６０・・・実質的に形の良い画像（マスク化画像）
８６２・・・可視部分
８６５・・・第２の形の悪い画像（マスク化画像）
８６６・・・第３の形の悪い部分
【図１】
2013532342.tif 000003
【図２】
2013532342.tif 000004
【図３】
2013532342.tif 000005
【図４】
2013532342.tif 000006
【図５】
2013532342.tif 000007
【図６】
2013532342.tif 000008
【図７】
2013532342.tif 000009
【図８】
2013532342.tif 000010
【国際調査報告】
2013532342.tif 000011
2013532342.tif 000012