認証システム、認証方法、認証プログラム及び記録媒体
【課題】迷惑行為の実施を不可能とすると共に、人間には容易に認識可能な視覚型アンチロボットテストを提供する。
【解決手段】前記サーバは、前記クライアントから受信した情報に基づいて認証を行なう認証部と、認証用画像を生成する認証用画像生成部と、該認証用画像生成部により生成された認証用画像を前記クライアントに提示する認証用画像提示部と、前記クライアントとの通信を行なう通信部と、前記認証部における認証が成功した場合前記クライアントから受信したサービス要求指示に応じて該クライアントにサービスの提供を行なうサービス提供部と、前記認証部、前記認証用画像生成部、前記認証用画像提示部、前記通信部、及び前記サービス提供部を含め当該サーバの各種制御を行なう制御部と、を備えている。
【解決手段】前記サーバは、前記クライアントから受信した情報に基づいて認証を行なう認証部と、認証用画像を生成する認証用画像生成部と、該認証用画像生成部により生成された認証用画像を前記クライアントに提示する認証用画像提示部と、前記クライアントとの通信を行なう通信部と、前記認証部における認証が成功した場合前記クライアントから受信したサービス要求指示に応じて該クライアントにサービスの提供を行なうサービス提供部と、前記認証部、前記認証用画像生成部、前記認証用画像提示部、前記通信部、及び前記サービス提供部を含め当該サーバの各種制御を行なう制御部と、を備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証システムに関し、特に、コンピュータネットワーク上の認証システムであって、コンピュータの利用者が人間であることを認証する技術に関するものである。
【背景技術】
【0002】
インターネット上の電子掲示板や、所謂、ブログ、Wikiといったユーザ参加型のコンテンツ生成システムが広く利用されるようになってきた。このようなシステムにおいては、利用者は情報を閲覧できるだけでなく、簡単なユーザ登録を行なうだけで自由に情報を投稿することが可能となっている場合が多い。また、ニュースサイトやショッピングサイト等商業的なサイトにおいても、各コンテンツにユーザが自由にコメントすることを許可するサイトも増えてきている。しかし、このような特徴を悪用し、サーバとのやり取りを自動で行なう所謂「ボット」とよばれるコンピュータプログラムを用いて、無差別、且つ大量にこのようなサイトのアカウントを取得し、各サイトの内容とは全く無関係な広告を投稿するなどの迷惑行為も増加している。また、無料の電子メールアドレス取得サービスにて、上記「ボット」を用いて自動的に大量のアドレスを不正に取得して、不特定多数への無差別な迷惑メールを送信したり、或いは前述のユーザ参加型のコンテンツ生成システムに対する迷惑行為を行なう目的に用いる等、インターネット上の様々な迷惑行為のために用いられることも多くなっている。
【0003】
以上のような迷惑行為を防止するため、利用者が実際の人間による操作なのか、あるいは前述した「ボット」による操作なのかを判別し、人間と判別された場合のみ投稿を許可するようなシステムが考案されている。このようなシステムは、一般にアンチロボットテストと呼ばれ、人間には識別可能だが、現在のコンピュータプログラムでは識別不能、あるいは困難な情報をテストプログラムとして提示し、これを識別した場合のみ投稿を許可するシステムである。具体的には、前述の「ボット」と呼ばれるプログラムが、主に文字情報でやり取りされるクライアントとサーバ間のメッセージを解析し、クライアント側からの偽装されたメッセージを自動的に生成することから、クライアント側からのメッセージの送信には、サーバ側から提示される文字情報以外で、且つ実際の人間以外には解釈困難と思われる情報を提供して、その結果によりサービスの提供を許可するか否かを決定するシステムである。
このような文字情報以外の情報として、ラスタライズされた複数の文字や記号を含む画像を提示し、画像中にある文字、記号列を読み取った結果を別途用意した入力フォームに入力させる視覚型アンチロボットテストが用いられることが多い。これは、人間は画像中の文字を読むことが容易であるのに対し、コンピュータプログラムでこれを行なうことが困難であること、あるいは、前述した迷惑行為によって得られる利益と、このようなプログラムを実行するコストを比較すると見合わないことを利用したシステムである。
【0004】
ここで、一般的な視覚型アンチロボットテストについて説明する。例えば、図12の例では人間なら「NkpGJN」と読めるが、このように画像としてラスタライズされた文字、記号をコンピュータプログラムが認識するためにはOCRのような特殊な文字認識機能をもたなければならず、しかも、図12のように歪められたり覆い隠されたりしている文字や記号をOCRで認識するのは困難である。すなわち、クライアント側がいわゆる「ボット」であれば、最低限OCR機能を備えていなければならず、たとえOCR機能を備えていたとしても、図12に示すように、歪められたり覆い隠されたりしている文字や記号を画像から文字列として読み取ることは困難であるため、より高度な学習を施されたOCRが必要とされる。これは、技術的に非常に困難であり、かつコストもかかるため、コンピュータプログラムを用いて、無差別、大量にかつ低コストでこのようなことを実施することは現実的に困難である。このようにして、従来の視覚型アンチロボットテストシステムは、人間と自動化されたコンピュータプログラムとの判別を行なっている。しかし、OCR等コンピュータによる画像中の文字認識技術が進むにつれて、このような防御は年々弱体化してきているのもまた事実である。
特許文献1には、加工画像として課題画像にノイズを重畳させたり、或いは回転したり、夫々異なる画像処理を施して、ボットによる迷惑行為を防止する認証装置について開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
昨今のコンピュータによる画像認識技術の向上により、画像中の文字を用いた視覚的アンチロボットテストシステムを欺いて突破することも、いずれは技術的に容易となり、コストも低下し、システムの強度が弱体化していくことは否めない。
また、特許文献1に開示されている従来技術は、コンピュータによる画像中の文字認識精度をより困難にする目的で、文字を含む画像に非常に大きな歪みやノイズを加える方法であるが、人間がこれを解読することも非常に困難になってきており、逆にサービスのユーザビリティを低下させてしまうといった問題がある。
本発明は、かかる課題に鑑みてなされたものであり、画像中の文字を認識する機能を有する「ボット」を利用しても、迷惑行為の実施を不可能とすると共に、人間には容易に認識可能な視覚型アンチロボットテストを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明はかかる課題を解決するために、請求項1は、クライアントとしてサービスを要求する情報処理装置と、前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が、前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するサーバと、を備え、前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
システムとしては、ネットワークに接続されたサーバと情報処理装置により構成される。サーバは情報処理装置を操作する利用者が人間であるか否かを判定するためのテストプログラムを用意している。このテストプログラムは、人間には判断できるが、コンピュータには判別が困難で、且つ、判別できたとしても時間とコストがかかるような内容である。従ってサービスを要求する情報処理装置があった場合、その情報処理装置に対してテストプログラムを送信して、返信された回答内容により情報処理装置を操作する利用者が人間か否かを判別する。例えば、テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部、又は全部の色を、記憶色とは異なる色に変換した画像とする。これにより、簡単なテストプログラムにより情報処理装置を操作する利用者が人間であるか否かを正確に、且つ迅速に判別することができる。
【0007】
請求項2は、前記サーバは、前記情報処理装置から受信した回答が前記テストプログラムが要求する答と一致しているか否かを判別し、該判別結果が前記答と一致していた場合に該情報処理装置が人間により操作されていると認証する認証部と、前記オブジェクトの一部又は全部の色を他の色に変換した画像を認証用画像として生成する認証用画像生成部と、該認証用画像生成部により生成された認証用画像を前記情報処理装置に提示する認証用画像提示部と、前記情報処理装置との通信を行なう通信部と、前記認証部により前記情報処理装置が人間により操作されていると認証された場合、前記情報処理装置から受信したサービス要求指示に応じて該情報処理装置にサービスの提供を行なうサービス提供部と、前記認証部、前記認証用画像生成部、前記認証用画像提示部、前記通信部、及び前記サービス提供部を含め当該サーバの各種制御を行なう制御部と、を備えていることを特徴とする。
本発明のサーバは、サービス要求がある情報処理装置に対して、その情報処理装置を操作する利用者が人間であるか否かを判定するために、テストプログラムとしての認証用画像を生成して、通信部を介して情報処理装置に送信する。その認証用画像を受信した情報処理装置は、質問に対する回答をサーバに返信し、受信した認証部において回答がテストプログラムが要求する答と一致しているか否かを判別する。もし、一致していれば、情報処理装置を操作する利用者が人間であると認証して、サービス提供部からサービスを提供する。これにより、サーバは、サービス要求のある情報処理装置を操作する利用者が人間であるか否かを正確に、且つ迅速に判断することができる。
【0008】
請求項3は、前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、文字入力して前記サーバに返信することを特徴とする。
情報処理装置が色を判断して、その色の名前を文字で答えるには、各色に対応付けた名前を記憶しておく必要がある。しかし、色の名前は、単に赤、青、緑といった呼び方だけでなく、肌色とか、水色とか他の名前で表現する場合がある。人間は、記憶色に対してこのように表現して文字で表すことは比較的簡単であるが、情報処理装置は非常に困難である。これにより、人間と情報処理装置との判断力に差をつけることができる。
請求項4は、前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、複数の色名の中から選択して前記サーバに返信することを特徴とする。
情報処理装置が理解困難とする手法は多々あるが、あまり複雑にすると、操作者が人間であっても操作性に支障をきたすことになる。そこで本発明では、既定の色は何色であるかを、複数の色名の中から選択するものである。これにより、操作性を損なうことなく、情報処理装置を操作する利用者が人間であるか否かを判別することができる。
【0009】
請求項5は、前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、1つの正解を含む複数の色のカラーパッチの中から選択して前記サーバに返信することを特徴とする。
本発明によれば、キー入力することなくマウス等のポインティングデバイスのみを使用して回答することが可能となり、「ボット」と人間とを判別する機能を損なうことなく、ユーザの負荷を軽減することが可能となる。
請求項6は、前記情報処理装置は、前記認証用画像の中で変換された色に対してポインティングデバイスを用いてクリックして、既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
画像中の顔、空、草などのオブジェクトをコンピュータプログラムで認識するためには、これらオブジェクトの色が重要な役割を担うが、本発明では、これらの領域の色が本来の色とは異なる色に変換されているため、「ボット」などのコンピュータプログラムがこれらオブジェクトを顔、空、草などと認識するのは非常に困難であり、かつこれらの領域を検出することはより困難となる。さらに、色名で回答しなければならないため、「ボット」は顔というオブジェクトと、オブジェクトの色名との対応付けされたデータを予め用意しておいて、これを参照する必要がある。従って、「ボット」がこのテストをパスすることはより困難となっている。また、このような処理には大容量のメモリや高速なCPUを必要とするため、必然的にこれを実施するためのコストも上昇するため、ボットを用いた迷惑行為の実施は現実的ではなくなる。
【0010】
請求項7は、前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全体の色を他の色に変換し、更に変換した画像を回転して前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
ユーザは不自然な領域としてある部分をクリックし、さらに、本来望ましい色を回答欄に記入して送信ボタンを押下する。例えば、空等の特定のオブジェクトは、画像中の相対位置が、例えば、空の場合には画像上部に存在する確率が非常に高いため、自然画像のこのような性質を考慮した「ボット」であれば、テストをパスする確率をある程度向上することが可能になってしまうが、本発明においては、テスト画像を回転して表示することによって、このような推測を困難にする。
請求項8は、情報処理装置、及びサーバを備えた認証システムに係る認証方法であって、前記情報処理装置がクライアントとしてサービスを要求するステップと、前記サーバが、前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するステップと、を含み、前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
請求項1と同様の作用効果を奏する。
【0011】
請求項9は、請求項8に記載の認証方法をコンピュータが制御可能にプログラミングしたことを特徴とする。
本発明の認証方法をコンピュータが制御可能なOSに従ってプログラミングすることにより、そのOSを備えたコンピュータであれば同じ処理方法により制御することができる。
請求項10は、請求項9に記載の認証プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする。
認証プログラムをコンピュータが読み取り可能な形式で記録媒体に記録することにより、この記録媒体を持ち運ぶことにより何処でもプログラムを稼動することができる。
【発明の効果】
【0012】
本発明によれば、人間が記憶色を有するオブジェクトの記憶色に対応する色を他の色に変換した画像を用い、ユーザに変換された記憶色の領域の望ましい色を回答させることにより、コンピュータネットワーク上のサービスにおいて、人間であるユーザへの負担を低減し、かつサーバとのやり取りを自動で行なうコンピュータプログラムを用いた迷惑行為の実施をより困難とすることが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係る認証システム(視覚型アンチロボットシステム)の運用形態を示す図である。
【図2】本実施形態に係るクライアント及びサーバのハードウェア構成を示すブロック図である。
【図3】本実施形態に係る認証システムの機能構成について説明する図である。
【図4】本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャート(その1)である。
【図5】本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャート(その2)である。
【図6】本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャート(その3)である。
【図7】本発明の第1の実施形態に係る認証システムを説明する図である。
【図8】本発明の第2の実施形態に係る認証システムを説明する図である。
【図9】本発明の第3の実施形態に係る認証システムを説明する図である。
【図10】本発明の第4の実施形態に係る認証システムを説明する図である。
【図11】本発明の第5の実施形態に係る認証システムを説明する図である。
【図12】ラスタライズされた文字、記号を表す図である。
【発明を実施するための形態】
【0014】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【0015】
図1は、本発明の実施形態に係る認証システム(視覚型アンチロボットシステム)の運用形態を示す図である。本発明の認証システムは、サービスを要求するクライアント(情報処理装置)100と、クライアント100からサービス要求が発生した場合、クライアント100を操作する利用者が人間であるか否かを判別するためのテストプログラムをクライアント100に送信して、クライアント100から返信された回答がテストプログラムが要求する答と一致した場合にクライアント100を操作する利用者が人間であると認証するサーバ200と、クライアント100とサーバ200を接続するネットワーク150と、を備え、サーバ200は、テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像をクライアント100に送信し、クライアント100は、画像の中で変換された色に対して既定の色は何色であるかを回答してサーバ200に返信する。
【0016】
図1に示すように、本実施形態に係る認証システムは、認証を求める複数のクライアント100及び認証装置としてのサーバ200を有する。本実施形態に係る認証システムは、利用者が実際の人間であるのか、または、自動化されたコンピュータプログラムであるのかを判別する一般的な視覚型アンチロボットテストシステムを構成する。図1に示すように、本実施形態に係る複数のクライアント100及びサーバ置200は、インターネット等のネットワーク150を介して接続されている。
即ち、システムとしては、ネットワーク150に接続されたサーバ200とクライアント100により構成される。サーバ200はクライアント100が人間であるか否かを判別するためのテストプログラムを用意している。このテストプログラムは、人間には判別できるが、コンピュータには判別が困難で、且つ、判別できたとしても時間とコストがかかるような内容である。従ってサービスを要求するクライアント100があった場合、そのクライアント100に対してテストプログラムを送信して、返信された回答内容によりクライアント100が人間か否かを判別する。例えば、テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部、又は全部の色を、記憶色とは異なる色に変換した画像とする。これにより、簡単なテストプログラムによりクライアント100が人間であるか否かを正確に、且つ迅速に判別することができる。
【0017】
図2は、本実施形態に係るクライアント及びサーバのハードウェア構成を示すブロック図である。図2に示すように、本実施形態に係るクライアント100及びサーバ200は、一般的な情報処理装置と同様の構成を有する。即ち、本実施形態に係るクライアント100及びサーバ200は、CPU10、RAM20、ROM30、HDD40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD60及び操作部70が接続されている。
CPU10は演算手段であり、装置全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OSや各種の制御プログラム、アプリケーション・プログラム等が格納される。また、I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが装置に情報を入力するためのユーザインタフェースである。
【0018】
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るクライアント100及びサーバ200の機能を実現する機能ブロックが構成される。尚、サーバ200については、LCD60及び操作部70等のユーザインタフェースは省略可能である。
以上に示されるシステム構成により、認証システムでは、クライアント100のユーザが実際の人間であるのか、または、自動化されたコンピュータプログラムであるのかが判別される。クライアント100とサーバ200との間の通信はHTTP又は暗号化されたHTTPであるHTTPSを介して行なわれる。サーバ200はクライアント100からの要求に応じてHTML形式の情報などをクライアント100に送信する。なお、クライアント100とサーバ200との間の通信で用いられる通信プロトコルは上記のHTTP及びHTTPSに限られない。
【0019】
図3は、本実施形態に係る認証システムの機能構成について説明する図である。図3に示すように、クライアント100は、入力部110、表示部120、通信部130、制御部140を有する。また、サーバ200は、認証部210、認証用画像生成部220、認証用画像提示部230、通信部240、サービス提供部250、及び制御部260などを有する構成である。
まず、クライアント100が有する各機能部について説明を行なう。入力部110は、クライアント100のユーザからの各種指示を入力する。入力部110は、図2に示す操作部70によって実現される。入力部110に入力される情報は、例えば、サーバ200からWebサービスなどのサービス提供を受けるためのサービス要求指示などである。表示部120は、クライアント100の動作状態等を表示する構成であり、図2に示すI/F50及びLCD60によって実現される。通信部130は、サーバ200との通信を行なうためのインターフェース部であり、図2に示すI/F50によって実現される。制御部140は、前述の入力部110、表示部120、通信部130を含め当該クライアント100の各種制御を行なう。制御部140は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
【0020】
次に、サーバ200が有する各機能部それぞれについて説明を行なう。
サーバ200は、クライアント100から受信した情報がテストプログラムが要求する答と一致しているか否かを判別し、判別結果が答と一致していた場合にクライアント100が人間により操作されていると認証する認証部210と、オブジェクトの一部又は全部の色を他の色に変換した画像を認証用画像として生成する認証用画像生成部220と、該認証用画像生成部220により生成された認証用画像をクライアント100に提示する認証用画像提示部230と、クライアント100との通信を行なう通信部240と、認証部210によりクライアント100が人間により操作されていると認証された場合、クライアント100から受信したサービス要求指示に応じてクライアント100にサービスの提供を行なうサービス提供部250と、認証部210、認証用画像生成部220、認証用画像提示部230、通信部240、及びサービス提供部250を含め当該サーバ200の各種制御を行なう制御部260と、を備えて構成されている。
【0021】
即ち、認証部210は、クライアント100から受信した情報に基づいて認証を行なう。例えば、クライアント100のユーザが実際の人間であるのか、または、自動化されたコンピュータプログラムであるのかを判別(認証)する。さらには、クライアント100から受信したユーザ名、パスワードなどに基づいてクライアント100のユーザ認証を行なう。認証部210は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。認証用画像生成部220は、本発明による認証用画像を生成する。生成される認証用画像の例については後述する。認証用画像生成部220は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。認証用画像提示部230は、認証用画像生成部220により生成された認証用画像をクライアント100に提示する。具体的には、上記認証用画像をクライアント100の表示部に表示させるための表示情報を生成する。認証用画像提示部230は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。通信部240は、クライアント100との通信を行なうためのインターフェース部である。通信部240は、図2にI/F50によって実現される。サービス提供部250は、認証部210における認証が成功するとクライアント100から受信したサービス要求指示に応じてクライアント100にサービスの提供を行なう。サービス提供部250は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成されるアプリケーションと、図2に示すHDD30等の記録媒体によって実現される。制御部260は、前述の認証部210、認証用画像生成部220、認証用画像提示部230、通信部240、サービス提供部250を含め当該サーバ200の各種制御を行なう。制御部260は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
【0022】
図4は本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャートである。サーバとクライアント間の通信はHTTPあるいは暗号化されたhttpであるhttpsを介して行なわれ、サーバからの情報はHTML形式で送信される。
利用者はクライアン100を介してサーバ200に対して認証の要求を行なう(S1)。サーバ200は、ユーザが人間であるかどうかを判別するためのテストプログラムをクライアント100に送信する(S4)。利用者はテストプログラムに対する回答をサーバ200側に送信する(S2)。次にサーバ200は、返送された回答が期待された回答かどうかを判断する(S5)。期待された回答であれば(S5でYES)、最低限ユーザ識別用文字列(ユーザ名)入力用フォームとパスワード入力用フォームからなるユーザ認証用画面を提示し(S6)、利用者に認証を促し、利用者はここにユーザ名とパスワードを入力する(S3)。サーバは入力されたユーザ名とパスワードが正規利用者のものであれば(S7でYES)、コンテンツ投稿用フォームを表示する等、実際に目的とするサービスの提供を開始する。
【0023】
また、アンチロボットテストとユーザ認証の順序は図5に示すように逆であっても構わない。即ち、利用者はクライアント100を介してサーバ200に対して認証の要求を行なう(S10)。最低限ユーザ識別用文字列(ユーザ名)入力用フォームとパスワード入力用フォームからなるユーザ認証用画面を提示し(S13)、利用者に認証を促し、利用者はここにユーザ名とパスワードを入力する(S11)。サーバ200は入力されたユーザ名とパスワードが正規利用者のものであれば(S14でYES)、サーバ200は、ユーザが人間であるかどうかを判別するためのテストプログラムをクライアント100に送信する(S15)。利用者はテストプログラムに対する回答をサーバ200側に送信する(S12)。次にサーバ200は、返送された回答が期待された回答かどうかを判断する(S16)。期待された回答であれば(S16でYES)、コンテンツ投稿用フォームを表示する等、実際に目的とするサービスの提供を開始する。
また、サーバ200が匿名でコメントすることを許可しているのであれば、図6に示すように、視覚型アンチロボットテストをのみを実施し、その後ユーザにコメント投稿フォームを表示し、コメントの投稿を促す。即ち、利用者はクライアント100を介してサーバ200に対して認証の要求を行なう(S20)。サーバ200は、ユーザが人間であるかどうかを判別するためのテストプログラムをクライアント100に送信する(S22)。利用者はテストプログラムに対する回答をサーバ200側に送信する(S21)。次にサーバ200は、返送された回答が期待された回答かどうかを判断する(S23)。期待された回答であれば(S23でYES)、コンテンツ投稿用フォームを表示する等、実際に目的とするサービスの提供を開始する。
【0024】
図7は本発明の第1の実施形態に係る認証システムを説明する図である。本実施形態では、サーバ200がクライアント100にテストプログラムを送信して、例えば図7のグレーに塗りつぶしてある顔5の部分のような人間が記憶色を有するオブジェクトを含む写真画像4をユーザに提示する。人間が記憶色を有するオブジェクトとは、例えば人間の肌、空、草などで、それぞれ対応する記憶色は肌色、青、緑である。本実施形態では、これら記憶色に対応する色域の色を本来の記憶色とはかけ離れた色に変換した画像を用いる。すなわち本実施形態でユーザに提示される画像は、本来肌色であるべき人間の顔5の部分の色が例えば緑など全く異なる色に変換された画像である。図7は実際は顔の部分だけが緑色に変換されたカラー写真画像であるが、表示の都合上線画にしてあり、顔5の領域を明示するためにこの領域だけグレーに塗りつぶしてある。このような画像と共に不自然な部分の本来の色名を回答するよう促す旨の指示を表示する。ユーザは回答欄7に色名を回答し(この場合は、肌色)、送信ボタン6を押下する。図7の例では、人間の顔の部分が緑に変換されているので不自然に見え、この部分の本来望ましい色は肌色であるため、ユーザは肌色と回答する。テストプログラムは送信ボタン6の押下イベントを検知すると、ユーザの回答をサーバ200に送信する。サーバ200は受け取った回答が正解である場合には、テストをパスしたものとみなす。パスしなかった場合には、クライアント100を操作する利用者が人間ではないと判断して、次のステップに進めないようにしても良いし、テストプログラムを再送信してもよい。後者の場合でも、例えば三回連続してパスしない場合にはクライアント100を操作する利用者人間ではないと判断して、次のステップに進めないようにする。画像中の顔、空、草などのオブジェクトをコンピュータプログラムで認識するためには、これらオブジェクトの色が重要な役割を担うが、本実施形態では、これらの領域の色が本来の色とは異なる色に変換されているため、「ボット」などのコンピュータプログラムがこれらオブジェクトを顔、空、草などと認識するのは非常に困難である。さらに、色名で回答しなければならないため、「ボット」は顔というオブジェクトと、オブジェクトの色名との対応付けされたデータを予め用意しておいて、これを参照する必要がある。従って、「ボット」がこのテストをパスすることはより困難となっている。また、このような処理には大容量のメモリや高速なCPUを必要とするため、必然的にこれを実施するためのコストも上昇するため、ボットを用いた迷惑行為の実施は現実的ではなくなる。
尚、本実施形態および以下の実施形態において、説明を簡便化するためユーザに提示する画像を一個として説明を行なっているが、「ボット」がこのテストをパスすることをより困難とするためには、人間が記憶色を有するオブジェクトを含む複数の異なる画像を用いて実施することが望ましい。
【0025】
図8は本発明の第2の実施形態に係る認証システムを説明する図である。本実施形態においては、ユーザに色名を回答させるために、一個の正解を含む複数の色名の選択肢と各々対応したチェックボックス8を表示する。ユーザは正解と思う色名のチェックボックス8にチェックを入れる。または、各色名はクリック可能になっていて、ユーザは正解と思う色名をクリックするようにしてもよい。このような構成にすることによって、キー入力することなくマウス等のポインティングデバイスのみを使用して回答することが可能となり、「ボット」と人間とを判別する機能を損なうことなく、ユーザの負荷を軽減することが可能となる。
【0026】
図9は本発明の第3の実施形態に係る認証システムを説明する図である。本実施形態においては、ユーザに色を回答させるために一個の正解を含む複数の色のカラーパッチからなる選択肢と各々対応したチェックボックス8を表示する。ユーザは正解と思う色のパッチのチェックボックスにチェックを入れる。または、各カラーパッチはクリック可能になっていて、ユーザは正解と思うカラーパッチをクリックするようにしてもよい。このような構成にすることによって、キー入力することなくマウス等のポインティングデバイスのみを使用して回答することが可能となり、「ボット」と人間とを判別する機能を損なうことなく、ユーザの負荷を軽減することが可能となる。
【0027】
図10は本発明の第4の実施形態に係る認証システムを説明する図である。本実施形態においては、テスト画像4と共に不自然な部分をマウス等ポインティングデバイス9を用いてクリックし、さらにその部分の本来の色名を回答するよう促す旨の指示を表示する。ユーザは画像中の不自然に見える領域をクリックし、かつユーザに色名を回答させるために、一個の正解を含む複数の色名の選択肢と各々対応したチェックボックス8を表示する。ユーザは正解と思う色名のチェックボックス8にチェックを入れて送信ボタン6を押下する。または、各色名はクリック可能になっていて、ユーザは正解と思う色名をクリックするようにしてもよい。図10の例では、人間の顔5の部分が緑に変換されているので不自然に見えるため、テストプログラムは送信ボタンの押下イベントを検知すると、ユーザが画像内で最後にクリックした位置と回答された色名をサーバ200に送信する。サーバ200は受け取った回答が正解である場合には、テストをパスしたものとみなす。パスしなかった場合には、クライアント100を操作する利用者が人間ではないと判断して、次のステップに進めないようにしても良いし、テストプログラムを再送信してもよい。画像中の顔、空、草などのオブジェクトをコンピュータプログラムで認識するためには、これらオブジェクトの色が重要な役割を担うが、本発明では、これらの領域の色が本来の色とは異なる色に変換されているため、「ボット」などのコンピュータプログラムがこれらオブジェクトを顔、空、草などと認識するのは非常に困難であり、かつこれらの領域を検出することはより困難となる。
【0028】
図11は本発明の第5の実施形態に係る認証システムを説明する図である。本実施形態でユーザに提示される画像は、本来青であるべき空の部分の色が例えば黄色など全く異なる色に変換された画像を90度回転した画像である。図11は実際は空11の部分だけが黄色に変換されたカラー写真画像であるが、表示の都合上線画にしてあり、空11の領域を明示するためにこの領域だけグレーに塗りつぶしてある。ユーザは不自然な領域として空11の部分をクリックし、さらに、本来望ましい色である青を回答欄7に記入して送信ボタン6を押下する。空等の特定のオブジェクトは、画像中の相対位置が例えば空の場合には画像上部に存在する確率が非常に高いため、自然画像のこのような性質を考慮した「ボット」であれば、テストをパスする確率をある程度向上することが可能になってしまうが、本実施形態においては、テスト画像を90度回転して表示することによって、このような推測を困難にする。回転角の例として90度を挙げたが、180度でもよいし、40度、52度など任意の角度でも良い。
【符号の説明】
【0029】
1 サーバ、2 ネットワーク、3 クライアント、4 写真画像、5 顔、6 送信ボタン、7 解答欄、8 チェックボックス、9 ポインター、10 CPU,11 空、20 RAM、30 ROM、40 HDD、50 I/F、60 LCD、70 操作部、80 バス、100 クライアント、110 入力部、120 表示部、130 通信部、140 制御部、150 ネットワーク、200 サーバ、210 認証部、220 認証用画像生成部、230 認証用画像提示部、240 通信部、250 サービス提供部、260 制御部
【先行技術文献】
【特許文献】
【0030】
【特許文献1】特開2010−67096公報
【技術分野】
【0001】
本発明は、認証システムに関し、特に、コンピュータネットワーク上の認証システムであって、コンピュータの利用者が人間であることを認証する技術に関するものである。
【背景技術】
【0002】
インターネット上の電子掲示板や、所謂、ブログ、Wikiといったユーザ参加型のコンテンツ生成システムが広く利用されるようになってきた。このようなシステムにおいては、利用者は情報を閲覧できるだけでなく、簡単なユーザ登録を行なうだけで自由に情報を投稿することが可能となっている場合が多い。また、ニュースサイトやショッピングサイト等商業的なサイトにおいても、各コンテンツにユーザが自由にコメントすることを許可するサイトも増えてきている。しかし、このような特徴を悪用し、サーバとのやり取りを自動で行なう所謂「ボット」とよばれるコンピュータプログラムを用いて、無差別、且つ大量にこのようなサイトのアカウントを取得し、各サイトの内容とは全く無関係な広告を投稿するなどの迷惑行為も増加している。また、無料の電子メールアドレス取得サービスにて、上記「ボット」を用いて自動的に大量のアドレスを不正に取得して、不特定多数への無差別な迷惑メールを送信したり、或いは前述のユーザ参加型のコンテンツ生成システムに対する迷惑行為を行なう目的に用いる等、インターネット上の様々な迷惑行為のために用いられることも多くなっている。
【0003】
以上のような迷惑行為を防止するため、利用者が実際の人間による操作なのか、あるいは前述した「ボット」による操作なのかを判別し、人間と判別された場合のみ投稿を許可するようなシステムが考案されている。このようなシステムは、一般にアンチロボットテストと呼ばれ、人間には識別可能だが、現在のコンピュータプログラムでは識別不能、あるいは困難な情報をテストプログラムとして提示し、これを識別した場合のみ投稿を許可するシステムである。具体的には、前述の「ボット」と呼ばれるプログラムが、主に文字情報でやり取りされるクライアントとサーバ間のメッセージを解析し、クライアント側からの偽装されたメッセージを自動的に生成することから、クライアント側からのメッセージの送信には、サーバ側から提示される文字情報以外で、且つ実際の人間以外には解釈困難と思われる情報を提供して、その結果によりサービスの提供を許可するか否かを決定するシステムである。
このような文字情報以外の情報として、ラスタライズされた複数の文字や記号を含む画像を提示し、画像中にある文字、記号列を読み取った結果を別途用意した入力フォームに入力させる視覚型アンチロボットテストが用いられることが多い。これは、人間は画像中の文字を読むことが容易であるのに対し、コンピュータプログラムでこれを行なうことが困難であること、あるいは、前述した迷惑行為によって得られる利益と、このようなプログラムを実行するコストを比較すると見合わないことを利用したシステムである。
【0004】
ここで、一般的な視覚型アンチロボットテストについて説明する。例えば、図12の例では人間なら「NkpGJN」と読めるが、このように画像としてラスタライズされた文字、記号をコンピュータプログラムが認識するためにはOCRのような特殊な文字認識機能をもたなければならず、しかも、図12のように歪められたり覆い隠されたりしている文字や記号をOCRで認識するのは困難である。すなわち、クライアント側がいわゆる「ボット」であれば、最低限OCR機能を備えていなければならず、たとえOCR機能を備えていたとしても、図12に示すように、歪められたり覆い隠されたりしている文字や記号を画像から文字列として読み取ることは困難であるため、より高度な学習を施されたOCRが必要とされる。これは、技術的に非常に困難であり、かつコストもかかるため、コンピュータプログラムを用いて、無差別、大量にかつ低コストでこのようなことを実施することは現実的に困難である。このようにして、従来の視覚型アンチロボットテストシステムは、人間と自動化されたコンピュータプログラムとの判別を行なっている。しかし、OCR等コンピュータによる画像中の文字認識技術が進むにつれて、このような防御は年々弱体化してきているのもまた事実である。
特許文献1には、加工画像として課題画像にノイズを重畳させたり、或いは回転したり、夫々異なる画像処理を施して、ボットによる迷惑行為を防止する認証装置について開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
昨今のコンピュータによる画像認識技術の向上により、画像中の文字を用いた視覚的アンチロボットテストシステムを欺いて突破することも、いずれは技術的に容易となり、コストも低下し、システムの強度が弱体化していくことは否めない。
また、特許文献1に開示されている従来技術は、コンピュータによる画像中の文字認識精度をより困難にする目的で、文字を含む画像に非常に大きな歪みやノイズを加える方法であるが、人間がこれを解読することも非常に困難になってきており、逆にサービスのユーザビリティを低下させてしまうといった問題がある。
本発明は、かかる課題に鑑みてなされたものであり、画像中の文字を認識する機能を有する「ボット」を利用しても、迷惑行為の実施を不可能とすると共に、人間には容易に認識可能な視覚型アンチロボットテストを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明はかかる課題を解決するために、請求項1は、クライアントとしてサービスを要求する情報処理装置と、前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が、前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するサーバと、を備え、前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
システムとしては、ネットワークに接続されたサーバと情報処理装置により構成される。サーバは情報処理装置を操作する利用者が人間であるか否かを判定するためのテストプログラムを用意している。このテストプログラムは、人間には判断できるが、コンピュータには判別が困難で、且つ、判別できたとしても時間とコストがかかるような内容である。従ってサービスを要求する情報処理装置があった場合、その情報処理装置に対してテストプログラムを送信して、返信された回答内容により情報処理装置を操作する利用者が人間か否かを判別する。例えば、テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部、又は全部の色を、記憶色とは異なる色に変換した画像とする。これにより、簡単なテストプログラムにより情報処理装置を操作する利用者が人間であるか否かを正確に、且つ迅速に判別することができる。
【0007】
請求項2は、前記サーバは、前記情報処理装置から受信した回答が前記テストプログラムが要求する答と一致しているか否かを判別し、該判別結果が前記答と一致していた場合に該情報処理装置が人間により操作されていると認証する認証部と、前記オブジェクトの一部又は全部の色を他の色に変換した画像を認証用画像として生成する認証用画像生成部と、該認証用画像生成部により生成された認証用画像を前記情報処理装置に提示する認証用画像提示部と、前記情報処理装置との通信を行なう通信部と、前記認証部により前記情報処理装置が人間により操作されていると認証された場合、前記情報処理装置から受信したサービス要求指示に応じて該情報処理装置にサービスの提供を行なうサービス提供部と、前記認証部、前記認証用画像生成部、前記認証用画像提示部、前記通信部、及び前記サービス提供部を含め当該サーバの各種制御を行なう制御部と、を備えていることを特徴とする。
本発明のサーバは、サービス要求がある情報処理装置に対して、その情報処理装置を操作する利用者が人間であるか否かを判定するために、テストプログラムとしての認証用画像を生成して、通信部を介して情報処理装置に送信する。その認証用画像を受信した情報処理装置は、質問に対する回答をサーバに返信し、受信した認証部において回答がテストプログラムが要求する答と一致しているか否かを判別する。もし、一致していれば、情報処理装置を操作する利用者が人間であると認証して、サービス提供部からサービスを提供する。これにより、サーバは、サービス要求のある情報処理装置を操作する利用者が人間であるか否かを正確に、且つ迅速に判断することができる。
【0008】
請求項3は、前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、文字入力して前記サーバに返信することを特徴とする。
情報処理装置が色を判断して、その色の名前を文字で答えるには、各色に対応付けた名前を記憶しておく必要がある。しかし、色の名前は、単に赤、青、緑といった呼び方だけでなく、肌色とか、水色とか他の名前で表現する場合がある。人間は、記憶色に対してこのように表現して文字で表すことは比較的簡単であるが、情報処理装置は非常に困難である。これにより、人間と情報処理装置との判断力に差をつけることができる。
請求項4は、前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、複数の色名の中から選択して前記サーバに返信することを特徴とする。
情報処理装置が理解困難とする手法は多々あるが、あまり複雑にすると、操作者が人間であっても操作性に支障をきたすことになる。そこで本発明では、既定の色は何色であるかを、複数の色名の中から選択するものである。これにより、操作性を損なうことなく、情報処理装置を操作する利用者が人間であるか否かを判別することができる。
【0009】
請求項5は、前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、1つの正解を含む複数の色のカラーパッチの中から選択して前記サーバに返信することを特徴とする。
本発明によれば、キー入力することなくマウス等のポインティングデバイスのみを使用して回答することが可能となり、「ボット」と人間とを判別する機能を損なうことなく、ユーザの負荷を軽減することが可能となる。
請求項6は、前記情報処理装置は、前記認証用画像の中で変換された色に対してポインティングデバイスを用いてクリックして、既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
画像中の顔、空、草などのオブジェクトをコンピュータプログラムで認識するためには、これらオブジェクトの色が重要な役割を担うが、本発明では、これらの領域の色が本来の色とは異なる色に変換されているため、「ボット」などのコンピュータプログラムがこれらオブジェクトを顔、空、草などと認識するのは非常に困難であり、かつこれらの領域を検出することはより困難となる。さらに、色名で回答しなければならないため、「ボット」は顔というオブジェクトと、オブジェクトの色名との対応付けされたデータを予め用意しておいて、これを参照する必要がある。従って、「ボット」がこのテストをパスすることはより困難となっている。また、このような処理には大容量のメモリや高速なCPUを必要とするため、必然的にこれを実施するためのコストも上昇するため、ボットを用いた迷惑行為の実施は現実的ではなくなる。
【0010】
請求項7は、前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全体の色を他の色に変換し、更に変換した画像を回転して前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
ユーザは不自然な領域としてある部分をクリックし、さらに、本来望ましい色を回答欄に記入して送信ボタンを押下する。例えば、空等の特定のオブジェクトは、画像中の相対位置が、例えば、空の場合には画像上部に存在する確率が非常に高いため、自然画像のこのような性質を考慮した「ボット」であれば、テストをパスする確率をある程度向上することが可能になってしまうが、本発明においては、テスト画像を回転して表示することによって、このような推測を困難にする。
請求項8は、情報処理装置、及びサーバを備えた認証システムに係る認証方法であって、前記情報処理装置がクライアントとしてサービスを要求するステップと、前記サーバが、前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するステップと、を含み、前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする。
請求項1と同様の作用効果を奏する。
【0011】
請求項9は、請求項8に記載の認証方法をコンピュータが制御可能にプログラミングしたことを特徴とする。
本発明の認証方法をコンピュータが制御可能なOSに従ってプログラミングすることにより、そのOSを備えたコンピュータであれば同じ処理方法により制御することができる。
請求項10は、請求項9に記載の認証プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする。
認証プログラムをコンピュータが読み取り可能な形式で記録媒体に記録することにより、この記録媒体を持ち運ぶことにより何処でもプログラムを稼動することができる。
【発明の効果】
【0012】
本発明によれば、人間が記憶色を有するオブジェクトの記憶色に対応する色を他の色に変換した画像を用い、ユーザに変換された記憶色の領域の望ましい色を回答させることにより、コンピュータネットワーク上のサービスにおいて、人間であるユーザへの負担を低減し、かつサーバとのやり取りを自動で行なうコンピュータプログラムを用いた迷惑行為の実施をより困難とすることが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係る認証システム(視覚型アンチロボットシステム)の運用形態を示す図である。
【図2】本実施形態に係るクライアント及びサーバのハードウェア構成を示すブロック図である。
【図3】本実施形態に係る認証システムの機能構成について説明する図である。
【図4】本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャート(その1)である。
【図5】本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャート(その2)である。
【図6】本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャート(その3)である。
【図7】本発明の第1の実施形態に係る認証システムを説明する図である。
【図8】本発明の第2の実施形態に係る認証システムを説明する図である。
【図9】本発明の第3の実施形態に係る認証システムを説明する図である。
【図10】本発明の第4の実施形態に係る認証システムを説明する図である。
【図11】本発明の第5の実施形態に係る認証システムを説明する図である。
【図12】ラスタライズされた文字、記号を表す図である。
【発明を実施するための形態】
【0014】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【0015】
図1は、本発明の実施形態に係る認証システム(視覚型アンチロボットシステム)の運用形態を示す図である。本発明の認証システムは、サービスを要求するクライアント(情報処理装置)100と、クライアント100からサービス要求が発生した場合、クライアント100を操作する利用者が人間であるか否かを判別するためのテストプログラムをクライアント100に送信して、クライアント100から返信された回答がテストプログラムが要求する答と一致した場合にクライアント100を操作する利用者が人間であると認証するサーバ200と、クライアント100とサーバ200を接続するネットワーク150と、を備え、サーバ200は、テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像をクライアント100に送信し、クライアント100は、画像の中で変換された色に対して既定の色は何色であるかを回答してサーバ200に返信する。
【0016】
図1に示すように、本実施形態に係る認証システムは、認証を求める複数のクライアント100及び認証装置としてのサーバ200を有する。本実施形態に係る認証システムは、利用者が実際の人間であるのか、または、自動化されたコンピュータプログラムであるのかを判別する一般的な視覚型アンチロボットテストシステムを構成する。図1に示すように、本実施形態に係る複数のクライアント100及びサーバ置200は、インターネット等のネットワーク150を介して接続されている。
即ち、システムとしては、ネットワーク150に接続されたサーバ200とクライアント100により構成される。サーバ200はクライアント100が人間であるか否かを判別するためのテストプログラムを用意している。このテストプログラムは、人間には判別できるが、コンピュータには判別が困難で、且つ、判別できたとしても時間とコストがかかるような内容である。従ってサービスを要求するクライアント100があった場合、そのクライアント100に対してテストプログラムを送信して、返信された回答内容によりクライアント100が人間か否かを判別する。例えば、テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部、又は全部の色を、記憶色とは異なる色に変換した画像とする。これにより、簡単なテストプログラムによりクライアント100が人間であるか否かを正確に、且つ迅速に判別することができる。
【0017】
図2は、本実施形態に係るクライアント及びサーバのハードウェア構成を示すブロック図である。図2に示すように、本実施形態に係るクライアント100及びサーバ200は、一般的な情報処理装置と同様の構成を有する。即ち、本実施形態に係るクライアント100及びサーバ200は、CPU10、RAM20、ROM30、HDD40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD60及び操作部70が接続されている。
CPU10は演算手段であり、装置全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OSや各種の制御プログラム、アプリケーション・プログラム等が格納される。また、I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが装置に情報を入力するためのユーザインタフェースである。
【0018】
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るクライアント100及びサーバ200の機能を実現する機能ブロックが構成される。尚、サーバ200については、LCD60及び操作部70等のユーザインタフェースは省略可能である。
以上に示されるシステム構成により、認証システムでは、クライアント100のユーザが実際の人間であるのか、または、自動化されたコンピュータプログラムであるのかが判別される。クライアント100とサーバ200との間の通信はHTTP又は暗号化されたHTTPであるHTTPSを介して行なわれる。サーバ200はクライアント100からの要求に応じてHTML形式の情報などをクライアント100に送信する。なお、クライアント100とサーバ200との間の通信で用いられる通信プロトコルは上記のHTTP及びHTTPSに限られない。
【0019】
図3は、本実施形態に係る認証システムの機能構成について説明する図である。図3に示すように、クライアント100は、入力部110、表示部120、通信部130、制御部140を有する。また、サーバ200は、認証部210、認証用画像生成部220、認証用画像提示部230、通信部240、サービス提供部250、及び制御部260などを有する構成である。
まず、クライアント100が有する各機能部について説明を行なう。入力部110は、クライアント100のユーザからの各種指示を入力する。入力部110は、図2に示す操作部70によって実現される。入力部110に入力される情報は、例えば、サーバ200からWebサービスなどのサービス提供を受けるためのサービス要求指示などである。表示部120は、クライアント100の動作状態等を表示する構成であり、図2に示すI/F50及びLCD60によって実現される。通信部130は、サーバ200との通信を行なうためのインターフェース部であり、図2に示すI/F50によって実現される。制御部140は、前述の入力部110、表示部120、通信部130を含め当該クライアント100の各種制御を行なう。制御部140は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
【0020】
次に、サーバ200が有する各機能部それぞれについて説明を行なう。
サーバ200は、クライアント100から受信した情報がテストプログラムが要求する答と一致しているか否かを判別し、判別結果が答と一致していた場合にクライアント100が人間により操作されていると認証する認証部210と、オブジェクトの一部又は全部の色を他の色に変換した画像を認証用画像として生成する認証用画像生成部220と、該認証用画像生成部220により生成された認証用画像をクライアント100に提示する認証用画像提示部230と、クライアント100との通信を行なう通信部240と、認証部210によりクライアント100が人間により操作されていると認証された場合、クライアント100から受信したサービス要求指示に応じてクライアント100にサービスの提供を行なうサービス提供部250と、認証部210、認証用画像生成部220、認証用画像提示部230、通信部240、及びサービス提供部250を含め当該サーバ200の各種制御を行なう制御部260と、を備えて構成されている。
【0021】
即ち、認証部210は、クライアント100から受信した情報に基づいて認証を行なう。例えば、クライアント100のユーザが実際の人間であるのか、または、自動化されたコンピュータプログラムであるのかを判別(認証)する。さらには、クライアント100から受信したユーザ名、パスワードなどに基づいてクライアント100のユーザ認証を行なう。認証部210は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。認証用画像生成部220は、本発明による認証用画像を生成する。生成される認証用画像の例については後述する。認証用画像生成部220は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。認証用画像提示部230は、認証用画像生成部220により生成された認証用画像をクライアント100に提示する。具体的には、上記認証用画像をクライアント100の表示部に表示させるための表示情報を生成する。認証用画像提示部230は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。通信部240は、クライアント100との通信を行なうためのインターフェース部である。通信部240は、図2にI/F50によって実現される。サービス提供部250は、認証部210における認証が成功するとクライアント100から受信したサービス要求指示に応じてクライアント100にサービスの提供を行なう。サービス提供部250は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成されるアプリケーションと、図2に示すHDD30等の記録媒体によって実現される。制御部260は、前述の認証部210、認証用画像生成部220、認証用画像提示部230、通信部240、サービス提供部250を含め当該サーバ200の各種制御を行なう。制御部260は、図2に示すRAM20にロードされたプログラムがCPU10の制御に従って動作することにより構成される。
【0022】
図4は本発明のサーバとクライアントから構成されるクライアント−サーバシステムの動作を説明するフローチャートである。サーバとクライアント間の通信はHTTPあるいは暗号化されたhttpであるhttpsを介して行なわれ、サーバからの情報はHTML形式で送信される。
利用者はクライアン100を介してサーバ200に対して認証の要求を行なう(S1)。サーバ200は、ユーザが人間であるかどうかを判別するためのテストプログラムをクライアント100に送信する(S4)。利用者はテストプログラムに対する回答をサーバ200側に送信する(S2)。次にサーバ200は、返送された回答が期待された回答かどうかを判断する(S5)。期待された回答であれば(S5でYES)、最低限ユーザ識別用文字列(ユーザ名)入力用フォームとパスワード入力用フォームからなるユーザ認証用画面を提示し(S6)、利用者に認証を促し、利用者はここにユーザ名とパスワードを入力する(S3)。サーバは入力されたユーザ名とパスワードが正規利用者のものであれば(S7でYES)、コンテンツ投稿用フォームを表示する等、実際に目的とするサービスの提供を開始する。
【0023】
また、アンチロボットテストとユーザ認証の順序は図5に示すように逆であっても構わない。即ち、利用者はクライアント100を介してサーバ200に対して認証の要求を行なう(S10)。最低限ユーザ識別用文字列(ユーザ名)入力用フォームとパスワード入力用フォームからなるユーザ認証用画面を提示し(S13)、利用者に認証を促し、利用者はここにユーザ名とパスワードを入力する(S11)。サーバ200は入力されたユーザ名とパスワードが正規利用者のものであれば(S14でYES)、サーバ200は、ユーザが人間であるかどうかを判別するためのテストプログラムをクライアント100に送信する(S15)。利用者はテストプログラムに対する回答をサーバ200側に送信する(S12)。次にサーバ200は、返送された回答が期待された回答かどうかを判断する(S16)。期待された回答であれば(S16でYES)、コンテンツ投稿用フォームを表示する等、実際に目的とするサービスの提供を開始する。
また、サーバ200が匿名でコメントすることを許可しているのであれば、図6に示すように、視覚型アンチロボットテストをのみを実施し、その後ユーザにコメント投稿フォームを表示し、コメントの投稿を促す。即ち、利用者はクライアント100を介してサーバ200に対して認証の要求を行なう(S20)。サーバ200は、ユーザが人間であるかどうかを判別するためのテストプログラムをクライアント100に送信する(S22)。利用者はテストプログラムに対する回答をサーバ200側に送信する(S21)。次にサーバ200は、返送された回答が期待された回答かどうかを判断する(S23)。期待された回答であれば(S23でYES)、コンテンツ投稿用フォームを表示する等、実際に目的とするサービスの提供を開始する。
【0024】
図7は本発明の第1の実施形態に係る認証システムを説明する図である。本実施形態では、サーバ200がクライアント100にテストプログラムを送信して、例えば図7のグレーに塗りつぶしてある顔5の部分のような人間が記憶色を有するオブジェクトを含む写真画像4をユーザに提示する。人間が記憶色を有するオブジェクトとは、例えば人間の肌、空、草などで、それぞれ対応する記憶色は肌色、青、緑である。本実施形態では、これら記憶色に対応する色域の色を本来の記憶色とはかけ離れた色に変換した画像を用いる。すなわち本実施形態でユーザに提示される画像は、本来肌色であるべき人間の顔5の部分の色が例えば緑など全く異なる色に変換された画像である。図7は実際は顔の部分だけが緑色に変換されたカラー写真画像であるが、表示の都合上線画にしてあり、顔5の領域を明示するためにこの領域だけグレーに塗りつぶしてある。このような画像と共に不自然な部分の本来の色名を回答するよう促す旨の指示を表示する。ユーザは回答欄7に色名を回答し(この場合は、肌色)、送信ボタン6を押下する。図7の例では、人間の顔の部分が緑に変換されているので不自然に見え、この部分の本来望ましい色は肌色であるため、ユーザは肌色と回答する。テストプログラムは送信ボタン6の押下イベントを検知すると、ユーザの回答をサーバ200に送信する。サーバ200は受け取った回答が正解である場合には、テストをパスしたものとみなす。パスしなかった場合には、クライアント100を操作する利用者が人間ではないと判断して、次のステップに進めないようにしても良いし、テストプログラムを再送信してもよい。後者の場合でも、例えば三回連続してパスしない場合にはクライアント100を操作する利用者人間ではないと判断して、次のステップに進めないようにする。画像中の顔、空、草などのオブジェクトをコンピュータプログラムで認識するためには、これらオブジェクトの色が重要な役割を担うが、本実施形態では、これらの領域の色が本来の色とは異なる色に変換されているため、「ボット」などのコンピュータプログラムがこれらオブジェクトを顔、空、草などと認識するのは非常に困難である。さらに、色名で回答しなければならないため、「ボット」は顔というオブジェクトと、オブジェクトの色名との対応付けされたデータを予め用意しておいて、これを参照する必要がある。従って、「ボット」がこのテストをパスすることはより困難となっている。また、このような処理には大容量のメモリや高速なCPUを必要とするため、必然的にこれを実施するためのコストも上昇するため、ボットを用いた迷惑行為の実施は現実的ではなくなる。
尚、本実施形態および以下の実施形態において、説明を簡便化するためユーザに提示する画像を一個として説明を行なっているが、「ボット」がこのテストをパスすることをより困難とするためには、人間が記憶色を有するオブジェクトを含む複数の異なる画像を用いて実施することが望ましい。
【0025】
図8は本発明の第2の実施形態に係る認証システムを説明する図である。本実施形態においては、ユーザに色名を回答させるために、一個の正解を含む複数の色名の選択肢と各々対応したチェックボックス8を表示する。ユーザは正解と思う色名のチェックボックス8にチェックを入れる。または、各色名はクリック可能になっていて、ユーザは正解と思う色名をクリックするようにしてもよい。このような構成にすることによって、キー入力することなくマウス等のポインティングデバイスのみを使用して回答することが可能となり、「ボット」と人間とを判別する機能を損なうことなく、ユーザの負荷を軽減することが可能となる。
【0026】
図9は本発明の第3の実施形態に係る認証システムを説明する図である。本実施形態においては、ユーザに色を回答させるために一個の正解を含む複数の色のカラーパッチからなる選択肢と各々対応したチェックボックス8を表示する。ユーザは正解と思う色のパッチのチェックボックスにチェックを入れる。または、各カラーパッチはクリック可能になっていて、ユーザは正解と思うカラーパッチをクリックするようにしてもよい。このような構成にすることによって、キー入力することなくマウス等のポインティングデバイスのみを使用して回答することが可能となり、「ボット」と人間とを判別する機能を損なうことなく、ユーザの負荷を軽減することが可能となる。
【0027】
図10は本発明の第4の実施形態に係る認証システムを説明する図である。本実施形態においては、テスト画像4と共に不自然な部分をマウス等ポインティングデバイス9を用いてクリックし、さらにその部分の本来の色名を回答するよう促す旨の指示を表示する。ユーザは画像中の不自然に見える領域をクリックし、かつユーザに色名を回答させるために、一個の正解を含む複数の色名の選択肢と各々対応したチェックボックス8を表示する。ユーザは正解と思う色名のチェックボックス8にチェックを入れて送信ボタン6を押下する。または、各色名はクリック可能になっていて、ユーザは正解と思う色名をクリックするようにしてもよい。図10の例では、人間の顔5の部分が緑に変換されているので不自然に見えるため、テストプログラムは送信ボタンの押下イベントを検知すると、ユーザが画像内で最後にクリックした位置と回答された色名をサーバ200に送信する。サーバ200は受け取った回答が正解である場合には、テストをパスしたものとみなす。パスしなかった場合には、クライアント100を操作する利用者が人間ではないと判断して、次のステップに進めないようにしても良いし、テストプログラムを再送信してもよい。画像中の顔、空、草などのオブジェクトをコンピュータプログラムで認識するためには、これらオブジェクトの色が重要な役割を担うが、本発明では、これらの領域の色が本来の色とは異なる色に変換されているため、「ボット」などのコンピュータプログラムがこれらオブジェクトを顔、空、草などと認識するのは非常に困難であり、かつこれらの領域を検出することはより困難となる。
【0028】
図11は本発明の第5の実施形態に係る認証システムを説明する図である。本実施形態でユーザに提示される画像は、本来青であるべき空の部分の色が例えば黄色など全く異なる色に変換された画像を90度回転した画像である。図11は実際は空11の部分だけが黄色に変換されたカラー写真画像であるが、表示の都合上線画にしてあり、空11の領域を明示するためにこの領域だけグレーに塗りつぶしてある。ユーザは不自然な領域として空11の部分をクリックし、さらに、本来望ましい色である青を回答欄7に記入して送信ボタン6を押下する。空等の特定のオブジェクトは、画像中の相対位置が例えば空の場合には画像上部に存在する確率が非常に高いため、自然画像のこのような性質を考慮した「ボット」であれば、テストをパスする確率をある程度向上することが可能になってしまうが、本実施形態においては、テスト画像を90度回転して表示することによって、このような推測を困難にする。回転角の例として90度を挙げたが、180度でもよいし、40度、52度など任意の角度でも良い。
【符号の説明】
【0029】
1 サーバ、2 ネットワーク、3 クライアント、4 写真画像、5 顔、6 送信ボタン、7 解答欄、8 チェックボックス、9 ポインター、10 CPU,11 空、20 RAM、30 ROM、40 HDD、50 I/F、60 LCD、70 操作部、80 バス、100 クライアント、110 入力部、120 表示部、130 通信部、140 制御部、150 ネットワーク、200 サーバ、210 認証部、220 認証用画像生成部、230 認証用画像提示部、240 通信部、250 サービス提供部、260 制御部
【先行技術文献】
【特許文献】
【0030】
【特許文献1】特開2010−67096公報
【特許請求の範囲】
【請求項1】
クライアントとしてサービスを要求する情報処理装置と、
前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が、前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するサーバと、を備え、
前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする認証システム。
【請求項2】
前記サーバは、
前記情報処理装置から受信した回答が前記テストプログラムが要求する答と一致しているか否かを判別し、該判別結果が前記答と一致していた場合に該情報処理装置が人間により操作されていると認証する認証部と、
前記オブジェクトの一部又は全部の色を他の色に変換した画像を認証用画像として生成する認証用画像生成部と、
該認証用画像生成部により生成された認証用画像を前記情報処理装置に提示する認証用画像提示部と、
前記情報処理装置との通信を行なう通信部と、
前記認証部により前記情報処理装置が人間により操作されていると認証された場合、前記情報処理装置から受信したサービス要求指示に応じて該情報処理装置にサービスの提供を行なうサービス提供部と、
前記認証部、前記認証用画像生成部、前記認証用画像提示部、前記通信部、及び前記サービス提供部を含め当該サーバの各種制御を行なう制御部と、
を備えていることを特徴とする請求項1に記載の認証システム。
【請求項3】
前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、文字入力して前記サーバに返信することを特徴とする請求項1又は2に記載の認証システム。
【請求項4】
前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、複数の色名の中から選択して前記サーバに返信することを特徴とする請求項1又は2に記載の認証システム。
【請求項5】
前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、1つの正解を含む複数の色のカラーパッチの中から選択して前記サーバに返信することを特徴とする請求項1又は2に記載の認証システム。
【請求項6】
前記情報処理装置は、前記認証用画像の中で変換された色に対してポインティングデバイスを用いてクリックして、既定の色は何色であるかを回答して前記サーバに返信することを特徴とする請求項1乃至5の何れか一項に記載の認証システム。
【請求項7】
前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全体の色を他の色に変換し、更に変換した画像を回転して前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする請求項1乃至5の何れか一項に記載の認証システム。
【請求項8】
情報処理装置、及びサーバを備えた認証システムに係る認証方法であって、
前記情報処理装置がクライアントとしてサービスを要求するステップと、
前記サーバが、前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するステップと、を含み、
前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする認証方法。
【請求項9】
請求項8に記載の認証方法をコンピュータが制御可能にプログラミングしたことを特徴とする認証プログラム。
【請求項10】
請求項9に記載の認証プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする記録媒体。
【請求項1】
クライアントとしてサービスを要求する情報処理装置と、
前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が、前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するサーバと、を備え、
前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする認証システム。
【請求項2】
前記サーバは、
前記情報処理装置から受信した回答が前記テストプログラムが要求する答と一致しているか否かを判別し、該判別結果が前記答と一致していた場合に該情報処理装置が人間により操作されていると認証する認証部と、
前記オブジェクトの一部又は全部の色を他の色に変換した画像を認証用画像として生成する認証用画像生成部と、
該認証用画像生成部により生成された認証用画像を前記情報処理装置に提示する認証用画像提示部と、
前記情報処理装置との通信を行なう通信部と、
前記認証部により前記情報処理装置が人間により操作されていると認証された場合、前記情報処理装置から受信したサービス要求指示に応じて該情報処理装置にサービスの提供を行なうサービス提供部と、
前記認証部、前記認証用画像生成部、前記認証用画像提示部、前記通信部、及び前記サービス提供部を含め当該サーバの各種制御を行なう制御部と、
を備えていることを特徴とする請求項1に記載の認証システム。
【請求項3】
前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、文字入力して前記サーバに返信することを特徴とする請求項1又は2に記載の認証システム。
【請求項4】
前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、複数の色名の中から選択して前記サーバに返信することを特徴とする請求項1又は2に記載の認証システム。
【請求項5】
前記情報処理装置は、前記認証用画像の中で変換された色に対して既定の色は何色であるかを、1つの正解を含む複数の色のカラーパッチの中から選択して前記サーバに返信することを特徴とする請求項1又は2に記載の認証システム。
【請求項6】
前記情報処理装置は、前記認証用画像の中で変換された色に対してポインティングデバイスを用いてクリックして、既定の色は何色であるかを回答して前記サーバに返信することを特徴とする請求項1乃至5の何れか一項に記載の認証システム。
【請求項7】
前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全体の色を他の色に変換し、更に変換した画像を回転して前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする請求項1乃至5の何れか一項に記載の認証システム。
【請求項8】
情報処理装置、及びサーバを備えた認証システムに係る認証方法であって、
前記情報処理装置がクライアントとしてサービスを要求するステップと、
前記サーバが、前記情報処理装置からサービス要求が発生した場合、該情報処理装置を操作する利用者が人間であるか否かを判別するためのテストプログラムを該情報処理装置に送信して、該情報処理装置から返信された回答が前記テストプログラムが要求する答と一致した場合に該情報処理装置を操作する利用者が人間であると認証するステップと、を含み、
前記サーバは、前記テストプログラムとして、人間が記憶している記憶色を有するオブジェクトの一部又は全部の色を他の色に変換した画像を前記情報処理装置に送信し、該情報処理装置は、該画像の中で変換された色に対して既定の色は何色であるかを回答して前記サーバに返信することを特徴とする認証方法。
【請求項9】
請求項8に記載の認証方法をコンピュータが制御可能にプログラミングしたことを特徴とする認証プログラム。
【請求項10】
請求項9に記載の認証プログラムをコンピュータが読み取り可能な形式で記録したことを特徴とする記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−173953(P2012−173953A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−34768(P2011−34768)
【出願日】平成23年2月21日(2011.2.21)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月21日(2011.2.21)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]