最終更新:

CAPTCHA の文字数設計 - 人間と機械を分ける文字列の科学

約 8 分で読めます

Web サイトにログインしようとしたら、歪んだ文字列を読み取って入力するよう求められた経験は誰にでもあるでしょう。あの歪んだ文字列は通常 4〜8 文字。なぜこの文字数なのか、考えたことはありますか。短すぎればボットに突破され、長すぎれば人間が離脱する。CAPTCHA の文字数設計は、セキュリティとユーザビリティの綱引きの産物です。この記事では、CAPTCHA の文字数がどのように決められてきたのか、その背後にある科学と歴史を解説します。

CAPTCHA とは何か - 名前に隠された意味

CAPTCHA は「Completely Automated Public Turing test to tell Computers and Humans Apart」の頭文字を取った造語です。日本語に訳すと「コンピュータと人間を区別するための完全自動化された公開チューリングテスト」。2000 年にカーネギーメロン大学のルイス・フォン・アンらが命名しました。

この名前自体が 72 文字 (スペース含む) という長さで、CAPTCHA が解決しようとしている問題の複雑さを象徴しています。チューリングテストは本来、人間が機械を評価するものですが、CAPTCHA はその逆 - 機械が人間を評価するテストです。

初期 CAPTCHA の文字数設計

2000 年代初頭の CAPTCHA は、歪んだ英数字を画像として表示し、ユーザーに入力させる方式が主流でした。この時代の標準的な文字数は 6〜8 文字です。

文字数組み合わせ数 (英数字 36 種)ボットの突破確率 (ランダム推測)人間の正答率
4 文字約 168 万通り1/1,679,616約 95%
6 文字約 21.8 億通り1/2,176,782,336約 88%
8 文字約 2.8 兆通り1/2,821,109,907,456約 75%
10 文字約 3,656 兆通り1/3,656,158,440,062,976約 60%

4 文字でもランダム推測による突破確率は 168 万分の 1 と十分に低いのですが、ボットは画像認識 (OCR) を使って文字を読み取るため、ランダム推測よりはるかに高い精度で突破を試みます。そのため、OCR の認識精度を下げるために文字を歪ませ、さらに文字数を増やしてセキュリティを確保していました。

しかし、文字数を増やすと人間の正答率が急激に低下します。8 文字で約 75%、10 文字では約 60% まで下がるというデータがあります。正答率が下がるとユーザーは何度もやり直しを強いられ、フォームの離脱率が上昇します。フォーム入力のバリデーション設計でも触れていますが、ユーザーに過度な負担をかける入力フォームは、コンバージョン率を著しく低下させます。

ミラーの法則 - 7 ± 2 の呪縛

CAPTCHA の文字数が 6〜8 文字に収まる背景には、認知心理学の知見があります。1956 年にジョージ・ミラーが発表した論文「マジカルナンバー 7 ± 2」は、人間の短期記憶が一度に保持できる情報の塊 (チャンク) は 7 ± 2 個であると主張しました。

CAPTCHA の文字列は、ユーザーが画像を見て記憶し、入力欄に打ち込むまでの短い間、短期記憶に保持する必要があります。文字数が 9 を超えると短期記憶の容量を超え、画像と入力欄を何度も見比べる必要が生じます。これが正答率低下の主因です。

文字数短期記憶との関係ユーザー体験セキュリティ
3〜4 文字余裕あり快適だが簡単すぎる低い (OCR で容易に突破)
5〜6 文字適切な範囲ストレスが少ない中程度
7〜8 文字上限付近やや負担を感じる高い
9 文字以上容量超過強いストレス・離脱増加非常に高いが実用的でない

結果として、セキュリティとユーザビリティのバランスが取れる 6〜8 文字が CAPTCHA の標準的な文字数として定着しました。パスワードの文字数と安全性の記事で解説した通り、パスワードでも「覚えやすさ」と「安全性」のトレードオフが存在しますが、CAPTCHA はパスワードと違って「一度きりの入力」であるため、記憶の負担はさらに大きくなります。

reCAPTCHA v1 - 1 日 2 億文字のデジタル化

2007 年、CAPTCHA の発明者の一人であるルイス・フォン・アンは、CAPTCHA に費やされる人間の労力を有効活用するアイデアを思いつきました。それが reCAPTCHA です。

reCAPTCHA v1 は、2 つの単語を表示します。1 つは答えが分かっている検証用の単語、もう 1 つは OCR で読み取れなかった書籍のスキャン画像から切り出した単語です。ユーザーが 2 つの単語を入力すると、検証用の単語で人間であることを確認しつつ、もう 1 つの単語の読み取り結果を書籍のデジタル化に活用します。

このシステムは驚異的な成果を上げました。ピーク時には 1 日あたり約 2 億個の CAPTCHA が解かれ、年間で約 250 万冊分の書籍テキストがデジタル化されたと推定されています。New York Times のアーカイブ全体 (130 年分以上) のデジタル化にも reCAPTCHA が貢献しました。

reCAPTCHA v1 の文字数は通常 2 単語で合計 8〜15 文字程度。従来の CAPTCHA より文字数が多くなりましたが、「単語」という意味のある塊で提示されるため、ランダムな文字列よりも記憶しやすく、正答率は比較的高く維持されました。

reCAPTCHA v2 - 文字数ゼロの革命

2014 年、Google は reCAPTCHA v2 を発表しました。「I'm not a robot」(私はロボットではありません) というチェックボックスをクリックするだけで認証が完了する、画期的なシステムです。

ユーザーが入力する文字数はゼロ。チェックボックスをクリックする動作だけで、マウスの軌跡、クリックの速度、ブラウザの情報、Cookie の履歴など、数百の信号を分析して人間かボットかを判定します。

CAPTCHA の世代ユーザーが入力する文字数認証にかかる時間人間の正答率
初期 CAPTCHA (2000 年代)6〜8 文字約 10〜15 秒約 80〜88%
reCAPTCHA v1 (2007 年)8〜15 文字 (2 単語)約 10〜20 秒約 85〜90%
reCAPTCHA v2 (2014 年)0 文字 (チェックのみ)約 1〜3 秒約 97〜99%
reCAPTCHA v3 (2018 年)0 文字 (完全不可視)0 秒 (バックグラウンド)-
画像選択型 (v2 フォールバック)0 文字 (画像クリック)約 5〜30 秒約 85〜95%

reCAPTCHA v2 が判定に失敗した場合 (ボットの疑いがある場合) は、画像選択型のチャレンジが表示されます。「信号機を含む画像をすべて選択してください」というあの画面です。ここでも文字入力は不要ですが、画像の選択に 5〜30 秒かかることがあり、ユーザー体験は初期 CAPTCHA と大差ありません。

reCAPTCHA v3 とスコアベース判定

2018 年に登場した reCAPTCHA v3 は、ユーザーに一切の操作を求めません。ページの閲覧行動をバックグラウンドで分析し、0.0 (ボットの可能性が高い) から 1.0 (人間の可能性が高い) のスコアを返します。

サイト運営者はこのスコアに基づいて、閾値 (例えば 0.5) を設定し、スコアが低いユーザーにだけ追加の認証を求めることができます。文字数設計の観点からは、reCAPTCHA v3 は「文字数ゼロ」の究極形です。ユーザーは CAPTCHA の存在すら意識しません。

ただし、reCAPTCHA v3 にはプライバシーの懸念があります。ユーザーの行動を常時監視してスコアリングする仕組みは、GDPR (EU 一般データ保護規則) との整合性が問われています。この懸念から、Cloudflare Turnstile や hCaptcha といった代替サービスが台頭しています。

文字認識 AI との軍拡競争

CAPTCHA の歴史は、文字認識 AI との軍拡競争の歴史でもあります。CAPTCHA が文字を歪ませれば、AI がその歪みを学習して突破する。CAPTCHA がさらに歪みを強くすれば、人間にも読めなくなる。このジレンマが、テキストベースの CAPTCHA を衰退させました。

2014 年の Google の研究では、最も歪んだテキスト CAPTCHA に対して、AI の正答率が 99.8% に達した一方、人間の正答率は 33% にまで低下していました。つまり、AI の方が人間より CAPTCHA を解くのが得意になってしまったのです。この逆転現象が、テキスト入力型から画像選択型・行動分析型への移行を加速させました。

文字認識 AI との軍拡競争

CAPTCHA の歴史は、文字認識 AI との軍拡競争の歴史でもあります。CAPTCHA が文字を歪ませれば、AI がその歪みを学習して突破する。CAPTCHA がさらに歪みを強くすれば、人間にも読めなくなる。このジレンマが、テキストベースの CAPTCHA を衰退させました。

2014 年の Google の研究では、最も歪んだテキスト CAPTCHA に対して、AI の正答率が 99.8% に達した一方、人間の正答率は 33% にまで低下していました。つまり、AI の方が人間より CAPTCHA を解くのが得意になってしまったのです。この逆転現象が、テキスト入力型から画像選択型・行動分析型への移行を加速させました。

年代CAPTCHA の防御策AI の突破手法AI の正答率人間の正答率
2000-2005文字の歪み (軽度)テンプレートマッチング約 30〜50%約 90〜95%
2005-2010文字の重なり・背景ノイズセグメンテーション + OCR約 50〜70%約 80〜90%
2010-2014極度の歪み・線の追加深層学習 (CNN)約 90〜99%約 33〜70%
2014-現在画像選択・行動分析画像認識 AI・ボット行動模倣改善中約 85〜99%

深層学習 (ディープラーニング) の登場が転換点でした。畳み込みニューラルネットワーク (CNN) は、歪んだ文字画像からパターンを学習する能力に優れており、人間が読めないほど歪んだ文字でも高精度で認識できます。CAPTCHA の設計者は「人間には読めるが機械には読めない」文字列を作ろうとしていましたが、AI の進化がその前提を崩してしまったのです。

CAPTCHA ファーム - 人間を使った突破ビジネス

技術的な突破とは別に、「CAPTCHA ファーム」と呼ばれるビジネスも存在します。発展途上国の労働者を雇い、人間が CAPTCHA を解くサービスです。料金は 1,000 件あたり 1〜3 ドル程度。1 人の作業者が 1 時間に約 500〜1,000 件の CAPTCHA を解けるため、時給換算で 0.5〜3 ドルという低賃金労働です。

CAPTCHA ファームに対しては、文字数を増やしても効果がありません。人間が解いているため、文字数に関係なく突破されます。reCAPTCHA v3 のような行動分析型は、CAPTCHA ファームに対しても一定の効果があります。ファームの作業者は短時間に大量の CAPTCHA を解くため、その行動パターン (解答速度が一定、マウスの動きが機械的) がスコアに反映されるためです。

アクセシビリティと文字数の問題

テキストベースの CAPTCHA は、視覚障害者にとって大きなバリアでした。歪んだ文字画像はスクリーンリーダーで読み取れないため、音声 CAPTCHA が代替手段として提供されていました。

音声 CAPTCHA は、雑音の中で数字やアルファベットを読み上げ、ユーザーに入力させる方式です。通常 5〜8 文字の英数字が読み上げられますが、雑音が強いため聞き取りが困難で、正答率はテキスト CAPTCHA よりさらに低い約 46% というデータもあります。

エラーメッセージの設計の記事で触れた通り、ユーザーが操作に失敗したときの体験設計は重要です。CAPTCHA の失敗は特にフラストレーションが大きく、「自分が人間であることを証明できない」という不条理な状況に陥ります。reCAPTCHA v3 のような不可視型 CAPTCHA は、このアクセシビリティ問題を根本的に解決する方向性として評価されています。

CAPTCHA の未来 - 文字数はゼロへ

CAPTCHA の進化は、「ユーザーが入力する文字数を減らす」方向に一貫して進んできました。6〜8 文字 → 2 単語 → チェックボックス → 完全不可視。この流れは今後も続くでしょう。

サービス方式ユーザー操作プライバシー
reCAPTCHA v3行動分析 (スコアベース)不要Google に行動データを送信
Cloudflare Turnstileブラウザチャレンジ不要 (まれにインタラクション)行動データを収集しない
hCaptcha画像選択 + 行動分析画像選択 (場合による)データ収集を最小化
Apple Private Access Tokenデバイス認証完全不要Apple のデバイス情報のみ

Apple の Private Access Token は、デバイスレベルで人間であることを証明する仕組みで、Web サイト側には一切のユーザー情報を渡しません。この方式が普及すれば、CAPTCHA という概念自体が過去のものになる可能性があります。

CAPTCHA の文字数設計の歴史は、「人間と機械の境界線をどこに引くか」という問いの変遷でもあります。かつてはその境界線が「歪んだ 6 文字を読めるかどうか」にありました。今やその境界線は、マウスの動かし方やスクロールのパターンといった、文字数では測れない領域に移っています。文字を数えることで人間性を証明する時代は、静かに終わりを迎えつつあるのです。

セキュリティや認証技術の書籍は Amazon でも見つかります

この記事を共有