CAPTCHA

は、の一種で、応答者がコンピュータではなく生身の人間であることを確認するために使われる。

ウィキペディアにおいても、ログインしていない状態のユーザ(IPユーザー)が外部リンクを追加する際、スパム (メール)の防止のためこの種の認証が用いられる。を追加しない編集の場合にも使用される。

この用語はカーネギーメロン大学のルイス・フォン・アン、マヌエル・ブラム、ニコラス・J・ホッパー、IBMのジョン・ラングフォードによって2000年に造られた。 という語は「」（コンピュータと人間を区別する完全に自動化された公開チューリングテスト）の人為的頭字語である。

認知ソフトウェアに対抗するために難化が繰り返された結果、既に人間の認識が困難になるほど難化しており、本来の目的を果たせていない場合がある（「#過剰な難化とステルス化」の節を参照）。

## 概要
もっとも一般的な画像によるCAPTCHAの場合、次のように画像に記されている文字や数字を読み取ることができるか否かによって人間と機械を判別する。
# システムは、ランダムな文字や数字の列を画面に表示する。表示される文字は歪んでいたり一部が覆い隠されていたりして、機械が自動的に読み取ることは難しい。
#ユーザーは画面に描かれている文字の列を読み取り、同じ文字列をシステムに入力する。
#システムが表示した文字列とユーザーが打ち込んだ文字列が一致していれば、ユーザーは歪んだ画像を認識する能力を持っていると考えられる。システムはそのユーザーが人間であると推測する。
#システムにアクセスできる人間を日本語使用者に限定したい場合、画像の文字種をひらがな・カタカナに限定する。
#応用として、画像の文字種でアラビア数字のみを入力させる場合、アラビア数字そのものではなく**読み方をひらがな・カタカナで表示する**（例：123456 → イチ に サン よん ご ロク）。
:アラビア数字だと、言語を問わずほとんどの人間が読めるが、ひらがな・カタカナまで読める日本国外人口はそれほど多くないため、日本国外からのアクセスを大幅に抑制できる。

コンピュータがテストを監督することから、人間が監督する標準的なチューリングテストとの対比として、 はときに**逆チューリングテスト**とも呼ばれる。

また、複数の画像の中から指定された画像を全て選ぶ「**私はロボットではありません**」と呼ばれるものも存在する。

 は日本語では「画像認証」とも呼ばれている。

## 起源
 はもともと、1997年にAltaVistaのアンドレイ・ブローダーとその同僚たちによって、ボットが彼らの検索エンジンにURLを追加するのを防ぐために開発された。彼らは画像をOCRによる攻撃に耐えられるようにする方法を探していた。ブラザー工業のスキャナの取扱説明書には、OCRの結果を改善するためには均質な活字面、無地の背景を用いるよう薦められていた。そこで彼らは取扱説明書に「OCR認識の結果を悪くする」と書いてある条件を真似て最初の  を作り出した。ブローダーによれば、 は検索エンジンへのスパム追加を95%削減できたという。

## 用途
 はボットが種々のコンピュータのサービスを使うのを防ぐために使われる。 応用用途として挙げられることとして、ボットがオンライン投票に参加したり、（後でスパムを送るために使われるかもしれない）無料メールやサービスのアカウントに登録（一人が複数のアカウントに登録）するのを防ぐことなどがある。さらに最近では、ボットが生成するスパムを防ぐために、メールメッセージが配達される前に（未承認の）送り主が  テストの通過を要求することなどがある。

また、 は人間のリソースを使うこととなるが、この労力を「人間であることの確認」以外にも文書の電子化に使うという  プロジェクトも行われている。

## 特徴
定義より、 は以下の特徴を持っている:
* は**自動化**されている。テストを管理運用するにあたって人間の介在をほとんど、あるいは全く必要としない。これはテストにおける人間の管理や介入の必要性を避けることができ、コストや信頼性においても明らかに有益である。
*使用されるアルゴリズムは多くの場合**公開**される。ただし、特許によって妨げられるかもしれない。これが規定されているのは、 の突破には、リバースエンジニアリングなどの手法を用いて達成できるような単なる(秘密の)アルゴリズムの発見よりも、人工知能の分野における難問の解決法を要求する、ということが必要なためである。

## アクセシビリティ

視覚認識の問題に基づく  は、視覚障害を持ったユーザが保護されたリソースにアクセスする際の妨げとなる。 は機械可読ではないように設計されているので、スクリーンリーダのような支援ツールでも解釈できない。

しかし、 が視覚的である必要はない。 例えば音声認識のように、人工知能によって解くのが困難な問題であれば、 として使うことができる。ユーザが音声認識問題を選択できるような  の実装もある。しかしながら、音声（聴覚） の開発は画像（視覚） よりも後れを取っており、あまり普及はしていない。また、テキストの意味を理解させるような問題も  として用いることができる。例えば、論理パズルや常識・計算問題などである。

W3Cによる論文では  のアクセシビリティ上の問題点がいくつか示されている。

## 回避策
 を回避するために、囮ウェブサイトでユーザを集め、彼らを騙して  の問題を解かせるという手法がとられることがある。

ユーザがスパマーの開設した囮ウェブサイトを訪れると、スパマーのサーバーは攻撃対象のサーバーにアクセスし、アカウント取得等の処理を開始する。そして攻撃対象の  をダウンロードし、囮ウェブサイトにアクセスするための  としてユーザに提示する。ユーザは、 が再利用されるとは知らずに、正しい回答を提供する。そしてスパマーはその回答を利用し、攻撃対象の  を突破することができる。

また、大量の人員を雇い、彼らに解かせるという手法もある。W3Cの論文には、「そのようなオペレータは一時間に数百の  を解読できる」とある。一方、この手法は経済的に実行不能であるとする指摘もある。

MoriらはIEEE CVPR'03において、最も有名な  の一つであるEZ-Gimpyを突破する手法を詳述した論文を発表し、その手法は92%の確率で突破可能であると検証された。また、より複雑であまり広く普及していないGimpyプログラムが、同じ手法により33%の確率で突破された。しかし、彼らのアルゴリズムが実際に実装され、利用されているかどうかについては、現時点でははっきりしていない。

機械による解読も巧妙になってきている。PWNtchaのようなプロジェクトによって、広く普及していた  の解読精度が目覚ましく進歩し、結果として  を過剰に難化させることとなった。

文字認識技術や囮ウェブサイトによらず、既知の  画像のセッションIDを再利用するという手法もある。

## 過剰な難化とステルス化
2020年代には機械学習の進展によって文字入力だけでなく画像選択ベースのCAPTCHAも弱くなったため、その対策として各社が新しい方式の導入を進めているが、明示的な課題を使った新世代の  には解くことが著しく困難なものも登場している。AIは既に無視できないほどの人数の認識能力を上回っており、結果として人間の応答すら遮断してしまっている。

そのため、明示的な課題を避け、ブラウザでの活動でボットかを判定するCAPTCHAサービスが増加している（Cloudflare Turnstile、reCAPTCHA v3など）。しかしながらこちらも既にエージェントAIによって突破されている。

## 脚注

## 関連項目
* 認証
* reCAPTCHA

## 外部リンク

*The Official CAPTCHA Site 
* の歴史

### の実装
========
*  を実装する  モジュールのコレクション
*

========
*
*
*
*

#### PHP
*
*
*
*
*
*
*
*
*

========
*
*

========
*

========
*
*

========
*

========
*

### サービス
*https://www.protectwebform.com/
*http://captchas.net/
*http://address-protector.com/

### 突破
*https://www.captchacreator.com/
*Breaking CAPTCHAs without using OCR - OCRを用いない  の突破
*How spammers crack captchas using free porn.
*Recognizing Objects in Adversarial Clutter: Breaking a Visual CAPTCHA Mori他。IEEEから刊行。IEEEの有償の会員のみが表示可能
*OCR Research Team defeats weak CAPTCHAs.
*Using AI to beat CAPTCHA and post comment spam
*PWNtcha - CAPTCHA decoder
*Happy Codings