CAPTCHA:人間とコンピュータを識別する自動テスト
CAPTCHAは、人間と自動プログラムを見分けるための課題です。仕組み、主な種類、歴史、用途、アクセシビリティ上の課題、進化する代替手法を解説します。
CAPTCHAとは、人間の利用者と自動プログラム(ボット)を識別するために用いられる自動化された課題である。この頭字語は「Completely Automated Public Turing test to tell Computers and Humans Apart」の略であり、チューリングテストの一般的な考え方を参照している。CAPTCHAは、大量のアカウント作成、コメントスパム、スクレイピング、総当たり攻撃などの自動化された不正利用を抑えるため、ウェブサイトや各種サービスに導入されている。
画像ギャラリー
4 画像CAPTCHAの仕組みと主な種類
多くのCAPTCHAは、人には容易だが機械には難しいと考えられる作業を提示する。運営者は時代とともに、複数の形式を利用してきた。
- 利用者が入力欄に打ち込む、歪められた文字や記号。これは光学文字認識への耐性を意図したものである。
- 「バスが写っている画像をすべて選ぶ」のように、特定の分類に当てはまる画像をクリックさせる画像選択型の課題。
- 画像を見られない利用者のために、音声で読み上げられる文字列を聞き取る音声CAPTCHA。
- 明示的なパズルを出さず、マウスの動き、操作のタイミング、タッチイベントなどの信号を分析して人間らしさを推定する、行動型または「不可視」のCAPTCHA。
起源と発展
CAPTCHAの概念は、自動認識とセキュリティに関する研究から発展した。その名称は、機械知能についての考え方が後の実用的なテストに影響を与えたアラン・チューリングの業績をほのめかしている。現代的なCAPTCHAは2000年代初頭に研究者によって定式化され、その後のreCAPTCHAなどのシステムは、防御機能とテキストのデジタル化のような有用な作業を組み合わせた。機械学習技術が向上するなか、主要な提供事業者と研究者は、これに対抗するため設計を継続的に改良してきた。
用途、重要性、例
ウェブサイトはCAPTCHAを用いて、自動化された不正利用を制限する。具体的には、大量登録の防止、コメントや電子メールのスパム削減、認証情報詰め込み攻撃の抑制などである。CAPTCHAは、レート制限、IPアドレスのレピュテーション確認、認証手段を補完する、低コストの防御層となる。攻撃者がフォームやサービスを悪用するために自動スクリプトやプログラムを使う場合、CAPTCHAは人間による操作または高度な認識能力を求めることで、不正利用のコストや複雑さを高める。通常の脅威はボットと自動化攻撃である。
限界、アクセシビリティ、進化する手法
CAPTCHAにはトレードオフがある。機械学習の進歩によって初期の文字型・画像型テストの多くは突破されており、課題の設計者と攻撃者の間では継続的な「軍拡競争」が生じている。また、視覚、聴覚、認知に障害のある利用者にとって障壁となることもあるため、音声オプション、簡略化された課題、課題を提示しないリスク信号といったアクセシブルな代替策が重要である。こうした制約から、サイトはCAPTCHAを多要素認証、端末のレピュテーション、行動分析、人による審査と組み合わせることが増えている。
重要な区別と参考情報
CAPTCHAはチューリングテストの発想から着想を得ているが、一般知能を評価するものではなく、対象を限定したセキュリティツールである。一部の方式は二重の機能を担い、サービスを保護しながら、スキャンされたテキストの転記や画像認識の学習に用いる、人間がラベル付けした有用なデータを集める。技術的背景や設計上の考慮事項については提供事業者の文書や学術文献を参照し、主要なシステムとその動向の概要については、関連プロジェクトのページや入門的な概説資料を参照するとよい。
これらのテストの理論的な起源と実用面での発展については、初期の考え方と現代の実装の双方を含め、入門資料やCAPTCHA手法を定式化した研究者の著作を調べることができる。
関連項目
著者
AlegsaOnline.com CAPTCHA:人間とコンピュータを識別する自動テスト Leandro Alegsa
URL: https://ja.alegsaonline.com/art/16818
出典
- commons.wikimedia.org : Captcha