検索
特集/連載

謎のゆがみ文字列「CAPTCHA」はどのようにして生身の人を見分けるのか目的と仕組みを解説

「CAPTCHA」はbotと本物のユーザーを区別し、スパム業者にフォーラムサイトやブログのコメント欄を乗っ取られるのを防ぐ手助けをする。その仕組みを簡潔に解説しよう。

Share
Tweet
LINE
Hatena
画像
(C)iStock.com/bee32

 ブログや検索サイトでダイアログボックスに画像が表示され、本人または正規の訪問者であることを証明するために、画像内の文字列を判読して入力しなければいけない場面に出くわしたことはないだろうか。このときに用いられるのが「CAPTCHA」だ。「Completely Automated Public Turing Test to Tell Computers and Humans Apart」の頭字語で、「コンピュータと人を区別するための、完全に自動化された公開チューリングテスト」を意味する。「チューリングテスト」とは、プログラムが「知的であるかどうか」を判別するテストのことだ。

 CAPTCHAでは通常、ゆがんだあるいは多色の背景に、ゆがんだ文字列を配置した画像を用いる(図)。その画像を基にユーザーに文字列を入力してもらい、そのユーザーが生身の人がどうかを判断する。他にも、以下のようなさまざまなタイプのCAPTCHAがある。

  • 特定の写真を見つけてもらう
  • 簡単な算数の問題に答えてもらう
  • 断片的な音に反応してもらう
  • 「I'm not a robot」(私はロボットではありません)というチェックボックスにチェックを入れてもらう
図
図 CAPTCHAで表示される画像の例《クリックで拡大》

 なぜCAPTCHAが有効に機能するのか。人とコンピュータでは、文字列を処理する方法が異なるためだ。それはどういうことなのか。

CAPTCHAの仕組み

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る