説明

認証サーバ装置、認証方法、及び認証プログラム

【課題】一定の視認性を維持しつつ、定量的に攻撃耐性を上げることが可能な、CAPTCHAを用いた認証技術を提供すること。
【解決手段】認証サーバ装置は、クライアントからサービス利用の要求を受信すると、1以上の既知の記号若しくは1以上のダミー記号又はその両方を含む複数の画像情報を格納する画像情報格納部から1以上の画像情報を読み出し、これを使用して、1以上の既知の記号を各々含む1以上の2次元画像及び1以上のダミー記号を各々含む1以上の2次元画像が、1度に1つクライアントのユーザに提示されるように、チャレンジ・データを作成する。そして認証サーバ装置は、レスポンス・データを受信すると、それがチャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一致することに応答してクライアント装置のサービス利用を許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータと人間を区別する完全に自動化された公開チューリングテスト(CAPTCHA:Completely Automated Public Turing test to tell Computers and Humans apart)に関し、一定の視認性を維持しつつ、定量的に攻撃耐性を上げることが可能な、CAPTCHAを用いた認証技術に関する。
【背景技術】
【0002】
CAPTCHAは、種々のコンピュータによるサービスをロボットが使用するのを防ぐために利用される技術である。例えば、ブログのスパムコメントを防止するため、また、ロボットによる無料メールアカウントの自動取得を防止するための簡易認証としてのCAPTCHAの利用はよく知られている。
【0003】
現在、音声データを用いたCAPTCHA、写真データを用いたCAPTCHA等、様々なCAPTCHAが研究されている。しかし、テスト問題作成の容易性や使用環境の制約の問題から、テキスト画像によるCAPTCHAが最も一般的に用いられている。テキスト画像によるCAPTCHAでは、歪ませたり、一部を覆い隠した文字をユーザに提供し、正しい文字がユーザにより入力された場合にユーザが人間であると推測する。
【0004】
しかしながら、近年、このような2次元のテキスト画像によるCAPTCHAが、光学式文字読取装置(OCR:Optical Character Reader)技術の精度の向上により、また、スパマーによる攻撃により、突破されつつある。対抗策として、2次元のテキスト画像の背景を複雑多様に変化させる等の手段が取られるが、これは同時に人間による読み取りをも困難にする。
【0005】
人間にとって読み取りを容易にすると同時に、コンピュータが読み取ることを困難にする技術として、特許文献1が存在する。特許文献1は、アークおよび/クラックをHIPシーケンスの周りに配置するか、またはそれと組み合わせる無作為性を低下させる、即ち、アークおよび/クラックをテキスト全体により均一に分散させることによって、解くことのできない、または不可能な質問(チャレンジ)を生成する確率を、部分的に低減する技術を開示する。
【0006】
また、特許文献1は、キャラクタ・フォントの平均厚さに近いか、またはそれよりも大きいアークを、アタックを拡散させる上で有効である偽の存在として、既に配置されたキャラクタと重複しないように、均一に追加する技術も開示する。
【0007】
また、コンピュータが読み取ることを困難にする他の技術として、認証用データをアニメーションとして提示する技術も存在する(非特許文献1参照)。この技術は、アニメーションを構成する2次元画像の各フレーム中に認証テキストが完全に現れることをなくすことで、言い換えると、認証対象の文字列の全てが同一のフレームに現れないようにすることで、ロボットによる認証用データの解析を困難なものにしている。
【特許文献1】特開2005−322214号公報
【非特許文献1】Laszio Zsidi、”animated_captcha”、[online]、[平成20年1月22日検索]、インターネット<URL http://www.phpclasses.org/browse/package/3423.html>
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、上記従来技術において、利用場面や技術の進歩に合わせて、一定の視認性を維持しつつ、定量的に攻撃耐性を上げることは難しい。上記特許文献1の技術において、ユーザに提示されるHIPシーケンスは1つの2次元画像である。そのため、コンピュータによる読み取りをより困難にするために、アークおよび/クラックの量を増やそうとすると、キャラクタに重なるアークおよび/クラックの量が増えてしまい視認性が低下する。また、偽の存在としてのアークの量を増やそうとすると、これらはキャラクタから離れて配置する必要があるため、2次元画像のサイズが大きくなってしまい、やはり視認性を低下させてしまう。
【0009】
また、上記非特許文献1の技術では、認証対象の文字列の全てが同一の2次元画像のフレームに現れることがないように調整される。そのため、コンピュータによる読み取りをより困難にするため、提示する2次元画像のフレームの数を増やそうとすると、必然的に認証対象の文字列も長くなってしまう。従って、非特許文献1の技術において2次元画像のフレームの数を増やすことは、認証回数を増やすことと実質的に同じであり、非特許文献1の技術において、利用場面や技術の進歩に合わせて攻撃耐性を上げることはできない。
【0010】
この発明は、上記の問題点を解決するためになされたものであって、コンピュータ処理により、利用場面や技術の進歩に合わせて、一定の視認性を維持しつつ、定量的に攻撃耐性を上げることが可能な、CAPTCHAを用いた認証方法、認証プログラム及び認証サーバ装置を提供することを目的とする。本発明はまた、2次元のCAPTCHAへの主な攻撃法であるOCR技術を用いた攻撃に対して高い抵抗力を持つ、CAPTCHAを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成する本発明は、次のような認証サーバ装置により実現される。この認証サーバ装置は、1以上の既知の記号及び1以上のダミー記号の少なくとも一方が含まれる複数の画像情報を格納する画像情報格納部と、ネットワークを介してクライアント装置からサービス利用の要求を受信する受信部と、サービス利用の要求の受信に応答して、画像情報格納部から1以上の画像情報を読み出す読出し部と、1以上の既知の記号を各々含む1以上の2次元画像及び1以上のダミー記号を各々含む1以上の2次元画像が、1度に1つクライアント装置のユーザに提示されるように、読み出した1以上の画像情報を使用してチャレンジ・データを作成するチャレンジ・データ作成手段と、クライアント装置へ作成したチャレンジ・データを送信し、クライアント装置から対応するレスポンス・データを受信する試験部と、受信したレスポンス・データが、送信したチャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一致することに応答してクライアント装置のサービス利用を許可する許可部とを備える。
【0012】
ここで、認証サーバ装置は、受信するサービス利用の要求を、該要求を送信したクライアント装置からネットワークを介して直接受信してもよく、あるいは、クライアント装置が要求するサービスを実際に提供する他のサーバ装置を介して受信してもよい。また、サービス利用の許可・不許可は、クライアント装置若しくは上記その他のサーバ装置又はその両方に、認証結果を送信することにより行ってよい。
【0013】
ここで、ダミー記号とは、人間にとっては正解の既知の記号とは異なる記号と視認しやすいが、コンピュータにとっては正解の既知の記号と誤判定してしまいやすい記号をいう。好ましくは、ダミー記号は、既知の記号に類似する形状若しくは線の太さ又はその両方を持つ、特定の意味を持たない記号である。
【0014】
好ましくは、複数の2次元画像は、その背景及び前景の少なくとも一方にアークを含む。ここで、アークとは、人間にとっては正解の既知の記号と区別して視認しやすいが、コンピュータにとっては正解の既知の記号の一部として又は正解の既知の記号そのものとして誤判定してしまいやすい情報をいう。一例として、アークは、線や曲線、又任意の形状の背景として表現してよい。
【0015】
好ましくは、画像情報格納部は、1以上の既知の記号を各々含む複数の2次元画像、及び1以上のダミー記号を各々含む複数の2次元画像を格納する。ここで、1以上の既知の記号を含む2次元画像はまた、1以上のダミー記号を更に含んでもよい。
【0016】
また好ましくは、読出し部は、サービス利用の要求の受信に応答して、上記画像情報格納部から1以上の既知の記号を含む2次元画像及び1以上のダミー記号を含む2次元画像をそれぞれ1以上読み出す。そして、チャレンジ・データ作成手段は、チャレンジ・データとして、読み出した複数の2次元画像を用いたアニメーションGIF形式の動画を作成する。
【0017】
好ましくは、画像情報格納部は、1以上の既知の記号及び1以上のダミー記号がその表面に見える3次元のオブジェクトに関する3次元画像情報を複数格納する。
【0018】
また好ましくは、読出し部は、サービス利用の要求の受信に応答して、上記画像情報格納部から3次元のオブジェクトに関する3次元画像情報を1つ読み出す。そして、チャレンジ・データ作成手段は、読み出した3次元画像情報に基づいて、異なる視点から見た3次元のオブジェクトの2次元画像を複数作成し、該複数の2次元画像を用いたアニメーションGIF形式の動画を前記チャレンジ・データとして作成する。
【0019】
また好ましくは、読出し部は、サービス利用の要求の受信に応答して、上記画像情報格納部から3次元のオブジェクトに関する3次元画像情報を1つ読み出す。そして、チャレンジ・データ作成手段は、読み出した3次元画像情報に基づいて、所定の視点からみた3次元のオブジェクトの2次元画像を生成し、該2次元画像の複数の領域の各々に該領域からみた3次元のオブジェクトの2次元画像へのリンク先を設定したクリッカブルマップをチャレンジ・データとして作成する。
【0020】
また好ましくは、読出し部は、サービス利用の要求の受信に応答して、上記画像情報格納部から3次元のオブジェクトに関する3次元画像情報を1つ読み出す。そして、チャレンジ・データ作成手段は、3次元オブジェクトを任意の方向から見ること可能とする、クライアント装置において実行されるプログラム及び3次元画像情報を含むチャレンジ・データを作成する。
【0021】
また好ましくは、3次元画像情報は、3次元のオブジェクトの形状情報及び3次元のオブジェクトの表面の色情報を含む。更に好ましくは、3次元のオブジェクトは、複数の小球の集合から構成される球体である。更にまた好ましくは、3次元のオブジェクトの表面の色情報は、既知の記号が複数の小球の表面上で歪むことなく見えるように決定されている。
【0022】
好ましくは、許可部は、受信したレスポンス・データが、送信したチャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一定以上の正解率が得られた場合にクライアント装置のサービス利用を許可する。
【0023】
好ましくは、チャレンジ・データ作成部は、複数のチャレンジ・データを作成し、試験部は、複数のチャレンジ・データを用いて、同一のクライアント装置に対して試験を複数回実行する。そして、許可部は、各チャレンジ・データに対して、受信したレスポンス・データが、送信したチャレンジ・データに含まれる1以上の既知の記号と一致するか否かを判定し、所定回数以上一致した場合にクライアント装置のサービス利用を許可する。
【0024】
以上、認証サーバ装置として本発明を説明したが、本発明は、そのような認証サーバ装置において実行される認証方法、認証プログラムとして把握することもできる。
【発明の効果】
【0025】
本発明によれば、クライアント装置のユーザが人間であることを試験するためのチャレンジ・データとして、1以上の既知の記号を各々含む1以上の2次元画像、及び1以上のダミー記号を各々含む1以上の2次元画像が1度に1つクライアント装置のユーザに提示される。チャレンジ・データを提示されたユーザは、提示された2次元画像に含まれる1以上の既知の記号を正解として返すことが求められる。
【0026】
人間は、意味のない未知の記号よりも既知の記号をより知覚・発見しやすいという知覚特性をもつ。そのため、本発明に係るCAPTCHAを提示された人間は、1度に1つ提示される複数の2次元画像の中から、既知の記号が含まれる2次元画像を素早く抽出し、正解である既知の記号を容易く見つけ出すことができる。従って、提示される2次元画像の数が増えても視認性に与える影響はほとんどない。
【0027】
一方、そのような知覚特性のないコンピュータには、正解の既知の記号とダミー記号とを区別することは難しい。そのため、コンピュータは、提示された複数の2次元画像を1つ1つ等しく解析する必要がある。従って、本発明に係るCAPTCHAのコンピュータによる解析は、提示される2次元画像の数に比例して困難なものとなる。
【発明を実施するための最良の形態】
【0028】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【0029】
まず、図1を参照して、本発明に係る認証システムについて説明する。図1は、本発明の一実施形態に係る認証システム1000全体の構成の一例を示す図である。認証システム1000は、インターネットやLAN(Local Area Network)等のネットワーク200に接続し、複数のクライアント装置500に各種サービスを提供するWebサーバ等の複数のサーバ400と、ネットワーク200に接続し、サーバ400にサービスの提供を要求する複数のクライアント300と、ネットワーク200に接続し、複数のサーバ400と複数のクライアント300に対して認証サービスを提供する認証サーバ100とを含む。各装置間の通信は、例えばTCP(Transmission Control Protocol)やHTTP(HyperText Transfer Protocol)など任意の好適なプロトコルを利用して行われる。
【0030】
クライアント300は、サーバ400にサービスの提供を要求する場合、まず認証サーバ100へアクセスする。認証サーバ100は、クライアント300からサービス提供の要求を受信すると、チャレンジ/レスポンス型テストにより、クライアント300がそのサービスを受ける権利があるか否か、即ち、クライアント300のユーザが人間であるか否かを認証する。本発明に係る認証サーバ100は、チャレンジ・データとして、1以上の既知の記号を各々含む1以上の2次元画像と1以上のダミー記号を各々含む1以上の2次元画像を、1度に1つクライアント300のスクリーンに表示されるように、ユーザに提示する。
【0031】
チャレンジ・データを受信したクライアント300のユーザは、提示された複数の2次元画像から既知の記号を読み取り、クライアント300へ入力する。クライアント300は入力されたデータをレスポンス・データとして認証サーバ100へ送信する。認証サーバ100は、受信したレスポンス・データが、チャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定する。認証に成功した場合、認証サーバ100は、クライアント300へ認証許可情報を送信する。認証許可情報を受信したクライアント300は、認証許可情報を希望するサーバ400へ送信し、サーバ400からサービスの提供を受ける。
【0032】
一方、認証に失敗した場合、認証サーバ100は、クライアント400のサービス利用の要求を拒否する。なお、図1では、認証サーバ100は、複数のサーバ400に対して認証サービスを提供するものとして示しているが、サーバ400ごと対応する認証サーバ100を配置する構成を採用してもよい。更に、認証サーバ100とサーバ400を1つのサーバとして実装してもよい。また、クライアント300は、サーバ400へ直接サービスの提供を要求し、認証サーバ100は、サーバ400を介してクライアント300からサービス提供の要求を受信する構成としてもよい。
【0033】
図2は、本発明の一実施形態に係る認証サーバ100の機能構成の一例を示す図である。本発明の実施形態に係る認証サーバ100は、受信部102と、読出し部105と、画像情報格納部108と、チャレンジ・データ作成部110と、試験部115と、許可部120とを備える。
【0034】
受信部102は、ネットワーク200を介してクライアント300から、いずれかのサーバ400が提供するサービス利用の要求を受信する。サーバ400が提供するサービスはどのようなものでもよく、例えば、メールアカウントの無料提供サービス、ブログや電子掲示板へのコメント投稿のサービス、文献等の各種情報のダウンロード・サービス、レストランや映画の座席の予約サービスであってよい。
【0035】
画像情報格納部108は、1以上の既知の記号及び1以上のダミー記号の少なくとも一方が含まれる複数の画像情報を格納する。ここで既知の記号は、文字や数字、またプラスの符号等、既知のものであればどのような記号であってもよい。しかしながら、既知の記号はユーザが正解としてクライアント300に入力する必要のある記号であることから、アルファベットや数字などの入力容易な記号を選択することが好ましい。また、同一の認証用データの再利用を避けるため、種類の豊富な記号を選択することが好ましい。
【0036】
一方、ダミー記号は、上述したように、人間にとっては正解の既知の記号とは異なる記号と視認しやすいが、コンピュータにとっては正解の既知の記号と誤判定してしまいやすい記号である。好ましくは、ダミー記号は、既知の記号に類似する形状若しくは線の太さ又はその両方を持つ、特定の意味を持たない記号である。
【0037】
本発明の一実施形態に係る画像情報格納部108は、1以上の既知の記号を各々含む複数の2次元画像、及び1以上のダミー記号を各々含む複数の2次元画像を格納する。1以上の既知の記号を含む2次元画像は、1以上のダミー記号を更に含んでもよく、画像情報格納部108は、1以上の既知の記号を含む2次元画像を、その2次元画像に含まれる1以上の既知の記号に対応付けて格納する。一例として、各2次元画像は、n×mのマトリクスとして記述され(n、mは所定の定数)、マトリクスを構成するデータは、テクセルと呼ばれる4つの要素(R、G、B、α)により記述される。ここでR、G、Bは、テクセルの赤、緑、青の色情報であり、αは画像を重ね合わせたときの透過率を表す。なお、本発明においてα情報はなくてもよい。
【0038】
好ましくは、各2次元画像は、その背景若しくは前景又はその両方にアークを含む。上述したように、アークとは、人間にとっては正解の既知の記号と区別して視認しやすいが、コンピュータにとっては正解の既知の記号の一部として又は正解の既知の記号そのものとして誤判定してしまいやすい情報をいう。一例として、アークは、線や曲線であってよい。他の例としてアークは、既知の記号に類似する色を持つ背景又は任意の形状を有する背景であってよい。更に、各2次元画像は、従来の2次元CAPTCHAのように、歪んだ又はぼやかされた既知の記号やダミー記号を含んでよい。
【0039】
読出し部105は、クライアント300からのサービス利用の要求の受信に応答して、画像情報格納部108から無作為に1以上の画像情報を読み出す。より具体的には、本発明の一実施形態に係る読出し部105は、サービス利用の要求の受信に応答して、上記一実施形態に係る画像情報格納部108から1以上の既知の記号を含む2次元画像及び1以上のダミー記号を含む2次元画像を、それぞれ1以上読み出す。そして読出し部105は、読み出した1以上の画像情報をチャレンジ・データ作成部210へ渡す。読出し部105はまた、読み出した1以上の画像情報に含まれる1以上の既知の記号を、後述する許可部220へ渡す。なお、安全性の観点から、読出し部105は、読み出した1以上の画像情報の履歴を記録し又は破棄することにより、同一の認証用データの再利用を避けることが好ましい。
【0040】
チャレンジ・データ作成部110は、1以上の既知の記号を各々含む1以上の2次元画像及び1以上のダミー記号を各々含む1以上の2次元画像が、1度に1つクライアント300のユーザに提示されるように、読み出した1以上の画像情報を使用して、クライアント300のユーザが人間であることを試験するためのチャレンジ・データを作成する。
【0041】
より具体的には、本発明の一実施形態に係るチャレンジ・データ作成部110は、GIFアニメーション作成部111を含む。GIFアニメーション作成部111は、チャレン・データとして、本発明の一実施形態に係る読出し部105から受け取った複数の2次元画像を用いたアニメーションGIF形式の動画を作成する。ここで、GIFアニメーションとは、1つのファイルの中に複数のGIF画像を保存し、それらを順に表示していくことで動画を表現するアニメーションである。GIFアニメーション作成部111は、読出し部105から受け取った複数の2次元画像をランダムに並べて1つのファイルの中に保存し、アニメーションGIF形式の動画を作成する。
【0042】
これに代えて、本発明の一実施形態に係るチャレンジ・データ作成部110は、本発明の一実施形態に係る読出し部105から受け取った複数の2次元画像のハイパーリンクを埋め込んだ文書を作成してもよい。いずれの場合も、チャレンジ・データ作成部110は、作成したチャレンジ・データを、試験部115へ渡す。
【0043】
試験部115は、サービス利用の要求をしたクライアント300へ、チャレンジ・データ作成部110から受け取ったチャレンジ・データを送信し、クライアント300から、対応するレスポンス・データを受信する。そして、試験部115は、受信したレスポンス・データを許可部120へ渡す。
【0044】
許可部120は、試験部115から受け取ったレスポンス・データが、試験部115によって送信されたチャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一致することに応答してクライアント300のサービス利用を許可する。ここで、許可部120は、チャレンジ・データに複数の既知の記号が含まれる場合、該複数の既知の記号と受け取ったレスポンス・データとが全て一致しなくても、一定以上の正解率が得られることを条件に、クライアント300にサービスの利用を許可してもよい。
【0045】
また、許可部120は、受け取ったレスポンス・データが1以上の第1記号と一致しない場合であっても直ちにサービスの利用を不許可とせず、クライアント300に複数回試験を受ける機会を与えてもよい。即ち、許可部120は、各チャレンジ・データに対して、受信したレスポンス・データが、送信したチャレンジ・データに含まれる1以上の既知の記号と一致するか否かを判定し、所定回数以上一致した場合にクライアント300のサービス利用を許可してもよい。
【0046】
サービス利用を許可する場合、許可部120は、認証許可情報を作成し、これをクライアント300へ送信する。クライアント300は、受信した認証許可情報を該当サーバ400へ提示して、希望するサービスを利用する。なお、サービス利用の要求をサーバ400を介して受信する場合、許可部120は、認証許可情報をサーバ400へ直接送信する。一方、サービス利用を拒否する場合、許可部120は、例えば、同一のIPアドレスを有するクライアント300又はMACアドレスなどの同一の識別番号を有するクライアント300からのアクセス要求を一定時間禁止する。
【0047】
上記説明した本発明の一実施形態に係る画像情報格納部108に格納される画像情報は、2次元の画像情報であった。そこで次に、画像情報格納部108に格納される画像情報が3次元の画像情報である場合について説明する。なお、画像情報格納部108に格納される画像情報が3次元の画像情報であっても、受信部102、試験部115及び許可部120の機能に違いはないため、以下では、画像情報格納部108、読出し部105及びチャレンジ・データ作成部110について説明する。
【0048】
本発明の他の実施形態に係る画像情報格納部108は、1以上の既知の記号及び1以上のダミー記号がその表面に見える3次元のオブジェクトに関する3次元画像情報を、上記1以上の既知の記号に関連付けて複数格納する。ここで3次元画像情報には、少なくとも、3次元オブジェクトの形状情報とその表面の色情報とが含まれる。
【0049】
図3に、そのような3次元オブジェクトの一例を示す。図3(a)に示す例では、3次元のオブジェクトの形状は球であり、該3次元のオブジェクトをある視点10からみると、その表面に正解となる既知の記号(本実施例ではアルファベットのA、図3(b)参照)を見ることができ、また、他の視点20からみると、その表面にダミーの第2記号(本実施例ではアルファベットのAに似た形状を有する2つの記号、図3(c)参照)を見ることができる。
【0050】
このような3次元のオブジェクトをチャレンジ・データとする場合、ユーザは、複数の視点から3次元のオブジェクトを観察し、正解の既知の記号を見つけて回答することが求められる。ところで、3次元のオブジェクトをコンピュータの画面上で見る場合、ある視点から見た3次元オブジェクトの2次元画像を見ることになる。従って、1以上の既知の記号及び1以上のダミー記号がその表面に見える3次元のオブジェクトをチャレンジ・データとすることは、1以上の既知の記号を各々含む1以上の2次元画像及び1以上のダミー記号を各々含む1以上の2次元画像を、1度に1つクライアント装置のユーザにチャレンジ・データとして提示することと同じである。
【0051】
そこでまず、このような3次元のオブジェクトに関する3次元画像情報の生成方法について、図4乃至図9を参照して説明する。図4は、3次元データ生成装置500の機能構成の一例を示す図である。本発明の実施形態に係る3次元データ生成装置500は、オブジェクト生成部505と、第1記号格納部510と、第1記号決定部515と、第2記号格納部120と、第2記号決定部125と、色情報決定部530と、3次元データ格納部550と、乱数発生器540を備える。
【0052】
オブジェクト生成部505は、3次元の仮想空間内に3次元のオブジェクトを生成し、生成した3次元オブジェクトの形状情報を、3次元データ格納部550へ格納する。生成する3次元オブジェクトの形状はどのようなものでもよい。また、3次元オブジェクトは、一般的なモデリング手法を用いて、ポリゴンの集合によって表現してよい。この場合、3次元データ格納部550に格納される3次元オブジェクトの形状情報には、少なくともポリゴンの名を表すインデックス・ナンバー及びポリゴンの各頂点の座標が含まれる。しかしながら、好ましくは、オブジェクト生成部505は、3次元オブジェクトの形状として球体を選択し、球空間に小球を分布させてなる3次元オブジェクトを生成する。この場合、3次元オブジェクト情報格納部550に格納される3次元オブジェクトの形状情報には、少なくとも球空間の中心点(原点としてもよい)の座標とその半径R、及び小球の半径rとその中心点の座標又は分布式が含まれる。
【0053】
このような3次元オブジェクトの生成が好ましいのは、次のような理由による。上述したように、本発明に係るCAPTCHAは、チャレンジ・データとして提示する2次元画像の中に、ダミー記号を含む2次元画像を追加し、コンピュータが解析しなければならない2次元画像を増やすことによってCAPTCHAの解析を困難なものとする。従って、3次元オブジェクトの多方向からダミー記号を挿入し、コンピュータに複数の方向についてダミー記号を解析する必要を生じさせることにより、正解となる記号の読み取りを困難にすることができる。このことは、視点によって、3次元オブジェクトの表面の見え方が異なるほど、コンピュータが解析する必要のある方向が増え、コンピュータによる正解の記号の読み取りが困難になることを意味する。
【0054】
そこで本実施例では、3次元オブジェクトの表面の見え方が視点によって大きく異なるよう、3次元オブジェクトの形状として球体を選択し、更に、複数の小球の集合によって球体の形状をなす3次元オブジェクトを生成する。図5を参照して、複数の小球の集合によって球体を構成した場合に、その表面に見ることのできる画像が、球体を見る方角の違いだけでなく、球体と視点との間の距離によっても大きく異なることを説明する。
【0055】
図5は、球空間に小球を分布させてなる3次元オブジェクトを、真横で切ったその断面図を示す。なお、図5では、説明を簡単にするために一部の小球のみを示す。図5を見ると分かるように、近い視点P1から3次元オブジェクトを見た場合、小球1と2が手前に見え、小球3と4はその陰になって見ることができない。一方、遠い視点P2から3次元オブジェクトを見た場合、小球4と5が手前に見え、小球3は小球5の陰になって見ることができない。このように、複数の小球の集合によって球体を構成する場合、球体と視点との間の距離によって見える小球が異なり、結果としてその表面に描画される記号の見え方も異なる。
【0056】
なお、球空間における小球の分布と密度は、最も理想的には、「球空間をどの方向から見ても、同数の小球が同密度で見える状態」になる分布と密度である。但し、見る方向によって見える小球の数や密度が異なっても問題はない。実際の実装では、一様分布(例えば、方眼紙の升目に1つずつ小球を配置するような均等分布)が利用しやすく、密度は極端に低い状態でなければよい。オブジェクト生成部105は、一例として、半径Rが10cmの球空間に、半径1cmの小球を200個程度、一様に分布させることにより3次元オブジェクトを生成してよい。
【0057】
第1記号格納部510は、正解となる複数の既知の記号の2次元の画像情報を、インデックスを付けて格納する。上述したように既知の記号は、文字や数字、またプラスの符号等、既知のものであればどのような記号でもよい。第1記号格納部510に格納される既知の記号の画像情報もまた、n×mのマトリクスとして記述され(n、mは所定の定数)、マトリクスを構成するデータは、テクセルと呼ばれる4つの要素(R、G、B、α)により記述される。同様に、R、G、Bは、テクセルの赤、緑、青の色情報であり、αは画像を重ね合わせたときの透過率を表す。ここでもα情報はなくてもよい。
【0058】
第1記号決定部515は、1以上の既知の記号、及び該既知の記号が見える、オブジェクト生成部505が生成した3次元のオブジェクトの表面の第1の位置をそれぞれ決定する。好ましくは、第1記号決定部515は、乱数発生器540によって乱数を発生させ、該乱数に基づいて、第1記号格納部510から1以上の第1記号を無作為に選択する。また好ましくは、第1記号決定手段515は、第1記号が見える方向を、第1の位置として決定する。
【0059】
ここで、決定する既知の記号が1つの場合、既知の記号が3次元オブジェクトの表面に見えるべき方向は任意の方向であってよい。しかしながら、決定する既知の記号が複数の場合、最初の既知の記号が見えるべき方向が決定された後は、残りの既知の記号が見えるべき方向は、他の既知の記号に重なって見えてしまうような方向を除く任意の方向である。決定された、1以上の既知の記号の2次元の画像情報、及び各既知の記号の第1の位置情報(見える方向)は、後述する色情報決定部530へ渡され、色情報決定部530の第1バッファ535に一時的に格納される。
【0060】
第2記号格納部520は、複数のダミー記号の2次元の画像情報を、インデックスを付けて格納する。上述したようにダミー記号は、斜線や曲線等、特別な意味を持たない記号であればよい。第2記号格納部520はまた、上記3次元のオブジェクトの表面に背景として描画すべき2次元の背景画像、該2次元の背景画像の生成方法に関する情報、及び1以上の既知の記号及び1以上のダミー記号の変形方法に関する情報のうち少なくとも1つを更に、インデックスを付けて格納してよい。
【0061】
第2記号格納部520に格納されるダミー記号の画像情報及び背景画像もまた、n×mのマトリクスとして記述され(n、mは所定の定数)、マトリクスを構成するデータは、テクセルと呼ばれる4つの要素(R、G、B、α)により記述される。同様に、R、G、Bは、テクセルの赤、緑、青の色情報であり、αは画像を重ね合わせたときの透過率を表す。ここでもα情報はなくてもよい。ここで、背景画像は、上述したように、既知の記号の線の太さよりも細い線や曲線等により表されるアークの入った背景画像等、コンピュータに誤った解答を出させるために、従来より用いられている背景画像あってよい。
【0062】
また、背景画像の生成方法に関する情報、及び変形方法に関する情報は、特定のアルゴリズムに従って背景画像を生成するプログラムの格納場所に関する情報、及び他の特定のアルゴリズムに従って既知の記号及びダミー記号を変形するプログラムの格納場所に関する情報であってよい。そしてそのような特定のアルゴリズムの各々は、従来の2次元CAPTCHAにおいて用いられる既知のアルゴリズムであってよい。
【0063】
第2記号決定部525は、1以上のダミー記号、及び該ダミー記号が見える、オブジェクト生成部505が生成した3次元のオブジェクトの表面の第2の位置をそれぞれ決定する。好ましくは、第2記号決定部525は、乱数発生器540によって乱数を発生させ、該乱数に基づいて、第2記号格納部520から1以上のダミー記号を無作為に選択する。また好ましくは、第2記号決定手段525は、ダミー記号が見える方向を、第2の位置として決定する。ここで、第2記号決定部525は、ダミー記号が見える方向を、乱数発生器540によって無作為に選択してもよい。これに代えて、第2記号決定部525は、3次元のオブジェクトをどの方向からみてもその表面に第2記号が一様に見えるように、ダミー記号の見える方向を決定してもよい。
【0064】
なお、第2記号決定部525は、ダミー記号の第2の位置(見える方向)を決定する際に、既知の記号の第1の位置(見える方向)を必ずしも考慮する必要はない。これは、実際に3次元のオブジェクトの表面に各記号の画像を投射する際に、各記号の画像を投射する順序を制御する等して、既知の記号とダミー記号が重なる場合であっても、既知の記号がダミー記号の上に見えるよう、言い換えると既知の記号が最前面に見えるようできるからである。しかしながら、人間による視認性をよくするためには、ダミー記号の第2の位置は、既知の記号とダミー記号とが重ならないように決定することが望ましい。決定された、1以上のダミー記号の画像情報、及び各ダミー記号の第2の位置情報(見える方向)は、後述する色情報決定部530へ渡され、色情報決定部530の第2バッファ540に一時的に格納される。
【0065】
また、第2記号決定部525は、第2記号決定部525から背景画像又は背景画像の生成方法に関する情報を更に選択してよい。生成方法に関する情報を選択する場合、第2記号決定部525は、該生成方法に基づいて背景画像を生成する。上述したように、生成方法に関する情報が、背景画像を生成するプログラムの格納場所を示す場合、第2記号決定部525は格納場所から背景画像を生成するプログラムを起動し、該プログラムに背景画像を生成させる。生成された、又は選択された背景画像情報は、後述する色情報決定部530へ渡され、色情報決定部530の第2バッファ540に一時的に格納される。
【0066】
また、第2記号決定部525は、第2記号決定部525から変形方法に関する情報を選択してよい。変形方法に関する情報を選択する場合、第2記号決定部525は、該変形方法に基づいて、第1バッファ535及び第2バッファ540にそれぞれ格納される1以上の既知の記号及び1以上のダミー記号を変形し、更新する。上述したように、変形方法に関する情報が、既知の記号及びダミー記号を変形するプログラムの格納場所に関する情報である場合、第2記号決定部525は格納場所から既知の記号及びダミー記号を変形するプログラムを起動し、該プログラムに変形処理を実行させる。
【0067】
色情報決定部530は、決定された1以上の既知の記号及びダミー記号がそれぞれ、オブジェクト生成部505が生成した3次元のオブジェクトの表面の対応する第1の位置又は第2の位置に見えるように、上記3次元のオブジェクトの表面の色情報を決定する。色情報決定部530による色情報決定の処理は、一例としてテクスチャマッピングを用いて行ってよい。即ち、色情報決定部530は、第1バッファ535から既知の記号の画像情報を読み出し、これをテクスチャとする。更に、色情報決定部530は、第1バッファ535から、上記既知の記号に対応する第1の位置情報(見える方向)を読み出し、これをマッピング方向とする。そして、色情報決定部530は、決定したマッピング方向から、上記既知の記号の画像情報を上記3次元のオブジェクトの表面に貼り付ける。
【0068】
テクスチャの貼り付けは、UV座標を用いてオブジェクトへのテクスチャの投影を正確に設定することにより行っても、単に、視点方向からオブジェクトにテクスチャを投影することにより行ってもよい。また、オブジェクトへのテクスチャの投影は、レイトレーシングの手法を利用してもよいが、コンピュータによる計算処理をより簡単なものとするため、「実際には光が当たったように計算して対応するピクセルの色を変える」というような単純な手法を利用してもよい。例えば、本実施例においては、3次元オブジェクトは複数の小球の集合により構成される球体である。従ってこの場合、色情報決定部530は、球体から所定の距離離れた位置と、既知の記号の第1の位置、即ち既知の記号が見える方向から、該既知の記号の2次元画像が、複数の小球の集合により構成される球体の表面に映るように、小球を着色する。
【0069】
ところで球体に文字をそのまま投影すると、文字が球面で歪んで見えにくくなってしまう。このような文字の歪みは、人間による正解となる既知の記号の認識に影響を与えるため、補正することが望ましい。歪みを補正する既知の技術は複数存在し、最も単純な方法は次のようなものである。即ち、球体に文字をそのまま貼り付けると文字が歪むことを考慮して(図9(a)参照)、歪んだ結果正常な表示内容となるように予め反対方向に歪んだ文字の2次元画像を用意しておくという方法である(図9(b)参照)。なお、3次元オブジェクトが複数の小球の集合により構成される球体である場合、歪み補正は小球ごと行う。
【0070】
ダミー記号の画像情報や背景の画像情報についても同様の方法により処理できる。但し、背景画像により既知の記号及びダミー記号が、またダミー記号により既知の記号が、それぞれ覆い隠されてしまわないように、テクスチャマッピングの処理の順序は、背景の画像情報、ダミー記号の画像情報、既知の記号の画像情報の順に行う。そして、色情報決定部530は、このようにして決定した3次元オブジェクト表面をなす各点の色情報を、3次元データ格納部550へ格納する。
【0071】
次に図6乃至図8を参照して、本発明に係る3次元のオブジェクトに関する3次元画像情報の生成処理の流れを説明する。図6は、3次元データ生成装置500において実行される、3次元画像情報タの生成処理の流れの一例を示すフローチャートである。図6において処理はステップ500で開始し、3次元データ生成装置500はまず、3次元の仮想空間内に3次元のオブジェクトを生成する。本実施例では、図7(a)に示すように、3次元の仮想空間内において半径Rの球空間を決定する。そして図7(b)に示すように、決定した球空間内に複数の小球をランダムに配置することにより、複数の小球の集合からなる球体の形状をした3次元のオブジェクトを生成する。なお、球空間内に小球を等間隔で配置しても本発明の効果を得ることは可能である。しかし、ランダムに配置するほうが、コンピュータによる解析がより困難となり好ましい。
【0072】
次に3次元認証用データ生成装置500は、1以上の既知の記号と、各既知の記号が見える、生成した3次元のオブジェクトの表面の第1の位置をそれぞれ決定する(ステップ105)。ここで既知の記号の決定は、既知の記号の種類(例えばアルファベットのAやD等)の決定のみならず、その色の決定を含んでよい。また、既知の記号の色は、一色でも多色でもあってもよく、複数の既知の記号を決定する場合、それぞれの既知の記号の色は独立に決定してよい。更に決定する第1の位置は、第1記号が見える3次元空間内の方向であってよい。なお、3次元オブジェクトを見るときの距離、即ち3次元オブジェクトと視点との間の距離は、固定であっても可変であってもよく、本実施例では所定の距離、即ち固定とする。
【0073】
既知の記号を決定すると、3次元データ生成装置500は、決定した既知の記号の2次元画像を作成する(図8(a)参照)(ステップ110)。なお、第1記号の決定は、複数種類の既知の記号の2次元画像を格納する第1記号格納部110から選択することにより行ってもよく、この場合、処理はステップ105からステップ115へ飛ぶ。そして、3次元認証用データ生成装置500は、所定の距離は離れた、決定した既知の記号が見える方向から、作成した既知の記号の2次元画像を、生成した3次元オブジェクトに貼り付ける(図8(b)参照)(ステップ115)。なお、ステップ510及びステップ115は、決定した既知の記号の数だけ繰り返す。
【0074】
正解となる既知の記号について処理が終わると、次に3次元データ生成装置500は、1以上のダミー記号と、各ダミー記号が見える、生成した3次元のオブジェクトの表面の第2の位置をそれぞれ決定する(ステップ120)。ここでダミー記号の決定は、ダミー記号の種類(例えばアルファベットのAによく似た形状の曲線等)の決定のみならず、その色の決定を含んでよい。また、ダミー記号の色は、一色でも多色でもあってもよく、それぞれのダミー記号の色は独立に決定してよい。更に決定する第2の位置は、ダミー記号が見える3次元空間内の方向であってよい。なお、3次元オブジェクトを見るときの距離、即ち3次元オブジェクトと視点との間の距離は、既知の記号に関して決定した距離、即ち、本実施例では所定の距離である。
【0075】
ダミー記号を決定すると、3次元データ生成装置500は、決定したダミー記号の2次元画像を作成する(図8(c)参照)(ステップ125)。なお、ダミー記号の決定は、複数種類のダミー記号の2次元画像を格納する第2記号格納部120から選択することにより行ってもよく、この場合、処理はステップ120からステップ130へ飛ぶ。そして、3次元データ生成装置500は、所定の距離は離れた、決定したダミー記号が見える方向から、作成したダミー記号の2次元画像を、生成した3次元オブジェクトに貼り付ける(図8(d)参照)(ステップ130)。同様に、ステップ125及びステップ130は、決定したダミー記号の数だけ繰り返す。最後に3次元データ生成装置500は、生成した3次元オブジェクトの形状情報及びその表面の色情報を、3次元データ格納部550に格納し(ステップ135)、そして処理は終了する。
【0076】
図2に戻って、画像情報格納部108に格納される1以上の画像情報が、上記説明した3次元データ生成装置500によって生成された3次元のオブジェクトに関する3次元画像情報である場合について説明する。他の実施形態において、読出し部105は、サービス利用の要求の受信に応答して、画像情報格納部108から3次元のオブジェクトに関する3次元画像情報を1つ読み出し、これをチャレンジ・データ作成部110に渡す。
【0077】
上述したように、3次元データ生成装置100が生成する3次元のオブジェクトは、ある方向から見るとその表面に正解となる既知の第1記号を見ることができ、また別の方向から見ると、その表面にダミーとなる第2記号を見ることができる。このような3次元のオブジェクトをチャレンジ・データとして提示されるクライアント300のユーザは、複数の視点から3次元のオブジェクトを観察し、正解の第1記号を見つけて回答しなければならない。
【0078】
このことは、3次元データ生成装置500が生成した、1以上の第1記号及び1以上の第2記号がその表面に描かれた3次元のオブジェクトを、認証サーバ100は、クライアント300のユーザが複数の視点から観察できるような形にして送信しなければならないことを意味する。そのような方法は複数存在するが、本明細書においては、より好ましい3つ方法について説明する。
【0079】
1つは、GIFアニメーションとしてチャレンジ・データを作成する方法である。この場合、チャレンジ・データ作成部110はGIFアニメーション作成部111を含み、GIFアニメーション作成部111は読出し部105から受け取った3次元オブジェクト情報から、視点を変えて3次元のオブジェクトの2次元画像を複数生成し、生成した複数の2次元画像を用いてアニメーションGIF形式の動画を作成する。
【0080】
2次元画像を生成するための視点の選択には、3次元オブジェクトの表面に見える既知の記号及びダミー記号にそれぞれ対応する第1の位置及び第2の位置を利用できる。この場合、画像情報格納部108に格納される3次元オブジェクト情報には、3次元オブジェクトの表面に見える既知の記号及びダミー記号にそれぞれ対応する第1の位置及び第2の位置も含まれるものとする。
【0081】
GIFアニメーション作成部111は、3次元オブジェクトの表面に見ることのできる全ての既知の記号について、該既知の記号の見える方向を視点とした2次元画像を生成する。しかしながら、ダミー記号については、必ずしも全てのダミー記号について、該ダミー記号の見える方向を視点とした2次元画像を生成する必要はない。即ち、GIFアニメーション作成部111は、作成するチャレンジ・データの難易度に応じて、又は生成するアニメーションGIF形式の動画サイズに課される制約に基づいて、生成する2次元画像の枚数を調整してよい。また、生成した複数の2次元画像を並べる(表示する)順序は、ランダムであってもよく、又は3次元オブジェクトが上下左右に回転しているように見えるような順序であってもよい。
【0082】
GIFアニメーションとしてチャレンジ・データを作成する場合、チャレンジ・データとしての3次元オブジェクトを観察する方向は、認証サーバ100において決定され、クライアント300のユーザは、観察する方向を自由に指定することはできない。しかしながら、アニメーションGIF形式の動画は現在多くのブラウザで閲覧することが可能であり、クライアント300において、チャレンジ・データを表示するために新たにプログラムを必要としない点で好ましい。なおアニメーションGIF形式の動画を作成する代わりに、3次元オブジェクトが回転する、MPEG(Moving Picture Experts Group)形式の動画を作成してもよい。
【0083】
他の1つは、クリッカブルマップとしてチャレンジ・データを作成する方法である。この場合、チャレンジ・データ作成部110はクリッカブルマップ作成部112を含む。クリッカブルマップはクリッカブルマップ機能をもつ画像であり、クリッカブルマップ機能とは、画像の中に様々なリンク先を設定しておき、クリックした位置に応じて定められたリンク先に移動する機能である。クリッカブルマップ作成部112は、読出し部105から受け取った3次元オブジェクト情報から、所定の視点からみた3次元のオブジェクトの2次元画像を生成し、該2次元画像の複数の領域の各々に該領域からみた3次元のオブジェクトの2次元画像へのリンク先を設定したクリッカブルマップをチャレンジ・データとして作成する。
【0084】
図10を参照して、クリッカブルマップ作成部112によるクリッカブルマップの作成方法を具体的に説明する。クリッカブルマップ作成部112はまず、所定の視点からみた3次元のオブジェクトの2次元画像を生成し、これを基本の2次元画像とする。図10(a)に、基本となる2次元画像の一例を示す。この2次元画像は、図10(b)に示す3次元オブジェクトの球体を、Y軸の正の方向からみたときのものである。他の方向から球体を見たときの2次元画像を、基本の2次元画像としてもよい。また図10では、理解を容易にするため、3次元オブジェクトの表面にある既知の記号及びダミー記号は省略している。
【0085】
基本となる2次元画像を生成すると、クリッカブルマップ作成部112は、2次元画像を複数の領域に分割する。分割はどのように行ってもよいが、図10(a)に示すように、放射状とするのが好ましい。そして、クリッカブルマップ作成部112は、分割した各領域からみた3次元のオブジェクトの2次元画像を作成し、所定の場所に格納する。最後に、クリッカブルマップ作成部112は、分割した各領域に、該領域からみた3次元のオブジェクトの2次元画像へのリンク先を設定する。
【0086】
このようなクリッカブルマップを受信したクライアント300のブラウザは、例えばユーザが図10(a)に示す領域30をクリックした場合には、認証サーバ100に、3次元オブジェクトをX軸の負の方向からみた場合の2次元画像を要求することになる。また、ユーザが、図10(a)に示す領域40をクリックした場合には、ブラウザは、認証サーバ100に、3次元オブジェクトをZ軸の負の方向からみた場合の2次元画像を要求することになる。
【0087】
クリッカブルマップとしてチャレンジ・データを作成する場合、クライアント300のユーザはチャレンジ・データである3次元オブジェクトを観察する方向を指定することができる。なお、指定できる方向は、基本となる2次元画像を分割した領域の数に制限されるが、分割を細かくすることで、指定できる方向の数を増やすことができる。また、クリッカブルマップはブラウザの機能の1つであり、従って、クライアント300において、チャレンジ・データを表示するために新たなプログラムは必要とすることもない。
【0088】
また、他の1つは、3次元のオブジェクトをマウス等の入力装置を使って回転させ、任意の方向から見ることができるようにするプログラム、即ちビューワを作成し、これをチャレンジ・データに含める方法である。この場合、チャレンジ・データ作成部110は、3次元チャレンジ・データ作成部113及びビューワを格納するビューワ格納部114を含む。3次元のオブジェクトを扱うビューワの作成方法は公知であり、例えば、Java(登録商標)アプレット、Java(登録商標)スクリプト、Flash等を利用することにより簡単に作成することができる。3次元チャレンジ・データ作成部113は、読出し部105から3次元オブジェクト情報を受け取ると、該3次元オブジェクト情報と、3次元オブジェクトを任意の方向から見ること可能とするプログラムを含むチャレンジ・データを作成する。
【0089】
チャレンジ・データの一部とするためにビューワ格納部114から読み出されるビューワは、起動時に、レンダリングの処理対象となる3次元オブジェクトのデータを読み込むものとする。このようにすることで、全ての3次元オブジェクトに対して同一のビューワを使用することが可能となる。そのため、3次元チャレンジ・データ作成部113は、読出し部105から受け取った3次元オブジェクト情報を、適切な名前のファイルに変換する。
【0090】
チャレンジ・データに、3次元のオブジェクトをマウス等の入力装置を使って回転することのできプログラムを含める場合、クライアント300のユーザは、3次元認証用データとしての3次元オブジェクトを、ドラッグする等の操作により自由に回転し、3次元オブジェクトを任意の方向から観察することができる。なお、Java(登録商標)アプレット、Java(登録商標)スクリプト、Flashを利用してプログラムを作成する場合、該プログラムはブラウザ上で実行することが可能であり、より好ましい。なお、このような3次元のチャレンジ・データは、近年注目を浴びている3次元の仮想現実世界を提供するサービスで利用することも可能である。この場合、サービス利用者のコンピュータには、仮想現実世界にアクセスするための専用のクライアント用ソフトウェアが予めインストールされているため、本実施例のように3次元のチャレンジ・データにビューワを含める必要がない。
【0091】
次に図11乃至図13を参照して、上記説明した種々の方法により作成されたチャレンジ・データが、クライアント300の表示画面上でどのように見えるかを、具体例を用いて説明する。なお、図11乃至図13に示すチャレンジ・データは、いずれも、表面に正解のアルファベットのAや、直線や曲線のアークを見ることができる球体の3次元オブジェクトに関する3次元画像情報に基づいて作成されたものである。
【0092】
図11(a)は、GIFアニメーション作成部111によって作成された、クライアント300の表示画面に表示されるGIFアニメーションの一例を示す。このGIFアニメーションは、球体の3次元オブジェクトを、図11(b)に示すようにその中心を通る回転軸をすこしずつ変えながら、回転するように表示する。その結果、クライアント300のユーザは、球体の3次元オブジェクトの表面に描かれた、正解である全ての既知の記号を見ることができる。1つの2次元画像が表示されてから次の2次元画像が表示される間隔、即ち球体を回転させるスピードは固定としてもよいが、図11(a)に示すように可変とし、ユーザが選択可能な回転速度の選択ボタンをあわせて表示してもよい。なお、コンピュータに対する攻撃耐性は、回転速度によらないことに留意されたい。
【0093】
図12は、クリッカブルマップ作成部112によって作成された、クライアント300の表示画面に表示されるクリッカブルマップの一例を示す。ここで、Y軸上にある2つの三角ボタン52(大きく回転)又は1つの三角ボタン55(小さく回転)をクリックすると、クライアント300のユーザは、図12に示される球体の3次元オブジェクトを、垂直方向上向きに回転させた2次元画像を見ることができる。一方、Y軸上にある2つの三角ボタン53(大きく回転)又は1つの三角ボタン54(小さく回転)をクリックすると、クライアント300のユーザは、球体の3次元オブジェクトを、垂直方向下向きに回転させた2次元画像を見ることができる。
【0094】
同様に、X軸上にあるボタン56乃至59をクリックすることで、クライアント300のユーザは、球体の3次元オブジェクトを、水平方向に回転させた2次元画像を見ることができる。また、D軸上にある2つの三角ボタン60(より遠く)及び1つの三角ボタン62(少し遠く)をクリックすると、クライアント300のユーザは、視点を球体から遠くへ離した、球体の3次元オブジェクトの2次元画像を見ることができる。同様に、D軸上にある2つの三角ボタン61(より近く)及び1つの三角ボタン63(少し近く)をクリックすると、クライアント300のユーザは、視点を球体に近づけた、球体の3次元オブジェクトの2次元画像を見ることができる。なお、図12に示すように、指定された回転角度や、視点と球体との距離を、2次元画像の下に表示してもよい。
【0095】
図13は、3次元チャレンジ・データ作成部113によって作成されたチャレンジ・データに含まれるビューワを起動したクライアント300の表示画面に表示される3次元オブジェクトの一例を示す。
図13に示す例では、ビューワは、クライアント300の表示画面に、X軸、Y軸、D軸として3つのスクロールバーを表示する。例えば、クライアント300のユーザは、ノブ65を上下に又はノブ66を左右に移動させることで、図13に示される球体の3次元オブジェクトを、表示画面上で垂直方向又は水平方向に回転させることができる。同様に、クライアント300のユーザは、ノブ67をD軸に沿って移動させることで、視点を球体から遠ざけたり近づけたりすることができる。
【0096】
なお、上記3つの例のいずれにおいても、クライアント300のユーザには、1以上の既知の記号を各々含む1以上の2次元画像及び1以上のダミー記号を各々含む1以上の2次元画像が、1度に1つ提示される。しかしながら、クリッカブルマップの例や専用ビューワを用いた例では、1つの2次元画像を表示する時間をユーザ側で調整することができる。言い換えると、ユーザは、正解の既知の記号を含まない2次元画像の表示時間を短くすることで、より容易く無関係の2次元画像を無視することができる。結果、クリッカブルマップや専用ビューワを利用する場合、GIFアニメーションを利用する場合に比べて、一定の視認性を保ちながら、定量的に攻撃耐性を上げることがより容易である。
【0097】
また、専用ビューワを用いた例では、3次元オブジェクトを見る視点を連続的に変更することができるため、他の例に比べると、解析対象となる2次元画像の量を格段に増やすことができる。しかし、上述したように、人間は、意味のない未知の記号よりも既知の記号をより知覚・発見しやすいという知覚特性をもつため、クライアント300のユーザは、正解である既知の記号の見える視点を容易く発見することができる。これに対しコンピュータはそのような知覚特性を持たないため、ダミー記号が見える全ての視点について解析が必要となる。従って、専用ビューワを用いた場合、他の2つの例に比べ、一定の視認性を保ちながら、定量的に攻撃耐性を上げることがより容易である。
【0098】
次に図14を参照して、本発明の認証サービスの処理の流れを説明する。図14は、認証サーバ100において実行される、認証サービスの処理の流れの一例を示すフローチャートである。図14において処理はステップ200で開始し、認証サーバ100は、クライアント300から、サーバ400が提供するサービスのサービス利用の要求を受信すると(ステップ200)、これに応答して、画像情報格納部108から、1以上の画像情報を無作為に読み出す(ステップ205)。
【0099】
次に、認証サーバ100は、クライアント300のチャレンジ回数をカウントするカウンタを初期化し(ステップ210)、読み出した1以上の画像情報に基づいて、クライアント300のユーザが人間であることを試験するためのチャレンジ・データを作成する(ステップ215)。
【0100】
ここで、読み出した1以上の画像情報に、正解の記号として1つのアルファベット文字が含まれる場合、認証サーバ100は、例えば、「次の表示される画像の中に、1つのアルファベット文字が隠されています。その文字を探し出して入力してください」というようなユーザに提示する設問を、チャレンジ・データの一部として作成する。同様に、読み出した1以上の画像情報に、正解の記号として2つのアルファベット文字と1つの数字が含まれる場合、認証サーバ100は、例えば、「次の3次元画像の中に、アルファベット文字又は数字が合計3つ隠されています。その数字又は文字を全て探し出して入力してください」というようなユーザに提示する設問を、チャレンジ・データの一部として作成する。
【0101】
そして、認証サーバ100は、作成したチャレンジ・データをクライアント300へ送信し、クライアント300から、チャレンジ・データに対するレスポンス・データを受信する(ステップ220)。レスポンス・データの受信に応答して、認証サーバ100は、カウンタを1増分する(ステップ225)。
【0102】
認証サーバ100は、画像情報格納部108から、ステップ205において読み出した1以上の画像情報に対応する1以上の既知の記号を読出し、受信したレスポンス・データと比較し、一定以上の正解率が得られるか否か判定する(ステップ230)。一定以上の正解率が得られた場合(ステップ230:YES)認証サーバ100は、サービス利用を許可し、クライアント300へ認証許可情報を送信する(ステップ235)。そして処理は終了する。
【0103】
一方、一定以上の正解率が得られなかった場合(ステップ230:NO)、認証サーバ100は、カウンタを調べて、クライアント300へチャレンジ・データを所定回数送信したか否か判定する(ステップ240)。チャレンジ・データを所定回数送信していない場合(ステップ240:NO)、処理はステップ215へ戻り、再度チャレンジ・データを作成する。
【0104】
チャレンジ・データを所定回数送信していた場合(ステップ240:YES)、認証サーバ100は、サービス利用を拒否し、クライアント300による認証サーバ100へのアクセスを一定時間禁止する(ステップ245)。そして処理は終了する。
【0105】
図15は、本発明の実施の形態による認証サーバ100及び3次元データ生成装置500を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。情報処理装置は、バス2に接続されたCPU(中央処理装置)1とメインメモリ4を含んでいる。ハードディスク装置13、30、およびCD−ROM装置26、29、フレキシブル・ディスク装置20、MO装置28、DVD装置31のようなリムーバブル・ストレージ(記録メディアを交換可能な外部記憶システム)がフロッピー(登録商標)ディスクコントローラ19、IDEコントローラ25、SCSIコントローラ27などを経由してバス2へ接続されている。
【0106】
フレキシブル・ディスク、MO、CD−ROM、DVD−ROMのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置13、30、ROM14には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。
【0107】
即ち、3次データ生成装置500としての情報処理装置の上記説明した数々の記憶装置には、3次元データを生成するためのプログラム、また、該プログラムを実行することにより生成された3次元オブジェクトに関する3次元画像情報を格納できる。また、認証サーバ100としての情報処理装置の記憶装置には、認証サービスを提供するためのプログラムを格納できる。これら複数のコンピュータ・プログラムはメインメモリ4にロードされることによって実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【0108】
情報処理装置は、キーボード/マウス・コントローラ5を経由して、キーボード6やマウス7のような入力デバイスからの入力を受ける。情報処理装置は、オーディオコントローラ21を経由して、マイク24からの入力を受け、またスピーカー23から音声を出力する。情報処理装置は、視覚データをユーザに提示するための表示装置11に、グラフィックスコントローラ10を経由して接続される。情報処理装置は、ネットワーク・アダプタ18(イーサネット(登録商標)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
【0109】
以上の説明により、本発明の実施の形態による認証サーバ100及び3次元データ生成装置500を実現するのに好適な情報処理装置は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、3次元データ生成装置500としての情報処理装置は3次元のグラフィックス処理を行う必要があることから、一定以上の性能をもつグラフィックスコントローラ10及び大容量のビデオメモリ9を備えることが好ましい。なお、上記説明した構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
【0110】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。上記の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【0111】
【図1】本発明の一実施形態に係る認証システム1000全体の構成の一例を示す図である。
【図2】本発明の一実施形態に係る認証サーバ100の機能構成の一例を示す図である。
【図3】(a)は、本発明の一実施形態に係る3次元データ生成装置500によって生成される3次元オブジェクトの一例を示す図である。(b)は、本発明の一実施形態に係る3次元データ生成装置500によって生成される3次元オブジェクトの一例を示す図である。(c)は、本発明の一実施形態に係る3次元データ生成装置500によって生成される3次元オブジェクトの一例を示す図である。
【図4】本発明の一実施形態に係る3次元データ生成装置500の機能構成の一例を示す図である。
【図5】本発明の一実施形態に係る3次元データ生成装置500によって生成される3次元オブジェクトの一例を示す図である。
【図6】本発明の一実施形態に係る3次元オブジェクトの生成処理の流れの一例を示すフローチャートを示す図である。
【図7】(a)は、本発明の一実施形態に係る3次元データ生成装置500による3次元オブジェクトの生成過程の一例を示す図である。(b)は、本発明の一実施形態に係る3次元データ生成装置500による3次元オブジェクトの生成過程の一例を示す図である。
【図8】(a)は、本発明の一実施形態に係る3次元データ生成装置500による3次元オブジェクトの生成過程の一例を示す図である。(b)は、本発明の一実施形態に係る3次元データ生成装置500による3次元オブジェクトの生成過程の一例を示す図である。(c)は、本発明の一実施形態に係る3次元データ生成装置500による3次元オブジェクトの生成過程の一例を示す図である。(d)は、本発明の一実施形態に係る3次元データ生成装置500による3次元オブジェクトの生成過程の一例を示す図である。
【図9】(a)は、円柱に文字を投影した場合に、文字が歪むことを説明する図である。(b)は、歪みを補正する従来技術の一例を示す図である。
【図10】(a)は、本発明の一実施形態に係る認証サーバ100によって作成されるチャレンジ・データの一例を示す図である。(b)は、本発明の一実施形態に係る3次元データ生成装置500によって生成される3次元オブジェクトの一例を示す図である。
【図11】本発明の一実施形態に係るGIFアニメーションを表示した、クライアント300の表示画面の一例を示す図である。
【図12】本発明の一実施形態に係るクリッカブルマップを表示した、クライアント300の表示画面の一例を示す図である。
【図13】本発明の一実施形態に係るビューワを起動したクライアント300の表示画面の一例を示す図である。
【図14】本発明の一実施形態に係る、認証サーバ100において実行される、認証サービスの処理の流れの一例を示すフローチャートを示す図である。
【図15】本発明の実施の形態による認証サーバ100及び3次元データ生成装置500を実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。

【特許請求の範囲】
【請求項1】
認証サーバ装置であって、
1以上の既知の記号及び1以上のダミー記号の少なくとも一方が含まれる複数の画像情報を格納する画像情報格納部と、
ネットワークを介してクライアント装置からサービス利用の要求を受信する受信部と、
前記サービス利用の要求の受信に応答して、前記画像情報格納部から1以上の前記画像情報を読み出す読出し部と、
1以上の前記既知の記号を各々含む1以上の2次元画像及び1以上の前記ダミー記号を各々含む1以上の2次元画像が、1度に1つ前記クライアント装置のユーザに提示されるように、読み出した前記1以上の画像情報を使用してチャレンジ・データを作成するチャレンジ・データ作成手段と、
前記クライアント装置へ作成したチャレンジ・データを送信し、前記クライアント装置から対応するレスポンス・データを受信する試験部と、
受信した前記レスポンス・データが、送信した前記チャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一致することに応答して前記クライアント装置のサービス利用を許可する許可部と、
を含む認証サーバ装置。
【請求項2】
前記ダミー記号は、前記既知の記号に類似する形状及び線の太さの少なくとも一方を持つ、特定の意味を持たない記号である、請求項1に記載の認証サーバ装置。
【請求項3】
複数の前記2次元画像は、その背景及び前景の少なくとも一方にアークを含む、請求項1に記載の認証サーバ装置。
【請求項4】
前記画像情報格納部は、1以上の既知の記号を各々含む複数の2次元画像、及び1以上のダミー記号を各々含む複数の2次元画像を格納する、請求項1に記載の認証サーバ装置。
【請求項5】
前記読出し部は、前記サービス利用の要求の受信に応答して、前記画像情報格納部から1以上の既知の記号を含む2次元画像及び1以上のダミー記号を含む2次元画像をそれぞれ1以上読み出し、
前記チャレンジ・データ作成手段は、前記チャレンジ・データとして、読み出した複数の前記2次元画像を用いたアニメーションGIF形式の動画を作成する、請求項4に記載の認証サーバ装置。
【請求項6】
前記画像情報格納部は、1以上の前記既知の記号及び1以上の前記ダミー記号がその表面に見える3次元のオブジェクトに関する3次元画像情報を複数格納する、請求項1に記載の認証サーバ装置。
【請求項7】
前記読出し部は、前記サービス利用の要求の受信に応答して、前記画像情報格納部から前記3次元のオブジェクトに関する3次元画像情報を1つ読み出し、
前記チャレンジ・データ作成手段は、読み出した前記3次元画像情報に基づいて、異なる視点から見た前記3次元のオブジェクトの2次元画像を複数作成し、該複数の2次元画像を用いたアニメーションGIF形式の動画を前記チャレンジ・データとして作成する、請求項6に記載の認証サーバ装置。
【請求項8】
前記読出し部は、前記サービス利用の要求の受信に応答して、前記画像情報格納部から前記3次元のオブジェクトに関する3次元画像情報を1つ読み出し、
前記チャレンジ・データ作成手段は、読み出した前記3次元画像情報に基づいて、所定の視点からみた前記3次元のオブジェクトの2次元画像を生成し、該2次元画像の複数の領域の各々に該領域からみた前記3次元のオブジェクトの2次元画像へのリンク先を設定したクリッカブルマップを前記チャレンジ・データとして作成する、請求項6に記載の認証サーバ装置。
【請求項9】
前記読出し部は、前記サービス利用の要求の受信に応答して、前記画像情報格納部から前記3次元のオブジェクトに関する3次元画像情報を1つ読み出し、
前記チャレンジ・データ作成手段は、前記3次元オブジェクトを任意の方向から見ること可能とする前記クライアント装置において実行されるプログラム及び前記3次元画像情報を含む前記チャレンジ・データを作成する、請求項6に記載の認証サーバ装置。
【請求項10】
前記3次元画像情報は、前記3次元のオブジェクトの形状情報及び前記3次元のオブジェクトの表面の色情報を含む、請求項6に記載の認証サーバ装置。
【請求項11】
前記3次元のオブジェクトは、複数の小球の集合から構成される球体である、請求項10に記載の認証サーバ装置。
【請求項12】
前記3次元のオブジェクトの表面の色情報は、前記既知の記号が前記複数の小球の表面上で歪むことなく見えるように決定されている、請求項11に記載の認証サーバ装置。
【請求項13】
前記許可部は、受信した前記レスポンス・データが、送信した前記チャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一定以上の正解率が得られた場合に前記クライアント装置のサービス利用を許可する、請求項1に記載の認証サーバ装置。
【請求項14】
前記チャレンジ・データ作成部は、複数のチャレンジ・データを作成し、
前記試験部は、前記複数のチャレンジ・データを用いて、同一の前記クライアント装置に対して試験を複数回実行し、
前記許可部は、各チャレンジ・データに対して、受信した前記レスポンス・データが、送信した前記チャレンジ・データに含まれる1以上の既知の記号と一致するか否かを判定し、所定回数以上一致した場合に前記クライアント装置のサービス利用を許可する、請求項1に記載の認証サーバ装置。
【請求項15】
1以上の既知の記号及び1以上のダミー記号の少なくとも一方が含まれる複数の画像情報を格納する画像情報格納部を有する認証サーバで実行される、認証方法であって、
ネットワークを介してクライアント装置からサービス利用の要求を受信するステップと、
前記サービス利用の要求の受信に応答して、前記画像情報格納部から1以上の前記画像情報を読み出すステップと、
1以上の前記既知の記号を各々含む1以上の2次元画像及び1以上の前記ダミー記号を各々含む1以上の2次元画像が、1度に1つ前記クライアント装置のユーザに提示されるように、読み出した前記1以上の画像情報を使用してチャレンジ・データを作成するステップと、
前記クライアント装置へ作成したチャレンジ・データを送信し、前記クライアント装置から対応するレスポンス・データを受信するステップと、
受信した前記レスポンス・データが、送信した前記チャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一致することに応答して前記クライアント装置のサービス利用を許可するステップと、
を含む認証方法。
【請求項16】
前記画像情報格納部は、1以上の前記既知の記号及び1以上の前記ダミー記号がその表面に見える3次元のオブジェクトに関する3次元画像情報を複数格納する、請求項15に記載の認証方法。
【請求項17】
前記読み出すステップは、前記サービス利用の要求の受信に応答して、前記画像情報格納部から前記3次元のオブジェクトに関する3次元画像情報を1つ読み出すステップを含み、
前記チャレンジ・データを作成するステップは、読み出した前記3次元画像情報に基づいて、異なる視点から見た前記3次元のオブジェクトの2次元画像を複数作成し、該複数の2次元画像を用いたアニメーションGIF形式の動画を前記チャレンジ・データとして作成するステップを含む、請求項16に記載の認証方法。
【請求項18】
前記読み出すステップは、前記サービス利用の要求の受信に応答して、前記画像情報格納部から前記3次元のオブジェクトに関する3次元画像情報を1つ読み出すステップを含み、
前記チャレンジ・データ作成するステップは、読み出した前記3次元画像情報に基づいて、所定の視点からみた前記3次元のオブジェクトの2次元画像を生成し、該2次元画像の複数の領域の各々に該領域からみた前記3次元のオブジェクトの2次元画像へのリンク先を設定したクリッカブルマップを前記チャレンジ・データとして作成するステップを含む、請求項16に記載の認証方法。
【請求項19】
前記読み出すステップは、前記サービス利用の要求の受信に応答して、前記画像情報格納部から前記3次元のオブジェクトに関する3次元画像情報を読み出すステップを含み、
前記チャレンジ・データ作成するステップは、前記3次元オブジェクトを任意の方向から見ること可能とする前記クライアント装置において実行されるプログラム及び前記3次元画像情報を含む前記チャレンジ・データを作成するステップを含む、請求項16に記載の認証方法。
【請求項20】
1以上の既知の記号若しくは1以上のダミー記号又はその両方を含む複数の画像情報を格納する画像情報格納部を有する認証サーバで実行される、認証プログラムであって、前記認証プログラムは前記認証サーバに、
ネットワークを介してクライアント装置からサービス利用の要求を受信するステップと、
前記サービス利用の要求の受信に応答して、前記画像情報格納部から1以上の前記画像情報を読み出すステップと、
1以上の前記既知の記号を各々含む1以上の2次元画像及び1以上の前記ダミー記号を各々含む1以上の2次元画像が、1度に1つ前記クライアント装置のユーザに提示されるように、読み出した前記1以上の画像情報を使用して前記クライアント装置のユーザが人間であることを試験するためのチャレンジ・データを作成するステップと、
前記クライアント装置へ作成したチャレンジ・データを送信し、前記クライアント装置から対応するレスポンス・データを受信するステップと、
受信した前記レスポンス・データが、送信した前記チャレンジ・データに含まれる1以上の既知の記号と一致するか否か判定し、一致することに応答して前記クライアント装置のサービス利用を許可するステップと
を実行させる、認証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2009−175988(P2009−175988A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−13166(P2008−13166)
【出願日】平成20年1月23日(2008.1.23)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】