2019年11月02日 08時30分 公開
特集/連載

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

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

[Joel Dubin,TechTarget]
画像 (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の仕組み

ITmedia マーケティング新着記事

news113.jpg

新型コロナウイルス感染拡大に関する不安 「経済への打撃」が「多くの死者が出ること」を上回る
McCann Worldgroupが世界14カ国で実施した意識調査の結果、政府の対応体制が「整っている...

news145.jpg

「70歳までの就労意識」をテーマとした調査を実施――富国生命調査
長期的に働く上でのリスクトップ3は「病気」「就業不能状態」「入院」。