reCAPTCHAとは

reCAPTCHAは、ユーザーが人間であることを確認するためのシステムです。主にウェブサイトをボットから保護するために使用されます。現在、世界中のウェブサイト上で1日に1億回以上表示されています。

Luis von Ahn、Ben Maurer、Colin McMillen、David Abraham、Manuel Blumにより共同開発され、2009年9月、Googleに買収されました。

reCAPTCHAの概要

2014年にシステムが変更されるまで、reCAPTCHAは複数の歪んだいくつかの英単語を入力する方式を採用していました。使用されるテキストには、読み取り機がうまく読み取れなかった書籍や記事のテキストが使用されます。ユーザーが入力した答えは書籍や記事のデジタル化に活用され、2011年までにThe New York TimesのアーカイブとGoogle Booksの1300万件の文書がreCAPTCHAによりデジタル化されました。

reCAPTCHAで使用される歪んだテキスト。

しかし、ボットが進化するにつれ、こういったテキストを入力する方式のreCAPTCHAは高性能なボットにより突破されるようになりました。

そこで、2012年、reCAPTCHAは、スキャンした単語に加えて、Googleのストリートビュープロジェクトから取得したナンバーの写真をCAPTCHAに使用するようになりました。

2014年、テキスト方式のreCAPTCHAは廃止され、9つの画像の中から1つ以上の画像を選択する方式に切り替わりました。ただし、この機能に対応していないブラウザではテキストが使用されます。

その後、reCAPTCHAのシステムが改良され、画像の読み取りは不要になり、「I’m not a robot」という文字列の左にあるチェックボックスをクリックする方式になりました。このシステムでは、ユーザーのブラウザに設定されているCookieやreCAPTCHAのフレーム内でのマウスの動きなどから相手が人間であるかどうかを検証します。検証に失敗したときは、9つの画像の中から該当する画像を選択することが求められます。

reCAPTCHAのシステム

スキャンされたThe New York TimesやGoogle Booksの文書は、2つのプログラムにより文字起こしされます。その際、2つのプログラムが異なる読み取り結果を返したテキストや辞書に載っていない単語は「疑わしい」とマークされ、reCAPTCHAに使用されます。つまり、うまく読み取れなかったテキストはreCAPTCHAを通して人間がチェックするということです。

機械が出した答えには0.5ポイントが付与され、人間が出した答えには1ポイントが付与されます。ポイントが2.5ポイントに達すると、その読み取り結果は有効であるとみなされます。また、6人のユーザーがテキストを拒否した場合、その単語は判読不能であると判断されます。

reCAPTCHAの実装

reCAPTCHAで使われる歪んだテキストの画像は、reCAPTCHAのプロジェクトから呼び出されます。呼び出しは、リクエストが送信された後にサーバーがreCAPTCHAにコールバックを行うJavaScript APIを介して行われます。プロジェクトは、さまざまなプログラミング言語やアプリケーション用のライブラリを提供し、このプロセスを容易にしています。なお、reCAPTCHAは無料のサービスです(つまり、CAPTCHAの画像は無料でWebサイトに提供され、解読の助けを受けて返されます)が、ソフトウェア自体はオープンソースではありません。

また、reCAPTCHAは、サービスの実装を容易にするために、ASP.NET、Ruby、PHPなどのいくつかのプラットフォーム用のプラグインを提供しています。

reCAPTCHAへの批判

reCAPTCHAは、BBCのジャーナリストから「失読症などの視力障害などを持つ人々がインターネットを使用する際の深刻な障壁である」とみなされています。

Mailhide

reCAPTCHAは、ウェブページ上の電子メールアドレスがスパマーによって収集されるのを防ぐMailhideプロジェクトを開始しました。Mailhideでは、ページ内の電子メールアドレスは表示されなくなります。例えば、 “mailme@example.com” は “mai … @ example.com” に変換されます。完全に表示されないようにすることもできます。ユーザーは「…」をクリックして、電子メールアドレスを閲覧するためにreCAPTCHAを処理します。

最後に

いかがでしたでしょうか。少し前には「スパム避けに使われるGoogleの「reCAPTCHA」を自動的に99%以上突破するスクリプトが登場」というものがあったように、reCAPTCHAはまだまだ不完全なものであると考えられてきましたが、度重なる改良により、現在ではかなり高性能になっています。これからもreCAPTCHAの発達に注目していきたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です