特集/連載
謎のゆがみ文字列「CAPTCHA」はどのようにして生身の人を見分けるのか:目的と仕組みを解説
「CAPTCHA」はbotと本物のユーザーを区別し、スパム業者にフォーラムサイトやブログのコメント欄を乗っ取られるのを防ぐ手助けをする。その仕組みを簡潔に解説しよう。
ブログや検索サイトでダイアログボックスに画像が表示され、本人または正規の訪問者であることを証明するために、画像内の文字列を判読して入力しなければいけない場面に出くわしたことはないだろうか。このときに用いられるのが「CAPTCHA」だ。「Completely Automated Public Turing Test to Tell Computers and Humans Apart」の頭字語で、「コンピュータと人を区別するための、完全に自動化された公開チューリングテスト」を意味する。「チューリングテスト」とは、プログラムが「知的であるかどうか」を判別するテストのことだ。
併せて読みたいお薦め記事
さまざまな認証技術
Webを脅かす自動化技術
CAPTCHAでは通常、ゆがんだあるいは多色の背景に、ゆがんだ文字列を配置した画像を用いる(図)。その画像を基にユーザーに文字列を入力してもらい、そのユーザーが生身の人がどうかを判断する。他にも、以下のようなさまざまなタイプのCAPTCHAがある。
- 特定の写真を見つけてもらう
- 簡単な算数の問題に答えてもらう
- 断片的な音に反応してもらう
- 「I'm not a robot」(私はロボットではありません)というチェックボックスにチェックを入れてもらう
なぜCAPTCHAが有効に機能するのか。人とコンピュータでは、文字列を処理する方法が異なるためだ。それはどういうことなのか。
CAPTCHAの仕組み
Copyright © ITmedia, Inc. All Rights Reserved.