対象試験と出題頻度
CAPTCHA(キャプチャ)は、情報セキュリティマネジメント・ITパスポート・基本情報技術者・応用情報技術者試験で出題されるセキュリティ用語です。
日常的にWebサイトで目にする機会が多いため、イメージしやすいキーワードです。
詳細をクリックして確認
情報セキュリティマネジメント
ITパスポート
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)覚えておくと有利
用語の定義
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)とは、一言で言うと「Webサイトにアクセスしているのが人間なのか、コンピュータ(ボット)なのかを判別するための認証技術」のことです。
日本語に訳すと「コンピュータと人間を区別するための完全に自動化された公開チューリングテスト」となります。名前は長いですが、要するに「人間には簡単だけど、コンピュータには難しい問題」を出して、人間かどうかを確認する仕組みです。
イメージとしては、「遊園地の入り口で『人間だけ入れます』と言われて、簡単なクイズに答える」ようなものです。人間なら「このぐにゃぐにゃした文字は『HELLO』だな」とすぐ分かりますが、ボット(自動プログラム)には読み取りが難しい。この差を利用して、人間だけを通過させます。
会員登録やお問い合わせフォームで「私はロボットではありません」というチェックボックスを見たことはありませんか?あれがCAPTCHAの一種です。
📊 CAPTCHAの基本概念
| 項目 | 説明 |
|---|---|
| 目的 | 人間とボット(自動プログラム)を区別する |
| 仕組み | 人間には簡単、コンピュータには難しい問題を出題 |
| 代表例 | 歪んだ文字の入力、画像選択、reCAPTCHA |
| 防止できる攻撃 | スパム投稿、不正アカウント作成、総当たり攻撃など |
解説
CAPTCHAは、2000年代初頭にカーネギーメロン大学の研究者によって開発されました。当時、Webサービスを悪用するボット(自動プログラム)が増加しており、スパムメールの送信、不正なアカウント大量作成、チケットの買い占めなどが問題になっていました。CAPTCHAは、こうしたボットによる不正行為を防ぐために生まれた技術です。
CAPTCHAが防ぐ攻撃・不正行為
CAPTCHAは、以下のようなボットによる不正行為を防止します。
スパム投稿として、掲示板やコメント欄への大量の広告・迷惑投稿を防ぎます。
不正アカウント作成として、ボットによる大量のアカウント自動作成を防ぎます。SNSやメールサービスで問題になりやすいです。
パスワード総当たり攻撃(ブルートフォース攻撃)として、ログインページでCAPTCHAを設置することで、ボットによるパスワード試行を困難にします。
Webスクレイピングとして、ボットによる大量のデータ収集を防ぎます。
チケット・商品の買い占めとして、転売目的のボットによる自動購入を防ぎます。
💡 CAPTCHAの種類
① 文字型CAPTCHA:歪んだ文字や数字を表示し、それを入力させる。最も古典的な方式
② 画像選択型CAPTCHA:「信号機の画像をすべて選んでください」のように、特定の画像を選ばせる
③ 音声型CAPTCHA:視覚障害者向けに、音声で読み上げられた文字を入力させる
④ reCAPTCHA v2:「私はロボットではありません」のチェックボックス+必要に応じて画像選択
⑤ reCAPTCHA v3:ユーザーの行動パターンを分析し、自動的にスコアリング(画面上の操作不要)
CAPTCHAの進化
CAPTCHAは、ボット技術の進化とともに進化してきました。
初期の文字型CAPTCHAは、歪んだ文字を表示して入力させる方式でした。しかし、OCR(光学文字認識)技術や機械学習の発達により、ボットでも文字を読み取れるようになってきました。
そこで登場したのがGoogleのreCAPTCHAです。reCAPTCHA v2では「私はロボットではありません」というチェックボックスをクリックするだけで、マウスの動きやクリックパターンなどから人間かどうかを判定します。怪しい場合のみ画像選択問題が表示されます。
さらに進化したreCAPTCHA v3では、ユーザーに何も操作させず、バックグラウンドで行動パターンを分析してスコアリングします。ユーザー体験を損なわずにボットを検出できる点が特徴です。
📊 CAPTCHAの進化
| 世代 | 方式 | 特徴 |
|---|---|---|
| 第1世代 | 歪んだ文字の入力 | シンプルだがOCRで突破されやすい |
| 第2世代 | 画像選択 | より高度だが時間がかかる |
| 第3世代 | 行動分析(reCAPTCHA v3) | 操作不要でユーザー体験が向上 |
⚠️ CAPTCHAの課題と限界
① ユーザー体験の低下:複雑なCAPTCHAはユーザーにストレスを与え、離脱の原因になる
② アクセシビリティの問題:視覚障害者や高齢者には文字型・画像型CAPTCHAが使いにくい場合がある
③ AI技術による突破:機械学習の発達により、CAPTCHAを突破するボットも出現している
④ CAPTCHA解読サービス:人間を雇ってCAPTCHAを解読する闇サービスも存在する
CAPTCHAは万能ではなく、他のセキュリティ対策と組み合わせて使用することが重要です。
試験ではこう出る!
CAPTCHAは、情報セキュリティマネジメント・ITパスポート・基本情報・応用情報技術者試験で出題されます。「人間とボットを区別する」という基本概念を押さえておきましょう。
【試験で狙われるポイント】
- CAPTCHA = 人間とボットを区別するための認証技術
- 「人間には簡単、コンピュータには難しい」問題を出題
- 歪んだ文字の入力、画像選択などの方式がある
- スパム投稿、不正アカウント作成、総当たり攻撃などを防止
- 「私はロボットではありません」= reCAPTCHA
試験問題で「Webサイトへのアクセスが人間によるものか、プログラムによるものかを判別する」や「歪んだ文字を入力させることで、自動プログラムによる不正利用を防ぐ」という記述があれば、それは「CAPTCHA」に関する記述です。
試験ではここまで押さえておけばOKです。reCAPTCHAのバージョンの違いや、具体的な実装方法までは問われないので、「人間とボットを区別する」という基本概念を確実に理解しておきましょう。
📊 認証・識別技術の整理(試験対策)
| 技術 | 目的 |
|---|---|
| CAPTCHA | 人間とボットを区別する |
| パスワード認証 | 本人かどうかを確認する |
| 多要素認証 | 複数の要素で本人確認を強化 |
| 生体認証 | 身体的特徴で本人確認 |
📝 IPA試験での出題ポイント
CAPTCHAは「人間 vs ボット」の判別がキーポイントです。パスワード認証は「本人かどうか」を確認しますが、CAPTCHAは「人間かどうか」を確認する点が異なります。「私はロボットではありません」というチェックボックスを思い浮かべれば、イメージしやすいでしょう。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. CAPTCHAに関する説明として、最も適切なものはどれでしょうか?
- A. ユーザーのIDとパスワードを照合して、本人かどうかを確認する認証技術
- B. 歪んだ文字の入力や画像選択などにより、アクセスしているのが人間かボットかを判別する技術
- C. 指紋や顔などの身体的特徴を使って、本人かどうかを確認する認証技術
正解と解説を見る
正解:B
解説:
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)は、Webサイトにアクセスしているのが人間なのか、コンピュータ(ボット)なのかを判別するための認証技術です。「人間には簡単だけど、コンピュータには難しい問題」を出題することで、ボットによるスパム投稿、不正アカウント作成、総当たり攻撃などを防止します。歪んだ文字の入力、画像選択、「私はロボットではありません」のチェックボックス(reCAPTCHA)などが代表的な方式です。
選択肢Aは「パスワード認証」の説明です。選択肢Cは「生体認証」の説明であり、いずれもCAPTCHAとは異なります。CAPTCHAは「本人かどうか」ではなく「人間かどうか」を判別する点がポイントです。