CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)とは
CAPTCHAとは、主にWebサービス上で、自動化されたプログラム(bot)によるサービスの不正利用を防ぐための仕組みを指す。
CAPTCHAとは、主にWebサービス上で、自動化されたプログラム(bot)によるサービスの不正利用を防ぐための仕組みを指す。CAPTCHAは略称であり、正式名称は「Completely Automated Public Turing test to tell Computers and Humans Apart」という。
botのようなプログラムは、短時間のうちに人間にはできない量のログイン試行、アカウント生成などの操作を行うことから、サービスの運用上、問題となることが多い。そこで、アクセスしてきたユーザーが人間かbotかの判定を行うことで問題を解決しようとするものがCAPTCHAである。
CAPTCHAの種類は幾つか存在するが、有名な方式は、やや読みにくい文字列が含まれた画像を表示し、ユーザーがその文字列を正しく入力できたかどうかで人間か否かを判定するといったものである。ゆがんでいたりノイズが混じっていたりする文字を読み取ることはコンピュータにとって容易ではないため、botでは正確に回答することが難しい。その特性を逆手に取った技術といえる。
しかし、bot対策のため文字列を読みにくくし過ぎた結果、人間であっても判読が難しくなってしまう場合もあった。そのため、最近では幾つかの画像から特定の種類のものを選択させたり、画像における特定の一部分を選択させたりするような別の方式も広まっている。また、視覚が不自由なユーザーでもCAPTCHAに回答できるようにするため、画像の代わりに音声を流し、それを聞き取ることで回答ができるようになっているものもある。
なお、CAPTCHAをbot対策以外でも利用する試みがある。書籍をデジタル化する目的で始まった『reCAPTCHA』というプロジェクトでは、CAPTCHAを用いた本来のbot対策としての機能を提供しつつ、その入力結果を機械的な文字認識で読み取ることができなかった部分の判読に活用している。最近のreCAPTCHAでは前述した複数の方式も採用しており、得られた結果は標識や被写体の判別など、単純な文字以外の解析にも利用されている。
関連用語
■CSRF
■更新履歴
【2004/1/1】初版公開。
【2018/7/17】最新情報に合わせて内容を書き直しました(セキュリティ・キャンプ実施協議会 著)。
Copyright © ITmedia, Inc. All Rights Reserved.